(doprnt1): Fix size of charbuf.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1f625c6c
AS
12008-12-02 Andreas Schwab <schwab@suse.de>
2
3 * doprnt.c (doprnt1): Fix size of charbuf.
4
92bc2678
CY
52008-12-02 Chong Yidong <cyd@stupidchicken.com>
6
7 * keyboard.c (timer_check): Revert last change.
8
93b9e8cc
JB
92008-12-02 Juanma Barranquero <lekktu@gmail.com>
10
11 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
12
fd7a37d5
JB
132008-12-01 Juanma Barranquero <lekktu@gmail.com>
14
15 * makefile.w32-in: Update dependencies.
16 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
17
c115043b
AS
182008-12-01 Andreas Schwab <schwab@suse.de>
19
20 * font.c (register_font_driver): Use xmalloc.
21 (font_put_frame_data): Likewise.
22
f5668d2a
CY
232008-12-01 Chong Yidong <cyd@stupidchicken.com>
24
860d96be
CY
25 * xfaces.c (realize_x_face): Make abort condition clearer.
26
f5668d2a
CY
27 * gtkutil.c (update_frame_tool_bar): Initialize variable.
28
379c17e7
CY
292008-11-30 Chong Yidong <cyd@stupidchicken.com>
30
31 * keyboard.c (timer_check): After a timer runs, ensure that the
32 selected window's buffer is current.
33
35f36d65
JB
342008-11-30 Juanma Barranquero <lekktu@gmail.com>
35
f952c61c
JB
36 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
37 It was accidentally restored by the Unicode merge.
38
35f36d65
JB
39 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
40
b23077df
JB
412008-11-29 Juanma Barranquero <lekktu@gmail.com>
42
43 * w32proc.c: Include "coding.h".
44 (Fw32_short_file_name): Encode filename passed to Windows API.
45 (Fw32_long_file_name): Encode filename passed to Windows API and
46 decode back the result. (Bug#1433)
47
b8ebe9dd
KH
482008-11-29 Kenichi Handa <handa@m17n.org>
49
8cc53f96
KH
50 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
51 not before accessing it.
52
b8ebe9dd
KH
53 * charset.c (Fdefine_charset_internal): After calculating
54 min_char, max_char, and fastmap, copy the charset structure again.
55 (encode_char): Fix the previous change.
56
59bc82c0
SZ
572008-11-28 Seiji Zenitani <zenitani@mac.com>
58
59 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
60
61 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
62
63 * nsterm.m (x_set_frame_alpha): New function.
64
32247e3d
EZ
652008-11-27 Eli Zaretskii <eliz@gnu.org>
66
67 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
68
b003e5ff
JB
692008-11-27 Juanma Barranquero <lekktu@gmail.com>
70
71 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
72 pointer to check_face_name.
73
708550f5
KH
742008-11-27 Kenichi Handa <handa@m17n.org>
75
76 * category.h (SET_CATEGORY_SET): Call set_category_set.
77 (set_category_set): Extern it.
78
79 * category.c (hash_get_category_set): New function.
80 (Fmodify_category_entry): Adjusted for the change of
81 char_table_ref_and_range. Call hash_get_category_set to get a
82 category set to store in the table.
83
84 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
85 Funify_charset.
86
87 * charset.h (enum charset_method): Delete
88 CHARSET_METHOD_MAP_DEFERRED.
89 (DECODE_CHAR): Check if the decoder vector is ready.
90 (ENCODE_CHAR): Check if the encoder char-table is ready.
91 (maybe_unify_char): Extern it.
92
93 * charset.c (Vchar_unified_charset_table): Delete it.
94 (inhibit_load_charset_map): New variable.
95 (temp_charset_work): New variable.
96 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
97 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
98 New macros.
99 (load_charset_map): Meaning of control_flag changed. If
100 inhibit_load_charset_map is nonzero, setup a table in
101 temp_charset_work.
102 (load_charset): New argument control_flag.
103 (map_charset_for_dump): New function.
104 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
105 map_charset_for_dump.
106 (Fdefine_charset_internal): If the charset method is MAP, load
107 mapping tables by calling load_charset.
108 (Funify_charset): Don't load a mapping table but directly set
109 Vchar_unify_table.
110 (maybe_unify_char): New function.
111 (decode_char): Don't handle the deleted method MAP_DEFERRED.
112 Handle the case of inhibit_load_charset_map being nonzero.
113 (encode_char): Don't handle the deleted method MAP_DEFERRED.
114 Handle the case of inhibit_load_charset_map being nonzero.
115 (Fclear_charset_maps): Just free temp_charset_work.
116 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
117 variable.
118
119 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
120 change of char_table_ref_and_range.
121 (char_table_ref_and_range): Change the meaning of argument FROM
122 and TO. Now the caller must provide initial values for *FROM
123 and *TO.
124
125 * fontset.c (fontset_add): Adjusted for the change of
126 char_table_ref_and_range.
127 (fontset_get_font_group): Likewise.
128 (Ffontset_info): Likewise.
129
130 * keymap.c (describe_vector): Adjusted for the change of
131 char_table_ref_and_range. For char-table, put boundary between
132 non-ASCII and 8-bit characters.
133
134 * print.c (print_object): For bool-vector, delete unnecessary
135 check of ASCII_BYTE_P.
136
9196133b
JR
1372008-11-26 Jason Rumney <jasonr@gnu.org>
138
139 * w32font.c (w32font_open_internal): Don't include external
140 leading in font height.
141
9f688acf
GM
1422008-11-26 Glenn Morris <rgm@gnu.org>
143
144 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
145 redefinition with ifdef. (Bug#1383)
146
90d19aff
AR
1472008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
148
149 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
150
1512008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
152
153 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
154 New EmacsView methods.
155 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
156 Fixes bug #1048,1357,1414.
157
1582008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
159
160 Fix bug #1362.
161 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
162 is not an indexed color.
163 * nsterm.m (free_indexed_color): Add argument checking.
164 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
165
e7d5ecb3
CY
1662008-11-24 Chong Yidong <cyd@stupidchicken.com>
167
168 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
169 Document confirm-after-completion value for
170 minibuffer-completion-confirm.
171
c285743c
JR
1722008-11-24 Jason Rumney <jasonr@gnu.org>
173
174 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
175 warning.
176
b0857706
JR
1772008-11-23 Jason Rumney <jasonr@gnu.org>
178
179 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
180 restored before returning.
181
182 * w32font.c (check_face_name): New function.
183 (add_font_entity_to_list): Use it to filter out common substituted
184 fonts.
185
ee50ff07
MR
1862008-11-22 Martin Rudalics <rudalics@gmx.at>
187
188 * buffer.c (Fswitch_to_buffer): Reword and mention new option
189 confirm-nonexistent-file-or-buffer in doc-string.
190
b8ff72fa
SM
1912008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
192
193 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
194 Fix copy/paste typo. Add checks.
195
cee53ed4
KH
1962008-11-21 Kenichi Handa <handa@m17n.org>
197
198 * coding.c (detect_coding_iso_2022): Reject invalid composition
199 sequence.
200 (DECODE_COMPOSITION_START): If the current source is the last
201 block, and the current composition doesn't end, regard this
202 sequence as invalid.
203 (decode_coding_iso_2022): Handle invalid composition sequence.
204
f6ef1e65
MR
2052008-11-20 Martin Rudalics <rudalics@gmx.at>
206
207 * window.c (coordinates_in_window): Don't return
208 ON_VERTICAL_BORDER for the rightmost position of a mode/header
209 line when the window is not the rightmost one. (Bug#1372)
210
e08b1705
MR
2112008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
212
213 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
214
ad98e89f
EZ
2152008-11-15 Eli Zaretskii <eliz@gnu.org>
216
217 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
218 and bright_bg if noninteractive is non-zero.
219
fb098a4b
CY
2202008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
221
222 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
223 x_draw_glyph_string_background.
224
225 * w32term.c (x_draw_glyph_string): Likewise.
226
ce952b6e
CY
2272008-11-15 Chong Yidong <cyd@stupidchicken.com>
228
229 * xterm.c (x_draw_glyph_string): Stop drawing the background of
230 the next glyph string once past the overhang width.
231
232 * nsterm.m (ns_draw_glyph_string): Likewise.
233
234 * w32term.c (x_draw_glyph_string): Likewise.
235
26ea7079
CY
2362008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
237
238 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
239 double file close.
240
1c33c906
MR
2412008-11-14 Martin Rudalics <rudalics@gmx.at>
242
243 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
244 dedicated status of window before attempting to display another
245 buffer in it.
246
8fc29035
JB
2472008-11-14 Juanma Barranquero <lekktu@gmail.com>
248
249 * msdos.c (Fmsdos_long_file_names):
250 (syms_of_msdos) <dos-unsupported-char-glyph>:
251 * dosfns.c (Fint86): Fix typos in docstrings.
252
55fb4286
EZ
2532008-11-14 Eli Zaretskii <eliz@gnu.org>
254
255 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
256
3fda0315
KY
2572008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
258
259 * puresize.h (BASE_PURESIZE): Increase to 1260000.
260
7e849c17
CY
2612008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
262
263 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
264
265 * frame.h: Negative alpha means "don't touch".
266
267 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
268
269 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
270
b9fd67bd
DN
2712008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
272
273 * hftctl.c:
274 * chpdef.h:
275 * acldef.h: Remove files used only for systems no longer supported.
276
277 * Makefile.in: Fix .o alphabetical ordering.
278 (hftctl.o): Remove dependency, file removed.
279 (keymap.o, print.o): Depend on charset.h.
280
d5998e03
KH
2812008-11-10 Kenichi Handa <handa@m17n.org>
282
283 * character.c (Fget_byte): Fix and make it faster for unibyte
284 target.
285
be70e183
CY
2862008-11-08 Chong Yidong <cyd@stupidchicken.com>
287
288 * dired.c (file_name_completion): If completion_ignore_case is
289 enabled, ignore case when checking completion-regexp-list.
290
7cf94eac
EZ
2912008-11-08 Eli Zaretskii <eliz@gnu.org>
292
293 * vm-limit.c (get_lim_data): Fix last change.
294
ee107a89
KH
2952008-11-08 Kenichi Handa <handa@m17n.org>
296
297 * character.c (Fget_byte): New function.
298 (syms_of_character): Defsubr Fget_byte.
299
5fd15622
CY
3002008-11-07 Chong Yidong <cyd@stupidchicken.com>
301
302 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
303 cursor position is valid after scrolling.
304
13d62fad
JB
3052008-11-06 Juanma Barranquero <lekktu@gmail.com>
306
307 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
308
a1dd2936
GM
3092008-11-06 Glenn Morris <rgm@gnu.org>
310
311 * xterm.c (handle_one_xevent): Don't let popup menus cause
312 mouse-autoselect-window related window switching. (Bug#1261)
313
860cd236
CY
3142008-11-04 David Smith <davidsmith@acm.org> (tiny change)
315
316 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
317
653a3150
AS
3182008-11-04 Andreas Schwab <schwab@suse.de>
319
320 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
321
870f5cac
CY
3222008-11-03 Chong Yidong <cyd@stupidchicken.com>
323
324 * xfns.c (Fx_wm_set_size_hint): New function.
325
1e02f3cb
MR
3262008-11-03 Martin Rudalics <rudalics@gmx.at>
327
328 * textprop.c (Fprevious_single_char_property_change): Return 0
329 when there's no change in a string. (Bug#1301)
330
e630dfc6
MR
3312008-11-02 Martin Rudalics <rudalics@gmx.at>
332
333 * frame.c (do_switch_frame): New argument NORECORD passed to
334 Fselect_window.
335 (Fselect_frame): New argument NORECORD passed to
336 do_switch_frame.
337 (Fset_frame_selected_window): New argument NORECORD passed to
338 Fselect_frame.
339 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
340 in call of do_switch_frame.
341 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
342 Handle NORECORD argument in call of Fselect_frame.
343 * lisp.h (do_switch_frame, Fselect_frame)
344 (Fset_frame_selected_window): Adjust declarations.
345 * window.c (select_frame_norecord): New function.
346 (run_window_configuration_change_hook): Use it and call
347 Fselect_frame with NORECORD set.
348 (Fselect_window): Pass NORECORD to Fselect_frame.
349 (Fset_window_configuration): Handle NORECORD argument in call of
350 do_switch_frame.
351 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
352 Fset_frame_selected_window.
353 * keyboard.c (command_loop_1): Handle NORECORD in call of
354 Fselect_frame (currently ifdefd).
355
9020b223
GM
3562008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
357
358 * emacs.c (USAGE2): Untabify.
359
793ffee8
SM
3602008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
361
362 * composite.c (fill_gstring_header): Fix copy/paste typo.
363
ab6d1131
MR
3642008-10-31 Martin Rudalics <rudalics@gmx.at>
365
366 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
367 (Fother_window): Rename argument and rewrite doc-string.
368 (select_window_norecord): Fix return value. (Bug#1276)
369
601a9cf1
JB
3702008-10-30 Juanma Barranquero <lekktu@gmail.com>
371
372 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
373 new frames overriding foreground for tooltips. Based on similar patch
374 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
375
813b0652
CY
3762008-10-29 Chong Yidong <cyd@stupidchicken.com>
377
378 * emacs.c (Fdaemon_initialized): Initialize nfd.
379
4414f58f
MR
3802008-10-29 Martin Rudalics <rudalics@gmx.at>
381
382 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
383 (Fwindow_text_height): Clarify doc-strings.
384 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
385 doc-string of window-scroll-functions.
386
ecdcaa09
RS
3872008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
388
389 * category.c (syms_of_category): Fix typo in docstring.
390
23fe745a
JB
3912008-10-28 Juanma Barranquero <lekktu@gmail.com>
392
393 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
394 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
395 Fix typos in docstrings.
396
ff808935
DN
3972008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
398
399 * emacs.c (daemon_pipe): Make non-static.
400 (IS_DAEMON): Move definition ...
401 * lisp.h (IS_DAEMON): ... here.
402 (daemon_pipe): Declare.
403 (is_daemon): Remove.
404 * dispnew.c (init_display): Use IS_DAEMON.
405
fc012771
SM
4062008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
407
408 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
409 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
410
411 * emacs.c (is_daemon): Remove.
412 (main): Don't set is_daemon.
413 (IS_DAEMON): New macro.
414 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 415 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
416 parent exits.
417 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
418
d8bdbe6f
CY
4192008-10-27 Chong Yidong <cyd@stupidchicken.com>
420
d1a072bf
CY
421 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
422 over-sized glyph, draw it with the default glyph width.
423
e2e325aa
CY
424 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
425 glyph, draw it with the default glyph width.
426
427 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
428 glyph, draw it with the default glyph width.
429
d8bdbe6f
CY
430 * xdisp.c (try_scrolling): When computing the distance from the
431 scroll margin to PT, try moving some distance past the window
432 bottom before giving up.
433
7bfac547
MR
4342008-10-27 Martin Rudalics <rudalics@gmx.at>
435
436 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
437 (Fset_window_buffer): Explain in doc-string that a window can be
438 "strongly" dedicated to its buffer.
439
4ff029f6
DN
4402008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
441
442 * emacs.c (daemon_name): New variable.
443 (main): Deal with --daemon=SERVER_NAME.
444 (Fdaemonp): Return a name if one was passed to --daemon.
445
5790ef40
DN
4462008-10-26 Romain Francoise <romain@orebokech.com>
447
f9bd0df9 448 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
449 (main): Create a pipe before forking, make the parent exit only after
450 the child has closed its end of the pipe. Move closing the
451 descriptors ...
452 (Fdaemon_initialized): ... here. New function.
453
f5385255
SM
4542008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
455
4d632321
SM
456 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
457 the previous unoptimized table.
458
f5385255
SM
459 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
460 the distinction between non-nil and non-t value of `dedicated'.
461
6c56a0f3
CY
4622008-10-25 Chong Yidong <cyd@stupidchicken.com>
463
464 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 465 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 466
fec89261
MR
4672008-10-25 Martin Rudalics <rudalics@gmx.at>
468
469 * window.c (Fget_buffer_window, Fdelete_windows_on)
470 (Freplace_buffer_in_windows): Make buffer argument optional and
471 rename to buffer_or_name.
472
34fcddd0
CY
4732008-10-24 Chong Yidong <cyd@stupidchicken.com>
474
f5385255
SM
475 * xdisp.c (handle_single_display_spec, handle_display_prop):
476 Undo 2005-05-16 change.
34fcddd0
CY
477 (handle_stop): Pop iterator if it's loaded with an empty string.
478 (get_overlay_strings_1): Don't save iterator if it's loaded with
479 an empty string (bug#1201).
480
064766f2
KH
4812008-10-24 Kenichi Handa <handa@m17n.org>
482
483 * ftfont.c (ftfont_otf_features): Fix previous change.
484 (ftfont_otf_capability): Check FeatureList.FeatureCount before
485 calling ftfont_otf_features.
486
f9bd0df9 4872008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
488
489 * font.c (font_match_p): Fix for the case that a vector of
490 characters is in script-representative-chars.
491
1dae9197
MA
4922008-10-24 Michael Albinus <michael.albinus@gmx.de>
493
494 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 495 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
496 (xd_read_queued_messages): Catch Qdbus_error from the macros.
497 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
498 macro. (Bug#1186).
499
f9bd0df9 5002008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
501
502 * s/sol2-10.h: New file.
503
878a4584
JB
5042008-10-23 Juanma Barranquero <lekktu@gmail.com>
505
506 * xdisp.c (fill_glyph_string): Fix typo in source (though the
507 poor beast has survived 9+ years and the jump from xterm.c!).
508
cd265ca6
MR
5092008-10-23 Martin Rudalics <rudalics@gmx.at>
510
511 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
512 Reword doc-string.
f5385255 513 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 514
472a4dc9
JB
5152008-10-23 Juanma Barranquero <lekktu@gmail.com>
516
517 * character.c (syms_of_character) <script-representative-chars>:
518 <unicode-category-table>: Doc fixes.
519
159bd5a2
NF
5202008-10-23 Noah Friedman <friedman@splode.com>
521
522 * coding.c (make_conversion_work_buffer): Check that
523 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
524 Fget_buffer_create.
525
49f9c344
KH
5262008-10-23 Kenichi Handa <handa@m17n.org>
527
528 * font.c (font_add_log): Check the values of extra properties.
529
12bb3111
MR
5302008-10-22 Martin Rudalics <rudalics@gmx.at>
531
532 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
533 Reword doc-string.
534 (Fset_window_parameter): Use NILP.
535 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 536 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 537
bbeb4e99
JB
5382008-10-22 Juanma Barranquero <lekktu@gmail.com>
539
540 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
541
5422008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
543
544 * nsfns.m (ns_appkit_version): New function.
545 (x-server-version): Use it.
546 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
547 (x-server-vendor): Don't check_ns().
548
549 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
550
a9b555d3
JB
5512008-10-22 Juanma Barranquero <lekktu@gmail.com>
552
553 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
554 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
555
4626499f
KH
5562008-10-22 Kenichi Handa <handa@m17n.org>
557
e3681952
KH
558 * syntax.c (scan_words): Call word_boundary_p instead of comparing
559 scripts.
560
4626499f
KH
561 * category.c (word_boundary_p): Check scripts instead of charset.
562 Handle nil value in word-separating-categories and
563 word-combining-categories.
564 (syms_of_category): Fix docstrings of word-separating-categories
565 and word-combining-categories.
566
1560f91a
EZ
5672008-10-21 Eli Zaretskii <eliz@gnu.org>
568
569 * coding.c (Fencode_coding_region, Fdecode_coding_region)
570 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
571
f4668441
MR
5722008-10-21 Martin Rudalics <rudalics@gmx.at>
573
574 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
575 Rename arg "buffer" to "buffer_or_name".
576 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
577 it optional.
578 (no_switch_window): Remove since the return value is not used.
a9b555d3 579 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
580 Consider window as dedicated when Fwindow_dedicated_p returns a
581 non-nil value.
582 * lisp.h: Remove prototype for no_switch_window.
583
fd75ddb2
JD
5842008-10-21 Jan Djärv <jan.h.d@swipnet.se>
585
586 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
587 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
588
07295713
KH
5892008-10-21 Kenichi Handa <handa@m17n.org>
590
591 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
592 check Vlatin_extra_code_table.
593
712adc82
EZ
5942008-10-20 Eli Zaretskii <eliz@gnu.org>
595
596 * fileio.c (Fset_file_modes): Doc fix.
597
f549eb0b
MA
5982008-10-19 Michael Albinus <michael.albinus@gmx.de>
599
600 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
601 in arrays.
602
aac0c6e3
MR
6032008-10-19 Martin Rudalics <rudalics@gmx.at>
604
605 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
606 Mention kill-buffer in doc-string.
607 (Fset_window_buffer): Reinsert tem check removed in last commit.
608 (Fenlarge_window, Fshrink_window): Have argument names and
609 doc-string follow Elisp manual more closely.
610
6112008-10-18 Eli Zaretskii <eliz@gnu.org>
612
613 * fileio.c (Fset_file_modes): Doc fix.
614
6152008-10-18 Martin Rudalics <rudalics@gmx.at>
616
617 * window.c (Fwindow_width, Fset_window_start)
618 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
619 (Fdelete_windows_on, Freplace_buffer_in_windows):
620 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
621 (Fwindow_dedicated_p): Make window argument optional.
622 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
623 (Fset_window_buffer): Respect any non-nil dedicated value for
624 window. Rename "buffer" argument to "buffer_or_name".
625
6262008-10-18 Ulrich Mueller <ulm@gentoo.org>
627
628 * m/sh3.h: New file, machine description for SuperH.
629
6302008-10-17 Martin Rudalics <rudalics@gmx.at>
631
632 * window.c (Fsplit_window): Rename arg horflag to horizontal.
633
6342008-10-17 Kenichi Handa <handa@m17n.org>
635
636 * ftfont.c (ftfont_otf_features): Fix indexing
637 gsub_gpos->FeatureList.Feature. Check the validity of indices.
638
6392008-10-16 Magnus Henoch <mange@freemail.hu>
640
641 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
642 (Fdbus_call_method_asynchronously): Ditto.
643 This change makes C-h f display the argument list.
644
6452008-10-16 Chong Yidong <cyd@stupidchicken.com>
646
647 * fileio.c (Fexpand_file_name): Doc fix.
648
649 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
650 of :foreground and :background equivalent to unspecified (20.x
651 compatibility).
652
6532008-10-15 Eli Zaretskii <eliz@gnu.org>
654
655 * buffer.c (syms_of_buffer): Doc fix.
656
6572008-10-14 Kenichi Handa <handa@m17n.org>
658
659 * font.c (font_clear_prop): When clearing font width, clear the
660 average width field too.
661
6622008-10-12 Andreas Schwab <schwab@suse.de>
663
664 * ftfont.c (ftfont_shape_by_flt): Make static.
665 * ftfont.h (ftfont_shape_by_flt): Don't declare.
666
667 * font.c: Don't include <m17n-flt.h>.
668
6692008-10-10 Eli Zaretskii <eliz@gnu.org>
670
671 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
672
6732008-10-09 Eli Zaretskii <eliz@gnu.org>
674
675 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
676 away code.
677
6782008-10-09 Chong Yidong <cyd@stupidchicken.com>
679
680 * dispnew.c (update_text_area): Avoid looping due to large glyph
681 overhangs (bug#1070).
682
6832008-10-09 Kenichi Handa <handa@m17n.org>
684
685 * fontset.c (face_for_char): If face->fontset is negative, just
686 return ascii_face.
687
f5385255
SM
688 * font.c (font_delete_unmatched): Fix previous change.
689 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
690
6912008-10-09 Martin Rudalics <rudalics@gmx.at>
692
693 * frame.c (Fraise_frame): On text-only terminals select frame in
694 order to make it visible. (Bug#1061)
695
6962008-10-08 Chong Yidong <cyd@stupidchicken.com>
697
698 * fontset.c (fontset_find_font): Check frame validity.
699
7002008-10-07 Chong Yidong <cyd@stupidchicken.com>
701
a9b555d3 702 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
703 (xg_display_close): Allow Emacs to close all displays (bug#985).
704
7052008-10-06 Andreas Schwab <schwab@suse.de>
706
f5385255 707 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
708
7092008-10-06 Chong Yidong <cyd@stupidchicken.com>
710
f5385255 711 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 712
a9b555d3 713 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
714
715 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
716 during initialization.
717
7182008-10-04 Eli Zaretskii <eliz@gnu.org>
719
720 * xdisp.c (redisplay_internal): If frame switched, redisplay the
721 whole thing on MSDOS frames as well as on a TTY.
722
723 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
724 well as for TTY.
725 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
726 well as on a TTY.
727
728 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
729 as well as for TTY.
730
731 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
732
733 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
734 MSDOS frames as well.
735
7362008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
737
738 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
739 correct arguments.
740 * menu.c (find_and_return_menu_selection) Add cast.
741
7422008-10-03 Glenn Morris <rgm@gnu.org>
743
744 * emacs.c (USAGE1): Add --daemon.
745
7462008-10-02 Eli Zaretskii <eliz@gnu.org>
747
748 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
749 100, so it's in percents as advertised.
750
7512008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
752
753 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
754 (ns_output.current_cursor, ns_output.desired_cursor)
755 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
756 (FRAME_NEW_CURSOR_COLOR): Remove.
757
758 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 759 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
760 enumeration (HOLLOW_BOX_CURSOR, etc.).
761
762 * nsterm.m (ns_frame_rehighlight): Remove commented code.
763 (draw_window_cursor): Simplify code.
f5385255
SM
764 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
765 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 766 updates manually.
a9b555d3
JB
767 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
768 Use core Emacs cursor types.
aac0c6e3 769
b8ff72fa 770 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
771
7722008-10-02 Martin Rudalics <rudalics@gmx.at>
773
774 * process.c (Faccept_process_output): Fix doc-string.
775
7762008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
777
778 * gmalloc.c (__sbrk): Also define for uClibc.
779
780 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
781 for uClibc.
782
7832008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
784
785 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
786 styles.
787 (nsfont_open): Reenable the cache.
788
7892008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
790
791 * font.c (font_matching_entity): Reflect ATTRS in font selection.
792 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
793
7942008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
795
796 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
797 a suspended terminal.
798
7992008-09-30 Michael Albinus <michael.albinus@gmx.de>
800
801 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
802
8032008-09-30 Eli Zaretskii <eliz@gnu.org>
804
805 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
806
8072008-09-30 Chong Yidong <cyd@stupidchicken.com>
808
809 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
810 in a continued line coincides with a line beginning.
811
8122008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
813
814 * nsfont.m (nsfont_trait_distance): Fix bug.
815 (nsfont_list): Return a list rather than a vector (syncs with Handa
816 changes of 2008-05-14).
817 (nsfont_open): Improve logging.
818
8192008-09-29 Andreas Schwab <schwab@suse.de>
820
821 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
822
8232008-09-28 Martin Rudalics <rudalics@gmx.at>
824
825 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
826 name as char-resolve-modifiers.
827 Reported by: Markus Triska <markus.triska@gmx.at>
828
8292008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
830
831 * dispnew.c (init_display): Return earlier when running as a daemon.
832
8332008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
834
835 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
836
8372008-09-27 Eli Zaretskii <eliz@gnu.org>
838
839 * composite.c (Fcomposition_get_gstring)
840 (Fcompose_region_internal, Fcompose_string_internal)
841 (Ffind_composition_internal): Doc fix.
842 (syms_of_composite) <compose-chars-after-function>: Doc fix.
843 (syms_of_composite) <auto-composition-function>: Doc fix.
844 (syms_of_composite) <composition-function-table>: Doc fix.
845
8462008-09-25 Chong Yidong <cyd@stupidchicken.com>
847
848 * search.c (wordify): New argument for lax word-ends.
849 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
850
8512008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
852
853 * lisp.h (is_daemon): Declare.
854 * dispnew.c (init_display): Do not try to initialize the terminal
855 when running as a daemon.
856
8572008-09-22 Chong Yidong <cyd@stupidchicken.com>
858
859 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
860 x_display_pixel_height.
861
8622008-09-22 Martin Rudalics <rudalics@gmx.at>
863
864 * undo.c (record_point): Don't call Fundo_boundary for first
865 change. (Bug#731)
866
8672008-09-22 Juanma Barranquero <lekktu@gmail.com>
868
869 * emacs.c (Fdaemonp): Doc fix.
870
8712008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
872
873 * emacs.c (main): Place #ifdef in the proper place.
874
8752008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
876
877 * emacs.c (standard_args): Add --daemon.
878 (main): Disconnect from the terminal when --daemon is passed.
879 (is_daemon): New variable.
880 (Fdaemonp): New function.
881 (syms_of_emacs): Defsubr it.
882
8832008-09-20 Chong Yidong <cyd@stupidchicken.com>
884
885 * xdisp.c (get_next_display_element): Handle string display
886 correctly when checking for the end of a box run.
887
8882008-09-20 Glenn Morris <rgm@gnu.org>
889
890 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
891 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
892 (Frename_file): Avoid copying to trash if a rename involves
893 a delete. (Bug#964).
894
8952008-09-20 Eli Zaretskii <eliz@gnu.org>
896
897 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
898 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
899 frames as well as termcap frames.
900 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
901 get_named_tty.
902
9032008-09-19 Eli Zaretskii <eliz@gnu.org>
904
905 * process.c (procfs_system_process_attributes): Fix cmdline in
906 case /proc/PID/cmdline is empty.
907
908 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
909 x_display_pixel_height.
910
9112008-09-19 Juanma Barranquero <lekktu@gmail.com>
912
913 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
914
915 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
916 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
917
9182008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
919
920 * dispextern.h (struct it): Move line_wrap away from the middle of
921 bitfields. Move voffset in struct iterator_stack_entry after the
922 bitfields. Move tab_width near after another short.
923
9242008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
925
926 * frame.h (struct frame): Move alpha from the middle of bitfields.
927
928 * window.h (struct window): Move frozen_window_start_p after the
929 rest of the bitfields to reduce padding.
930
9312008-09-18 Chong Yidong <cyd@stupidchicken.com>
932
933 * xterm.h (x_display_info): Remove `height' and `width' members.
934
935 * nsterm.h (ns_display_info): Remove `height' and `width' members.
936
937 * w32term.h (w32_display_info): Remove `height', `width',
938 `height_in', and `width_in' members.
939
b8ff72fa
SM
940 * xterm.c (x_display_pixel_height, x_display_pixel_width):
941 New functions.
aac0c6e3
MR
942 (x_calc_absolute_position): Use them.
943 (x_term_init): Omit removed `height' and `width' members.
944
b8ff72fa
SM
945 * w32term.c (x_display_pixel_height, x_display_pixel_width):
946 New functions.
aac0c6e3
MR
947 (w32_read_socket, x_calc_absolute_position): Use them.
948 (w32_initialize_display_info, w32_term_init): Omit removed members
949 of w32_display_info.
950
b8ff72fa
SM
951 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
952 New functions.
953 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 954
b8ff72fa
SM
955 * xterm.c (x_display_pixel_height, x_display_pixel_width):
956 New functions.
aac0c6e3
MR
957 (x_calc_absolute_position): Use them.
958 (x_term_init): Omit removed `height' and `width' members.
959
960 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
961 (compute_tip_xy):
962 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
963 * xmenu.c (menu_position_func): Use x_display_pixel_height and
964 x_display_pixel_width.
965
9662008-09-18 Kenichi Handa <handa@m17n.org>
967
968 * composite.c (fill_gstring_header): Don't check FROM and TO here.
969 (composition_compute_stop_pos): Fix handling of static composition.
970 (Fcomposition_get_gstring): Check FROM and TO at first.
971
9722008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
973
974 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
975 mixup (YAILOM).
976
9772008-09-17 Chong Yidong <cyd@stupidchicken.com>
978
979 * indent.c (Fvertical_motion): Use position reported by iterator
980 instead of PT for determining screen motion (bug#943).
981
9822008-09-17 Romain Francoise <romain@orebokech.com>
983
984 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
985
9862008-09-17 Kenichi Handa <handa@m17n.org>
987
988 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
989
990 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
991 if necessary.
992
9932008-09-16 Kenichi Handa <handa@m17n.org>
994
995 * coding.c (make_conversion_work_buffer): Avoid calling
996 Fget_buffer_create if it is not necessary.
997
9982008-09-15 Martin Rudalics <rudalics@gmx.at>
999
1000 * window.c (Fselect_window): Don't update window_select_count and
1001 use_time when norecord is not nil.
1002
10032008-09-14 Kenichi Handa <handa@m17n.org>
1004
1005 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1006 specpdl_ptr.
1007
10082008-09-12 Kenichi Handa <handa@m17n.org>
1009
1010 * indent.c (scan_for_column): Don't handle automatic composition
1011 if the current buffer is not associated with a window.
1012
1013 * composite.c (composition_reseat_it): If the current buffer is
1014 not associated with a window, ignore the automatic composition.
1015 (find_automatic_composition): Likewise.
1016
10172008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1018
1019 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1020 (Fgpm_mouse_stop): Use it.
1021 * termhooks.h (close_gpm): Declare.
1022 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1023 connection if Gpm_GetEvent fails.
1024
1025 * window.c (set_window_buffer): Always preserve current-buffer.
1026
10272008-09-12 Glenn Morris <rgm@gnu.org>
1028
1029 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1030
10312008-09-11 Glenn Morris <rgm@gnu.org>
1032
1033 * charset.c (charset-map-path): Doc fix.
1034
10352008-09-10 Kenichi Handa <handa@m17n.org>
1036
1037 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1038
1039 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1040 compose a grapheme cluster with the preceding base glyph.
1041
1042 * composite.c (composition_compute_stop_pos): Fix previous change.
1043 Reset cmp_it->id to -1 at first.
1044
10452008-09-10 Glenn Morris <rgm@gnu.org>
1046
1047 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1048
10492008-09-09 Chong Yidong <cyd@stupidchicken.com>
1050
1051 * keyboard.c (read_key_sequence): Reapply translation maps when
1052 switching keyboards.
1053
10542008-09-09 Kenichi Handa <handa@m17n.org>
1055
1056 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1057 characters.
1058
1059 * composite.c (FORWARD_CHAR): Fix calculation
1060 of (POSITION).pos_byte.
1061 (composition_compute_stop_pos): Limit the search of composition to
1062 at most 500 characters ahead. If we reach the limit or find a
1063 newline, set cmp_it->ch to -2 and return 0.
1064 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1065
10662008-09-08 Kenichi Handa <handa@m17n.org>
1067
1068 * indent.c (Fvertical_motion): Be sure to set
1069 it_overshoot_expected if it.cmp_it.id is non-negative.
1070
10712008-09-07 Andreas Schwab <schwab@suse.de>
1072
1073 * callproc.c (Fcall_process): Don't hold references to string data
1074 across garbage collection. Move initialisation of new_argv down
1075 to avoid compiler bug.
1076
10772008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1078
1079 * process.c (Fsystem_process_attributes): Doc fix.
1080
10812008-09-07 Chong Yidong <cyd@stupidchicken.com>
1082
1083 * callproc.c (Fcall_process): Canonicalize current directory name.
1084
1085 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1086 iterator advances to the next line if the current line ends in a
1087 continued tab.
1088
10892008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1090
1091 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1092 member to point to cmp_from.
1093
1094 * xdisp.c: Doc fix for references to gidx data member.
1095
10962008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1097
1098 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1099
11002008-09-07 Kenichi Handa <handa@m17n.org>
1101
1102 * composite.c (FORWARD_CHAR): Check STOP after
1103 incrementing (POSITION).pos.
1104
11052008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1106
1107 * process.c (Fsystem_process_attributes): Doc fix.
1108
11092008-09-06 Chong Yidong <cyd@stupidchicken.com>
1110
1111 * keyboard.c (Ftop_level): Doc fix.
1112
11132008-09-06 Eli Zaretskii <eliz@gnu.org>
1114
1115 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1116 minibuffer, don't let lower part of menu invade the echo area.
1117
1118 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1119 "char *q" to access menu text and advance through it. Revert the
1120 change that displayed ">" instead of ASCII character 0x10.
1121
11222008-09-05 Eli Zaretskii <eliz@gnu.org>
1123
1124 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1125 toggle boxes and radio buttons on MS-DOS as well.
1126
11272008-09-05 Kenichi Handa <handa@m17n.org>
1128
1129 * composite.c (autocmp_chars): Check lookback count.
1130 (composition_compute_stop_pos): Set cmp_it->lookback.
1131 (composition_reseat_it): Check lookback count.
1132 (struct position_record): New struct.
1133 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1134 (find_automatic_composition): New function.
1135 (composition_adjust_point): Use find_automatic_composition.
1136
1137 * dispextern.h (struct composition_it): New member lookback.
1138
11392008-09-02 Chong Yidong <cyd@stupidchicken.com>
1140
1141 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1142 if moving by a single line.
1143
11442008-09-02 Andreas Schwab <schwab@suse.de>
1145
1146 * xterm.c (x_delete_display): Fix merge error.
1147
1148 * fileio.c (Fexpand_file_name): Remove unused variables.
1149
11502008-09-02 Eli Zaretskii <eliz@gnu.org>
1151
1152 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1153 storage on all platforms, not just on DOS_NT.
1154
11552008-09-02 Jason Rumney <jasonr@gnu.org>
1156
b8ff72fa
SM
1157 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1158 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1159
11602008-09-01 Chong Yidong <cyd@stupidchicken.com>
1161
1162 * xfaces.c (Finternal_set_alternative_font_family_alist)
1163 (Finternal_set_alternative_font_registry_alist): Properly copy
1164 entire alist structure.
1165
11662008-09-01 Kenichi Handa <handa@m17n.org>
1167
1168 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1169 representative chars of the script is a vector.
1170 (ftfont_list): Handle the case the representative chars of the
1171 script is a vector.
1172
1173 * character.c (syms_of_character): Docstring of
1174 script-representative-chars fixed.
1175
11762008-08-31 Eli Zaretskii <eliz@gnu.org>
1177
1178 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1179 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1180 the menu. Allocate larger buffer for `text', to account for
1181 possible ^C characters.
1182
11832008-08-31 Martin Rudalics <rudalics@gmx.at>
1184
1185 * xdisp.c (prepare_menu_bars): Don't call
1186 Vwindow_size_change_functions with arg Qt.
1187
11882008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1189
1190 * font.h (font_range):
1191 * fileio.c (report_file_error):
1192 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1193
11942008-08-30 Glenn Morris <rgm@gnu.org>
1195
1196 * data.c (Fmake_variable_frame_local): Doc fix.
1197
1198 * frame.c (Fmodify_frame_parameters): Doc fix.
1199
12002008-08-30 Eli Zaretskii <eliz@gnu.org>
1201
1202 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1203 needed by GetTokenInformation.
1204 (w32_system_process_attributes): Check return values of all system
1205 APIs.
1206
1207 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1208 only when the state changes.
1209 (IT_update_begin, IT_update_end): Add termscript trace.
1210
1211 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1212 clipboard is unavailable. Set dst to NULL if it doesn't point to
1213 malloc'ed data.
1214 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1215 passing random values to xfree.
1216
1217 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1218 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1219
12202008-08-29 Jason Rumney <jasonr@gnu.org>
1221
1222 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1223
12242008-08-29 Eli Zaretskii <eliz@gnu.org>
1225
1226 * composite.c (fill_gstring_body): Avoid compiler warnings.
1227
1228 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1229 LGLYPH_SET_CODE to avoid compiler warnings.
1230
1231 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1232
1233 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1234
1235 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1236 LGLYPH_SET_CODE.
1237
12382008-08-29 Kenichi Handa <handa@m17n.org>
1239
1240 * fileio.c (report_file_error): Don't downcase the first character
1241 of errstring if it is still unibyte.
1242
12432008-08-29 Kenichi Handa <handa@m17n.org>
1244
1245 These changes are to re-implement the automatic composition so
1246 that it doesn't use text properties.
1247
1248 * Makefile.in (ftfont.o): Depend on composite.h.
1249 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1250
1251 * character.h (Vunicode_category_table): Extern it.
1252
1253 * character.c (Vunicode_category_table): New variable.
1254 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1255
1256 * chartab.c (optimize_sub_char_table): Perform more greedy
1257 optimization.
1258
b8ff72fa
SM
1259 * composite.h (enum composition_method):
1260 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1261 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1262 (Vcomposition_function_table): Extern it.
1263 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1264 (composition_gstring_put_cache, composition_gstring_from_id)
1265 (composition_gstring_p, composition_gstring_width)
1266 (composition_compute_stop_pos, composition_reseat_it)
1267 (composition_update_it, composition_adjust_point): Extern them.
1268 (Fcomposition_get_gstring): EXFUN it.
1269
1270 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1271 (Vcomposition_function_table)
1272 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1273 (gstring_hash_table, gstring_work, gstring_work_headers):
1274 New variables.
aac0c6e3
MR
1275 (gstring_lookup_cache, composition_gstring_put_cache)
1276 (composition_gstring_from_id, composition_gstring_p)
1277 (composition_gstring_width, fill_gstring_header)
1278 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1279 (composition_reseat_it, composition_update_it)
b8ff72fa 1280 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1281 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1282 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1283 Defsubr compostion_get_gstring.
1284
1285 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1286 cmp_id.
1287 (struct glyph_string): Delete the member gidx. New members
1288 cmp_id, cmp_from, and cmp_to.
1289 (enum it_method): Delete GET_FROM_COMPOSITION.
1290 (struct composition_it): New struct.
1291 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1292 Delete c, len, cmp_id, cmp_len in u.comp.
1293
1294 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1295 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1296 (enum lglyph_indices): Likewise.
b8ff72fa 1297 (font_range): Adjust extern.
aac0c6e3
MR
1298 (font_fill_lglyph_metrics): Extern it.
1299
1300 * font.c (QCf): New variable.
1301 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1302 (font_prepare_composition): Delete this function.
1303 (font_range): Type and arguments changed.
1304 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1305 (font_fill_lglyph_metrics): New function.
b8ff72fa 1306 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1307 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1308 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1309 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1310
1311 * fontset.h (font_for_char): Extern it.
1312
1313 * fontset.c (font_for_char): New function.
1314
1315 * ftfont.c: Include composite.h.
1316 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1317 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1318
1319 * indent.c: Include composite.h and dispextern.h.
1320 (check_composition): Delete this function.
1321 (scan_for_column): Handle composition by
1322 composition_compute_stop_pos, composition_reseat_it, and
1323 composition_update_it.
1324 (compute_motion): Likewise.
1325 (Fvertical_motion): Fix checking of composition.
1326
1327 * keyboard.c (adjust_point_for_property): Check composition by
1328 composition_adjust_point.
1329
b8ff72fa 1330 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1331 struct glyph_string.
1332
b8ff72fa
SM
1333 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1334 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1335 struct glyph.
1336 (produce_composite_glyph): Likewise.
1337
b8ff72fa
SM
1338 * w32term.c (x_draw_composite_glyph_string_foreground):
1339 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1340 (x_draw_glyph_string): Likewise.
1341
1342 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1343 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1344
1345 * xdisp.c: Include font.h.
1346 (it_props): Delete the entry for Qauto_composed.
1347 (init_iterator): Initialize it->cmp_it.id to -1.
1348 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1349 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1350 (handle_auto_composed_prop): Delete it.
1351 (handle_composition_prop): Handle only static composition.
1352 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1353 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1354 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1355 (pop_it): Likewise.
1356 (get_next_element): Delete next_element_from_composition.
1357 (CHAR_COMPOSED_P): New macro.
1358 (get_next_display_element): For automatic composition, get a face
1359 from the font in the glyph-string.
1360 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1361 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1362 (next_element_from_string): Check if the character at the current
1363 position is composed by CHAR_COMPOSED_P.
1364 (next_element_from_buffer): Likewise.
b8ff72fa 1365 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1366 it. Update it->cmp_it.
b8ff72fa
SM
1367 (dump_glyph): Adjust for the change of struct glyph.
1368 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1369 it and struct glyph. Don't handle automatic composition here.
1370 (fill_gstring_glyph_string): New function.
1371 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1372 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1373 (BUILD_GSTRING_GLYPH_STRING): New macro.
1374 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1375 automatic composition.
b8ff72fa 1376 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1377 struct glyph.
b8ff72fa 1378 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1379
b8ff72fa 1380 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1381 the change of struct glyph_string.
1382 (x_draw_glyph_string): Likewise.
1383
13842008-08-29 Glenn Morris <rgm@gnu.org>
1385
1386 * buffer.c (word-wrap): Doc fix.
1387 * xdisp.c (truncate-partial-width-windows): Doc fix.
1388 Increase default to 50.
1389
13902008-08-29 Chong Yidong <cyd@stupidchicken.com>
1391
1392 * xdisp.c (update_tool_bar_unwind): New function.
1393 (update_tool_bar): Temporarily set selected frame before building
1394 tool-bar items.
1395
13962008-08-28 Michael Albinus <michael.albinus@gmx.de>
1397
1398 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1399 snprintf, respectively.
1400 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1401
14022008-08-28 Chong Yidong <cyd@stupidchicken.com>
1403
1404 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1405 LDFLAGS to GNUstep CC invocation.
1406
14072008-08-27 Chong Yidong <cyd@stupidchicken.com>
1408
1409 * indent.c (Fvertical_motion): Revert last change. Handle the
1410 general case where we are moving forward, and PT spans multiple
1411 screen lines.
1412
1413 * eval.c (find_handler_clause): Temporarily increase
1414 max-lisp-eval-depth while printing the backtrace buffer, to
1415 guarantee that help-mode code can run.
1416
14172008-08-27 Eli Zaretskii <eliz@gnu.org>
1418
1419 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1420 colors under -rv.
1421 (IT_set_frame_parameters): Don't swap foreground and background
1422 colors if `(reverse . t)' is present in the frame properties.
1423 (internal_terminal_init): Call init_frame_faces only for the
1424 initial frame.
1425
14262008-08-27 Andreas Schwab <schwab@suse.de>
1427
1428 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1429
14302008-08-27 Andreas Schwab <schwab@suse.de>
1431
1432 * search.c (search_buffer): Set char_base to zero only at the end.
1433
14342008-08-27 Kenichi Handa <handa@m17n.org>
1435
b8ff72fa 1436 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1437
14382008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1439
1440 * xterm.c (x_term_init): Temporarily hide the partially
1441 initialized terminal while calling vendor-specific-keysyms.
1442
14432008-08-26 Eli Zaretskii <eliz@gnu.org>
1444
1445 * msdos.c (internal_terminal_init): Most initializations done only
1446 once, especially initial_screen_colors[] and termscript open.
1447
14482008-08-26 Chong Yidong <cyd@stupidchicken.com>
1449
1450 * eval.c (Fcondition_case): Doc fix.
1451
1452 * widgetprv.h (EmacsFramePart): Change font member to the new font
1453 struct.
1454
1455 * widget.c: Include character.h and font.h for XSETFONT.
1456 (setup_frame_gcs): Compute X font id from font struct, just once.
1457
14582008-08-26 Eli Zaretskii <eliz@gnu.org>
1459
1460 * term.c (get_named_tty): Fix last change.
1461
14622008-08-26 Chong Yidong <cyd@stupidchicken.com>
1463
1464 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1465 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1466
14672008-08-25 Eli Zaretskii <eliz@gnu.org>
1468
1469 * frame.c (do_switch_frame): Mark previously displayed frame as
1470 obscured for FRAME_MSDOS_P frames as well.
1471
14722008-08-24 Eli Zaretskii <eliz@gnu.org>
1473
1474 * frame.c (make_terminal_frame): Initialize f->terminal,
1475 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1476 Set the top frame to newly created frame.
1477 (Fmake_terminal_frame): Reuse the_only_display_info.
1478
1479 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1480 estimating available memory.
1481
b97439ce 14822008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1483
1484 * nsterm.m (ns_draw_window_cursor): Don't call
1485 NSDisableScreenUpdates and NSEnableScreenUpdates on
1486 non-NS_IMPL_COCOA systems.
1487
14882008-08-23 Andreas Schwab <schwab@suse.de>
1489
1490 * process.c (procfs_system_process_attributes): Fix use of
1491 uninitialized variables.
1492
14932008-08-23 Eli Zaretskii <eliz@gnu.org>
1494
1495 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1496
1497 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1498 calling tty-set-up-initial-frame-faces.
1499
b8ff72fa
SM
1500 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1501 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1502
1503 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1504 addition to output_termcap.
1505
1506 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1507
1508 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1509 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1510 highlight.
1511
1512 * process.c [!subprocesses]: Define QCname.
1513 (syms_of_process): Intern and staticpro it.
1514
1515 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1516 Adjust for changes in encoding/decoding routines.
1517 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1518 encode_coding and decode_coding.
1519
b8ff72fa 1520 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1521
1522 * dosfns.c: Include frame.h before termhooks.h.
1523 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1524 variable termscript.
1525
1526 * s/msdos.h (USER_FULL_NAME): Define.
1527 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1528
1529 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1530 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1531 pw->pw_gecos.
1532
1533 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1534 SELECTED_FRAME as additional (1st) argument.
1535 (tty_read_avail_input): Handle output_msdos_raw in
1536 addition to output_termcap.
1537
1538 * msdos.c: Include frame.h before termhooks.h.
1539 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1540 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1541 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1542 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1543 (IT_set_terminal_modes, IT_reset_terminal_modes)
1544 (IT_set_frame_parameters): Use tty->termscript instead of a global
1545 variable termscript.
1546 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1547 global variable terminal_coding. Don't refer to
1548 Vnonascii_translation_table.
1549 (internal_terminal_init): Set Vwindow_system in current_kboard.
1550 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1551 Announce date and time of session start, if termscript is open.
1552 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1553 term.c:init_tty). Open termscript only of not already open.
1554 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1555 here instead of dos_ttraw. Don't initialize display if this is an
1556 initial tty. Don't set FRAME_FONT.
1557 (Vwindow_system_version): Bump to 23.
1558 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1559 is available, set up mouse_position_hook.
1560 (dos_ttraw, IT_set_terminal_modes): If called with initial
1561 terminal, do nothing.
1562 (IT_set_frame_parameters): Handle the Qtty_type frame
1563 parameter by calling internal_terminal_init.
1564 (dos_set_window_size, show_mouse_face)
1565 (clear_mouse_face, IT_note_mode_line_highlight)
1566 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1567 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1568 (initialize_msdos_display): New function.
1569 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1570 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1571 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1572 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1573 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1574 (request_sigio, unrequest_sigio): Don't define, now defined on
1575 sysdep.c.
1576 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1577
1578 * term.c [MSDOS]: Include msdos.h.
1579 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1580 conditional to DOS_NT. Allow only one call to this function in a
1581 session. Don't allocate a new struct tty_display_info; instead,
1582 reuse the_only_display_info. Call get_tty_size to get screen
1583 dimensions. Call init_baud_rate to set bad_rate.
1584 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1585 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1586 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1587 (get_tty_terminal, get_named_tty, Ftty_type)
1588 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1589 output_termcap.
b8ff72fa
SM
1590 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1591 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1592 only when subprocesses are supported
1593
1594 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1595 f->output_data.x.
1596 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1597 terminal devices.
1598
1599 * msdos.h Remove definition of struct x_display_info and struct
1600 x_output.
1601 (FRAME_FONT): Use output_data.tty.
1602 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1603 (struct x_display_info): Rename from display_info. Update all users in
1604 msdos.c.
aac0c6e3 1605 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1606 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1607 (dos_ttraw): Update prototype.
1608
1609 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1610 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1611
16122008-08-23 Jason Rumney <jasonr@gnu.org>
1613
1614 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1615 (fn_TIFFSetDirectory): New library function used.
1616 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1617 (tiff_load): Use :index to select among multiple images. Set count
1618 property when multiple images exist.
1619 (gif_format): Use :index, not :image.
1620
16212008-08-23 Chong Yidong <cyd@stupidchicken.com>
1622
1623 * xdisp.c (try_scrolling): Check INT_MAX instead of
1624 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1625 to obtain INT_MAX.
1626
16272008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1628
1629 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1630
16312008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1632
1633 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1634 GNUstep library location.
1635
16362008-08-21 Chong Yidong <cyd@stupidchicken.com>
1637
1638 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1639 before using it.
1640
1641 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1642
16432008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1644
1645 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1646 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1647 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1648 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1649 (EmacsApp-cursor_blink_handler): Remove declaration.
1650 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1651 match 01 Feb 2008 changes in xterm.c.
1652 (ns_read_socket): Add cast to avoid warning.
1653 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1654 GNUstep.
1655
16562008-08-20 Chong Yidong <cyd@stupidchicken.com>
1657
1658 * xselect.c (x_get_foreign_selection): Return nil if desired
1659 selection could not be obtained, instead of signalling an error.
1660
16612008-08-20 David Reitter <david.reitter@gmail.com>
1662
1663 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1664 * nsterm.m: Remove ns-specific code for cursor blinking.
1665 (ns_draw_window_cursor): Clear cursor properly rather than
1666 redrawing the area. Respect width of bar cursors.
1667 These changes enable the use of generic blink-cursor-mode and
1668 generic cursor types in NS and support smooth cursor movements (do
1669 not blink off after command).
1670 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1671 Nextstep, too.
1672
16732008-08-19 Kenichi Handa <handa@m17n.org>
1674
1675 * font.c (Vfont_log_deferred): New variable.
1676 (font_add_log): Check Vfont_log_deferred.
1677 (font_deferred_log): New function.
1678
1679 * font.h (font_deferred_log): Extern it.
1680
1681 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1682 for sorting.
1683 (face_for_char): Use deferred log.
1684
16852008-08-18 Kenichi Handa <handa@m17n.org>
1686
1687 * fontset.c (face_for_char): Add font log.
1688
1689 * font.c (font_add_log): Add the font properties :script, :lang,
1690 and :otf in the log.
1691
16922008-08-17 Chong Yidong <cyd@stupidchicken.com>
1693
1694 * xdisp.c: Remove dead code.
1695 (handle_invisible_prop, next_overlay_string): Defer call to
1696 setup_for_ellipsis.
1697 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1698
16992008-08-15 Chong Yidong <cyd@stupidchicken.com>
1700
1701 * xfaces.c (lookup_derived_face): Properly handle possible zero
1702 return value of get_lface_attributes.
1703 (merge_faces): Don't tell lookup_derived_face to signal an error
1704 if face is not found.
1705
1706 * dired.c (Fdirectory_files): Doc fix.
1707
1708 * process.c (make_process): Initialize kill_without_query struct
1709 member.
1710
17112008-08-15 Eli Zaretskii <eliz@gnu.org>
1712
1713 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1714 Alternative calculation of totphys for Visual Studio 6.
1715
1716 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1717
1718 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1719 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1720 All users changed.
1721 (stat): Only root directory passed to GetDriveType. Allow RAM
1722 disk as well as local fixed disk when w32-get-true-file-attributes
1723 is set to `local'.
1724 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1725 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1726 (w32_cached_id, w32_add_to_cache): New functions.
1727 (get_name_and_id): Look account names in the cache before calling
1728 lookup_account_sid.
1729 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1730 New initialization flags.
1731 (globals_of_w32): Initialize them to zero.
1732 (w32_system_process_attributes): Use w32_cached_id and
1733 w32_add_to_cache.
1734
17352008-08-14 Lawrence Mitchell <wence@gmx.li>
1736
1737 * lread.c (Fread_char, Fread_char_exclusive): If no character
1738 event is read before timeout is reached, return nil, rather than
1739 converting to a number.
1740
17412008-08-14 Chong Yidong <cyd@stupidchicken.com>
1742
1743 * fns.c (use_dialog_box): Doc fix.
1744
1745 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1746 on OS X.
1747
17482008-08-13 Chong Yidong <cyd@stupidchicken.com>
1749
1750 * frame.c (Qns_parse_geometry): New var.
1751 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1752
17532008-08-11 Chong Yidong <cyd@stupidchicken.com>
1754
1755 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1756 space character in calculating tabs.
1757
17582008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1759
1760 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1761
17622008-08-10 Glenn Morris <rgm@gnu.org>
1763
1764 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1765 silence gcc "limited range of data type" warnings in some
1766 make_fixnum_or_float calls.
1767
17682008-08-09 Eli Zaretskii <eliz@gnu.org>
1769
1770 * w32.c (w32_system_process_attributes): If the process does not
1771 exist, return nil.
1772
1773 * w32.c: Include thelp32.h, psapi.h and coding.h.
1774 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1775 declarations.
1776 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1777 (Process32Next_Proc): New typedefs.
1778 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1779 (g_b_init_process32_next, g_b_init_open_thread_token)
1780 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1781 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1782 (g_b_init_get_process_working_set_size)
1783 (g_b_init_global_memory_status_ex): New static variables.
1784 (globals_of_w32): Initialize them.
1785 (create_toolhelp32_snapshot, process32_first, process32_next)
1786 (open_thread_token, impersonate_self, revert_to_self)
1787 (get_process_memory_info, get_process_working_set_size)
1788 (global_memory_status, global_memory_status_ex): New wrapper
1789 functions.
1790 (w32_list_system_processes, w32_system_process_attributes)
1791 (enable_privilege, restore_privilege, ltime, process_times):
1792 New functions.
1793 (convert_time_raw): New function.
1794 (convert_time): Remove conversion of FILETIME into time in 100
1795 nsec units, call convert_time_raw instead.
1796
1797 * process.h (w32_list_system_processes, w32_system_process_attributes):
1798 Add prototypes.
1799 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1800 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1801 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1802 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1803
1804 * process.c (Fsystem_process_attributes): Doc fix.
1805
18062008-08-08 Chong Yidong <cyd@stupidchicken.com>
1807
1808 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1809 a continued multi-char glyph; if so, advance to the actual glyph.
1810
18112008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1812
1813 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1814
1815 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1816 (.m.o): Use it.
1817 * config.in: Regenerate.
1818
18192008-08-07 Chong Yidong <cyd@stupidchicken.com>
1820
1821 * xdisp.c (redisplay_window): Revert last change.
1822 (try_window): Check bottom scroll margin too.
1823
18242008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1825
1826 * config.in: Regenerate.
1827
1828 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1829 -list-load-path-shadows'.
1830 (nsgui.h): Reduce number of things depending on it.
1831
18322008-08-06 Chong Yidong <cyd@stupidchicken.com>
1833
1834 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1835 instead of window-end which does the wrong thing at eob.
1836 (try_cursor_movement): Minor optimization.
1837 (redisplay_window): If scroll margin is defined, don't assume
1838 window doesn't need scrolling.
1839
18402008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1841
1842 * config.in: Regenerate.
1843
1844 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1845 (mostlyclean): Don't delete *.d under NS.
1846
1847 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1848
18492008-08-06 Kenichi Handa <handa@m17n.org>
1850
1851 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1852
18532008-08-06 Andreas Schwab <schwab@suse.de>
1854
1855 * config.in: Regenerate.
1856
18572008-08-05 Chong Yidong <cyd@stupidchicken.com>
1858
1859 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1860 forcing a window start.
1861
1862 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1863 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1864
18652008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1866
1867 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1868 argument.
1869
18702008-08-05 Juanma Barranquero <lekktu@gmail.com>
1871
1872 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1873 <scroll-down-aggressively, before-change-functions>:
1874 <after-change-functions>: Reflow docstrings.
1875
18762008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1877 Ken Raeburn <raeburn@gnu.org>
1878
1879 Dock menu customization, based on a patch by Ken Raeburn, plus some
1880 other fixes.
1881 * nsmenu.m (dockMenu): New variable.
1882 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1883
1884 * nsterm.h (dockMenu): Declare.
1885
1886 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1887 (ns_term_init): Initialize dockMenu.
1888 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1889 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1890 left.
1891
1892 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1893
18942008-08-04 Chong Yidong <cyd@stupidchicken.com>
1895
1896 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1897
1898 * config.in: Regenerate.
1899
19002008-08-04 Seiji Zenitani <zenitani@mac.com>
1901
1902 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1903
19042008-08-04 Chong Yidong <cyd@stupidchicken.com>
1905
1906 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1907
19082008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1909
1910 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1911
1912 * keyboard.h: Comment an #endif.
1913
1914 * lisp.h (have_menus_p): Adjust comment.
1915
1916 * menu.c (find_and_return_menu_selection): Fix comparison with
1917 client_data.
1918
1919 * nsmenu.m (popup_activated_flag): New variable.
1920 (popup_activated): New function.
1921 (menu-or-popup-active-p): New exported lisp definition.
1922 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1923 when popup done.
1924 (ns_popup_dialog): Set popup_activated_flag.
1925
1926 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1927 version for GNUstep (handled by conditional typedef in nsterm.m).
1928 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1929 in rgb.txt).
1930
1931 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1932
1933 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1934
1935 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1936
1937 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1938 shortcircuit if popup_activated like GTK and X toolkit.
1939
1940 * m/inter386.h: Change DARWIN to DARWIN_OS.
1941
1942 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1943 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1944 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1945 comment on NO_SOCK_SIGIO.
1946
19472008-08-03 Chong Yidong <cyd@stupidchicken.com>
1948
1949 * nsterm.m (windowDidResize): Remove stopModal call.
1950
19512008-08-03 Andreas Schwab <schwab@suse.de>
1952
1953 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1954 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1955
19562008-08-02 Chong Yidong <cyd@stupidchicken.com>
1957
1958 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1959 Don't use uninitialized pointer variable when using getrlimit.
1960
19612008-08-02 Jason Rumney <jasonr@gnu.org>
1962
1963 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1964
19652008-08-02 Eli Zaretskii <eliz@gnu.org>
1966
1967 * alloc.c (NSTATICS): Bump to 0x640.
1968
1969 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1970
1971 * lisp.h: Add prototype for directory_files_internal.
1972
1973 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1974 New functions.
1975 (syms_of_process): Defsubr them. Add initializations for various
1976 Q* symbols used in procfs_system_process_attributes.
1977 (procfs_list_system_processes, procfs_system_process_attributes)
1978 [HAVE_PROCFS]: New functions.
1979 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1980 (procfs_get_total_memory): New functions.
1981
19822008-08-01 Juanma Barranquero <lekktu@gmail.com>
1983
1984 * xfaces.c (Fx_load_color_file): Fix previous change;
1985 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1986
19872008-08-01 Michael Albinus <michael.albinus@gmx.de>
1988
1989 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1990
19912008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1992
1993 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1994
19952008-08-01 Chong Yidong <cyd@stupidchicken.com>
1996
1997 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1998
1999 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2000 define NSApplicationDelegateReplySuccess.
2001 (EmacsView -converstationIdentifier): Use long instead of
2002 NSInteger for GNUstep, since it doesn't have NSInteger.
2003
2004 * xmenu.c: Revert last change.
2005
2006 * keyboard.h: Fix last change.
2007
20082008-08-01 Juanma Barranquero <lekktu@gmail.com>
2009
2010 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2011 on Windows.
2012
20132008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2014
2015 Warning clearing and clean-up in NS port.
2016 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2017 Add prototypes.
2018 * nsgui.h (FACE_DEFAULT): Remove, unused.
2019 (XGCValues): Change colors to unsigned long.
2020 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2021 nsterm.m.
2022 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2023 (ns_list_fonts): Remove, unused.
2024 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2025 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2026 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2027 (nsfont_draw): Compare face colors to 0, not nil.
2028 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2029 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2030 (-addSubmenuWithTitle:): Use NSMenuItem class.
2031 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2032 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2033 (ns_clip_to_row): Make gc arg a BOOL.
2034 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2035 ns_clip_to_row() call.
2036 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2037 used). Cast FRAME_FONT assignments.
2038 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2039 (ns_string_to_lispmod): Change arg to const char.
2040 (ns_term_init): Use NSMenuItem class.
2041 (EmacsApp -openFile:): Move to different section of file.
2042 (EmacsApp -application:openFiles:): Don't return a value, call
2043 -replyToOpenOrPrint:.
2044 (EmacsView -keyDown:): Fix up cast.
2045 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2046 (EmacsView -menuDown:): Cast tag in call to
2047 find_and_call_menu_selection().
2048 (ns_list_fonts): Remove, unused.
2049 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2050 (ns_fontname_to_xlfd): Make static.
2051 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2052 Remove prototypes (now in keyboard.h).
2053 (next_menubar_widget_id): Remove, unused.
2054 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2055 Remove prototypes (now in keyboard.h).
2056 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2057
20582008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2059
2060 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2061 (floatfns.o): Depend on syssignal.h.
2062 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2063
2064 * systty.h: Fix previous change that removed BSD_TERMIOS.
2065 Add comments to #ifdefs.
2066
20672008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2068
2069 * w32fns.c (w32-load-color-file): Remove.
2070 (x-open-connection): Use renamed Fx_load_color_file.
2071 * xfaces.c (x-load-color-file): Add.
2072 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2073 Emacs.clr.
2074 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2075
20762008-07-31 Michael Albinus <michael.albinus@gmx.de>
2077
2078 * dbusbind.c (Fdbus_call_method_asynchronously)
2079 (Fdbus_method_error_internal): New defuns.
2080 (xd_read_message): Handle also reply messages.
2081 (Vdbus_registered_functions_table): Extend docstring.
2082
20832008-07-31 Juanma Barranquero <lekktu@gmail.com>
2084
2085 * keyboard.c (gobble_input): Fix previous change.
2086
20872008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2088
2089 * bitmaps/README:
2090 * xfns.c:
2091 * termcap.c:
2092 * term.c:
2093 * syswait.h:
2094 * systty.h:
2095 * systime.h:
2096 * syssignal.h:
2097 * sysdep.c:
2098 * process.h:
2099 * process.c:
2100 * print.c:
2101 * ndir.h:
2102 * lread.c:
2103 * keyboard.c:
2104 * getpagesize.h:
2105 * floatfns.c:
2106 * fileio.c:
2107 * emacs.c:
2108 * doc.c:
2109 * dispnew.c:
2110 * dired.c:
2111 * data.c:
2112 * callproc.c:
2113 * buffer.c:
2114 * README:
2115 * Makefile.in:
2116 * s/template.h:
2117 * s/msdos.h:
2118 * m/vax.h: Remove VMS support.
2119 * s/vms.h:
2120 * vlimit.h:
2121 * uaf.h:
2122 * temacs.opt:
2123 * param.h:
2124 * ioctl.h: Remove file.
2125
21262008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2127
2128 * s/ms-w32.h (MULTI_KBOARD): Remove.
2129 * xterm.c:
2130 * xselect.c:
2131 * xfns.c:
2132 * window.c:
2133 * w32term.c:
2134 * w32fns.c:
2135 * terminal.c:
2136 * termhooks.h:
2137 * term.c:
2138 * sysdep.c:
2139 * keyboard.h:
2140 * keyboard.c:
2141 * frame.h:
2142 * frame.c:
2143 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2144 * config.in: Regenerate.
2145
21462008-07-30 Jason Rumney <jasonr@gnu.org>
2147
2148 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2149
2150 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2151 (w32font_open_internal): Get unicode version of textmetrics.
2152 Don't enable or disable glyph indices here.
2153 (w32font_open): Disable use of glyph indices.
2154
2155 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2156
21572008-07-30 Chong Yidong <cyd@stupidchicken.com>
2158
2159 * minibuf.c (Vread_buffer_function): Doc fix.
2160
21612008-07-30 John Paul Wallington <jpw@pobox.com>
2162
2163 * minibuf.c (read_buffer_completion_ignore_case): New var.
2164 (Fread_buffer): Use it.
2165
21662008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2167
2168 * systty.h (sensemode): Remove empty #if. Remove reference to
2169 BSD_TERMIOS, unused.
2170
2171 * sysdep.c: Remove reference to DGUX.
2172 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2173
2174 * config.in: Regenerate.
2175
21762008-07-30 Jason Rumney <jasonr@gnu.org>
2177
2178 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2179
21802008-07-29 Jason Rumney <jasonr@gnu.org>
2181
2182 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2183 is populated.
2184 (uniscribe_encode_char): Always use uniscribe.
2185 Avoid using context if cache is populated.
2186
21872008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2188
2189 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2190 open menu.
2191
2192 * gtkutil.c (menu_nav_ended): Remove.
2193 (create_menus): Remove signal connect for menu_nav_ended.
2194
21952008-07-28 Chong Yidong <cyd@stupidchicken.com>
2196
2197 * xdisp.c (redisplay_window): Check return value of
2198 compute_window_start_on_continuation_line before forcing a window
2199 start.
2200
22012008-07-28 Jason Rumney <jasonr@gnu.org>
2202
2203 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2204
2205 * w32term.c (w32_enable_unicode_output, cleartype_active):
2206 Remove obsolete display options.
2207 (x_draw_glyph_string_background): Don't use old cleartype_active
2208 workaround.
2209 (w32_initialize): Remove cleartype_active initialization.
2210 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2211
22122008-07-28 Andreas Schwab <schwab@suse.de>
2213
2214 * lisp.h (init_weak_hash_tables, syms_of_font)
2215 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2216 (remove_hash_entry): Don't declare.
2217 * eval.c (maybe_call_debugger): Make static and move before use.
2218 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2219 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2220 * xterm.h (x_set_frame_alpha): Declare.
2221
22222008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2223
2224 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2225 (create_menus): Connect selection-done to menu_nav_ended.
2226
22272008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2228
2229 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2230 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2231 parameter with read of 'alpha' one.
2232 (Qns_frame_parameter): Remove.
2233 * nsselection.m (selection-coding-system)
2234 (next-selection-coding-system, Vselection_coding_system)
2235 (Vnext_selection_coding_system): Drop.
2236
22372008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2238
2239 * nsfns.m (do-applescript, do_applescript): Rename to
2240 ns-do-applescript, ns_do_applescript, and move within file.
2241
22422008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2243
2244 Remove support for Mac Carbon.
2245 * mactoolbox.c:
2246 * macterm.h:
2247 * macterm.c:
2248 * macselect.c:
2249 * macmenu.c:
2250 * macgui.h:
2251 * macfns.c:
2252 * mac.c: Remove file.
2253 * s/darwin.h:
2254 * m/intel386.h:
2255 * xfaces.c:
2256 * xdisp.c:
2257 * window.c:
2258 * tparam.c:
2259 * termhooks.h:
2260 * termcap.c:
2261 * term.c:
2262 * syssignal.h:
2263 * sysselect.h:
2264 * sysdep.c:
2265 * process.c:
2266 * lread.c:
2267 * lisp.h:
2268 * keyboard.c:
2269 * image.c:
2270 * fringe.c:
2271 * frame.h:
2272 * frame.c:
2273 * fontset.c:
2274 * font.h:
2275 * font.c:
2276 * fns.c:
2277 * fileio.c:
2278 * emacs.c:
2279 * dispnew.c:
2280 * dispextern.h:
2281 * config.in:
2282 * atimer.c:
2283 * Makefile.in: Remove code for Carbon
2284
22852008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2286
2287 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2288
22892008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2290
2291 * macterm.h (kCGBitmapByteOrder32Host): New define for
2292 non-universal SDKs.
2293
2294 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2295 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2296
2297 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2298 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2299
23002008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2301
2302 * w32inevt.c: Include dispextern.h.
2303
23042008-07-26 Andreas Schwab <schwab@suse.de>
2305
2306 * print.c (print_object): Fix off-by-one in last change.
2307
23082008-07-25 Juanma Barranquero <lekktu@gmail.com>
2309
2310 * term.c (syms_of_term): Don't initialize default_orig_pair,
2311 default_set_foreground and default_set_background on Windows.
2312
23132008-07-25 Jason Rumney <jasonr@gnu.org>
2314
2315 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2316 ScriptItemize. Clean up return value checking. Remove unused
2317 variables.
2318 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2319 shaping engine.
2320
2321 * w32font.c (w32font_has_char): Handle the case where we can't
2322 determine the script for a character.
2323
23242008-07-25 Chong Yidong <cyd@stupidchicken.com>
2325
2326 * term.c (syms_of_term): Initialize default_orig_pair,
2327 default_set_foreground, and default_set_background.
2328
2329 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2330 clash (bug#86).
2331 (getloadavg): Callers changed.
2332
2333 * image.c (svg_load_image): Fix last change.
2334 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2335 image size is valid. Use g_object_unref instead of deprecated
2336 rsvg_handle_free to free rsvg handle.
2337 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2338
23392008-07-25 Jason Rumney <jasonr@gnu.org>
2340
2341 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2342 surrogates before looking up glyph index.
2343 (w32font_text_extents): Encode as surrogates if falling back to
2344 functions that need UTF-16 wide chars.
2345
2346 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2347 BMP as surrogates before looking up glyph index.
2348
23492008-07-25 Chong Yidong <cyd@stupidchicken.com>
2350
2351 * image.c (svg_load_image): Check for failure in return value of
2352 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2353
23542008-07-25 Jason Rumney <jasonr@gnu.org>
2355
2356 * w32font.c (Fx_select_font): Reverse sense of second arg.
2357
23582008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2359
2360 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2361 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2362
2363 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2364 (PURESIZE): Use it.
2365
23662008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2367
2368 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2369 * m/alpha.h (TEXT_END):
2370 * m/ibmrs6000.h (TEXT_END):
2371 * m/macppc.h (TEXT_END):
2372 * s/darwin.h (TEXT_END):
2373 * s/msdos.h (TEXT_END): Remove, unused.
2374 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2375 * s/cygwin.h: Remove comment.
2376
2377 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2378 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2379 * m/intel386.h (DOT_GLOBAL_START):
2380 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2381 (USG): Remove, file not used on USG platforms.
2382
2383 * Makefile.in (HAVE_X11): Remove empty #else.
2384
23852008-07-24 Andreas Schwab <schwab@suse.de>
2386
2387 * fileio.c (Finsert_file_contents): Properly adjust undo list
2388 after format conversion.
2389
23902008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2391
2392 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2393 (menu_nav_ended): Remove.
2394 (create_menus): Remove signal connect for menu_nav_ended.
2395 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2396 create_menus.
2397 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2398
23992008-07-23 Jason Rumney <jasonr@gnu.org>
2400
2401 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2402 with opened font.
2403 (w32font_open): Set font type to gdi.
2404
2405 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2406
24072008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2408
2409 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2410 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2411 defines it.
2412 * unexec.c (ADDR_CORRECT): Define unconditionally.
2413
2414 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2415
2416 * unexec.c: Remove code depending on !COFF and USG, the file is
2417 not used for such systems.
2418
2419 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2420 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2421 (LD_SWITCH_SYSTEM_1): Remove, update users.
2422
2423 * s/darwin.h (DATA_END):
2424 * m/intel386.h (DATA_END):
2425 * m/ibmrs6000.h (DATA_END):
2426 * m/alpha.h (DATA_END): Remove, unused.
2427
2428 * config.in: Regenerate.
2429 * s/ms-w32.h (subprocesses): Define unconditionally.
2430 * s/template.h (subprocesses): Update comment.
2431 * s/vms.h (subprocesses):
2432 * s/usg5-4.h (subprocesses):
2433 * s/hpux10-20.h (subprocesses):
2434 * s/gnu-linux.h (subprocesses):
2435 * s/cygwin.h (subprocesses):
2436 * s/bsd-common.h (subprocesses):
2437 * s/aix4-2.h (subprocesses):
2438 * s/darwin.h (subprocesses): Do not define, defined by default now.
2439
2440 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2441 Remove all references.
2442 (temacs): Add GNUstep specific ld flags.
2443
2444 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2445 similarly to what X does.
2446
24472008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2448
2449 * nsfns.m (x-list-fonts): Remove.
2450 (syms_of_nsfns): Drop the x-list-fonts declaration.
2451 * nsterm.m: Get rid of remaining "//" comments.
2452
24532008-07-22 Chong Yidong <cyd@stupidchicken.com>
2454
2455 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2456
2457 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2458 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2459 (Fns_own_selection_internal, Fx_disown_selection_internal)
2460 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2461
2462 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2463 ... */' style of docstrings. Doc fixes.
2464
24652008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2466
2467 * terminfo.c (UP, BC, PC): Undo previous change.
2468
2469 * nsfns.m: Rename ns prefixed functions/variables to the
2470 corresponding x versions. Update references.
2471
24722008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2473
2474 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2475
24762008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2477
2478 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2479 Remove forwarding functions.
2480 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2481 non-static.
2482 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2483 non-static.
2484 (ns_frame_parm_handlers): Use the new names.
2485 (syms_of_nsfns): Move to the end of file.
2486
2487 * nsterm.m (syms_of_nsterm): Move to the end of file.
2488
2489 * dispnew.c (init_display): Remove code for X10.
2490
24912008-07-22 Jason Rumney <jasonr@gnu.org>
2492
2493 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2494 bare drive.
2495
24962008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2497
2498 * nsterm.m (syms_of_nsterm): Remove debugging println.
2499
25002008-07-22 David Reitter <david.reitter@gmail.com>
2501
2502 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2503 Carbon implementation of the same functionality: execute arbitrary
2504 AppleScript code.
2505
25062008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2507
2508 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2509 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2510 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2511 (Fx_display_mm_height, Fx_display_mm_width)
2512 (Fx_display_backing_store, Fx_display_visual_class)
2513 (Fx_display_save_under, Fx_open_connection)
2514 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2515 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2516 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2517 (Fx_display_pixel_width, Fx_display_pixel_height)
2518 (Fx_display_usable_bounds, Fx_display_planes)
2519 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2520 ... */' style of docstrings.
2521
25222008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2523
2524 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2525 on this platform.
2526 (mips):
2527 * m/iris4d.h (mips): Do not define.
2528 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2529
2530 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2531
2532 * image.c:
2533 * nsfns.m:
2534 * nsselect.m:
2535 * nsterm.h:
2536 * nsterm.m: Rename ns prefixed functions/variables to the
2537 corresponding x versions. Update references.
2538
2539 * m/ibms390x.h (NO_REMAP): Do not undefine.
2540
2541 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2542
25432008-07-21 Chong Yidong <cyd@stupidchicken.com>
2544
2545 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2546 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2547 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2548 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2549 (Fns_display_mm_height, Fns_display_mm_width)
2550 (Fns_display_backing_store, Fns_display_visual_class)
2551 (Fns_display_save_under, Fns_open_connection)
2552 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2553 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2554 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2555 (Fns_display_pixel_width, Fns_display_pixel_height)
2556 (Fns_display_usable_bounds, Fx_display_planes)
2557 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2558
25592008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2560
2561 * print.c (print_object): Check print_depth before searching for
2562 circularities.
2563
25642008-07-21 Michael Albinus <michael.albinus@gmx.de>
2565
2566 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2567 only sprintf.
2568
25692008-07-21 Kenichi Handa <handa@m17n.org>
2570
2571 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2572
25732008-07-20 Andreas Schwab <schwab@suse.de>
2574
2575 * syntax.c (find_start_pos, find_start_value)
2576 (find_start_value_byte, find_start_begv, find_defun_start)
2577 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2578
25792008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2580
2581 * s/sol2-3.h: Insert contents of s/sol2.h.
2582 (LD_SWITCH_SYSTEM): Remove redundant definition.
2583 * s/sol2.h: Remove, unused.
2584
25852008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2586
2587 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2588
25892008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2590
2591 * Makefile.in (ns_appdir): Fix typo in find command.
2592
25932008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2594
2595 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2596
2597 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2598 added not supported anymore.
2599
2600 * s/usg5-4-2.h (LIBS_SYSTEM):
2601 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2602
2603 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2604 * s/lynxos.h (GETPGRP_NO_ARG):
2605 * s/hpux10-20.h (NO_SIOCTL_H):
2606 * s/gnu.h (GETPGRP_NO_ARG):
2607 * s/gnu-linux.h (NO_SIOCTL_H):
2608 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2609 * s/cygwin.h (GETPGRP_NO_ARG):
2610 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2611 (C_DEBUG_SWITCH): Remove duplicate definition.
2612
2613 * m/ibms390.h: Remove boilerplate comments.
2614
2615 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2616
2617 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2618 (wait_reading_process_output): Remove code for SunOS, platform not
2619 supported anymore. Use SOLARIS2 instead of sun.
2620
26212008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2622
2623 * font.c (font_open_by_name): Under NS, default lface height to zero.
2624 (font_open_for_lface): Under NS, set size based on frame fontsize.
2625 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2626 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2627
26282008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2629
2630 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2631 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2632 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2633 YES/NO.
2634 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2635 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2636 * Makefile.in (clean): Clear out build destination dir.
2637
26382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2639
2640 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2641 xterm, xselect.
2642 * lisp.h: Remove declaration of hash_remove.
2643 * nsgui.h: Remove redefinitions of hash_remove.
2644 * fns.c (hash_remove): Rename to hash_remove_from_table.
2645
26462008-07-19 Seiji Zenitani <zenitani@mac.com>
2647
2648 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2649 strdup() the family UTF8String before modifying it.
2650
26512008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2652
2653 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2654 NS_FACE_BACKGROUND with 0 instead of nil.
2655 * nsfont.m (nsfont_draw): Same.
2656
26572008-07-19 Chong Yidong <cyd@stupidchicken.com>
2658
2659 * nsfns.m (ns_set_background_color): Fix crash.
2660
26612008-07-18 Chong Yidong <cyd@stupidchicken.com>
2662
2663 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2664
26652008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2666
2667 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2668
26692008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2670
2671 * gtkutil.c: Include <config.h> instead of "config.h".
2672
2673 * lisp.h (Foverlay_buffer): Add EXFUN.
2674
2675 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2676 child process to complete child_setup. Undo 2005-09-21 change.
2677
2678 * s/darwin.h: Mention setsid after vfork.
2679
26802008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2681
2682 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2683 Depend on macgui.h.
2684
2685 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2686 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2687
2688 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2689 and f19.
2690 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2691
2692 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2693 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2694 Remove enumerators.
2695
2696 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2697 Check if FACE_FROM_ID returns NULL.
2698
26992008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2700
2701 * w32inevt.c (change_frame_size): Remove extern declaration.
2702 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2703 change_frame_size.
2704
27052008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2706
2707 * getloadavg.c: Revert last change (2008-07-15).
2708
27092008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2710
2711 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2712 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2713 from configure.
2714
27152008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2716
2717 * s/sol2.h:
2718 * s/sol2-4.h: Reorganize conditionals.
2719
2720 * ecrt0.c: Remove code depending on m68000, not used anymore.
2721
2722 * fns.c (hash_remove): Make static.
2723 * lisp.h (hash_remove): Don't prototype.
2724
2725 * m/ibmrs6000.h:
2726 * m/ibms390x.h:
2727 * m/macppc.h: Remove boilerplate comments.
2728
2729 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2730 Solaris, which does not need them.
2731
2732 * m/vax.h: Remove comments about unsupported systems.
2733
2734 * s/darwin.h: Reorganize ifdefs.
2735
27362008-07-17 Andreas Schwab <schwab@suse.de>
2737
2738 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2739
27402008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2741
2742 Use SDATA. Follow coding convention of placing operators at
2743 beginning of next line rather than end of previous line, and placing
2744 spaces around infix operators.
2745
2746 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2747 in case it was defined already.
2748 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2749 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2750 ns_default.
2751 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2752 Lisp_Objects.
2753 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2754 (ns_defined_color, ns_color_to_lisp): Declare.
2755 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2756 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2757 it's accepted even with USE_LISP_UNION_TYPE.
2758 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2759 (update_frame_tool_bar): Remove apparently obsolete tests for
2760 non-integerness of f->tool_bar_lines.
2761 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2762 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2763 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2764 (nsfont_open): Don't confuse NULL for Qnil.
2765 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2766 * menu.h (find_and_call_menu_selection):
2767 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2768 (find_and_return_menu_selection): Always return something.
2769 * frame.h: Include dispextern.h for Display_Info.
2770 (display_x_get_resource): Declare.
2771
27722008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2773
2774 * syntax.c: Remove stdio.h include accidentally introduced in
2775 Emacs.app commit.
2776 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2777 NS_IMPL_COCOA.
2778 * keyboard.c (handle_async_input, input_available_signal): Remove
2779 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2780
27812008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2782
2783 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2784 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2785 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2786 Use SDATA.
2787
2788 * keymap.c: Remove all NS-specific code.
2789 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2790 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2791 where_is_preferred_modifier, return a different value depending on how
2792 preferred is the binding.
2793 (where_is_internal): Adjust accordingly.
2794 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2795 Adjust to new preferred_sequence_p.
2796 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2797 * keyboard.c (parse_solitary_modifier): Not static any more.
2798 * keyboard.h (parse_solitary_modifier): Declare.
2799
28002008-07-16 Andreas Schwab <schwab@suse.de>
2801
2802 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2803 of easymenu.
2804
28052008-07-16 Chong Yidong <cyd@stupidchicken.com>
2806
2807 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2808 that we don't move off the line.
2809
28102008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2811
2812 * keyboard.c (Qsuper): Remove.
2813 (parse_menu_item): Don't call where_is_internal specially for NS.
2814
28152008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2816
2817 * s/gnu-linux.h: Remove boilerplate comments.
2818
2819 * m/alpha.h (__ELF__): Consolidate conditions.
2820
2821 * m/m68k.h (linux): Use GNU_LINUX instead.
2822 Remove boilerplate comments.
2823
2824 * m/intel386.h: Undo refactoring from previous change.
2825 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2826 too, remove dead code.
2827 (linux): Use GNU_LINUX instead.
2828
28292008-07-16 Jason Rumney <jasonr@gnu.org>
2830
2831 * w32gui.h: Repeat 26 June changes lost by last change.
2832
28332008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2834
2835 * systty.h: Remove code for Aix on 386, unsupported platform.
2836
2837 * s/ms-w32.h: Remove boilerplate comments.
2838 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2839
2840 * s/gnu-linux.h (TERM): Remove support.
2841 (HAVE_SYSVIPC): Remove, unused.
2842 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2843 for this system.
2844
2845 * process.c: Remove support for IRIS, unused.
2846 Remove support for TERM, not relevant anymore.
2847
2848 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2849 used with the definition.
2850
2851 * s/aix4-2.h (static): Do not undef.
2852
2853 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2854 only used on Aix.
2855 (HAVE_SYSVIPC): Remove, unused.
2856
2857 * m/hp800.h (CANNOT_DUMP): Do not undef.
2858
2859 * m/alpha.h: Fix comment.
2860
2861 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2862 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2863 used by this configuration.
2864 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2865 * unexec.c: Remove code depending on HPUX and
2866 USG_SHARED_LIBRARIES, not used with this file. Remove code
2867 depending on IRIS, unused. Remove if 0-ed code.
2868
2869 * s/template.h: Remove comments about static.
2870
2871 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2872 Remove if 0-ed code.
2873 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2874 were the same as the default.
2875 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2876 Remove boilerplate comments.
2877 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2878 (HAVE_SYSVIPC): Remove, unused.
2879 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2880
2881 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2882 Remove boilerplate comments.
2883 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2884 Remove boilerplate comments.
2885 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2886 Remove boilerplate comments.
2887 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2888
2889 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2890 USG systems which do not use DATA_SEG_BITS.
2891 Refactor code. Remove boilerplate comments.
2892
2893 * m/ibms390.h:
2894 * m/m68k.h:
2895 * s/bsd-common.h:
2896 * s/cygwin.h:
2897 * s/darwin.h:
2898 * s/freebsd.h:
2899 * s/gnu.h:
2900 * s/msdos.h: Remove boilerplate comments.
2901
2902 * m/iris4d.h: Remove boilerplate comments and code for systems that
2903 do not use this file.
2904 (IRIS_4D): Remove, unused.
2905
2906 * m/mips.h: Remove boilerplate comments and code for systems that
2907 do not use this file.
2908 (SIGN_EXTEND_CHAR):
2909 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2910 * unexmips.c: Remove file, unused.
2911
2912 * editfns.c (Fuser_full_name): Replace the only use of
2913 USER_FULL_NAME with its value.
2914 * config.in: Regenerate.
2915
29162008-07-16 David Reitter <david.reitter@gmail.com>
2917
2918 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2919 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2920
29212008-07-16 Glenn Morris <rgm@gnu.org>
2922
2923 * emacs.c (system-type): Doc fix.
2924
29252008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2926
2927 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2928 If the cache doesn't work, let's fix it, rather than work around it.
2929
29302008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2931
2932 * Makefile.in: Correct additions for nsfont.o in last commit.
2933 * nsfont.m: New file (forgot last commit).
2934
29352008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2936
2937 * callproc.c (set_initial_environment): Initialize
2938 Vprocess_environment under CANNOT_DUMP (fixes crash when
2939 batch-compiling for bootstrap).
2940
29412008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2942 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2943
2944 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2945 fix crash due to different init order.
2946
29472008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2948
2949 Changes and additions for NeXTstep windowing system (Cocoa and
2950 GNUstep) support.
2951
2952 * Makefile.in:
2953 * config.in: Support defines and build commands for NS port.
2954 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2955 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2956 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2957 windowing.
2958 (struct face): Add synth_ital field.
2959 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2960 (init_display): Initialize Vinitial_window_system to "ns" when so
2961 compiled.
2962 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2963 (display_arg): Use under NS.
2964 (main): Under NS, allocate autorelease pool and handle command line
2965 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2966 (standard_args): Add NS-specific args.
2967 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2968 * font.c (DEFAULT_ENCODING): New variable.
2969 (font_find_for_lface): Use it.
2970 (syms_of_font): Load syms_of_nsfont under NS.
2971 * font.h: Declare nsfont_driver when compiled under NS.
2972 * fontset.c: When compiling under NS, include nsterm.h.
2973 (fontset_from_font): Autoconstruct fontset under NS.
2974 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2975 symbol, document and use it.
2976 (do_switch_frame): When for_deletion under Cocoa, add
2977 Fraise_frame(Qnil).
2978 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2979 (x_get_arg): Allow "yes" and "no" as boolean values.
2980 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2981 Qright under Cocoa.
2982 (focus-follows-mouse): Default to 0 under NS.
2983 * frame.h (enum output_method): Add output_ns.
2984 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2985 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2986 (FRAME_WINDOW_P): NS-specific definition.
2987 * fringe.c (max_used_fringe_bitmap): Make public.
2988 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2989 (getloadavg): Use NeXT code under descendant OS's.
2990 * image.c (includes and header section, x_create_bitmap_from_data)
2991 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2992 (image_background_transparent, x_clear_image_1)
2993 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2994 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2995 (x_to_xcolors, x_from_xcolors, x_disable_image)
2996 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2997 other GUIs, including XPM support using code originally written for
2998 Carbon GUI.
2999 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3000 using NS API.
3001 (image_ascent): Use font metrics macros instead of direct struct field
3002 access.
3003 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3004 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3005 Also, handle NS as GTK for menu bar purposes.
3006 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3007 toolkit where they differ.
3008 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3009 use cachelist, still needed under NS.
3010 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3011 (struct widget_value): Define it here for menu.c.
3012 * keymap.c (includes): Include modifier internals.
3013 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3014 NS.
3015 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3016 support for preferring sequences using certain modifiers, specified by
3017 the FIRSTONLY argument.
3018 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3019 under NS GNUstep implementation.
3020 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3021 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3022 * menu.c: Include nsterm.h under NS.
3023 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3024 (free_menubar_widget_tree_value, update_submenu_strings)
3025 (find_and_call_menu_selection): Treat NS as X and NT.
3026 (find_and_return_menu_selection): New function, used for popup menus.
3027 * nsgui.h:
3028 * nsterm.h:
3029 * nsfns.m:
3030 * nsimage.m:
3031 * nsmenu.m:
3032 * nsselect.m:
3033 * nsterm.m: New files.
3034 * process.c (wait_reading_process_output): Under NS, call ns_select()
3035 instead of plain select().
3036 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3037 beginning of buffer.
3038 * sysselect.h (init_process): Rename when compiling under Cocoa to
3039 avoid name conflict.
3040 * termhooks.h (display_info): Add ns_display_info to union.
3041 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3042 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3043 COCOA environment.
3044 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3045 unexec() signature. (Note, this will dump, but the resulting file
3046 crashes; unexosx is used instead; keeping around for reference and
3047 possible aid in getting dump working under GNUstep.)
3048 * w32gui.h (button_type, widget_value): Remove definitions (now in
3049 keyboard.h).
3050 * window.c: Include nsterm.h when compiling under NS.
3051 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3052 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3053 other GUI windowing systems.
3054 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3055 GTK.
3056 (x_consider_frame_title): Under NS, set icon type and frame
3057 modified-state indicator; use ns_set_name_as_filename() when using
3058 formatted title.
3059 (update_window_cursor): Make public when compiling under NS.
3060 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3061 (hourglass_atimer, Vhourglass_delay
3062 * xfaces.c (header section, init_frame_faces, clear_font_table)
3063 (defined_color, unload_color, x_face_list_fonts)
3064 (prepare_face_for_display): Add NS support parallel to other GUIs.
3065 Emulate GCs like other non-X GUIs.
3066 (split_font_name): Don't lowercase font name under NS.
3067 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3068 under NS.
3069 * s/darwin.h: Add support for compilation under NS.
3070
30712008-07-15 Jason Rumney <jasonr@gnu.org>
3072
3073 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3074 (w32_show_hourglass): Rename from show_hourglass.
3075 (w32_hide_hourglass): Rename from hide_hourglass.
3076 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3077 (Vhourglass_delay): Declare extern.
3078 (hourglass_started): Remove.
3079
3080 * xdisp.c (Vhourglass_delay): Remove static.
3081 (hourglass_started, start_hourglass, cancel_hourglass):
3082 Don't include these versions on WINDOWSNT.
3083
30842008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3085
3086 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3087 variables (formerly in xfns.c).
3088 (show_hourglass, hide_hourglass): New prototypes (same).
3089 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3090 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3091 in xfns.c).
3092 (syms_of_xdisp): Declare/initialize display-hourglass,
3093 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3094 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3095 formerly in xfns.c.
3096 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3097 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3098 (start_hourglass, cancel_hourglass): Remove.
3099 (show_hourglass, hide_hourglass): Remove prototypes and static
3100 modifiers.
3101 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3102 hourglass_atimer, hourglass_shown_p declaration/initialization.
3103 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3104 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3105 (start_hourglass, cancel_hourglass): Remove.
3106 (show_hourglass, hide_hourglass): Remove prototypes and static
3107 modifiers.
3108 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3109 hourglass_atimer, hourglass_shown_p declaration/initialization.
3110 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3111 (DEFAULT_HOURGLASS_DELAY): Remove.
3112 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3113 hourglass_shown_p declaration/initialization.
3114
31152008-07-14 Jason Rumney <jasonr@gnu.org>
3116
3117 * w32fns.c (w32_get_arg): Remove wrapper function.
3118 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3119 directly.
3120 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3121
31222008-07-14 Kenichi Handa <handa@m17n.org>
3123
3124 * xfont.c (xfont_open): Add workaround for X's bug.
3125
31262008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3127
3128 * fontset.c: Include <stdio.h> unconditionally.
3129
31302008-07-13 Michael Albinus <michael.albinus@gmx.de>
3131
3132 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3133 for filtering.
3134
31352008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3136
3137 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3138
3139 * m/macppc.h:
3140 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3141
3142 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3143 (SPECIAL_EMACS_INT):
3144 * m/ia64.h (SPECIAL_EMACS_INT):
3145 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3146 * s/gnu.h (NLIST_STRUCT):
3147 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3148 * s/gnu-linux.h (LINUX):
3149 * s/msdos.h (HAVE_FACES):
3150 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3151
3152 * systty.h:
3153 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3154 anymore.
3155
31562008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3157
3158 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3159 always defined as int.
3160
3161 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3162 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3163 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3164 * s/freebsd.h (HAVE_WAIT_HEADER):
3165 * s/bsd-common.h (HAVE_UNION_WAIT):
3166 * s/aix4-2.h (HAVE_WAIT_HEADER):
3167 * m/mips.h (HAVE_UNION_WAIT):
3168 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3169 (COFF, static): Do not define, they are undefined later in the file.
3170
3171 * process.c (update_status): Don't use a union.
3172 (status_convert):
3173 (sigchld_handler): Use int instead of WAITTYPE.
3174
31752008-07-12 Chong Yidong <cyd@stupidchicken.com>
3176
3177 * indent.c (Fvertical_motion): Restore hscroll before moving to
3178 goal column.
3179
31802008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3181
3182 * lisp.h: Remove left over code.
3183
31842008-07-11 Andreas Schwab <schwab@suse.de>
3185
3186 * lisp.h: Fix logic in last change.
3187
3188 * menu.h: New file.
3189 * menu.c: Include it.
3190 * xmenu.c: Likewise.
3191 * Makefile.in: Update dependencies.
3192
31932008-07-11 Kenichi Handa <handa@m17n.org>
3194
3195 * fontset.c (fontset_from_font): Cancel the previous change.
3196
31972008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3198
3199 * lisp.h:
3200 * w32heap.c:
3201 * emacs.c:
3202 * alloc.c: Replace all references of NO_UNION_TYPE with
3203 USE_LISP_UNION_TYPE.
3204
3205 * m/xtensa.h (NO_UNION_TYPE):
3206 * m/vax.h (NO_UNION_TYPE):
3207 * m/template.h (NO_UNION_TYPE):
3208 * m/sparc.h (NO_UNION_TYPE):
3209 * m/mips.h (NO_UNION_TYPE):
3210 * m/macppc.h (NO_UNION_TYPE):
3211 * m/m68k.h (NO_UNION_TYPE):
3212 * m/iris4d.h (NO_UNION_TYPE):
3213 * m/intel386.h (NO_UNION_TYPE):
3214 * m/ibms390x.h (NO_UNION_TYPE):
3215 * m/ibms390.h (NO_UNION_TYPE):
3216 * m/ibmrs6000.h (NO_UNION_TYPE):
3217 * m/ia64.h (NO_UNION_TYPE):
3218 * m/hp800.h (NO_UNION_TYPE):
3219 * m/arm.h (NO_UNION_TYPE):
3220 * m/amdx86-64.h (NO_UNION_TYPE):
3221 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3222 defining it the same.
3223
32242008-07-10 Chong Yidong <cyd@stupidchicken.com>
3225
3226 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3227
32282008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3229
3230 * fileio.c:
3231 * sysdep.c
3232 * systty.h:
3233 * m/ibmrs6000.h:
3234 * m/iris4d.h:
3235 * s/aix4-2.h:
3236 * s/freebsd.h:
3237 * s/gnu-linux.h:
3238 * s/hpux10-20.h:
3239 * s/hpux11.h:
3240 * s/netbsd.h:
3241 * s/sol2-3.h:
3242 * s/sol2-4.h:
3243 * s/sol2.h:
3244 * s/usg5-4.h:
3245 * s/vms.h: Remove references to unused variables.
3246
32472008-07-10 Andreas Schwab <schwab@suse.de>
3248
3249 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3250 pattern before matching the generic family.
3251
32522008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3253
3254 * unexec.c:
3255 * s/vms.h:
3256 * s/usg5-4-2.h:
3257 * s/sol2-5.h:
3258 * s/freebsd.h:
3259 * s/darwin.h: Remove dead code.
3260
3261 * m/template.h:
3262 * m/sparc.h:
3263 * m/mips.h:
3264 * m/m68k.h:
3265 * m/iris4d.h:
3266 * m/intel386.h:
3267 * m/ibms390x.h:
3268 * m/ibms390.h:
3269 * m/ia64.h:
3270 * m/hp800.h:
3271 * m/arm.h:
3272 * m/amdx86-64.h: Remove dead code and references to unused
3273 and compiler defined symbols.
3274
3275 * unexmips.c:
3276 * unexelf.c: Remove references to desupported systems.
3277
3278 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3279
3280 * m/powermac.h: Remove boilerplate comments.
3281 (NO_REMAP): Remove unused definition.
3282
3283 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3284 define them.
3285
32862008-07-10 Kenichi Handa <handa@m17n.org>
3287
3288 * xfont.c (xfont_open): Log the reason of failure.
3289
32902008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3291
3292 * fontset.c (fontset_get_font_group):
3293 * font.c (font_check_otf): Specify argument types.
3294
32952008-07-09 Kenichi Handa <handa@m17n.org>
3296
3297 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3298 non-ASCII char is found.
3299
3300 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3301 (reorder_font_vector): Change the arg preferred_family to font.
3302 Prefer the spec matching with font.
3303 (fontset_get_font_group): New function.
3304 (fontset_find_font): Change the format of an element of a realized
3305 fontset. Use fontset_get_font_group.
3306 (fontset_font): Try the current fontset, the default fontset, the
3307 fallbacks of the current fontset, and the fallbacks of the default
3308 fontset in this order.
3309 (face_for_char): Delete the shortcut to use the current font.
3310 (fontset_from_font): Don't set fonts for Latin in the fontset.
3311
3312 * font.h (font_make_object, font_match_p): Adjust prototypes.
3313
3314 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3315
3316 * font.c (font_make_object): New arg entity and pixelsize.
3317 (font_check_otf_features, font_check_otf): New functions.
3318 (font_match_p): Check :lang, :script, and :otf properties.
3319
3320 * xfont.c (xfont_open): Adjust it for the change of
3321 font_make_object.
3322 (xfont_text_extents): Fix initial setting of metrics.
3323
3324 * ftfont.c (struct ftfont_info): New member index, delete member
3325 fc_charset_idx. Make the member order compatible with struct
3326 xftfont_info.
3327 (fc_charset_table): Change charset names to registry names.
3328 (ftfont_pattern_entity): Delete the args registry and
3329 fc_charset_idx. Change the value of :font-entity property
3330 to (FONTNAME . INDEX). Always set :registry property to
3331 `iso10646-1'.
3332 (struct ftfont_cache_data): New struct.
3333 (ftfont_lookup_cache): New arg for_face.
3334 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3335 (ftfont_driver): Set the member otf_capability.
3336 (ftfont_get_charset): Adjust it for the change of
3337 fc_charset_table.
3338 (OTF_TAG_SYM): New macro.
3339 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3340 for the change of fc_charset_table.
3341 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3342 ftfont_pattern_entity. Add FC_INDEX to objset.
3343 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3344 and ftfont_pattern_entity.
3345 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3346 font_make_object, struct ftfont_info.
3347 (ftfont_has_char): Use ftfont_get_fc_charset.
3348 (ftfont_otf_features, ftfont_otf_capability): New functions.
3349 (ftfont_shape): Use ftfont_get_otf.
3350 (ftfont_text_extents): Fix initial setting of metrics.
3351
3352 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3353 member order compatible with struct ftfont_info.
3354 (xftfont_open): Add FC_CHARSET to the pattern. Set
3355 xftfont_info->ft_size. Don't unlock the face. Check BDF
3356 properties if appropriate.
3357 (xftfont_close): Unlock the face.
3358 (xftfont_anchor_point, xftfont_shape): Deleted.
3359 (syms_of_xftfont): Don't set members anchor_point and shape of
3360 xftfont_driver.
3361
3362 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3363 font_make_object.
3364
3365 * w32font.c (w32font_open): Adjust it for the change of
3366 font_make_object.
3367 (w32font_open_internal): Don't set properties of font_object here.
3368
33692008-07-08 Chong Yidong <cyd@stupidchicken.com>
3370
3371 * macfns.c (x_create_tip_frame):
3372 * w32fns.c (x_create_tip_frame):
3373 * xfns.c (x_create_tip_frame): Pass parameter argument to
3374 face-set-after-frame-default.
3375
3376 * xfaces.c (Finternal_merge_in_global_face): Save merged
3377 attributes for the default face back into the face vector.
3378
33792008-07-08 Andreas Schwab <schwab@suse.de>
3380
3381 * fontset.h: Declare fontset_from_font. Don't declare
3382 new_fontset_from_font and fontset_from_font_name.
3383 * xterm.c: Include "fontset.h".
3384 * Makefile.in (xterm.o): Update dependencies.
3385
33862008-07-08 Glenn Morris <rgm@gnu.org>
3387
3388 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3389 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3390
33912008-07-07 Chong Yidong <cyd@stupidchicken.com>
3392
3393 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3394 (x_set_frame_parameters): Don't bind it.
3395
33962008-07-07 Juanma Barranquero <lekktu@gmail.com>
3397
3398 * w32fns.c (map_w32_filename): Declare extern.
3399
34002008-07-07 Jason Rumney <jasonr@gnu.org>
3401
3402 * w32term.c (WS_EX_LAYERED): Define if not already.
3403
34042008-07-06 Chong Yidong <cyd@stupidchicken.com>
3405
3406 * xfaces.c (set_font_frame_param): Don't try to set the font
3407 parameter if it is still unspecified in the lface.
3408
34092008-07-05 Chong Yidong <cyd@stupidchicken.com>
3410
3411 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3412 face if it didn't already exist.
3413
3414 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3415
34162008-07-05 Andreas Schwab <schwab@suse.de>
3417
3418 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3419
34202008-07-05 Chong Yidong <cyd@stupidchicken.com>
3421
3422 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3423 word-wrapping.
3424 (IT_DISPLAYING_WHITESPACE): New macro.
3425 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3426 when word-wrapping. Simplify word-wrapping logic. Use correct
3427 pixel positions when saving copies of the iterator.
3428 (display_line): Use proper wrap point if the last character on a
3429 line was preceded by whitespace.
3430
34312008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3432
3433 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3434
34352008-07-04 Kenichi Handa <handa@m17n.org>
3436
3437 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3438
3439 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3440
34412008-07-02 Jason Rumney <jasonr@gnu.org>
3442
3443 * xfns.c (syms_of_xfns): Only define x-select-font when both
3444 HAVE_FREETYPE and USE_GTK
3445
3446 * xdisp.c (next_element_from_display_vector): Move assignment out
3447 of if statement.
3448
34492008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3450
3451 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3452
3453 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3454 (syms_of_fileio): Initialize and export them.
3455 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3456
3457 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3458 (Fsystem_move_file_to_trash): New function.
3459 (syms_of_w32fns): Export it to lisp.
3460
34612008-07-01 Jason Rumney <jasonr@gnu.org>
3462
3463 * w32font.c (w32font_text_extents): Don't count overhang as part
3464 of width.
3465
34662008-06-30 Miles Bader <miles@gnu.org>
3467
3468 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3469 Add `avoid_cursor_p' field.
3470
3471 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3472 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3473 (append_glyph, append_composite_glyph, produce_image_glyph)
3474 (append_stretch_glyph): Initialize avoid_cursor_p.
3475 (get_it_property): Rename from `get_line_height_property'.
3476 (x_produce_glyphs): Use get_it_property.
3477 (handle_line_prefix, push_display_prop): New functions.
3478 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3479 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3480 New variables.
3481 (syms_of_xdisp): Initialize them.
3482
34832008-06-30 Kenichi Handa <handa@m17n.org>
3484
3485 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3486 XftDefaultSubstitute (they are called in XftFontMatch).
3487 (xftfont_open): Fix args to ftfont_font_format.
3488
3489 * ftfont.c (fc_charset_table): New member lang.
3490 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3491 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3492 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3493 (ftfont_open): Fix args to ftfont_font_format.
3494 (ftfont_font_format): New arg filename.
3495
34962008-06-30 Chong Yidong <cyd@stupidchicken.com>
3497
3498 * xfaces.c (Finternal_merge_in_global_face): If default face was
3499 modified, realize it again. Update the font face attribute.
3500
35012008-06-29 Jason Rumney <jasonr@gnu.org>
3502
3503 * w32term.c (x_set_frame_alpha): Fix logic.
3504
35052008-06-29 Kenichi Handa <handa@m17n.org>
3506
3507 * fontset.c (Finternal_char_font): Return font-object instead of
3508 font-name.
3509
3510 * composite.c (get_composition_id): Fix the width calculation for TAB.
3511
35122008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3513
3514 * indent.c (Fvertical_motion): Properly handle float column arg.
3515
35162008-06-28 Jason Rumney <jasonr@gnu.org>
3517
3518 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3519 (pfnSetLayeredWindowAttributes): New function pointer.
3520 (w32_initialize): Initialize it when supported.
3521 (x_set_frame_alpha): New function.
3522
3523 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3524 (w32_frame_parm_handlers): Set alpha handler.
3525
3526 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3527
35282008-06-27 Jason Rumney <jasonr@gnu.org>
3529
3530 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3531 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3532 (w32_to_x_charset, x_to_w32_charset)
3533 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3534 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3535 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3536 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3537 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3538 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3539 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3540 (Qw32_charset_unicode): Remove.
3541 (syms_of_w32fns): Update for above changes.
3542
3543 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3544 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3545 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3546 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3547 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3548 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3549 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3550 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3551 (syms_of_w32font): Update for above changes.
3552
35532008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3554
3555 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3556 removed #if.
3557 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3558
35592008-06-26 Juanma Barranquero <lekktu@gmail.com>
3560 Eli Zaretskii <eliz@gnu.org>
3561
3562 * makefile.w32-in (LOCAL_FLAGS):
3563 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3564
3565 * sysdep.c (_spawnlp, _getpid):
3566 Declare with explicit _cdecl instead of _CRTAPI1.
3567
3568 * editfns.c (Fget_internal_run_time):
3569 Check for WINDOWSNT with #ifdef, not #if.
3570
35712008-06-26 Jason Rumney <jasonr@gnu.org>
3572
3573 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3574
3575 * w32term.c (x_draw_glyph_string_foreground)
3576 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3577 Use FONT_HANDLE macro.
3578 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3579
3580 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3581 (uniscribe_encode_char): Use FONT_HANDLE macro.
3582
3583 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3584 (w32font_text_extents): Use precast w32_font.
3585 (w32font_close): Free cached metrics.
3586 (w32font_open_internal): Allocate space for name on stack.
3587
35882008-06-26 Chong Yidong <cyd@stupidchicken.com>
3589
3590 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3591
35922008-06-26 Jason Rumney <jasonr@gnu.org>
3593
3594 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3595 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3596
35972008-06-26 Juanma Barranquero <lekktu@gmail.com>
3598
3599 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3600
36012008-06-26 Jason Rumney <jasonr@gnu.org>
3602
3603 * w32bdf.c, w32bdf.h: Remove obsolete files.
3604
3605 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3606
3607 * w32gui.h: Don't include w32bdf.h.
3608 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3609 Remove obsolete font support.
3610
3611 * w32font.h (struct w32font_info): Remove compat_w32_font.
3612 Add hfont member.
3613 (FONT_COMPAT): Remove obsolete macro.
3614
3615 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3616 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3617 (w32font_open_internal): Remove compat code. Set new hfont member.
3618 (Fx_select_font): Use new hfont member.
3619
3620 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3621 (uniscribe_encode_char): Use new hfont member.
3622
3623 * w32term.c (x_draw_glyph_string_foreground)
3624 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3625 (x_draw_glyph_string): Use metrics in w32font_info.
3626
36272008-06-26 Kenichi Handa <handa@m17n.org>
3628
3629 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3630
36312008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3632
3633 * unexnext.c:
3634 * m/ews4800.h:
3635 * m/hp9000s300.h:
3636 * m/ibm370aix.h:
3637 * m/mips-siemens.h:
3638 * m/ncr386.h:
3639 * m/next.h:
3640 * m/pmax.h:
3641 * m/powerpcle.h:
3642 * m/tandem-s2.h:
3643 * s/386bsd.h:
3644 * s/bsd386.h:
3645 * s/bsd4-1.h:
3646 * s/bsd4-2.h:
3647 * s/bsdos2-1.h:
3648 * s/bsdos2.h:
3649 * s/bsdos3.h:
3650 * s/bsdos4.h:
3651 * s/nextstep.h:
3652 * s/ultrix4-3.h:
3653 * s/usg5-0.h:
3654 * s/usg5-2-2.h:
3655 * s/usg5-2.h:
3656 * s/usg5-4-3.h:
3657 * s/ux4800.h:
3658 * s/uxpds.h:
3659 * s/uxpv.h: Remove support for obsolete systems.
3660 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3661 Remove, insert contents in s/hpux-10.20.h.
3662 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3663 Remove, insert contents in s/aix4-2.h.
3664 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3665 * s/bsd4-3.h: Rename to ...
3666 * s/bsd-common.h: ... this.
3667 * data.c:
3668 * doc.c:
3669 * ecrt0.c:
3670 * emacs.c:
3671 * fileio.c:
3672 * floatfns.c:
3673 * keyboard.c:
3674 * mem-limits.h:
3675 * print.c:
3676 * process.c:
3677 * sysdep.c:
3678 * syssignal.h:
3679 * systty.h:
3680 * syswait.h:
3681 * term.c:
3682 * unexec.c:
3683 * unexelf.c:
3684 * unexhp9k800.c:
3685 * m/hp800.h:
3686 * m/ibmrs6000.h:
3687 * m/mips.h:
3688 * m/vax.h:
3689 * s/darwin.h:
3690 * s/freebsd.h:
3691 * s/gnu.h:
3692 * s/ms-w32.h:
3693 * s/msdos.h:
3694 * s/netbsd.h:
3695 * s/template.h: Remove references to obsolete variables.
3696
3697 * Makefile.in: Add dependencies for all unexec files.
3698 (admindir): Remove unused variable.
3699 (UNEXEC_SRC): Remove references.
3700
37012008-06-25 Chong Yidong <cyd@stupidchicken.com>
3702
3703 * xfns.c (x_default_font_parameter): If Xft is available, first
3704 try Monospace-12 for the default font.
3705
37062008-06-25 Jason Rumney <jasonr@gnu.org>
3707
3708 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3709
37102008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3711
3712 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3713
3714 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3715
37162008-06-25 Juanma Barranquero <lekktu@gmail.com>
3717
3718 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3719 <scroll-conservatively>: Fix typo in docstring.
3720
3721 * xselect.c (Fx_send_client_event): Doc fix.
3722
37232008-06-25 Kenichi Handa <handa@m17n.org>
3724
3725 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3726
3727 * font.c (font_parse_fcname): Remove unused variables.
3728 (font_sort_entites): Delete the arg SPEC. Caller changed.
3729 Fix for the case of ! best_only.
3730 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3731
3732 * lisp.h (Fstring_to_unibyte): EXFUN it.
3733
3734 * character.h (str_to_unibyte): Extern it.
3735
3736 * character.c (str_to_unibyte): New function.
3737
3738 * fns.c (Fstring_to_unibyte): New function.
3739 (syms_of_fns): Defsubr it.
3740
37412008-06-24 Kenichi Handa <handa@m17n.org>
3742
3743 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3744 DPI too.
3745 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3746
37472008-06-24 Andreas Schwab <schwab@suse.de>
3748
3749 * Makefile.in (${lispsource}loaddefs.el): Rename from
3750 ../lisp/loaddefs.el.
3751 (bootstrap-clean): Do what distclean does but don't remove
3752 Makefile.
3753 (distclean): Depend on bootstrap-clean and remove Makefile.
3754
37552008-06-24 Chong Yidong <cyd@stupidchicken.com>
3756
3757 * buffer.h (struct buffer): New member word_wrap.
3758
3759 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3760 word-wrap.
3761 (init_buffer_once): Initialize them.
3762
3763 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3764 line_wrap enum possessing three possible values.
3765
3766 * termopts.h: Replace truncate_partial_width_windows with
3767 Vtruncate_partial_width_windows.
3768
3769 * dispnew.c (direct_output_for_insert): Avoid direct output when
3770 inserting a space with word wrap on.
3771
3772 * indent.c (compute_motion): Obey integer values of
3773 truncate-partial-width-windows.
3774
3775 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3776 replacing truncate_partial_width_windows.
3777 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3778 truncate only if the window width is below that integer.
3779 (start_display, resize_mini_window, produce_stretch_glyph)
3780 (display_string, move_it_in_display_line_to): Use line_wrap.
3781 (back_to_previous_visible_line_start, reseat_1): Reset
3782 string_from_display_prop_p.
3783 (display_line): Extend default face to end of line when wrapping.
3784
37852008-06-24 Kim F. Storm <storm@cua.dk>
3786
3787 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3788 to wrap continued lines at word boundaries.
3789
37902008-06-24 Jason Rumney <jasonr@gnu.org>
3791
3792 * font.c (Ffont_face_attributes): Multiply pixel size before point
3793 conversion to avoid multiplying rounding error.
3794
37952008-06-23 Jason Rumney <jasonr@gnu.org>
3796
3797 * w32term.c (x_draw_glyph_string_background)
3798 (x_draw_glyph_string): Remove old bdf font code.
3799
3800 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3801
38022008-06-22 Kenichi Handa <handa@m17n.org>
3803
3804 * font.c (font_find_for_lface): Try the adstyle specified in
3805 the property of LFACE_FONT of LFACE (if any).
3806
38072008-06-21 Seiji Zenitani <zenitani@mac.com>
3808 Ryo Yoshitake <ryo@shiftmode.net>
3809
3810 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3811
38122008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3813
3814 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3815 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3816 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3817 (witness-emacs): Remove.
3818 (lisp, shortlisp): Move loaddefs.el earlier.
3819 (mostlyclean): Forget about witness-emacs.
3820
38212008-06-22 Glenn Morris <rgm@gnu.org>
3822
3823 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3824 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3825
38262008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3827
3828 * Makefile.in (PRECOMP): Remove.
3829 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3830 (witness-emacs): Run `compile-first'.
3831 (.el.elc): Use the new compile-onefile target.
3832
38332008-06-21 Kenichi Handa <handa@m17n.org>
3834
3835 * xftfont.c (xftfont_open): Handle QCembolden only when
3836 FC_EMBOLDEN is defined.
3837
38382008-06-21 Andreas Schwab <schwab@suse.de>
3839
3840 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3841 (.el.elc): Likewise.
3842
38432008-06-21 Miles Bader <miles@gnu.org>
3844
3845 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3846 build dir, not the lisp source dir.
3847
38482008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3849
3850 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3851 (bootstrapclean): Remove.
3852 (.el.elc): New rule.
3853 (PRECOMP): New var.
3854 (../lisp/subdirs.el): Remove.
3855 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3856 (witness-emacs): New target.
3857 (mostlyclean): Remove witness-emacs as well.
3858 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3859 Add witness-emacs dependency.
3860
38612008-06-20 Chong Yidong <cyd@stupidchicken.com>
3862
3863 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3864 defined by the font.
3865
38662008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3867
3868 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3869 (bootstrap-clean): New target that keeps TAGS around.
3870 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3871 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3872
38732008-06-20 Jason Rumney <jasonr@gnu.org>
3874
3875 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3876 Remove obsolete font code.
3877
3878 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3879 to determine language support.
3880
38812008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3882
3883 * sysdep.c (cfsetspeed): New fun extracted from the code.
3884 (cfmakeraw): Move before first use.
3885
38862008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3887
3888 * sysdep.c (cfmakeraw): Provide fallback implementation.
3889 (serial_configure): Provide fallback implementation of cfsetspeed.
3890
38912008-06-20 Kenichi Handa <handa@m17n.org>
3892
3893 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3894 the pattern.
3895
3896 * fontset.c (fontset_from_font): Copy font_spec before changing
3897 the elements.
3898
3899 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3900
39012008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3902
3903 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3904 for explicit `font' parameters.
3905
3906 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3907
39082008-06-19 Kenichi Handa <handa@m17n.org>
3909
3910 * frame.c: Include <ctype.h>.
3911 (x_set_font_backend): Allow spacing characters in the X resource
3912 for FontBackend.
3913
39142008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3915
3916 * w32fns.c, xfns.c (Qfont_param): New var.
3917 (syms_of_w32fns): Initialize it.
3918 (x_default_font_parameter): Record explicit `font' into
3919 `font-parameter'.
3920
39212008-06-18 Kenichi Handa <handa@m17n.org>
3922
3923 * font.c (font_parse_xlfd): Fix previous change.
3924 (font_parse_fcname): Don't use :fc-unknown-spec.
3925 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3926 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3927 (font_add_log): Prepend the driver name to the resulting fonts.
3928
3929 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3930 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3931 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3932
3933 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3934 (QCembolden): New variables.
3935 (syms_of_xftfont): DEFSYM them.
3936 (xftfont_open): Call XftFontMatch. Don't trust the result of
3937 XftTextExtents8 if the pixel_size is less than 5.
3938
39392008-06-18 Andreas Schwab <schwab@suse.de>
3940
3941 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3942 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3943
39442008-06-18 Jason Rumney <jasonr@gnu.org>
3945
3946 * w32font.c (w32font_list, w32font_match): Add logging.
3947
3948 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3949
39502008-06-17 Chong Yidong <cyd@stupidchicken.com>
3951
3952 * font.c (font_parse_fcname): Store divider characters for
3953 unknown-spec list. For known key symbols, intern using correct
3954 symbol name.
3955
39562008-06-17 Kenichi Handa <handa@m17n.org>
3957
3958 * xfaces.c (realize_default_face): If the frame is not on window
3959 system, set the fontset of face to nil.
3960
39612008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3962
3963 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3964
39652008-06-16 Juanma Barranquero <lekktu@gmail.com>
3966
3967 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3968 (build_font_name_from_vector): Delete externs.
3969
3970 * xfaces.c (struct font_name): Don't declare.
3971
39722008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3973
3974 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3975
39762008-06-16 Chong Yidong <cyd@stupidchicken.com>
3977
3978 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3979
39802008-06-16 Juanma Barranquero <lekktu@gmail.com>
3981
3982 * font.c (Ffont_spec): Fix usage in docstring.
3983 (Ffont_face_attributes): Doc fix.
3984
39852008-06-16 Andreas Schwab <schwab@suse.de>
3986
3987 * font.c (Ffont_face_attributes): Fix definition.
3988
39892008-06-16 Jason Rumney <jasonr@gnu.org>
3990
3991 * font.h (font_style_symbolic_from_value): Remove.
3992
3993 * font.c (font_style_symbolic_from_value): Remove.
3994 (font_style_symbolic): Revert to pre 2008-06-13 version.
3995
3996 * w32font.c (w32_to_fc_weight): New function.
3997 (w32font_full_name, logfont_to_fcname): Use it.
3998
39992008-06-16 Kenichi Handa <handa@m17n.org>
4000
4001 * font.c (font_check_object): Delete it.
4002 (font_clear_cache): Check if a font-object is alive.
4003 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4004 font-object to nil.
4005 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4006 (font_at): Don't call font_check_object.
4007 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4008
40092008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4010
4011 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4012
40132008-06-16 Chong Yidong <cyd@stupidchicken.com>
4014
4015 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4016
40172008-06-15 Chong Yidong <cyd@stupidchicken.com>
4018
4019 * font.c (font_parse_fcname): Only one decimal point.
4020 (font_unparse_fcname): Handle data in family and foundry indices
4021 as symbols, not strings.
4022 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4023
4024 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4025
4026 * font.h (font_unparse_gtkname): Add prototype.
4027
40282008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4029
4030 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4031
40322008-06-15 Andreas Schwab <schwab@suse.de>
4033
4034 * font.c (font_update_drivers): Fix crash when no drivers match.
4035
40362008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4037
4038 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4039 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4040
40412008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4042
4043 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4044
40452008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4046
4047 * process.c (Fserial_process_configure, Fprocess_send_eof):
4048 Use EQ to compare Lisp_Objects.
4049
40502008-06-13 Jason Rumney <jasonr@gnu.org>
4051
4052 * w32fns.c (Fw32_select_font): Remove old font API function.
4053
4054 * w32font.c (logfont_to_fcname): New function.
4055 (Fx_select_font): New font dialog function compatible with
4056 GTK/fontconfig version.
4057
4058 * font.c (font_style_symbolic_from_value): New function.
4059 (font_style_symbolic): Use it.
4060
4061 * font.h (font_style_symbolic_from_value): Declare new function.
4062
40632008-06-13 Juanma Barranquero <lekktu@gmail.com>
4064
4065 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4066 <font-width-table>: Fix typos in docstrings.
4067
40682008-06-13 Daniel Engeler <engeler@gmail.com>
4069
4070 These changes add serial port access.
4071 * process.c: Add HAVE_SERIAL.
4072 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4073 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4074 (list_processes_1, select_wrapper, Fstop_process)
4075 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4076 (status_notify): Modify to handle serial processes.
4077 [HAVE_SERIAL] (Fserial_process_configure)
4078 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4079 New functions.
4080 * process.h (struct Lisp_Process): Add `type'.
4081 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4082 New functions.
4083 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4084 serial ports.
4085 (serial_open, serial_configure) New functions.
4086 * w32.h: Add FILE_SERIAL.
4087 (struct _child_process): Add ovl_read, ovl_write.
4088
40892008-06-13 Kenichi Handa <handa@m17n.org>
4090
4091 * dispextern.h (enum lface_attribute_index): New member
4092 LFACE_FOUNDRY_INDEX.
4093
4094 * font.c (font_score): Delete arg alternate_families. Check only
4095 weight, slant, width, and size. Ignore the difference of alias
4096 style symbols.
4097 (font_sort_entites): Adjust for the above change. Reflect the
4098 order of font-driver to scores.
4099 (font_list_entities): Don't check alternate_familes here.
4100 (font_clear_prop): Handle foundry.
4101 (font_update_lface): Don't parse "foundry-family" form here.
4102 Handle FONT_FOUNDRY_INDEX.
4103 (font_find_for_lface): Likewise. Handle alternate families here.
4104 If registry is nil, try iso8859-1 and ascii-0.
4105 (font_open_for_lface): Pay attention to size in ENTITY.
4106 (font_open_by_name): Simplify by calling font_load_for_lface.
4107 (free_font_driver_list): Delete it.
4108 (font_update_drivers): Preserve the order of backends.
4109 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4110 of font_score and font_sort_entites.
4111 (font_update_sort_order): Likewise.
4112
4113 * xfaces.c (LFACE_FOUNDRY): New macro.
4114 (check_lface_attrs): Check foundry.
4115 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4116 (merge_face_vectors): Check foundry.
4117 (merge_face_ref): Likewise.
4118 (Finternal_set_lisp_face_attribute): Likewise.
4119 (x_update_menu_appearance): Likewise.
4120 (Finternal_get_lisp_face_attribute): Likewise.
4121 (lface_hash): Likewise.
4122 (lface_same_font_attributes_p): Likewise.
4123 (x_supports_face_attributes_p): Likewise.
4124 (tty_supports_face_attributes_p): Likewise.
4125 (Finternal_set_alternative_font_family_alist): Intern strings.
4126 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4127 (realize_default_face): Set LFACE_FOUNDRY (lface).
4128
4129 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4130 font-driver at first.
4131
4132 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4133
41342008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4135
4136 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4137
41382008-06-12 Jim Meyering <meyering@redhat.com>
4139
4140 Make unexec_free handle NULL the same way free does.
4141 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4142
41432008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4144
4145 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4146 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4147 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4148 (WEAK_ALIAS): Simplify.
4149 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4150 when searching a unibyte buffer.
4151
41522008-06-12 Chong Yidong <cyd@stupidchicken.com>
4153
4154 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4155
41562008-06-12 Juanma Barranquero <lekktu@gmail.com>
4157
4158 * w32font.c: Include ctype.h.
4159
41602008-06-11 Jason Rumney <jasonr@gnu.org>
4161
4162 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4163 misreported as space.
4164 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4165 as aliases for registry iso10646-1.
4166
41672008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4168
4169 * buffer.c (clone_per_buffer_values): Skip `name'.
4170
41712008-06-11 Chong Yidong <cyd@stupidchicken.com>
4172
4173 * font.c (font_parse_fcname): Fix last change; accept decimal
4174 points in font size.
4175
41762008-06-10 Jason Rumney <jasonr@gnu.org>
4177
4178 * w32uniscribe.c (add_opentype_font_name_to_list):
4179 Skip non unicode fonts.
4180
41812008-06-10 Chong Yidong <cyd@stupidchicken.com>
4182
4183 * xfns.c (Fx_font_dialog): New function.
4184
4185 * gtkutil.c (xg_dialog_response_cb): Rename from
4186 xg_file_response_callback.
4187 (pop_down_dialog): Rename from pop_down_file_dialog.
4188 (xg_get_file_name): Callers changed.
4189 (xg_get_font_name): New function.
4190
4191 * gtkutil.h (xg_get_font_name): Insert prototype.
4192
41932008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4194
4195 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4196 x_underline_minimum_display_offset.
4197 (syms_of_xdisp): Declare it here rather than in xterm.c.
4198 * dispextern.h (underline_minimum_offset): Declare it.
4199 * w32term.c (x_draw_glyph_string): Use it.
4200 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4201 (syms_of_xterm): Don't declare it any more.
4202 (x_draw_glyph_string): Adjust to the new name.
4203
42042008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4205
4206 * xterm.c (x_underline_minimum_display_offset): New var.
4207 (x_draw_glyph_string): Use it.
4208 (syms_of_xterm): Declare it.
4209
42102008-06-10 Chong Yidong <cyd@stupidchicken.com>
4211
4212 * font.c (font_parse_fcname): Accept GTK-style font names too.
4213
42142008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4215
4216 * dired.c (file_name_completion): Don't return t if the match is exact
4217 but with different capitalization.
4218 * minibuf.c (Ftry_completion): Simplify.
4219
4220 * window.c (Vwindow_point_insertion_type): New var.
4221 (set_window_buffer): Use it.
4222 (syms_of_window): Init and export it to Lisp.
4223
42242008-06-10 Kenichi Handa <handa@m17n.org>
4225
4226 * font.h (font_intern_prop): Prototype adjusted.
4227
4228 * font.c (font_intern_prop): New arg force_symbol.
4229 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4230 Adjust for the change of font_intern_prop.
4231
4232 * ftfont.c (ftfont_pattern_entity):
4233 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4234 (w32_registry):
4235 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4236 the change of font_intern_prop.
4237
42382008-06-09 Juanma Barranquero <lekktu@gmail.com>
4239
4240 * w32menu.c (digest_single_submenu): Declare extern.
4241
42422008-06-09 Jason Rumney <jasonr@gnu.org>
4243
4244 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4245
4246 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4247 (parse_single_submenu): Remove.
4248 (digest_single_submenu): Remove.
4249 (syms_of_w32menu): Don't initialise variables that have moved
4250 to menu.c.
4251 (set_frame_menubar): Sync with version in xmenu.c.
4252 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4253
4254 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4255 Make static again.
4256
42572008-06-09 Jason Rumney <jasonr@gnu.org>
4258
4259 Changes to w32 files related to the move of common menu code
4260 to menu.c on 2008-06-08 by Chong Yidong.
4261
4262 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4263 defs to w32gui.h.
4264 (single_keymap_panes, push_menu_item, push_menu_pane):
4265 Make globally visible.
4266
4267 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4268 (local_free, malloc_widget_value, free_widget_value)
4269 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4270 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4271 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4272 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4273 (menu_items, menu_items_allocated, menu_items_used)
4274 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4275 (init_menu_items, finish_menu_items, discard_menu_items)
4276 (grow_menu_items, push_submenu_start, push_submenu_end)
4277 (push_left_right_boundary, push_menu_pane, push_menu_item)
4278 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4279 (free_menubar_widget_tree_value, parse_single_submenu)
4280 (update_submenu_strings): Remove functions.
4281 (xmalloc_widget_value): Remove and declare extern.
4282
4283 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4284 (OBJ1): Build it.
4285
4286 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4287 (local_heap, local_alloc, local_free, malloc_widget_value)
4288 (free_widget_value): Define here.
4289
42902008-06-09 Kenichi Handa <handa@m17n.org>
4291
4292 * font.h (Qascii_0): Extern it.
4293
4294 * font.c (Qascii_0): New variable.
4295 (syms_of_font): DEFSYM it.
4296 (font_open_by_name): If the registry "iso8859-1" fails, try also
4297 "ascii-0".
4298
4299 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4300
43012008-06-08 Kenichi Handa <handa@m17n.org>
4302
4303 * .gdbinit (xfont): New command.
4304
43052008-06-08 Andreas Schwab <schwab@suse.de>
4306
4307 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4308 * Makefile.in (menu.o): Update dependencies.
4309
4310 * Makefile.in (obj): Always add menu.o.
4311 * emacs.c (main): Always call syms_of_menu.
4312 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4313
43142008-06-08 Chong Yidong <cyd@stupidchicken.com>
4315
4316 * Makefile.in: Compile menu.c.
4317
4318 * lisp.h: Declare syms_of_menu.
4319
4320 * emacs.c (main): Call syms_of_menu.
4321
4322 * keyboard.h: Relocate platform-independent menu definitions from
4323 xmenu.c.
4324
4325 * menu.c: New file. Relocate platform-independent menu
4326 definitions from xmenu.c. Suggested by Adrian Robert.
4327
4328 * xmenu.c: Remove platform-independent menu definitions.
4329 (menu_items menu_items_inuse, menu_items_allocated)
4330 (menu_items_used, menu_items_n_panes)
4331 (menu_items_submenu_depth): Move to keyboard.h.
4332 (init_menu_items, finish_menu_items, unuse_menu_items)
4333 (discard_menu_items, restore_menu_items, save_menu_items)
4334 (grow_menu_items, push_submenu_start, push_submenu_end)
4335 (push_left_right_boundary, push_menu_pane, push_menu_item)
4336 (keymap_panes, single_keymap_panes, single_menu_item)
4337 (list_of_panes, list_of_items, find_and_call_menu_selection)
4338 (xmalloc_widget_value, free_menubar_widget_value_tree)
4339 (parse_single_submenu, digest_single_submenu)
4340 (update_submenu_strings): Move to menu.c.
4341
43422008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4343
4344 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4345
43462008-06-06 Miles Bader <miles@gnu.org>
4347
4348 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4349 face, not frame default.
4350
43512008-06-05 Martin Rudalics <rudalics@gmx.at>
4352
4353 * window.c (pop_up_windows, pop_up_frames)
4354 (display_buffer_reuse_frames, Vpop_up_frame_function)
4355 (Vdisplay_buffer_function, Veven_window_heights)
4356 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4357 (Vspecial_display_function, Vsame_window_buffer_names)
4358 (Vsame_window_regexps, split_height_threshold)
4359 (Vsplit_window_preferred_function): Move those vars to window.el.
4360 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4361 (Fdisplay_buffer): Move those functions to window.el.
4362 (syms_of_window): Remove corresponding declarations.
4363 (display_buffer): New function.
4364 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4365 * dispnew.c (Flast_nonminibuf_frame): New function.
4366 * buffer.c (Fpop_to_buffer): Move to window.el.
4367
43682008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4369
4370 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4371
43722008-06-05 Kenichi Handa <handa@m17n.org>
4373
4374 * coding.c (detect_coding): Fix previous change.
4375 (detect_coding_system): Likewise.
4376
43772008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4378
4379 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4380
4381 * keymap.c (Vminibuffer_local_filename_must_match_map):
4382 Rename from Vminibuffer_local_must_match_filename_map.
4383 (syms_of_keymap):
4384 * minibuf.c (Fcompleting_read): Adjust accordingly.
4385 * commands.h: Rename declaration as well.
4386
43872008-06-05 Kenichi Handa <handa@m17n.org>
4388
4389 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4390 family name.
4391 (Ffont_put): Likewise.
4392
4393 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4394 current font-spec.
4395
4396 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4397 is unspecified.
4398
4399 * xfaces.c (realize_x_face): If the font-related face attributes
4400 are the same as those of default face, realize a new fontset from
4401 default->fontset.
4402 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4403
44042008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4405
4406 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4407 (move_it_in_display_line): New wrapper.
4408
4409 * window.c (window_scroll_pixel_based_preserve_x)
4410 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4411 (window_scroll_pixel_based, window_scroll_line_based):
4412 Use them to preserve column positions.
4413 (syms_of_window): Initialize them.
4414
4415 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4416 (HPOS . VPOS) pair.
4417
4418 * dispextern.h (move_it_in_display_line): Declare.
4419
44202008-06-05 Juanma Barranquero <lekktu@gmail.com>
4421
4422 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4423 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4424 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4425
44262008-06-04 Juanma Barranquero <lekktu@gmail.com>
4427
4428 * window.c (Fset_window_parameter): Doc fix.
4429 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4430
44312008-06-04 Joakim Verona <joakim@verona.se>
4432
4433 * window.h (struct window): Add new member window_parameters.
4434
4435 * window.c (Fwindow_parameters, Fwindow_parameter)
4436 (Fset_window_parameter): New defuns.
4437 (syms_of_window): Defsubr the new defuns.
4438 (make_window): Initialize window_parameters to nil.
4439
44402008-06-04 John Paul Wallington <jpw@pobox.com>
4441
4442 * eval.c (Fdefmacro): Doc fix.
4443
44442008-06-04 Kenichi Handa <handa@m17n.org>
4445
4446 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4447 Be sure to call setup_coding_system when we find a proper coding system.
4448 (detect_coding_system): Fix handling of coding->head_ascii.
4449
44502008-06-03 Andreas Schwab <schwab@suse.de>
4451
4452 * font.c (font_prop_validate_spacing): Fix last change.
4453
44542008-06-03 Kenichi Handa <handa@m17n.org>
4455
4456 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4457 (font_parse_fcname): Fix handling of unknown key.
4458
4459 * xfont.c (xfont_list): Try an alias.
4460
4461 * charset.c (char_charset): Return NULL if the arg charset_list is
4462 specified and C doesn't belong to any of them.
4463
44642008-06-02 Chip Coldwell <coldwell@redhat.com>
4465
4466 * font.c (font_pixel_size): Don't take cdr of an integer.
4467
44682008-06-02 Jim Meyering <meyering@redhat.com>
4469
4470 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4471 * alloc.c (xfree): Return right away for a NULL arg.
4472 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4473 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4474 * mac.c (create_apple_event_from_event_ref): Likewise.
4475 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4476 Likewise.
4477 * doprnt.c (doprnt1): Likewise.
4478 * frame.c (frame): Likewise.
4479 * keyboard.c (wipe_kboard): Likewise.
4480 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4481 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4482 * term.c (tty_default_color_capabilities, maybe_fatal)
4483 (delete_tty): Likewise.
4484 * w16select.c (string): Likewise.
4485 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4486 * w32bdf.c (w32_free_bdf_font): Likewise.
4487 * w32fns.c (w32_unload_font): Likewise.
4488 * w32font.c (w32font_close): Likewise.
4489 * window.c (size_window): Likewise.
4490 * xselect.c (receive_incremental_selection): Likewise.
4491 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4492 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4493 * w32.c (stat): Likewise.
4494
4495 Remove useless if-before-free tests.
4496 * editfns.c (Fset_time_zone_rule): Likewise.
4497 * lread.c (nosuffix): Likewise.
4498 * ralloc.c (get_bloc): Likewise.
4499 * regex.c (reg_free): Likewise.
4500 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4501 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4502 * xsmfns.c (smc_save_yourself_CB): Likewise.
4503
45042008-06-02 Kenichi Handa <handa@m17n.org>
4505
4506 * font.c (font_find_for_lface): Handle float font size.
4507 (font_open_for_lface): Likewise.
4508
4509 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4510 comparing the properties.
4511
45122008-06-01 Jason Rumney <jasonr@gnu.org>
4513
4514 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4515 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4516 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4517 Don't add empty script list.
4518 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4519
45202008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4521
4522 * Makefile.in (dot, dotdot): Remove, update users.
4523 ".." has been used elsewhere in the file for a long time.
4524 (LIBXT_STATIC): Remove conditional based on unused variable.
4525
45262008-06-01 Miles Bader <miles@gnu.org>
4527
4528 * xfaces.c (Vface_remapping_alist): New variable.
4529 (syms_of_xfaces): Initialize it.
4530 (enum named_merge_point_kind): New type.
4531 (struct named_merge_point): Add `named_merge_point_kind' field.
4532 (push_named_merge_point): Make cycle detection respect different
4533 named-merge-point kinds.
4534 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4535 Remove face-name alias resolution.
4536 (lface_from_face_name): New definition using
4537 `lface_from_face_name_no_resolve'.
4538 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4539 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4540 (get_lface_attributes): New definition that layers face-remapping on
4541 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4542 (lookup_basic_face): New function.
4543 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4544 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4545 `get_lface_attributes'.
4546 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4547 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4548 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4549
4550 * xdisp.c (init_iterator): Pass base_face_id through
4551 `lookup_basic_face' when we actually use it as a face-id.
4552 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4553 DEFAULT_FACE_ID.
4554
4555 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4556 lookup the initial face-id.
4557
4558 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4559
45602008-06-01 Juanma Barranquero <lekktu@gmail.com>
4561
4562 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4563 (Fremove_text_properties): Fix typos in docstrings.
4564
45652008-05-31 Kenichi Handa <handa@m17n.org>
4566
4567 * font.c (font_list_entities): Fix the car part of data to be
4568 stored in the cache.
4569
4570 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4571
45722008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4573
4574 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4575 Add a `test' argument so another predicate than `equal' can be used.
4576 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4577 (map_char_table): Remove unused vars `c' and `i'.
4578 * lisp.h (Foptimize_char_table): Adjust declaration.
4579 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4580
45812008-05-30 Kenichi Handa <handa@m17n.org>
4582
4583 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4584 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4585 defined.
4586
45872008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4588
4589 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4590 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4591 frame-local settings for the same variable.
4592
45932008-05-30 Kenichi Handa <handa@m17n.org>
4594
4595 * fontset.c (Ffont_info): Move to font.c.
4596 (syms_of_fontset): Delete defsubr of Sfont_info.
4597
4598 * font.c (font_style_to_value, font_score): Delete casting of the
4599 args to xstcasecmp.
4600 (register_font_driver): Increment num_font_drivers only when
4601 registering the driver globally.
4602 (Ffont_info): Move from fontset.c. Handle a font object too.
4603 (syms_of_font): Defsubr Sfont_info.
4604
46052008-05-29 Kenichi Handa <handa@m17n.org>
4606
4607 * coding.h (enum define_coding_utf8_arg_index): New enum.
4608 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4609 coding_attr_utf_bom.
4610 (enum utf_bom_type): Rename from utf_16_bom_type.
4611 (struct utf_16_spec): Adjust for the above change.
4612 (struct coding_system): Add utf_8_bom in `spec' union.
4613
4614 * coding.c (CODING_UTF_8_BOM): New macro.
4615 (enum coding_category): Delete coding_category_utf_8, add
4616 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4617 coding_category_utf_8_sig.
4618 (CATEGORY_MASK_UTF_8): Delete it.
4619 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4620 (CATEGORY_MASK_UTF_8_SIG): New macros.
4621 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4622 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4623 CATEGORY_MASK_UTF_8_SIG.
4624 (CATEGORY_MASK_UTF_8): New macro.
4625 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4626 (detect_coding_utf_8): Check BOM.
4627 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4628 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4629 (encode_coding_utf_16): Likewise.
4630 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4631 (detect_coding, detect_coding_system): Handle utf-8-auto.
4632 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4633 (syms_of_coding): Fix setting up of Vcoding_category_table.
4634
46352008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4636
4637 * process.c (Faccept_process_output): If `millisec' is non-nil,
4638 `seconds' default to 0.
4639 (wait_reading_process_output): Also return non-nil if we read output
4640 from a non-running process.
4641
46422008-05-29 Jason Rumney <jasonr@gnu.org>
4643
4644 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4645 `raster' specified.
4646 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4647 in the uniscribe backend, but disallow any font that has no
4648 unicode subrange support.
4649
46502008-05-29 Juanma Barranquero <lekktu@gmail.com>
4651
4652 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4653 Fix typos in docstrings.
4654
46552008-05-29 Kenichi Handa <handa@m17n.org>
4656
4657 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4658 (Fx_family_fonts): Set frame correctly.
4659
46602008-05-28 Jason Rumney <jasonr@gnu.org>
4661
4662 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4663
46642008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4665
4666 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4667 calling build_annotations.
4668
46692008-05-28 Juanma Barranquero <lekktu@gmail.com>
4670
4671 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4672 (Fencode_coding_string):
4673 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4674 <latin-extra-code-table>: Fix typos in docstrings.
4675 (syms_of_coding) <coding-system-alist>: Doc fix.
4676 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4677
46782008-05-28 Kenichi Handa <handa@m17n.org>
4679
4680 * fontset.c (Ffont_info): Don't call font_close_object.
4681
4682 * font.c (font_parse_family_registry): Use Ffont_put to validate
4683 foundry and family.
4684 (font_delete_unmatched): Don't check spacing.
4685 (font_list_entities): Add spacing to the spec to list fonts.
4686
4687 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4688 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4689
4690 * coding.c (encode_coding_raw_text): Fix previous change.
4691 (encode_coding_object): When the dst_object is a buffer and is
4692 different from src_object, move gap to PT.
4693
46942008-05-27 Chong Yidong <cyd@stupidchicken.com>
4695
4696 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4697
46982008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4699
4700 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4701 all branches. Compute it differently.
4702
4703 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4704
47052008-05-27 Juanma Barranquero <lekktu@gmail.com>
4706
4707 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4708 into "else if () ... else ...".
4709
47102008-05-27 Jason Rumney <jasonr@gnu.org>
4711
4712 * w32font.c (w32font_open_internal): Determine if glyph indices
4713 are likely to work here.
4714
47152008-05-27 Chong Yidong <cyd@stupidchicken.com>
4716
4717 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4718 draw overlap glyphs with appropriate highlighting.
4719
47202008-05-27 Kenichi Handa <handa@m17n.org>
4721
4722 * xfont.c (xfont_open): Fix calculation of font->average_width.
4723
47242008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4725
4726 * casefiddle.c (casify_object): Try to guess better whether the
4727 argument is a byte or a char.
4728
47292008-05-26 Andreas Schwab <schwab@suse.de>
4730
4731 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4732 Always send multiples of format size.
4733
4734 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4735
47362008-05-26 Jason Rumney <jasonr@gnu.org>
4737
4738 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4739 (compute_metrics): Don't set failure if we just cleared the cache.
4740 (w32_weight_table): Remove unused variable.
4741 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4742 backwards compatibility.
4743
47442008-05-25 Kenichi Handa <handa@m17n.org>
4745
4746 * w32term.c (x_draw_glyph_string):
4747 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4748
4749 * xfaces.c: Delete unused function prototypes.
4750 (xstrlwr, font_frame): Delete them.
4751 (clear_face_cache): Delete unused variable.
4752
4753 * xftfont.c (xftfont_open): Delete unused variable.
4754 If underline_thickness is not 1, adjust underline_position.
4755
4756 * ftxfont.c (ftxfont_open): Delete unused variable.
4757
4758 * fontset.c (face_for_char): Optimize for the case of no charset
4759 property.
4760
4761 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4762 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4763 (otf_open, font_otf_capability, generate_otf_features)
4764 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4765 Comment out by surrounding "#if 0" and "#endif" for the moment.
4766 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4767 (syms_of_font): Codes for accessing above commented out.
4768
47692008-05-24 Eli Zaretskii <eliz@gnu.org>
4770
4771 * w32proc.c: Include dispextern.h.
4772
4773 * w32.c: Include dispextern.h.
4774
47752008-05-23 Juanma Barranquero <lekktu@gmail.com>
4776
4777 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4778 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4779 Fix typos in docstrings.
4780
47812008-05-23 Jason Rumney <jasonr@gnu.org>
4782
4783 * xsmfns.c: Remove includes that are already included by config.h.
4784
47852008-05-23 Kenichi Handa <handa@m17n.org>
4786
4787 * charset.c (Qemacs, charset_emacs): New variables.
4788 (char_charset): Fix for non-Unicode characters.
4789 (syms_of_charset): Define charset_emacs.
4790
4791 * w32term.c (x_draw_glyph_string): Be sure to update
4792 s->underline_thickness and s->underline_position. Be sure to draw
4793 underline within the current line area.
4794
4795 * xterm.c (x_draw_glyph_string): Be sure to update
4796 s->underline_thickness and s->underline_position. Be sure to draw
4797 underline within the current line area.
4798
4799 * fontset.c: Delete unused variables and add casting for char *
4800 throughout the file.
4801 (fontset_font): Try the fallback fonts of the current fontset
4802 before consulting the default fontset.
4803
4804 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4805
4806 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4807
48082008-05-22 Jason Rumney <jasonr@gnu.org>
4809
4810 * font.c: Don't include strings.h.
4811
4812 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4813
4814 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4815 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4816 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4817 to call xstrcasecmp.
4818
4819 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4820
4821 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4822
4823 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4824
4825 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4826
48272008-05-22 Kenichi Handa <handa@m17n.org>
4828
4829 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4830
4831 * font.c (font_prop_validate_style): Adjust for the format
4832 change of font_style_table.
4833
4834 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4835 two args.
4836
4837 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4838 two args.
4839
48402008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4841
4842 * minibuf.c (keys_of_minibuf): Delete.
4843 * lisp.h (keys_of_minibuf): Delete.
4844 * emacs.c (main): Don't call keys_of_minibuf.
4845
48462008-05-22 Kenichi Handa <handa@m17n.org>
4847
4848 * ftfont.c (ftfont_resolve_generic_family): Rename from
4849 ftfont_list_generic_family. Return a single family for each
4850 generic family.
4851 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4852 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4853 Call font_add_log.
4854 (ftfont_match): Call font_add_log.
4855
4856 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4857 (FONT_DEBUG): Define it.
4858 (font_add_log): Extern it.
4859 (font_assert): Rename from xassert.
4860
4861 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4862 (xfont_list_family): Call font_add_log.
4863 (xfont_match): Likewise.
4864 (memq_no_quit): Delete.
4865
4866 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4867 call of Ffont_xlfd_name.
4868
4869 * xfaces.c (struct table_entry, slant_table, weight_table)
4870 (swidth_table): Move to font.c.
4871
4872 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4873 xassert are changed to font_assert. Delete many unused variables.
4874 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4875 New variables.
4876 (struct table_entry): Move from xfaces.c and modified.
4877 (weight_table, slant_table, width_table): Move from xfaces.c and
4878 contents adjusted for the change of struct table_entry.
4879 (font_style_to_value, font_style_symbolic): Adjust for the
4880 format change of font_style_table.
4881 (font_parse_family_registry): Don't overwrite existing foundry and
4882 family of font_spec.
4883 (font_score): Fix calculation of diff for sizes.
4884 (font_sort_entites): Call font_add_log.
4885 (font_delete_unmatched): Return a newly created list.
4886 (font_list_entities): Fix previous change. Call font_add_log.
4887 (font_matching_entity, font_open_entity, font_close_entity):
4888 Call font_add_log.
4889 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4890 (Finternal_set_font_style_table): Delete.
4891 (BUILD_STYLE_TABLE): New macro.
4892 (build_style_table): New function.
4893 (Vfont_log, font_log_env_checked): New variables.
4894 (font_add_log): New function.
4895 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4896 Declare Lisp variables "font-weight-table", "font-slant-table",
4897 "font-width-table", and "font-log". Initialize font_style_table.
4898
48992008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4900
4901 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4902
49032008-05-21 Seiji Zenitani <zenitani@mac.com>
4904 Ryo Yoshitake <ryo@shiftmode.net>
4905
4906 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4907 (Vframe_alpha_lower_limit): New variable.
4908 (x_set_alpha): New function.
4909
4910 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4911
4912 * xfns.c (x-create-frame, Qalpha):
4913 Initialize the frame parameter `alpha'.
4914 * xterm.c (OPAQUE, OPACITY): New.
4915 (x_set_frame_alpha): New function.
4916 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4917
4918 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4919 * w32fns.c (w32_frame_parm_handlers): Likewise.
4920
49212008-05-20 Jason Rumney <jasonr@gnu.org>
4922
4923 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4924 truetype fonts to opentype list.
4925
49262008-05-20 Juanma Barranquero <lekktu@gmail.com>
4927
4928 * fontset.c (Ffontset_info): Doc fix.
4929 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4930 <ignore-relative-composition>: Fix typos in docstrings.
4931
4932 * font.c (syms-of-font) <font-encoding-alist>:
4933 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4934 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4935 (Ffont_otf_alternates): Doc fixes.
4936
49372008-05-20 Kenichi Handa <handa@m17n.org>
4938
4939 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4940 font.h through out the file.
4941 (FONT_DRIVERS): Rename from FONTOBJ.
4942 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4943 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4944
4945 * emacs.c (main): Call syms_of_font unconditionally.
4946
4947 * font.h (find_font_encoding): Extern it.
4948
4949 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4950 fontset.c.
4951 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4952 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4953 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4954 only when HAVE_WINDOW_SYSTEM is defined.
4955 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4956 when HAVE_WINDOW_SYSTEM is defined.
4957
4958 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4959 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4960
4961 * xfaces.c: Include font.h unconditionally.
4962 (merge_face_ref, merge_face_vectors)
4963 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4964
49652008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4966
4967 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4968 indirect_variable.
4969 * eval.c (lisp_indirect_variable): New fun.
4970 (Fuser_variable_p): Use it.
4971
49722008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4973
4974 * lisp.h (indirect_variable):
4975 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4976 Use Lisp_Symbol pointers rather than Lisp_Object.
4977 Adjust callers.
4978 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4979 To this end, change calling-convention.
4980
4981 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4982 if some non-hidden buffers are selected by string&pred.
4983
49842008-05-19 Chong Yidong <cyd@stupidchicken.com>
4985
4986 * process.c (wait_reading_process_output): Always check status
4987 when in batch mode.
4988
49892008-05-19 Kenichi Handa <handa@m17n.org>
4990
4991 * font.c (font_list_entities): Fix handling of cache.
4992 (font_matching_entity): Likewise.
4993
4994 * ftfont.c (cs_iso8859_1): Delete.
4995 (ft_face_cache): New variable.
4996 (struct ftfont_info): New member fc_charset_idx.
4997 (ftfont_build_basic_charsets): Delete.
4998 (fc_charset_table): New variable.
4999 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5000 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5001 Callers changed.
5002 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5003 (ftfont_spec_pattern): New argument fc_charset_idx.
5004 Check registry more rigidly. Change callers.
5005 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5006 change of :font-entity property of the font.
5007
5008 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5009 property of the font.
5010
50112008-05-18 Juanma Barranquero <lekktu@gmail.com>
5012
5013 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5014 (Funencodable_char_position, Fcheck_coding_systems_region)
5015 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5016 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5017 (Ffind_operation_coding_system, Fset_coding_system_priority)
5018 (Fcoding_system_eol_type): Doc fixes.
5019
50202008-05-17 Glenn Morris <rgm@gnu.org>
5021
5022 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5023
50242008-05-16 Eli Zaretskii <eliz@gnu.org>
5025
5026 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5027 and st_gid.
5028
5029 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5030 HAVE_WINDOW_SYSTEM is not defined.
5031
5032 * xfaces.c (merge_face_ref, merge_face_vectors)
5033 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5034 HAVE_WINDOW_SYSTEM is defined.
5035 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5036
50372008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5038
5039 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5040
50412008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5042
5043 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5044
50452008-05-15 Kenichi Handa <handa@m17n.org>
5046
5047 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5048 preference.
5049
50502008-05-15 Glenn Morris <rgm@gnu.org>
5051
5052 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5053
50542008-05-15 Chong Yidong <cyd@stupidchicken.com>
5055
5056 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5057 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5058
5059 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5060
50612008-05-15 Kenichi Handa <handa@m17n.org>
5062
5063 * ftfont.c (ftfont_list): Downcase family name to check generic
5064 families.
5065
5066 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5067 font-spec for QCfont value.
5068
5069 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5070 buffer. Check the return value of it.
5071
50722008-05-14 Jason Rumney <jasonr@gnu.org>
5073
5074 * w32term.c (w32_get_glyph_overhangs): Remove.
5075 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5076
50772008-05-14 Kenichi Handa <handa@m17n.org>
5078
5079 * font.c (font_prop_validate): Make nil a valid value.
5080 (font_clear_cache): Check if the cached vector of entities is nil
5081 or not.
5082
50832008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5084
5085 * emacs.c (main_thread): Conditionalize on
5086 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5087 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5088
5089 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5090 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5091 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5092
50932008-05-14 Kenichi Handa <handa@m17n.org>
5094
5095 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5096 has no corresponding coding system.
5097
50982008-05-14 Jason Rumney <jasonr@gnu.org>
5099
5100 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5101
5102 * w32font.h (w32font_open_internal): Update declaration.
5103
5104 * w32font.c (w32font_open_internal): Change last argument from
5105 w32font_info struct to font object. Fill in font object from
5106 font_entity. Get Outline metrics if possible. Use them to
5107 calculate underline position and thickness. Use xlfd name as name
5108 property. Don't set codepage.
5109 (w32font_open): Pass font_object to w32font_open_internal. Don't
5110 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5111 (w32font_draw): Use s->font.
5112 (clear_cached_metrics): Don't clear non-existent blocks.
5113
5114 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5115 font was not found.
5116 (x_draw_glyph_string): Use underline position and thickness from font.
5117
5118 * w32uniscribe.c (uniscribe_open): Pass font_object to
5119 w32font_open_internal.
5120
51212008-05-14 Kenichi Handa <handa@m17n.org>
5122
5123 These changes are to delete all legacy font-handling codes, and
5124 make Emacs use only font-backends.
5125
5126 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5127 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5128
5129 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5130
5131 * charset.h (Vcharset_non_preferred_head)
5132 (Vcurrent_iso639_language): Extern them.
5133
5134 * charset.c (Vcharset_non_preferred_head): New variable.
5135 (Vcurrent_iso639_language): New variable.
5136 (syms_of_charset): Declare it as a Lisp variable.
5137 (char_charset): Don't check non preferred charsets. As a last
5138 resort, return charset_unicode.
5139 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5140
5141 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5142 conditionals. Don't check enable_font_backend. Delete all codes
5143 used only when USE_FONT_BACKEND is not defined.
5144
5145 * dispextern.h (struct glyph_string): Change type of `font' to
5146 `struct font *'.
5147 (struct glyph_string): New member underline_position and
5148 underline_thickness.
5149 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5150 (struct face): Change type of `font' to `struct font *'. Remove
5151 members `font_name', `font_info_id'.
5152 (per_char_metric, encode_char): Delete externs.
5153 (calc_pixel_width_or_height): Adjust the prototype.
5154
5155 * emacs.c (enable_font_backend): Delete extern.
5156 (main): Don't set enable_font_backend. Don't check the command
5157 line argument "-disable-font-backend".
5158
5159 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5160 (enum font_property_index): New members FONT_DPI_INDEX,
5161 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5162 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5163 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5164 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5165 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5166 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5167 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5168 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5169 (struct font_spec, struct font_entity): New structs.
5170 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5171 (struct font): Many members from old "struct font_info" moved to
5172 here. Members font and entity deleted.
5173 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5174 the new font-related objects.
5175 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5176 (CHECK_FONT_GET_OBJECT): Likewise.
5177 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5178 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5179 (struct font_driver): New members case_sensitive anc check. Type
5180 of the member list and open changed.
5181 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5182 (font_symbolic_width, font_find_object, font_get_spec)
5183 (font_set_lface_from_name): Delete extern.
5184 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5185
5186 * font.c: Include <strings.h>.
5187 (enable_font_backend): Delete it.
5188 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5189 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5190 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5191 (null_string): Delete it.
5192 (null_vector): Make it static.
5193 (font_family_alist): Delete it.
5194 (Qnormal): Extern it.
5195 (QCextra, QClanguage): Delete it.
5196 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5197 (font_make_spec, font_make_entity, font_make_object)
5198 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5199 the string. Callers changed.
5200 (font_pixel_size): Adjusted for the format change of font-related
5201 objects.
5202 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5203 (font_style_to_value, font_style_symbolic): New function.
5204 (build_font_family_alist): Delete it.
5205 (font_registry_charsets): Use Fassoc_string instead of
5206 assq_no_quit.
5207 (font_prop_validate_symbol): Don't return null_string.
5208 (font_prop_validate_style): Adjusted for the change of
5209 style-related values in a font vector.
5210 (font_property_table): Delete entries for QClanguage and
5211 QCantialias, add entries for QCavgwidth.
5212 (get_font_prop_index): Delete the 2nd argument FROM.
5213 (font_prop_validate): Arguments changed.
5214 (font_put_extra): Adjusted for the change of font-related objects.
5215 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5216 (font_parse_fcname, font_unparse_fcname)
5217 (font_prepare_composition): Likewise.
5218 (font_parse_family_registry): Renamed from font_merge_old_spec.
5219 (otf_open): Delete the 1st arg entity.
5220 (font_otf_capability): Adjusted for the above change.
5221 (font_score): New arg alternate_families. Adjusted for the change
5222 of font-related objects.
5223 (font_sort_entites): New arg best_only.
5224 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5225 Delete them.
5226 (font_match_p): Check alternate families.
5227 (font_find_object): Delete it.
5228 (font_check_object): New function.
5229 (font_clear_cache): Adjusted for the change of font-related objects.
5230 (font_delete_unmatched): New arg.
5231 (font_list_entities): Call font_driver->list with a spec that
5232 doesn't specify style-related properties.
5233 (font_matching_entity): Arguments changed. Caller changed.
5234 (font_open_entity): Adjusted for the change of font-related objects.
5235 (font_close_object, font_has_char, font_encode_char)
5236 (font_get_name, font_get_spec): Likewise.
5237 (font_spec_from_name, font_clear_prop, font_update_lface):
5238 New functions.
5239 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5240 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5241 (font_at): Adjusted for the change of font-related objects.
5242 (font_range): New function.
5243 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5244 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5245 (Fcopy_font_spec, Fmerge_font_spec): New function.
5246 (Ffont_family_list): Renamed from list-families.
5247 (Finternal_set_font_style_table): Arguments changed.
5248 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5249 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5250 change of font-related objects.
5251 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5252
5253 * fontset.h (struct font_info): Delete it. Most members go to
5254 struct font.
5255 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5256 (enum FONT_SPEC_INDEX): Delete it.
5257 (font_info, list_fonts_func, load_font_func, query_font_func)
5258 (set_frame_fontset_func, find_ccl_program_func)
5259 (get_font_repertory_func, new_fontset_from_font_name): Delete
5260 externs.
5261 (fontset_from_font_name): Extern it.
5262 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5263 (FONT_INFO_FROM_FACE): Deleted.
5264 (face_for_font): Adjust prototype.
5265
5266 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5267 conditionals. Don't check enable_font_backend. Delete all codes
5268 used only when USE_FONT_BACKEND is not defined.
5269 (get_font_info_func, list_font_func, load_font_func)
5270 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5271 (get_font_repertory_func): Delete them.
5272 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5273 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5274 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5275 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5276 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5277 (fontset_compare_rfontdef): New function.
5278 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5279 rfont-defs by qsort. Adjusted for the change of font-group vector.
5280 (load_font_get_repertory): Deleted.
5281 (fontset_find_font): Use new macros to ref/set elements of
5282 font-def and rfont-def.
5283 (fontset_font): Fix the timing of remembering that no font for C.
5284 (free_face_fontset): Do nothing if the face has no fontset.
5285 (face_suitable_for_char_p): Use new macros to ref/set elements of
5286 rfont-def.
5287 (face_for_char): Likewise. Call face_for_char with font_object.
5288 (fs_load_font): Delete. Delete #pragma surrounding it.
5289 (fs_query_fontset): Use strcasecmp instead of strcmp.
5290 (generate_ascii_font_name): Adjusted for the format change of
5291 font-spec.
5292 (Fset_fontset_font): Likewise. Use new macros to set elements of
5293 font-def.
5294 (Fnew_fontset): Use font_unparse_xlfd to generate
5295 FONTSET_ASCII (fontset).
5296 (new_fontset_from_font_name): Deleted.
5297 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5298 a fontset is already created for the font. FIx updating of
5299 Vfontset_alias_alist.
5300 (fontset_ascii_font): Deleted.
5301 (Ffont_info): Adjusted for the format change of font-spec.
5302 (Finternal_char_font): Likewise.
5303 (Ffontset_info): Likewise.
5304 (syms_of_fontset): Don't check load_font_func.
5305
5306 * fns.c (internal_equal): Handle PREV_FONT.
5307
5308 * frame.h: Delete USE_FONT_BACKEND conditional.
5309
5310 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5311 conditionals. Don't check enable_font_backend. Delete all codes
5312 used only when USE_FONT_BACKEND is not defined.
5313 (x_set_font): Call x_new_font, not x_new_fontset2.
5314 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5315 already set for the frame.
5316
5317 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5318 a font-entity by font_make_entity. Use font_intern_prop instead
5319 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5320 font property. If a font is scalable, set avgwidth property to 0.
5321 Set font-entity property by font_put_extra.
5322 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5323 (ffont_driver): Adjusted for the change of struct font_driver.
5324 (ftfont_spec_pattern): New function.
5325 (ftfont_list): Return a list, not vector.
5326 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5327 (ftfont_list_family): Don't downcase names.
5328 (ftfont_free_entity): Deleted.
5329 (ftfont_open): Return a font-object. Adjusted for the change of
5330 struct font. Get underline_thickness and underline_position from
5331 font property. Don't update dpyinfo->smallest_font_height and
5332 dpyinfo->smallest_char_width.
5333 (ftfont_close): Don't free `struct font'.
5334 (ftfont_has_char): Adjusted for the format change of font-entity.
5335 (ftfont_encode_char, ftfont_text_extents): Likewise.
5336
5337 * ftxfont.c (ftxfont_list): Return a list, not vector.
5338 (ftxfont_open): Return a font-object. Adjusted for the change of
5339 struct font. Get underline_thickness and underline_position from
5340 font property. Don't update dpyinfo->smallest_font_height and
5341 dpyinfo->smallest_char_width.
5342 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5343 (ftxfont_draw): Adjusted for the change of struct font.
5344
5345 * image.c (image_ascent): Don't include "charset.h". Include
5346 "character.h" and "font.h".
5347
5348 * lisp.h (enum pvec_type): New member PREV_FONT.
5349 (Fassoc_string): EXFUN it.
5350
5351 * print.c: Include font.h.
5352 (print_object): Handle font-related objects.
5353
5354 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5355 conditionals. Don't check enable_font_backend. Delete all codes
5356 used only when USE_FONT_BACKEND is not defined.
5357 (handle_auto_composed_prop): Do nothing if it->f is not on a
5358 window system. Check how many following characters can be
5359 displayed by the same font.
5360 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5361 'struct font *'.
5362 (get_char_face_and_encoding): Assign the whole encoding task to
5363 the `encode-char' method of a font driver.
5364 (fill_composite_glyph_string): Adjusted for the change of `struct
5365 face' and `struct glyph_string'.
5366 (fill_glyph_string): Likewise.
5367 (get_per_char_metric): Arguments changed.
5368 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5369 and `struct glyph_string'.
5370 (produce_stretch_glyph, calc_line_height_property)
5371 (x_produce_glyphs): Likewise.
5372
5373 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5374 conditionals. Don't check enable_font_backend. Delete all codes
5375 used only when USE_FONT_BACKEND is not defined. Use
5376 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5377 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5378 (Qp): Extern them.
5379 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5380 Deleted.
5381 (struct font_name): Deleted.
5382 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5383 (compare_fonts_by_sort_order): New function.
5384 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5385 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5386 Deleted.
5387 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5388 compare_fonts_by_sort_order.
5389 (Fx_font_family_list): Call Ffont_family_list.
5390 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5391 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5392 (face_symbolic_slant, face_symbolic_swidth)
5393 (split_font_name_into_vector, build_font_name_from_vector)
5394 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5395 (font_rescale_ratio, split_font_name, build_font_name)
5396 (free_font_names, sort_fonts, x_face_list_fonts)
5397 (face_font_available_p, sorted_font_list, cmp_font_names)
5398 (font_list_1, concat_font_list, font_list, remove_duplicates):
5399 Deleted.
5400 (Fx_list_fonts): Use Ffont_list.
5401 (LFACE_AVGWIDTH): Deleted.
5402 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5403 by FONTP.
5404 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5405 (set_lface_from_font_name): Delete it.
5406 (set_lface_from_font): Renamed from
5407 set_lface_from_font_and_fontset. Caller changed. Don't set
5408 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5409 for face.
5410 (merge_face_vectors): Copy font-spec if necessary.
5411 Clear properties of the font-spec if necessary.
5412 (merge_face_ref): Clear properties of the font-spec if necessary.
5413 (Finternal_set_lisp_face_attribute): Likewise.
5414 (set_font_frame_param): Use font_load_for_lface to load a
5415 font-object, and call Fmodify_frame_parameters with it.
5416 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5417 font name by Ffont_xlfd_name.
5418 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5419 QCslant, and QCwidth.
5420 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5421 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5422 Compare fonts by EQ.
5423 (lookup_non_ascii_face): Deleted.
5424 (face_for_font): The 2nd argument changed.
5425 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5426 Check atomic font properties by case insensitive.
5427 (realize_non_ascii_face): Set face->overstrike correctly.
5428 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5429 (dump_realized_face): Get font name from
5430 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5431
5432 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5433 conditionals. Don't check enable_font_backend. Delete all codes
5434 used only when USE_FONT_BACKEND is not defined.
5435 (xic_create_xfontset): Original code deleted and renamed from
5436 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5437 (x_make_gc): Don't set GCFont in GCs.
5438 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5439 opened by "fixed".
5440 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5441 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5442 get_font_repertory_func.
5443
5444 * xfont.c: Include <stdlib.h> and "ccl.h".
5445 (struct xfont_info): New structure.
5446 (xfont_query_font): Deleted.
5447 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5448 moved from xterm.c.
5449 (xfont_driver): Adjusted for the change of struct font_driver.
5450 (compare_font_names): New function.
5451 (xfont_list_pattern): Sort font names case insensitively. Make
5452 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5453 (xfont_list): Return a list, not vector.
5454 (xfont_match): If the font doesn't have QCname property, generate
5455 a name from the other font properties.
5456 (xfont_open): Return a font-object. Adjusted for the change of
5457 struct font. Get underline_thickness and underline_position from
5458 font property. Don't update dpyinfo->smallest_font_height and
5459 dpyinfo->smallest_char_width.
5460 (xfont_close): Don't free struct font.
5461 (xfont_prepare_face): Adjusted for the change of struct font.
5462 (xfont_done_face): Deleted.
5463 (xfont_has_char): Adjusted for the change of struct font.
5464 (xfont_encode_char, xfont_draw): Likewise.
5465 (xfont_check): New function.
5466
5467 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5468 callback function.
5469 (xftfont_match): Adjusted for the format change of font-entity.
5470 (xftfont_open): Adjusted for the format change of font-entity and
5471 font-object. Adjusted for the change of struct font. Return a
5472 font-object. Don't update dpyinfo->smallest_font_height and
5473 dpyinfo->smallest_char_width.
5474 (xftfont_close): Block input while calling XftFontClose.
5475 (xftfont_prepare_face): Don't block input while calling
5476 xftfont_get_colors. Adjusted for the change of struct font.
5477 (xftfont_shape): Return value of error case fixed.
5478
5479 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5480
5481 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5482 conditionals.
5483 (FONT_WIDTH): Return (f)->max_width.
5484 (struct x_display_info): Delete member `font'.
5485 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5486 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5487 (struct x_output): Change type of `font' to `struct font *'.
5488
5489 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5490 conditionals. Don't check enable_font_backend. Delete all codes
5491 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5492 (x_per_char_metric, x_encode_char): Deleted.
5493 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5494 (x_compute_glyph_string_overhangs): Adjusted for the change of
5495 `struct face'.
5496 (x_draw_glyph_string_foreground)
5497 (x_draw_composite_glyph_string_foreground): Likewise.
5498 (x_draw_glyph_string): Likewise. Use font->underline_position and
5499 font->underline_thickness.
5500 (x_new_font): Renamed from x_new_fontset2.
5501 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5502 (x_check_font): Call `check' method of a font driver.
5503 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5504 (x_query_font, x_get_font_repertory): Deleted.
5505 (x_find_ccl_program): Renamed and moved to xfont.c.
5506 (x_redisplay_interface): Adjusted for the change of `struct
5507 redisplay_interface'.
5508
5509 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5510 conditionals. Don't check enable_font_backend. Delete all codes
5511 used only when USE_FONT_BACKEND is not defined. Surround non-used
5512 code by "#ifdef OLD_FONT" and "endif".
5513 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5514
5515 * w32font.h (struct w32font_info): New member.
5516 (FONT_COMPAT): New macro.
5517 (w32font_open_internal): Prototype adjusted.
5518
5519 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5520 OLD_FONT" and "endif".
5521
5522 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5523 conditionals. Don't check enable_font_backend. Delete all codes
5524 used only when USE_FONT_BACKEND is not defined.
5525 (w32font_open): Return a font-object. Make a font-object by
5526 font_make_object. Adjusted for the change of struct w32font_info.
5527 (w32font_close): Don't free struct font. Adjusted for the change
5528 of struct w32font_info.
5529 (w32font_encode_char, w32font_text_extents, w32font_draw):
5530 Adjusted for the change of struct w32font_info.
5531 (w32font_draw): Likewise.
5532 (w32font_list_internal): Return a list, not vector.
5533 (w32font_open_internal): Change the 4th arg to font-object.
5534 Adjusted for the change of struct w32font_info and font-object format.
5535 (add_font_name_to_list): Don't downcase names.
5536 (w32_enumfont_pattern_entity): Make a font-entity by
5537 font_make_entity. Adjusted for the format change of font-entity.
5538 Use FONT_SET_STYLE to set a style-related font property. If a
5539 font is scalable, set avgwidth property to 0. Set font-entity
5540 property by font_put_extra.
5541 (font_matches_spec): Adjusted for the format change of font-entity.
5542 (w32_weight_table, w32_decode_weight): New variables.
5543 (w32_encode_weight): New function.
5544 (fill_in_logfont): Adjusted for the format change of font-spec.
5545 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5546 weight value.
5547 (w32font_driver): Adjusted for the change of struct font_driver.
5548
5549 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5550 conditionals. Don't check enable_font_backend. Surround non-used
5551 code by "#ifdef OLD_FONT" and "endif".
5552 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5553 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5554
5555 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5556 conditionals. Don't check enable_font_backend. Delete all codes
5557 used only when USE_FONT_BACKEND is not defined. Surround non-used
5558 code by "#ifdef OLD_FONT" and "endif".
5559
5560 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5561 (uniscribe_open): Return value changed to font-object.
5562 Adjusted for the format change of font-object.
5563 (uniscribe_otf_capability): Adjusted for the change of struct font.
5564 (add_opentype_font_name_to_list): Don't downcase names.
5565 (uniscribe_font_driver): Adjusted for the change of struct
5566 font_driver.
5567
55682008-05-13 Chong Yidong <cyd@stupidchicken.com>
5569
5570 * dispnew.c (update_frame_1): Check if tty output is still valid
5571 before flushing it.
5572
55732008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5574
5575 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5576 to Gtk+ menus.
5577
55782008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5579
5580 * dired.c (file_name_completion): Tweak the code so as to always do it
5581 in a single pass. Tighten the scope of some variables.
5582
5583 * dired.c (Qdefault_directory): New var.
5584 (file_name_completion): Use it instead of Fexpand_file_name.
5585 (syms_of_dired): Initialize it.
5586
55872008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5588
5589 * fileio.c (double_dollars): Remove dead code.
5590
55912008-05-10 Eli Zaretskii <eliz@gnu.org>
5592
5593 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5594 Mention w32-get-true-file-attributes in doc string.
5595
5596 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5597
55982008-05-09 Glenn Morris <rgm@gnu.org>
5599
5600 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5601 2008-04-23.
5602
56032008-05-09 Eli Zaretskii <eliz@gnu.org>
5604
5605 Support for reporting owner and group of each file on MS-Windows:
5606 * dired.c (stat_uname, stat_gname): New functions, with special
5607 implementation for w32.
5608 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5609
5610 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5611 (dflt_group_name): New static variable.
5612 (dflt_group): Rename from the_group.
5613 (init_user_info): Init dflt_group fields. Get user's group name
5614 from LookupAccountSid.
5615 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5616 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5617 New initialization states.
5618 (globals_of_w32): Initialize them to zero. Initialize the default
5619 group name to "None".
5620 (GetFileSecurity_Name): New global var, the name of the function
5621 to call for GetFileSecurity.
5622 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5623 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5624 (get_file_security, get_security_descriptor_owner)
5625 (get_security_descriptor_group, is_valid_sid)
5626 (get_file_security_desc, get_rid, get_name_and_id)
5627 (get_file_owner_and_group): New functions.
5628 (stat): Use get_file_security_desc and get_file_owner_and_group to
5629 report the owner and primary group of each file. Don't ignore the
5630 high 32 bits of file's size, now that st_size is 64-bit wide.
5631 Fix test when to get true file attributes.
5632 (init_user_info): Use get_rid instead of equivalent inline code.
5633 (fstat): Don't ignore the high 32 bits of file's size.
5634
56352008-05-09 Chong Yidong <cyd@stupidchicken.com>
5636
5637 * image.c (png_load): Use correct bit-depth for setting background
5638 color.
5639
56402008-05-08 Eli Zaretskii <eliz@gnu.org>
5641
5642 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5643 epa-hook.elc.
5644
56452008-05-08 Juanma Barranquero <lekktu@gmail.com>
5646
5647 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5648
56492008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5650
5651 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5652 because the original parameters are in pure storage now.
5653 (mac_window): Remove unused params. Update callers.
5654
56552008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5656
5657 * lread.c (substitute_object_recurse): Use lower-level primitives.
5658 Don't signal errors when traversing sub-char-tables.
5659 Don't loop over all the possible characters when traversing char-tables.
5660
5661 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5662 just like we do in print.c.
5663
56642008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5665
5666 * minibuf.c (Ftry_completion): Remove code left over from when we used
5667 scmp instead of Fcompare_strings.
5668
56692008-05-04 Juanma Barranquero <lekktu@gmail.com>
5670
5671 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5672
56732008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5674
5675 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5676 Create bitmap context in native byte order.
5677
5678 * macterm.c (XDrawLine)
5679 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5680 context in native byte order.
5681
56822008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5683
5684 * config.in: Regenerate.
5685
5686 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5687 New definitions for Image I/O support.
5688 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5689 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5690 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5691 (mac_data_provider_release_data, image_load_image_io)
5692 [USE_MAC_IMAGE_IO]: New functions.
5693 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5694 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5695 (init_image_func_pointer) [MAC_OSX]: Remove function.
5696 (image_load_quartz2d) [MAC_OSX]: Check availability of
5697 CGImageCreateWithPNGDataProvider at compile time.
5698 Use lowercase `false' for boolean constant.
5699 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5700 Use image_load_image_io.
5701 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5702 Don't check MyCGImageCreateWithPNGDataProvider.
5703 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5704 Don't call init_image_func_pointer.
5705
5706 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5707
5708 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5709 Make variable non-static.
5710 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5711 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5712
5713 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5714 (RED_FROM_ULONG): Mask off higher bits.
5715 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5716
5717 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5718 Include AvailabilityMacros.h.
5719 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5720 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5721
57222008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5723
5724 * chartab.c (Fset_char_table_range): If range is t, really set all
5725 chars to that value.
5726
57272008-05-03 Eli Zaretskii <eliz@gnu.org>
5728
5729 * dired.c (Ffile_attributes): Don't allow the device number become
5730 negative.
5731
57322008-05-02 Daiki Ueno <ueno@unixuser.org>
5733
5734 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5735
57362008-05-02 Juri Linkov <juri@jurta.org>
5737
5738 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5739 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5740 DEFAULT argument as a list of default values in docstrings.
5741
57422008-05-01 Chong Yidong <cyd@stupidchicken.com>
5743
5744 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5745
57462008-05-01 Martin Rudalics <rudalics@gmx.at>
5747
5748 * dispnew.c (change_frame_size_1): Preserve small windows when
5749 shrinking frames by calling set_window_height|width with third
5750 arg 2.
5751
5752 * window.h (struct window): Replace field too_small_ok by field
5753 resize_proportionally.
5754
5755 * window.c (make_window): Initialize resize_proportionally.
5756 (enlarge_window): Temporarily set resize_proportionally to make
5757 sure that shrink_windows does scale the window proportionally.
5758 (shrink_windows): When window has resize_proportionally set try
5759 to shrink it proportionally by stealing from other windows.
5760 (struct saved_window, Fset_window_configuration)
5761 (compare_window_configurations): Handle resize_proportionally.
5762 (WINDOW_TOTAL_SIZE): New macro.
5763 (window_min_size, shrink_windows, size_window): Use it.
5764 (check_min_window_sizes): Remove. Invalid values of
5765 window-min-height|width are handled by window_min_size_2 now.
5766 (size_window, Fsplit_window, enlarge_window)
5767 (adjust_window_trailing_edge, grow_mini_window): Don't call
5768 check_min_window_sizes.
5769 (window_min_size_2, window_min_size_1, window_min_size):
5770 New argument safe_p for retrieving "safe" minimum sizes.
5771 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5772 (adjust_window_trailing_edge, grow_mini_window):
5773 Adjust arguments of window_min_size... functions.
5774 (shrink_windows): Argument min_size removed. New argument
5775 safe_p allows shrinking windows to their safe minimum sizes.
5776 Calculate minimum size and decide whether a window shall be
5777 deleted for each window individually.
5778 (size_window): When nodelete_p equals 2, tell shrink_windows to
5779 delete windows only if their new minimum size is no more safe.
5780 (shrink_window_lowest_first): Call window_min_size_1 to make
5781 sure to preserve modeline of bottom-most window when resizing
5782 the minibuffer.
5783 (Fset_window_configuration, Fcurrent_window_configuration)
5784 (compare_window_configurations): Do not handle
5785 window-min-height|width any more.
5786 (syms_of_window): Clarify window-min-height|width doc-strings.
5787
57882008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5789
5790 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5791 some more. Copy some of the code from Ftry_completions.
5792 Remove special case code that dates back to initial revision when the
5793 slash was only added when necessary and that can't trigger nowadays.
5794
57952008-04-27 Kenichi Handa <handa@m17n.org>
5796
5797 * font.c (font_prop_validate): Signal `error' instead of `font'.
5798
57992008-04-29 Jason Rumney <jasonr@gnu.org>
5800
5801 * w32fns.c (Fw32_battery_status): New defun.
5802 (syms_of_w32fns): Defsubr it.
5803
58042008-04-28 Andreas Schwab <schwab@suse.de>
5805
5806 * dired.c (file_name_completion): Fix another mixing of encoded
5807 and decoded names.
5808
58092008-04-28 Juanma Barranquero <lekktu@gmail.com>
5810
5811 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5812
58132008-04-27 Juanma Barranquero <lekktu@gmail.com>
5814
5815 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5816
58172008-04-27 Andreas Schwab <schwab@suse.de>
5818
5819 * dired.c (file_name_completion): Fix inappropriate mixing of
5820 encoded and decoded names.
5821
5822 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5823
5824 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5825
58262008-04-26 Eli Zaretskii <eliz@gnu.org>
5827
5828 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5829 2008-03-31, it's not needed anymore with `struct stat' definition
5830 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5831 for the same reasons.
5832
58332008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5834
5835 * m/sparc.h: Additional redefinitions for GNU/Linux.
5836
58372008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5838
5839 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5840 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5841 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5842 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5843 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5844 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5845 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5846 Likewise.
5847
5848 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5849 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5850 (mac_ax_number_of_characters): Add externs.
5851 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5852 [USE_MAC_TSM]: Likewise.
5853 (mac_handle_text_input_event) [MAC_OSX]:
5854 Handle kEventTextInputOffsetToPos for no active input area case.
5855 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5856 (mac_handle_document_access_event)
5857 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5858 (install_application_handler) [MAC_OSX]: Register handlers for
5859 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5860 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5861 Register mac_handle_document_access_event.
5862
5863 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5864 Make functions non-static.
5865
58662008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5867
5868 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5869 (read_file_name_completion_ignore_case, insert_default_directory)
5870 (Qdefault_directory): Move to minibuffer.el.
5871 (Fread_file_name): Call the new `read-file-name' instead.
5872
58732008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5874
5875 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5876 Make function non-static.
5877 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5878 Remove function.
5879 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5880 Move to mactoolbox.c.
5881 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5882
5883 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5884 (mac_rect_make): New macro.
5885
5886 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5887 instead of float.
5888 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5889 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5890 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5891 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5892 CGRectMake.
5893 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5894 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5895 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5896 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5897 instead of WindowRef in argument type.
5898 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5899 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5900 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5901 instead of DISPLAY. All uses changed.
5902 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5903 (x_calc_absolute_position): Simplify so as not to use
5904 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5905
5906 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5907 instead of WindowRef in argument type.
5908 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5909 [TARGET_API_MAC_CARBON]: Remove externs.
5910 (create_apple_event, mac_event_parameters_to_lisp)
5911 [TARGET_API_MAC_CARBON]: Add externs.
5912
5913 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5914 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5915 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5916 is clicked.
5917 (x_activate_menubar): Remove extern for saved_menu_event_location.
5918 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5919 Move from mac.c.
5920
59212008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5922
5923 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5924 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5925
59262008-04-23 Jason Rumney <jasonr@gnu.org>
5927
5928 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5929 attributes only for local files.
5930
5931 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5932 default to Qlocal.
5933
59342008-04-22 Juri Linkov <juri@jurta.org>
5935
5936 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5937 read-buffer-to-switch instead of using the letter "B".
5938
59392008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5940
5941 * fileio.c (Qdefault_directory): New variable.
5942 (Fread_file_name): Use it to pass `dir' to the completion functions.
5943
59442008-04-20 Chong Yidong <cyd@stupidchicken.com>
5945
5946 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5947
59482008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5949
5950 * keyboard.c (Vpre_help_message): Remove.
5951 (show_help_echo): Remove default C code.
5952
5953 * dired.c (directory_files_internal, file_name_completion):
5954 Only call ENCODE_FILE if the string is indeed decoded.
5955
59562008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5957
5958 * Makefile.in (TOOLKIT_DEFINES): Remove.
5959 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5960
59612008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5962
5963 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5964 (mactoolbox.o): New target.
5965
5966 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5967 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5968
5969 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5970 Use mac_set_frame_window_background instead of XSetWindowBackground.
5971 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5972 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5973 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5974 instead of SetWindowTitleWithCFString.
5975 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5976 Move function to mactoolbox.c.
5977 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5978 Use mac_set_window_modified instead of SetWindowModified.
5979 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5980 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5981 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5982 FrontNonFloatingWindow. Use mac_activate_window instead of
5983 ActivateWindow. Use mac_active_non_floating_window instead of
5984 ActiveNonFloatingWindow.
5985 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5986 Use mac_show_hourglass and mac_hide_hourglass.
5987 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5988 instead of GetGlobalMouse.
5989 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5990 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5991 Use mac_bring_window_to_front instead of BringToFront.
5992 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5993 mactoolbox.c.
5994 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5995 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5996 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5997 mactoolbox.c.
5998
5999 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6000 (XtPointer): Move typedef from macmenu.c.
6001 (enum button_type): Move enum from macmenu.c.
6002 (widget_value): Move typedef from macmenu.c.
6003 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6004 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6005 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6006 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6007 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6008 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6009 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6010 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6011 (Selection): Move typedef from macselect.c.
6012 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6013 macterm.c.
6014 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6015 (mac_is_window_collapsed, mac_bring_window_to_front)
6016 (mac_send_window_behind, mac_hide_window, mac_show_window)
6017 (mac_collapse_window, mac_front_non_floating_window)
6018 (mac_active_non_floating_window, mac_activate_window)
6019 (mac_move_window_structure, mac_move_window, mac_size_window)
6020 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6021
6022 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6023 (enum mac_menu_kind): Move enum to mactoolbox.c.
6024 (min_menu_id): Move variable to mactoolbox.c.
6025 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6026 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6027 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6028 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6029 [TARGET_API_MAC_CARBON]: Likewise.
6030 (XtPointer): Move typedef to macgui.h.
6031 (enum button_type): Move enum to macgui.h.
6032 (widget_value): Move typedef to macgui.h.
6033 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6034 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6035 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6036 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6037 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6038 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6039 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6040 (popup_activated_flag): Make variable non-static.
6041 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6042 (add_menu_item, fill_menu, dispose_menus):
6043 Move functions to mactoolbox.c.
6044 (restore_show_help_function, menu_target_item_handler)
6045 (install_menu_target_item_handler, mac_handle_dialog_event)
6046 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6047 [TARGET_API_MAC_CARBON]: Likewise.
6048 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6049 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6050 (find_and_call_menu_selection, name_is_separator): Make function
6051 non-static.
6052 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6053 to mactoolbox.c.
6054 (set_frame_menubar): Don't call install_menu_quit_handler.
6055 (menu_item_selection): New variable.
6056 (mac_menu_show): Use create_and_show_popup_menu.
6057 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6058 selection but set variable menu_item_selection. All uses changed.
6059 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6060 Call install_menu_quit_handler. Move to mactoolbox.c.
6061
6062 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6063 (Selection): Move typedef to macgui.h.
6064 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6065 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6066 Make variables non-static.
6067 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6068 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6069 Make functions non-static.
6070 (Vmac_service_selection) [MAC_OSX]: Likewise.
6071 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6072 (mac_valid_selection_target_p, mac_clear_selection)
6073 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6074 (mac_put_selection_value, mac_selection_has_target_p)
6075 (mac_get_selection_value, mac_get_selection_target_list)
6076 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6077 Move functions to mactoolbox.c.
6078 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6079 Likewise.
6080 (copy_scrap_flavor_data, mac_handle_service_event)
6081 (install_service_handler) [MAC_OSX]: Likewise.
6082 (syms_of_macselect) <Vmac_dnd_known_types>:
6083 Use mac_dnd_default_known_types.
6084
6085 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6086 Move to mactoolbox.c.
6087 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6088 (Fx_selection_owner_p): Add EXFUN.
6089 (install_window_handler, remove_window_handler, XSetWindowBackground):
6090 Remove externs.
6091 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6092 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6093 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6094 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6095 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6096 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6097 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6098 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6099 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6100 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6101 (mac_valid_selection_target_p, mac_clear_selection)
6102 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6103 (mac_put_selection_value, mac_selection_has_target_p)
6104 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6105 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6106 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6107 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6108 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6109 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6110 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6111 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6112 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6113
6114 * mactoolbox.c: New file.
6115
61162008-04-18 Jason Rumney <jasonr@gnu.org>
6117
6118 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6119
61202008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6121
6122 * character.c (Fmultibyte_char_to_unibyte):
6123 Return latin1 chars unchanged.
6124
6125 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6126 relocated if it points to `name'.
6127
61282008-04-17 Kenichi Handa <handa@m17n.org>
6129
6130 * data.c (Faset): Allow setting a multibyte character in an
6131 ASCII-only unibyte string.
6132
6133 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6134
61352008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6136
6137 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6138 done in config.h.
6139
61402008-04-16 Juanma Barranquero <lekktu@gmail.com>
6141
6142 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6143 (Fchar_direction): Add usage in the docstring.
6144
61452008-04-15 Chong Yidong <cyd@stupidchicken.com>
6146
6147 * keyboard.c (read_key_sequence): Remove always-true checks.
6148
61492008-04-14 Jason Rumney <jasonr@gnu.org>
6150
6151 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6152 compatibility struct, for better underline positioning.
6153
61542008-04-13 David Hansen <david.hansen@gmx.net>
6155
6156 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6157 string.
6158
61592008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6160
6161 * m/hp800.h (XUINT, XSET): Remove.
6162
61632008-04-12 Juanma Barranquero <lekktu@gmail.com>
6164
6165 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6166 previous change.
6167
61682008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6169
6170 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6171 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6172
61732008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6174
6175 * keymap.h (map_keymap_canonical): Declare.
6176 * xmenu.c (single_keymap_panes): Use it.
6177
61782008-04-11 Glenn Morris <rgm@gnu.org>
6179
6180 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6181 set the target's value to that of the alias.
6182
61832008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6184
6185 * term.c (set_tty_color_mode): Left over typo.
6186
61872008-04-10 Michael Albinus <michael.albinus@gmx.de>
6188
6189 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6190 only after check for file name handler functions. Signal, when
6191 native functionality is not supported.
6192 (syms_of_fileio): Declare it unconditionally.
6193
61942008-04-10 Jason Rumney <jasonr@gnu.org>
6195
6196 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6197 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6198
6199 * w32.c (logon_network_drive): Also logon to remote drives that
6200 are mapped to drive letters.
6201
62022008-04-10 Glenn Morris <rgm@gnu.org>
6203
6204 * xdisp.c (truncate-partial-width-windows): Doc fix.
6205
62062008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6207
6208 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6209 Move functions to minibuffer.el.
6210 (syms_of_fileio): Don't declare them.
6211
62122008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6213
6214 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6215 (syms_of_minibuf): Remove its initialization.
6216
6217 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6218
62192008-04-09 Juanma Barranquero <lekktu@gmail.com>
6220
6221 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6222
62232008-04-09 Jason Rumney <jasonr@gnu.org>
6224
6225 * makefile.w32-in (distclean): Delete makefile too.
6226 (maintainer-clean): New target.
6227
6228 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6229
6230 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6231 for new font backend and composite cases.
6232
62332008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6234
6235 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6236 Most of the code moved to run_timers.
6237 (do_pending_atimers): Call run_timers.
6238 (run_timers): New function.
6239
6240 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6241 run atimers.
6242
6243 * process.c (wait_reading_process_output): The same as above.
6244
62452008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6246
6247 * minibuf.c (last_exact_completion): Remove variable.
6248 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6249 (complete_and_exit_1, complete_and_exit_2)
6250 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6251 (Fdisplay_completion_list, display_completion_list_1)
6252 (Fminibuffer_completion_help, Fself_insert_and_exit)
6253 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6254 minibuffer.el.
6255 (syms_of_minibuf): Remove corresponding initializations.
6256
6257 * keyboard.c (Qdeactivate_mark): New var.
6258 (command_loop_1): Use it to call `deactivate-mark'.
6259 (syms_of_keyboard): Initialize it.
6260
6261 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6262 to another frame.
6263 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6264 Don't call set_tty_color_mode.
6265 (store_frame_param): Reset previous_frame rather than call
6266 set_tty_color_mode.
6267 * term.c (set_tty_color_mode): Rewrite.
6268 * dispextern.h (set_tty_color_mode): New type.
6269 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6270
62712008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6272
6273 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6274 for generic chars, which do not exist any more in emacs-unicode.
6275
62762008-04-08 Michael Albinus <michael.albinus@gmx.de>
6277
6278 * coding.c (detect_coding_emacs_mule)
6279 (Ffind_operation_coding_system): Fix typo.
6280
62812008-04-08 Jason Rumney <jasonr@gnu.org>
6282
6283 * w32uniscribe.c (SNAME): Extract only symbol name.
6284
6285 * w32font.h (struct w32_metric_cache): New struct.
6286 (w32font_info): Use it.
6287 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6288 (CACHE_BLOCKSIZE): New constants.
6289
6290 * w32font.c (Qja, Qko, Qzh): New symbols.
6291 (syms_of_w32font): Initialise them.
6292 (font_matches_spec): Use them to filter by language.
6293 (recompute_cached_metrics): Remove function.
6294 (compute_metrics, clear_cached_metrics): New functions.
6295 (w32font_encode_char): Use them to manage metric cache.
6296 (w32font_text_extents): Cache metrics for all glyphs on demand.
6297 Delay converting glyph indices to WORD until needed.
6298 (w32font_open_internal): Initialize metric cache to empty.
6299 (registry_to_w32_charset): Charset should always be a symbol.
6300 (fill_in_logfont, list_all_matching_fonts): Family should
6301 always be a symbol.
6302
63032008-04-06 Jason Rumney <jasonr@gnu.org>
6304
6305 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6306 Give up if glyph indices not supported. Use uniscribe obtained
6307 ABC widths for individual metrics. Map glyph clusters back to
6308 characters using fClusterStart flag. Return number of glyphs
6309 produced, not chars processed.
6310 (uniscribe_shape): Map char at FROM to current glyph.
6311
63122008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6313
6314 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6315 Use SetMenuItemHierarchicalMenu.
6316
63172008-04-05 Jason Rumney <jasonr@gnu.org>
6318
6319 * image.c (pbm_load): Allow color values up to 65535.
6320 Throw an error if max_color_idx is outside the supported range.
6321 Report an error when image size is invalid.
6322 Read two bytes at a time when raw images have max_color_idx above 255.
6323
63242008-04-05 Eli Zaretskii <eliz@gnu.org>
6325
6326 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6327 cFileName a file name that includes `?' characters, use the 8+3
6328 alias in cAlternateFileName instead.
6329
63302008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6331
6332 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6333 append "CCL: Quitted" when the CCL program is quitted.
6334 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6335
6336 * ccl.h (struct ccl_program): New member quit_silently.
6337
63382008-04-05 Chong Yidong <cyd@stupidchicken.com>
6339
6340 * search.c (compile_pattern_1): Treat non-nil and non-string of
6341 search-spaces-regexp as nil.
6342
6343 * minibuf.c (Fassoc_string): Tweak docstring.
6344
63452008-04-05 Eli Zaretskii <eliz@gnu.org>
6346
6347 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6348 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6349 2008-03-14 to force inode be positive.
6350
6351 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6352 _S_* ones, since we now use our own sys/stat.h.
6353 (stat, fstat): Don't mangle the inode number.
6354 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6355
63562008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6357
6358 * frame.h (struct frame): Give one more bit to `visible' since we use
6359 values larger than 1 to indicate obscured frames on ttys.
6360
6361 * keymap.c (Qkeymap_canonicalize): New var.
6362 (Fmap_keymap_internal): New fun.
6363 (describe_map): Use keymap-canonicalize.
6364
6365 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6366 (Fundo_boundary): Set them.
6367 (syms_of_undo): Initialize them.
6368 (record_point): Use them instead of last_point_position*.
6369 (last_undo_buffer): Change type.
6370
63712008-04-04 Jason Rumney <jasonr@gnu.org>
6372
6373 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6374 (recompute_cached_metrics): Don't set ascent and descent per char.
6375
6376 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6377 (uniscribe_check_otf): Add GC protection before consing.
6378 Rearrange loop for counting features.
6379
63802008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6381
6382 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6383 buffer with byte-size of source buffer.
6384
63852008-04-03 Chong Yidong <cyd@stupidchicken.com>
6386
6387 * callint.c (Fcall_interactively): Handle temporary region even
6388 when shift-select-mode is off.
6389
63902008-04-03 Jason Rumney <jasonr@gnu.org>
6391
6392 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6393
63942008-04-03 Kenichi Handa <handa@m17n.org>
6395
6396 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6397 (CATEGORY_MASK_UTF_16): Likewise.
6398 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6399 binary file.
6400 (detect_coding): Add null-byte detection for a binary file.
6401 (detect_coding_system): Likewise.
6402
64032008-04-03 Jason Rumney <jasonr@gnu.org>
6404
6405 * w32uniscribe.c: New file.
6406
6407 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6408
6409 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6410
6411 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6412 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6413 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6414 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6415 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6416 (Qphonetic): New symbols.
6417 (syms_of_w32font): Initialize them.
6418 (font_supported_scripts): Use them.
6419 (w32font_list_family): List all charsets.
6420 (w32font_text_extents, recompute_cached_metrics): Fix metric
6421 calculations.
6422 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6423 Give opentype fonts their own format.
6424 (font_matches_spec): New arguments backend and logfont.
6425 Handle :otf spec for uniscribe backend.
6426 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6427 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6428
6429 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6430 font backend.
6431 (globals_of_w32fns): Initialize uniscribe font backend.
6432
6433 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6434 dependencies.
6435 (w32uniscribe.$(O)): New file to build.
6436 (FONT_OBJ): Include w32uniscribe.$(O).
6437 (LIBS): Add uniscribe libraries.
6438
6439 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6440
64412008-04-02 Chong Yidong <cyd@stupidchicken.com>
6442
6443 * callint.c (Vshift_select_mode): New var.
6444 (Finteractive): Document new ^ spec.
6445 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6446 is present.
6447
6448 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6449 (command_loop_1): Avoid running the direct display versions of
6450 forward-char and backward-char if shift-selection may occur.
6451 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6452 shift-translation takes place.
6453
6454 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6455 avoid clobbering by define-minor-mode.
6456
6457 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6458 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6459
6460 * syntax.c (Fforward_word): Add ^ interactive spec.
6461
6462 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6463 (Fscroll_right): Add ^ interactive spec.
6464
64652008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6466
6467 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6468
6469 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6470
6471 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6472
64732008-03-31 Juri Linkov <juri@jurta.org>
6474
6475 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6476
64772008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6478
6479 * gtkutil.c (xg_set_geometry): Fix indentation.
6480 (xg_resize_outer_widget): Remove.
6481 (x_wm_size_hint_off): Fix indentation.
6482 (xg_frame_set_char_size): Call flush_and_sync after
6483 gtk_window_resize.
6484 (x_wm_set_size_hint): Pass NULL as geometry window to
6485 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6486 Add menu bar and tool bar height to base height.
6487 (xg_update_frame_menubar, free_frame_menubar)
6488 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6489 (update_frame_tool_bar, free_frame_tool_bar):
6490 Change xg_resize_outer_widget to xg_frame_set_char_size.
6491
64922008-03-30 Michael Albinus <michael.albinus@gmx.de>
6493
6494 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6495 (Fdbus_call_method): New parameter TIMEOUT.
6496 (dbus-send-signal): Optimize UNGCPRO call.
6497
64982008-03-29 Juri Linkov <juri@jurta.org>
6499
6500 * window.c (Fdisplay_buffer): Move call to
6501 Vsplit_window_preferred_function out of conditions that check
6502 if window is eligible for vertical splitting.
6503 When Vsplit_window_preferred_function is non-nil, call it and use
6504 its non-nil return value as window. Otherwise, continue doing
6505 vertical splitting using Fsplit_window with arg horflag=nil.
6506 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6507 default value from `split-window' to nil.
6508
65092008-03-29 Juri Linkov <juri@jurta.org>
6510
6511 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6512 for interactive code letters 'b' and 'B'.
6513
65142008-03-29 Eli Zaretskii <eliz@gnu.org>
6515
6516 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6517 multibyte string.
6518
65192008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6520
6521 * keyboard.c (pending_funcalls): New var.
6522 (timer_check): Run it.
6523 (syms_of_keyboard): Initialize it.
6524 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6525 (Vdelete_terminal_functions): New vars.
6526 (syms_of_terminal): Initialize them.
6527 (Fdelete_terminal): Run delete-terminal-functions.
6528 * xdisp.c (safe_eval): Rewrite.
6529 (safe_call2): New fun.
6530 * frame.c (Qdelete_frame_functions): New var.
6531 (syms_of_frame): Initialize it.
6532 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6533 * lisp.h (safe_call2, pending_funcalls): Declare.
6534
65352008-03-28 Andreas Schwab <schwab@suse.de>
6536
6537 * indent.c (Fmove_to_column): Move declaration before statements.
6538
65392008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6540
6541 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6542 (struct frame): Use bit fields for boolean vars.
6543
6544 * process.c (server_accept_connection): Simplify naming.
6545 (emacs_get_tty_pgrp): Use SDATA.
6546
6547 * coding.c (decode_coding_object): Fix last change.
6548
65492008-03-27 Jason Rumney <jasonr@gnu.org>
6550
6551 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6552
65532008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6554
6555 * charset.c (Fdefine_charset_internal): Change the way of
6556 registering charsets in Vcharset_order_list.
6557 (syms_of_charset): Make the charset `eight-bit' supplementary.
6558
65592008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6560
6561 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6562 operations, to avoid having the difference between pointers
6563 overflow.
6564
65652008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6566
6567 * indent.c (check_display_width): New fun.
6568 (scan_for_column): Use it.
6569
6570 * data.c (syms_of_data): Mark most-positive-fixnum and
6571 most-negative-fixnum as constants.
6572
6573 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6574
6575 * indent.c (scan_for_column): Extract from current_column_1.
6576 Merge with the same code from Fmove_to_column.
6577 (current_column_1, Fmove_to_column): Use it.
6578
65792008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6580
6581 * keymap.c (map_keymap_internal): New fun.
6582 (map_keymap): Use it.
6583 (Fmap_keymap_internal): New fun.
6584 (Fmap_keymap): Remove left-out test from before make_save_value.
6585
6586 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6587
6588 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6589 Use XCAR/XCDR.
6590
6591 * process.h (struct Lisp_Process): Remove filter_multibyte.
6592 * process.c (QCfilter_multibyte): Remove.
6593 (setup_process_coding_systems): Don't use filter_multibyte.
6594 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6595 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6596 (Fset_process_filter_multibyte): Change the coding-system to
6597 approximate the previous behavior.
6598 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6599 coding-system.
6600
6601 * coding.c (decode_coding_object): When not decoding into a buffer,
6602 obey the coding system's preference of (uni|multi)byte.
6603
66042008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6605
6606 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6607 every char is changed and has a different byte-length.
6608 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6609 Fix int -> EMACS_INT.
6610
66112008-03-23 David Hansen <david.hansen@gmx.net>
6612
6613 * dbusbind.c (xd_read_message): Remove extra copying of message
6614 strings. Check for NULL `interface' or `member'.
6615
66162008-03-22 Eli Zaretskii <eliz@gnu.org>
6617
6618 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6619 cFileName a file name that includes `?' characters, use the 8+3
6620 alias in cAlternateFileName instead.
6621
66222008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6623
6624 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6625
66262008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6627
6628 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6629 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6630 work on current_buffer only instead (that was already the case
6631 for some of the code anyway).
6632 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6633 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6634 (SET_PT, SET_PT_BOTH): Adjust.
6635 * intervals.h (set_point, temp_set_point, set_point_both)
6636 (temp_set_point_both): Remove redundant declarations.
6637
66382008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6639
6640 * fileio.c (Finsert_file_contents):
6641 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6642 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6643 when buffer != current_buffer anyway.
6644
66452008-03-20 Andreas Schwab <schwab@suse.de>
6646
6647 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6648 as default.
6649
66502008-03-19 Jason Rumney <jasonr@gnu.org>
6651
6652 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6653 (syms_of_w32fns): Initialize them.
6654 (HOURGLASS_ID): New constant.
6655 (x_window_to_frame): Don't check hourglass_window.
6656 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6657 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6658 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6659 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6660 Only change the cursor if hourglass is not active.
6661 (Fx_create_frame): Initialize frame's current_cursor.
6662 (hourglass_atimer): Remove.
6663 (hourglass_started): New function.
6664 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6665 (show_hourglass): Adapt to w32, changing argument to frame.
6666
6667 * w32term.h (struct w32_output): Remove hourglass_window.
6668 Add current_cursor.
6669
6670 * eval.c (call_debugger, Fsignal):
6671 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6672 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6673 (Fexecute_extended_command, cancel_hourglass_unwind):
6674 * minibuf.c (read_minibuf):
6675 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6676
66772008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6678
6679 * window.c (run_funs): New fun.
6680 (run_window_configuration_change_hook): Use it to run the buffer-local
6681 and the global part of the hook.
6682
6683 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6684 (unwind_format_mode_line): Restore selected window.
6685 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6686
66872008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6688
6689 * editfns.c (Fchar_equal): Check they are valid characters.
6690
6691 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6692
66932008-03-17 Andreas Schwab <schwab@suse.de>
6694
6695 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6696 against a charset.
6697
6698 * lisp.h (Fbuffer_list): Declare.
6699
67002008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6701
aac0c6e3
MR
6702 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6703 handlebox_widget is != 0.
6704
67052008-03-16 Juri Linkov <juri@jurta.org>
6706
6707 * callint.c (Fcall_interactively): For interactive code letters
6708 'b' and 'B' put the buffer list into the list of default "future"
6709 values of the minibuffer.
6710
67112008-03-16 Andreas Schwab <schwab@suse.de>
6712
6713 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6714 modifiers.
6715
6716 * regex.c (re_match_2_internal): Correct matching of a charset
6717 against latin-1 characters.
6718
67192008-03-16 Kenichi Handa <handa@m17n.org>
6720
6721 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6722 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6723 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6724 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6725 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6726 CHAR_STRING_ADVANCE.
6727 (produce_chars): Fix for the case that the source and the
6728 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6729 instead of CHAR_STRING_ADVANCE.
6730 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6731 STRING_CHAR_ADVANCE.
6732
67332008-03-15 Andreas Schwab <schwab@suse.de>
6734
6735 * regex.c (re_match_2_internal): Correct matching of eight bit
6736 characters in unibyte strings.
6737
67382008-03-15 Martin Rudalics <rudalics@gmx.at>
6739
6740 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6741 at end of range when it coincides with the end of the buffer.
6742
67432008-03-14 Eli Zaretskii <eliz@gnu.org>
6744
6745 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6746
6747 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6748
67492008-03-14 Jason Rumney <jasonr@gnu.org>
6750
6751 * editfns.c (initial_tz): New variable.
6752 (syms_of_editfns): Initialize it.
6753 (Fset_time_zone_rule): Set it when first called.
6754 Use it when TZSTRING is nil.
6755
6756 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6757 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6758 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6759 (globals_of_w32fns): Initialize them.
6760 (compute_tip_xy): Use them to position tooltips.
6761
67622008-03-14 Glenn Morris <rgm@gnu.org>
6763
6764 * emacs.c (main): Revert previous change.
6765 (standard_args): Revert -internal-script back to -scriptload,
6766 and remove the long-option form.
6767
67682008-03-13 Glenn Morris <rgm@gnu.org>
6769
6770 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6771 Remove option -enable-font-backend.
6772
67732008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6774
6775 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6776
67772008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6778
6779 * xterm.c (x_connection_closed): For GTK: If this is the last
6780 terminal just exit without closing the display.
6781
67822008-03-11 Jason Rumney <jasonr@gnu.org>
6783
6784 * w32font.c (w32font_full_name): Use floor to round.
6785
67862008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6787
6788 * sound.c (alsa_configure): Declare vol at beginning of block.
6789
6790 * fontset.c (Ffontset_info): Remove extra semicolon.
6791
67922008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6793
6794 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6795 size of resulting string.
6796
67972008-03-10 Jason Rumney <jasonr@gnu.org>
6798
6799 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6800
68012008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6802
6803 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6804 Don't pretend as if characters with display property haven't been
6805 consumed for string-replacing-string case.
6806
68072008-03-08 Kim F. Storm <storm@cua.dk>
6808
6809 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6810 (get_next_display_element, next_element_from_string)
6811 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6812
68132008-03-08 Andreas Schwab <schwab@suse.de>
6814
6815 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6816
68172008-03-06 Jason Rumney <jasonr@gnu.org>
6818
6819 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6820 when charset not specified. Only translate ANSI to unicode when
6821 font_type is truetype.
6822 (w32font_coverage_ok): New function.
6823 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6824
68252008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6826
6827 * lread.c (Fread_char): Resolve modifiers.
6828 (Fread_char_exclusive): Likewise.
6829
6830 * character.c (char_resolve_modifier_mask): New function.
6831 (char_string): Use char_resolve_modifier_mask.
6832 (Fchar_resolve_modifiers): New function.
6833 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6834 function.
6835
68362008-03-04 Jason Rumney <jasonr@gnu.org>
6837
6838 * makefile.w32-in: Always include w32font.c in the build.
6839 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6840
68412008-03-04 Andreas Schwab <schwab@suse.de>
6842
6843 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6844 (versionclean): Likewise.
6845
68462008-03-04 Juanma Barranquero <lekktu@gmail.com>
6847
6848 * .cvsignore: Add oo.
6849
68502008-03-03 Andreas Schwab <schwab@suse.de>
6851
6852 * coding.c (decode_coding_object): Inhibit gap shrinking while
6853 decoding in place.
6854
68552008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6856
6857 * w32term.c: Remove unused include "gnu.h".
6858 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6859
6860 * gnu.h: Rename to ...
6861 * emacs-icon.h: ... this.
6862 * xterm.c: Use emacs-icon.h instead of gnu.h.
6863 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6864
68652008-03-03 Juanma Barranquero <lekktu@gmail.com>
6866
6867 * w32font.c: Include math.h.
6868
68692008-03-03 Jason Rumney <jasonr@gnu.org>
6870
6871 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6872 Compute options separately.
6873 (w32font_open_internal): Set glyph_idx before caching metrics.
6874
6875 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6876 Define if system headers don't.
6877 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6878 (w32font_encode_char): Don't declare here.
6879
6880 * w32font.c (Quniscribe, QCformat): New symbols.
6881 (syms_of_w32font): Define them.
6882 (w32font_has_char): Indicate uncertainty.
6883 (w32font_encode_char): Encode as glyph point. Make static.
6884 (recompute_cached_metrics): New function.
6885 (w32font_open_internal): Use it. Set font to use glyph points
6886 initially. Set format based on type of font.
6887 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6888 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6889 on it. Set format based on information available here.
6890 (add_font_entity_to_list): Identify backend based on opentype_only.
6891
68922008-03-02 Andreas Schwab <schwab@suse.de>
6893
6894 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6895
6896 * coding.c (decode_coding_big5, produce_chars):
6897 Fix typos in last change.
6898
68992008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6900
6901 * gnu.h: New icon.
6902
69032008-03-02 Kenichi Handa <handa@m17n.org>
6904
6905 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6906 `dos', don't decode '\r' if that is the last in the source.
6907 (decode_coding_utf_16, decode_coding_emacs_mule)
6908 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6909 (decode_coding_raw_text, decode_coding_charset): Likewise.
6910 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6911
69122008-03-01 Jason Rumney <jasonr@gnu.org>
6913
6914 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6915
69162008-03-01 Kim F. Storm <storm@cua.dk>
6917
6918 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6919
69202008-03-01 Jason Rumney <jasonr@gnu.org>
6921
6922 * w32font.c (w32font_full_name): New function.
6923 (w32font_open_internal): Use it.
6924
69252008-03-01 Kim F. Storm <storm@cua.dk>
6926
6927 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6928
69292008-03-01 Jason Rumney <jasonr@gnu.org>
6930
6931 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6932
69332008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6934
6935 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6936 xg_frame_resized when the event is for the edit widget.
6937
6938 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6939
6940 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6941 set_char_size.
6942 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6943 operations on widgets here. Just set frame size if needed.
6944 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6945 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6946 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6947 the whole frame.
6948 (xg_create_tool_bar): Move attachment of the tool bar to
6949 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6950 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6951
69522008-03-01 Jason Rumney <jasonr@gnu.org>
6953
6954 * w32fns.c (w32_msg_pump): Disable debug code.
6955
69562008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6957
6958 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6959
69602008-02-29 Chong Yidong <cyd@stupidchicken.com>
6961
6962 * xdisp.c (next_overlay_string): Don't set
6963 overlay_strings_at_end_processed_p if we're currently reading from
6964 a display string.
6965
69662008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6967
6968 * xdisp.c (get_overlay_strings_1): Fix typo.
6969
69702008-02-29 Chong Yidong <cyd@stupidchicken.com>
6971
6972 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6973
69742008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6975
6976 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6977
6978 * xdisp.c (display_mode_element): Cancel the previous change.
6979 (decode_mode_spec): Likewise.
6980 (handle_auto_composed_prop): Don't make composition if it->string
6981 is a string.
6982
69832008-02-27 Kim F. Storm <storm@cua.dk>
6984
6985 * lisp.h (GLYPH): Change type from int to struct with separate char
6986 and face_id members.
6987 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6988 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6989 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6990 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6991 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6992 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6993 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6994 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6995 handle new Lisp glyph code encoding, either an integer or a cons.
6996
6997 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6998 (GLYPH_ALIAS): Delete.
6999 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7000 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7001 (GLYPH_FROM_CHAR): Replace macro by ...
7002 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7003
7004 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7005 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7006 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7007 (GLYPH_INVALID_P): New macro.
7008 (spec_glyph_lookup_face): Update prototype.
7009
7010 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7011 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7012 new glyph code encoding.
7013 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7014 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7015
7016 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7017 Adapt to new glyph type and new glyph code encoding.
7018
7019 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7020
7021 * indent.c (current_column, current_column_1, Fmove_to_column)
7022 (compute_motion): Adapt to new glyph code encoding.
7023
7024 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7025
70262008-02-27 Chong Yidong <cyd@stupidchicken.com>
7027
7028 * process.c (wait_reading_process_output): Check for window
7029 changes caused by timers.
7030 Suggested by Johan Bockgård.
7031
70322008-02-27 Glenn Morris <rgm@gnu.org>
7033
7034 * emacs.c (USAGE1): Add `--disable-font-backend'.
7035
70362008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7037
7038 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7039 is made to the buffer.
7040
70412008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7042
7043 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7044 (face_at_string_position):
7045 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7046 (face_at_string_position):
7047 * xdisp.c (display_string, next_overlay_change):
7048 * buffer.h (overlays_at):
7049 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7050 Update callers.
7051
70522008-02-26 Chong Yidong <cyd@stupidchicken.com>
7053
7054 * editfns.c (Fformat): Doc fix.
7055
70562008-02-26 Juanma Barranquero <lekktu@gmail.com>
7057
7058 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7059 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7060 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7061
70622008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7063
7064 * buffer.c (Fbuffer_swap_text): New function.
7065 (syms_of_buffer): Defsubr it.
7066
70672008-02-25 Chong Yidong <cyd@stupidchicken.com>
7068
7069 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7070
70712008-02-25 Jason Rumney <jasonr@gnu.org>
7072
7073 * w32font.c (w32font_draw): Draw one character at a time when padding.
7074
70752008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7076
7077 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7078 Handle a nil arg. Use run_window_configuration_change_hook.
7079 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7080 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7081 Use run_window_configuration_change_hook.
7082
70832008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7084
7085 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7086 1-pixel width.
7087
70882008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7089
7090 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7091 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7092 if the glyph in the font is zero pixel with.
7093
7094 * dispextern.h (struct glyph_string): New member padding_p.
7095
7096 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7097
7098 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7099
7100 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7101
7102 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7103
7104 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7105
71062008-02-25 Jason Rumney <jasonr@gnu.org>
7107
7108 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7109
71102008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7111
7112 Allow fine-grained image-cache flushing.
7113 * dispextern.h (struct image): Add `dependencies' field.
7114 (clear_image_caches): Change arg to Lisp_Object.
7115 * image.c (make_image): Initialize `dependencies' field.
7116 (clear_image_cache): Change arg to allow fine-grained flushing.
7117 Perform the flush even if image-cache-eviction-delay is nil.
7118 (clear_image_caches): Change arg to Lisp_Object.
7119 (Fclear_image_cache): Expand meaning of the argument.
7120 (mark_image): Mark `dependencies' field.
7121 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7122 (lface_hash): Use XHASH rather than XFASTINT.
7123 (face_at_buffer_position): Fix int -> EMACS_INT position.
7124 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7125 (select_frame_for_redisplay): Remove code duplication.
7126 (redisplay_internal): Adapt arg to call to clear_image_caches.
7127
71282008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7129
7130 * s/vms4-0.h:
7131 * s/vms4-2.h:
7132 * s/vms4-4.h:
7133 * s/vms5-5.h: Remove, unused.
7134
7135 * s/irix5-2.h:
7136 * s/irix6-0.h:
7137 * s/riscos5.h:
7138 * s/mach-bsd4-3.h:
7139 * m/mips4.h: Remove files for obsolete systems.
7140
7141 * Makefile.in:
7142 * filelock.c:
7143 * unexmips.c:
7144 * m/hp9000s300.h:
7145 * m/iris4d.h:
7146 * s/aix3-1.h:
7147 * s/hpux.h:
7148 * s/msdos.h:
7149 * s/usg5-0.h:
7150 * s/usg5-2-2.h:
7151 * s/usg5-2.h:
7152 * s/usg5-3.h: Remove references to obsolete variables.
7153
7154 * s/irix5-0.h: Remove, move all the contents ...
7155 * s/irix6-5.h: ... here. Simplify.
7156 * config.in: Regenerate.
7157
71582008-02-24 Jason Rumney <jasonr@gnu.org>
7159
7160 * w32term.c (x_draw_glyph_string_background): Clear the background
7161 manually when cleartype is in use.
7162 (x_draw_glyph_string_foreground): Draw text transparently when
7163 cleartype is in use.
7164
7165 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7166 a font into it unless we have to.
7167
71682008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7169
7170 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7171 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7172
aac0c6e3
MR
71732008-02-18 Jason Rumney <jasonr@gnu.org>
7174
7175 * w32fns.c (Fw32_shell_execute): Encode parameters.
7176
71772008-02-09 Eli Zaretskii <eliz@gnu.org>
7178
7179 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7180
71812008-02-05 Juanma Barranquero <lekktu@gmail.com>
7182
7183 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7184
71852008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7186
7187 * xterm.c (x_set_offset): Don't change the gravity if
7188 CHANGE_GRAVITY is -1.
7189
71902008-02-23 Chong Yidong <cyd@stupidchicken.com>
7191
7192 * fileio.c (auto_save_error_occurred): New var.
7193 (auto_save_error): Set it.
7194 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7195 error occurred.
7196
71972008-02-23 Eli Zaretskii <eliz@gnu.org>
7198
7199 * w32.c (globals_of_w32): Add initializations for
7200 g_b_init_get_sid_sub_authority and
7201 g_b_init_get_sid_sub_authority_count.
7202
72032008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7204
7205 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7206 (font_parse_xlfd): Use them for sanity check.
7207 (Finternal_set_font_style_table): Make sure the table is bijective.
7208
7209 Consolidate the image_cache to the terminal struct.
7210 * termhooks.h (P_): Remove redundant def.
7211 (struct terminal): New field `image_cache'.
7212 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7213 of FRAME_X_IMAGE_CACHE.
7214 * xterm.h (struct x_display_info): Remove image_cache field.
7215 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7216 * w32term.h (struct w32_display_info): Remove image_cache field.
7217 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7218 * macterm.h (struct mac_display_info): Remove image_cache field.
7219 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7220 * xterm.c (x_term_init):
7221 * w32term.c (w32_term_init):
7222 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7223 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7224 Remove declarations.
7225 (clear_image_caches, mark_image_cache): New declarations.
7226 * xfaces.c (clear_face_cache):
7227 * xdisp.c (redisplay_internal): Use clear_image_caches.
7228 * image.c (clear_image_cache): Don't check that a frame is on
7229 a window-system before checking if it shares the same cache.
7230 (clear_image_caches): New function.
7231 (Fclear_image_cache): Use it.
7232 (mark_image): Move from allo.c.
7233 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7234 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7235 (mark_object): Don't call mark_image_cache for frames.
7236 (mark_terminals): Call mark_image_cache.
7237
7238 * lisp.h (Fdelete_terminal): Declare.
7239
7240 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7241 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7242 wrong_type_argument.
7243
72442008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7245
7246 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7247 malayalam.el, and tamil.el. Add sinhala.el.
7248
72492008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7250
7251 * xterm.c (x_connection_closed): Consolidate identical tests.
7252 (x_delete_terminal): Don't crash if called via x_connection_closed.
7253
72542008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7255
7256 * xdisp.c (decode_mode_spec): New arg string.
7257 (display_mode_element): Adjust for the above change.
7258
72592008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7260
7261 * callint.c (Fcall_interactively): Use AREF.
7262
72632008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7264
7265 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7266
72672008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7268
7269 * xfns.c (Fx_show_tip): Set string to " " if empty.
7270
72712008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7272
7273 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7274 with Qt.
7275
72762008-02-17 Kenichi Handa <handa@m17n.org>
7277
7278 * ftfont.c (ftfont_shape): Return Lispy number.
7279
7280 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7281 for GCs.
7282 (Finternal_set_font_selection_order): Call font_update_sort_order
7283 only when enable_font_backend is set.
7284 (realize_x_face): Set face->font_info to that of default face only
7285 when enable_font_backend is set.
7286
7287 * xdisp.c (handle_composition_prop): Set it->c to the fist
7288 character of the composed region.
7289 (fill_composite_glyph_string): Set base_face->font_info to
7290 s->font_info. Get a face for ascii from base_face->ascii_face.
7291 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7292 with a face already decided.
7293 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7294 non-negative.
7295 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7296 call font_prepare_composition unconditionally.
7297
7298 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7299
7300 * xterm.h (struct x_display_info): New member font.
7301
7302 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7303 (x_set_mouse_face_gc, x_new_font): Likewise.
7304 (x_term_init): Setup display_info->font.
7305 (x_delete_terminal): Free display_info->font.
7306
7307 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7308
7309 * ftxfont.c (ftxfont_default_fid): Delete it.
7310 (ftxfont_open): Set xfont->fid to 0.
7311 (ftxfont_end_for_frame): Clear data specific to the frame and the
7312 font-driver.
7313
7314 * xftfont.c (xftfont_default_fid): Delete it.
7315 (xftfont_open): Set xfont->fid to 0.
7316
7317 * fontset.c (FONTSET_OBJLIST): New macro.
7318 (fontset_find_font): Update font-object list of the fontset.
7319 (free_realized_fontset): New function.
7320 (free_face_fontset): Call free_realized_fontset.
7321 (Ffont_info): Call font_close_object only when enable_font_backend
7322 is set.
7323
7324 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7325 [HAVE_NTGUI]: Include w32term.h.
7326 [MAC_OS]: Include macterm.ch.
7327 (font_otf_ValueRecord): Use make_number.
7328 (font_finish_cache): Fix handling of reference count.
7329 (font_clear_cache): Update num_fonts.
7330 (font_open_entity): Update smallest_char_width and
7331 smallest_font_height of the frame.
7332 (font_close_object): Update num_fonts.
7333 (Fclear_font_cache): Fix finding the target cache data.
7334
73352008-02-16 Glenn Morris <rgm@gnu.org>
7336
7337 * fontset.c (Finternal_char_font): Fix compilation warning.
7338
73392008-02-16 Eli Zaretskii <eliz@gnu.org>
7340
7341 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7342 instead of char arrays. Enlarge the size of array passed to
7343 get_token_information.
7344
7345 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7346 warnings.
7347
73482008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7349
7350 * .gdbinit: Don't set `args', it breaks gdb --args.
7351
73522008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7353
7354 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7355 within a narrowed buffer.
7356
73572008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7358
7359 * coding.c (decode_coding_object, encode_coding_object):
7360 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7361
73622008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7363
7364 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7365 hardcoding 1.
7366 (detect_coding_system):
7367 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7368 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7369 * insdel.c (insert_from_gap):
7370 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7371 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7372 (string_to_multibyte):
7373 * character.c (chars_in_text, multibyte_chars_in_text):
7374 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7375
7376 * character.h (FETCH_STRING_CHAR_ADVANCE)
7377 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7378 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7379 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7380
7381 * casefiddle.c (casify_region): Only call after-change and composition
7382 functions on the part of the region that was changed.
7383
7384 * keyboard.c (read_avail_input):
7385 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7386
73872008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7388
7389 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7390 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7391
73922008-02-11 Juanma Barranquero <lekktu@gmail.com>
7393
7394 * w32menu.c (push_submenu_start, push_submenu_end)
7395 (push_left_right_boundary, push_menu_pane, push_menu_item):
7396 * keyboard.c (read_key_sequence): Don't pass args with side effects
7397 to AREF, it fails when compiling with -DENABLE_CHECKING.
7398
73992008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7400
7401 * Makefile.in (${lispsource}international/charprop.el):
7402 Delete this target.
7403
7404 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7405 emacs-unicode-2.
7406
74072008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7408
7409 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7410
74112008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7412
7413 * frame.c (Qnoelisp): New symbol.
7414 (syms_of_frame): Initialize it.
7415 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7416 harmless Elisp code, from a strong `force' from x_connection_closed.
7417 * frame.h (Qnoelisp): Declare.
7418 * xterm.c (x_connection_closed): Pass `noelisp'.
7419
7420 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7421 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7422 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7423 rather than `int' for the type of `type'.
7424
74252008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7426
7427 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7428
7429 * Makefile.in (GNUC): Remove support for gcc-1.x.
7430
74312008-02-10 Richard Stallman <rms@gnu.org>
7432
7433 * lisp.h (ASET): Use AREF, not ASLOT.
7434
74352008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7436
7437 * lisp.h (ASET): Check bounds.
7438
74392008-02-10 Glenn Morris <rgm@gnu.org>
7440
7441 * buffer.c (mode-name): Doc fix.
7442
74432008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7444
7445 * Makefile.in:
7446 * emacs.c:
7447 * gmalloc.c:
7448 * keyboard.c:
7449 * lisp.h:
7450 * m/ibm370aix.h:
7451 * process.c:
7452 * regex.c:
7453 * s/hpux.h:
7454 * sysdep.c:
7455 * sysselect.h:
7456 * systty.h:
7457 * unexec.c:
7458 * w32term.c:
7459 * xsmfns.c:
7460 * xterm.c: Remove code that deals with obsolete variables.
7461
7462 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7463
7464 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7465 nothing else needs it anymore.
7466
74672008-02-09 Eli Zaretskii <eliz@gnu.org>
7468
7469 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7470 instead of unibyte_char_to_multibyte.
7471
74722008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7473
7474 * s/gnu-linux.h: Remove commented out code.
7475
7476 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7477
7478 * Makefile.in: Update what RMS says about using autoconf.
7479 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7480 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7481 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7482 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7483
74842008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7485
7486 * keymap.c (Fkey_description): Move side effect outside of macro call.
7487
7488 * xfaces.c (Finternal_make_lisp_face):
7489 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7490
7491 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7492 (syms_of_fontset): Use ASET.
7493
7494 * fns.c (concat): Move side effect outside of macro call.
7495 (hash_clear): Use ASET.
7496
74972008-02-08 Richard Stallman <rms@gnu.org>
7498
7499 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7500 If FORCE, and frame has a surrogate minibuffer for another frame,
7501 delete the other frame first.
7502
75032008-02-07 Timo Savola <timo.savola@iki.fi>
7504
7505 * xterm.c (x_detect_focus_change): Handle embed client message.
7506 (handle_one_xevent): Ditto.
7507 (handle_one_xevent): If embedded and we get a button press/release,
7508 request focus.
7509 (xembed_set_info, xembed_send_message): New functions.
7510 (x_make_frame_visible): Call xembed_set_info if embedded.
7511 (x_make_frame_invisible): Call xembed_set_info if embedded.
7512 (x_term_init): Initialize Xatom_XEMBED.
7513 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7514 (x_iconify_frame): Ditto.
7515
7516 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7517 (enum xembed_info, enum xembed_message, enum xembed_focus)
7518 (enum xembed_modifier, enum xembed_accelerator): New.
7519 (xembed_set_info, xembed_send_message): Declare.
7520 (FRAME_X_EMBEDDED_P): New.
7521
7522 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7523 gtk_plug_new.
7524
7525 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7526 window ID of a frame.
7527 (x_window): Reparent frame if embedded.
7528 (Fx_create_frame): Don't set border width if embedded.
7529
7530 * emacs.c (USAGE3): Add --parent-id.
7531 (standard_args): Ditto.
7532
75332008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7534
7535 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7536
75372008-02-07 Jim Meyering <meyering@redhat.com>
7538
7539 Use "do...while (0)", not "if (1)...else" in macro definitions.
7540 The latter provokes a warning from gcc about the empty else, when
7541 followed by ";". Also, without that trailing semicolon, it would
7542 silently swallow up any following statement.
7543 * syntax.h (SETUP_SYNTAX_TABLE)
7544 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7545 * buffer.h (DECODE_POSITION): Likewise.
7546 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7547 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7548 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7549 (FETCH_CHAR_ADVANCE): Likewise.
7550 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7551
75522008-02-07 Jim Meyering <meyering@redhat.com>
7553
7554 * lread.c [lint]: Don't include <sys/inode.h>.
7555
75562008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7557
7558 * xselect.c (x_handle_dnd_message):
7559 * xmenu.c (digest_single_submenu, xmenu_show):
7560 * xdisp.c (with_echo_area_buffer_unwind_data)
7561 (format_mode_line_unwind_data, unwind_format_mode_line)
7562 (display_menu_bar):
7563 * eval.c (Ffetch_bytecode):
7564 * doc.c (store_function_docstring):
7565 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7566 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7567 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7568
75692008-02-07 Kenichi Handa <handa@m17n.org>
7570
7571 * ftxfont.c (ftxfont_open): Don't set
7572 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7573
7574 * ftfont.c (ftfont_open): Fix previous change.
7575
75762008-02-06 Jason Rumney <jasonr@gnu.org>
7577
7578 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7579 Use cached metrics for ASCII characters.
7580 (w32font_open_internal): Don't set font's owning_frame.
7581 Cache metrics for ASCII characters.
7582
7583 * w32font.h (struct w32font_info): Add ascii_metrics.
7584 Remove owning_frame.
7585
75862008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7587
7588 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7589 to negative value.
7590
7591 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7592
7593 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7594
7595 * charset.c (syms_of_charset): Set QCtest and Qeq.
7596
75972008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7598
7599 * process.c (Fstart_process):
7600 * callproc.c (Fcall_process): Handle the case where
7601 Funhandled_file_name_directory returns nil.
7602
7603 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7604 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7605 * font.c (check_gstring): Use them and AREF to access the vector before
7606 we know it's really a gstring.
7607 (Ffont_shape_text): Fix typo.
7608 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7609
7610 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7611 Declare.
7612
7613 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7614
76152008-02-05 Jason Rumney <jasonr@gnu.org>
7616
7617 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7618 Set smallest_font_height and smallest_char_width in display info.
7619
76202008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7621
7622 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7623
76242008-02-05 Miles Bader <miles@gnu.org>
7625
7626 * xfaces.c (get_lface_attributes, merge_named_face)
7627 (lookup_named_face, lookup_derived_face, realize_named_face):
7628 Revert 2008-02-01 change by cyd@stupidchicken.com.
7629
76302008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7631
7632 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7633 fallback fonts.
7634 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7635
76362008-02-04 Jason Rumney <jasonr@gnu.org>
7637
7638 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7639 set full_name.
7640 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7641
76422008-02-03 Jason Rumney <jasonr@gnu.org>
7643
7644 * makefile.w32-in (OBJ1): Include font.o here.
7645 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7646
76472008-02-02 Jason Rumney <jasonr@gnu.org>
7648
7649 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7650
76512008-02-01 Jason Rumney <jasonr@gnu.org>
7652
7653 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7654
7655 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7656
76572008-02-01 Andreas Schwab <schwab@suse.de>
7658
7659 * Makefile.in (shortlisp, lisp): Update for rename of
7660 ../lisp/language/myanmar.el.
7661
76622008-02-01 Chong Yidong <cyd@stupidchicken.com>
7663
7664 * xfaces.c (get_lface_attributes): Delete function.
7665 (merge_named_face, lookup_named_face, lookup_derived_face)
7666 (realize_named_face): Call lface_from_face_name directly, and use
7667 the fact that merge_face_vectors does not alter its FROM argument.
7668
76692008-02-01 Jason Rumney <jasonr@gnu.org>
7670
7671 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7672 input in the default locale. Handle non-Unicode multibyte input.
7673
76742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7675
7676 * fontset.c (reorder_font_vector): Exclude nil elements from the
7677 font group. Don't try multiple fonts.
7678 (fontset_font): Adjust for the above change.
7679 (Finternal_char_font): Return nil if the found font doesn't
7680 contain the character ch.
7681
7682 * Makefile.in (lisp, shortlisp): Add cham.el.
7683
76842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7685
7686 * font.h (FONTP): Make it return 1 also for a font-object.
7687
7688 * .gdbinit (xfontset): New function.
7689
7690 * font.c (font_find_for_lface): Check if the character C is
7691 supported or not only for the first font.
7692
7693 * fontset.c (reorder_font_vector): Fix typo.
7694 (fontset_find_font): Don't add a font-spec specifying a script.
7695 Use 0 (not Qt) for the indication of empty font-group. Change the
7696 format of RFONT-DEF. Return Qt if no font in the font-group
7697 support the character.
7698 (fontset_font): Adjust for the above change. If no font was
7699 found the character, remember that.
7700 (face_for_char): Adjust for the change of RFONT-DEF.
7701 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7702 no font for the target.
7703 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7704
77052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7706
7707 * font.c (font_load_for_face): Handle the case that the font in
7708 face->lface is a string.
7709
77102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7711
7712 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7713
77142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7715
7716 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7717 Fix previous change. If the frame is not on a window system,
7718 signal an error.
7719
77202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7721
7722 * coding.c (decode_coding_object, encode_coding_object): Adjust
7723 marker positions after conversion.
7724
7725 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7726
77272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7728
7729 * font.c (font_find_for_lface): Fix the handling of the return
7730 value of font_has_char.
7731 (Ffont_shape_text): Fix previous change.
7732
7733 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7734 (fontset_ref_and_range): Delete it.
7735 (fontset_find_font): Call char_table_ref_and_range instead of
7736 FONTSET_REF_AND_RANGE.
7737 (make_fontset): Don't setup font groups of Latin here.
7738 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7739 (new_fontset_from_font): Make the specified font the default for
7740 all Latin characters.
7741
77422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7743
7744 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7745 is on a window system before accessing the fontset of the frame.
7746
77472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7748
7749 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7750
7751 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7752 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7753
7754 * font.c (Ffont_shape_text): If the font driver doesn't have a
7755 shaper function, make zero-width glyphs to have at least one-pixel
7756 width. Fix setting of `to' field of glyphs.
7757
77582008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7759
7760 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7761 glyphs.
7762
7763 * font.h (struct font_driver): Improve docstring of member `shape'.
7764
77652008-02-01 Kenichi Handa <handa@m17n.org>
7766
7767 * composite.c (syms_of_composite): Fix docstring of
7768 auto-composition-function.
7769
7770 * font.h (LGLYPH_SIZE): New macro.
7771
7772 * font.c (Ffont_fill_gstring): Stop filling when a character not
7773 supported by the font is found.
7774 (Ffont_shape_text): When a shape callback function returns nil,
7775 try at most two more times with larger gstring.
7776 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7777
7778 * xdisp.c (handle_auto_composed_prop): Change the argument to
7779 auto-composition-function.
7780
7781 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7782 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7783 Lispy glyph and store it in the lgstring.
7784
7785 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7786
7787 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7788
77892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7790
7791 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7792
7793 * fontset.c (Vfont_encoding_charset_alist): New variable.
7794 (syms_of_fontset): DEFVAR it.
7795 (reorder_font_vector, fontset_find_font): Optimize for the case of
7796 no need of reordering.
7797 (face_for_char): Map the charset property by
7798 Vfont_encoding_charset_alist.
7799
78002008-02-01 Jason Rumney <jasonr@gnu.org>
7801
7802 * w32font.c (logfonts_match): Don't check adstyle here.
7803 (font_matches_spec): Check here against physical font instead.
7804 (add_font_entity_to_list): Avoid some substitutions.
7805
7806 * font.c (font_parse_fcname): Default weight and slant to normal.
7807 (font_score): Prefer normal fonts if weight or slant unspecified.
7808 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7809 match freetype scores.
7810
78112008-02-01 Jason Rumney <jasonr@gnu.org>
7812
7813 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7814 font, as it may have been deleted.
7815 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7816 most common hyphenless variation.
7817 (logfonts_match): Check generic family.
7818 (font_matches_spec): Don't check generic family here.
7819 (fill_in_logfont): Set generic family based on adstyle.
7820
7821 * w32font.h (w32font_get_cache): Update declaration.
7822
78232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7824
7825 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7826
7827 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7828 If none of the new drivers are available, call font_update_drivers
7829 with the old drivers.
7830
7831 * w32font.c (w32font_get_cache): Adjust the argument type.
7832
7833 * xfont.c (xfont_get_cache): Adjust the argument type.
7834
7835 * font.h (struct font_driver): Change argument type of get_cache.
7836
7837 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7838
7839 * font.c (Ffont_get): Fix arguments to Fassoc.
7840 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7841 (font_clear_cache): New function.
7842 (font_list_entities, font_matching_entity): Use font_get_cache.
7843 (font_update_drivers): Call font_clear_cache when finishing a driver.
7844
7845 * fontset.c (fontset_find_font): Fix previous change.
7846
78472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7848
7849 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7850 dpyinfo->font_table.
7851 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7852 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7853
7854 * font.c (font_at): Handle the case that the arg C is negative.
7855 Handle the unibyte case.
7856 (Ffont_at): Call font_at with the arg C -1.
7857
7858 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7859 the position here, and call font_at with the arg C -1.
7860 Don't check the range of the existing composition at the point.
7861
78622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7863
7864 * fontset.c (fontset_add): New args charset_id and family.
7865 Change caller.
7866 (load_font_get_repertory, fontset_find_font): Assume that
7867 font_spec is always a font-spec object.
7868 (Fset_fontset_font): Always store a font-spec object in a fontset.
7869
7870 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7871 instead of get_property_and_range.
7872
78732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7874
7875 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7876 (xftfont_open): Don't keep locking face.
7877 (xftfont_close): Don't unlock face.
7878 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7879
7880 * fontset.c (fontset_find_font): Don't prefer a font of
7881 supplementary charset.
7882
78832008-02-01 Kenichi Handa <handa@m17n.org>
7884
7885 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7886 script, langsys_tag to langsys, new member script.
7887 (OTF_TAG_STR): Terminate by '\0'.
7888 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7889 listing to the script specified in that property. Fix arg to
7890 OTF_check_features.
7891
78922008-02-01 Jason Rumney <jasonr@gnu.org>
7893
7894 * w32font.h: New file.
7895
7896 * w32font.c: Include it.
7897 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7898 (w32font_open): Set owning_frame.
7899 (w32font_text_extents): Use owning_frame.
7900 (struct font_callback_data): Add opentype_only field.
7901 (add_font_entity_to_list): Use it to filter fonts.
7902 Don't check against full name.
7903 (w32font_list_internal): New function.
7904 (w32font_list): Use it.
7905 (w32font_match_internal): New function.
7906 (w32font_match): Use it.
7907 (w32font_open_internal): New function.
7908 (w32font_open): Use it.
7909 (w32font_get_cache, w32font_close, w32font_has_char)
7910 (w32font_encode_char, w32font_text_extents, w32font_draw):
7911 Make non-static.
7912
7913 * makefile.w32-in (w32font.o): Depend on w32font.h.
7914
79152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7916
7917 * charset.c (Fdefine_charset_internal): Record a supplementary
7918 charset at the tail of Vcharset_order_list.
7919
7920 * font.c (Ffont_shape_text): Fix the return value.
7921
7922 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7923
7924 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7925
79262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7927
7928 * ftfont.c (struct OpenTypeSpec): New struct.
7929 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7930 (ftfont_get_open_type_spec): New function.
7931 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7932
7933 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7934
79352008-02-01 Jason Rumney <jasonr@gnu.org>
7936
7937 * w32font.c (add_font_entity_to_list): Compare only the beginning
7938 of full name.
7939
79402008-02-01 Kenichi Handa <handa@m17n.org>
7941
7942 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7943 Never return HANDLED_RECOMPUTE_PROPS.
7944
79452008-02-01 Kenichi Handa <handa@m17n.org>
7946
7947 * font.c (font_gstring_produce): Delete it.
7948
7949 * composite.h (COMPOSITION_METHOD):
7950 Handle COMPOSITION_WITH_GLYPH_STRING.
7951
79522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7953
7954 * xfont.c (Qx): Delete.
7955 (syms_of_xfont): Don't initialize Qx.
7956
7957 * composite.h (enum composition_method):
7958 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7959
79602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7961
7962 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7963 (choose_face_font): Accept new form of font-spec.
7964
7965 * frame.h (font_driver_list): Declare it unconditionally.
7966 (struct frame): Define members font_driver_list and font_data_list
7967 unconditionally.
7968
7969 * fontset.c: Include "font.h" unconditionally.
7970 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7971 (Fset_fontset_font): Accept a font-spec object.
7972
7973 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7974 PIXEL_SIZE part a wild card.
7975
7976 * dispextern.h (struct glyph_string): Define members clip and
7977 num_clips unconditionally.
7978 (struct face): Define members font_info and extra unconditionally.
7979
7980 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7981 ftfont_info only when HAVE_LIBOTF is defined.
7982
79832008-02-01 Andreas Schwab <schwab@suse.de>
7984
7985 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7986 and end.
7987
79882008-02-01 Jason Rumney <jasonr@gnu.org>
7989
7990 * w32font.c (w32font_driver): Add new fields.
7991
79922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7993
7994 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7995 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7996 (LIBES): Add @M17N_FLT_CFLAGS@.
7997
7998 * composite.c (compose_text): Don't treat the new style
7999 composition specially.
8000
8001 * emacs.c (main): Call syms_of_font unconditionally.
8002
8003 * font.h (FONT_ENTITY_NOT_LOADABLE)
8004 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8005 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8006 (struct font_driver): New member shape.
8007 (font_registry_charsets): Extern it.
8008 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8009 (font_otf_capability, font_drive_otf): Delete their externs.
8010
8011 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8012 (font_charset_alist, font_registry_charsets): Move from xfont.c
8013 and rename.
8014 (font_prop_validate_otf): New function.
8015 (font_property_table): Register it for QCotf.
8016 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8017 (font_drive_otf): Delete.
8018 (font_prepare_composition): New arg F. Adjust for the change of
8019 lispy gstring.
8020 (font_find_for_lface): New arg C.
8021 (font_load_for_face): Adjust for the change of font_find_for_lface.
8022 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8023 lispy gstring.
8024 (Ffont_shape_text): New function.
8025 (Fopen_font): If the font size is not given, use 12-pixel.
8026 (Ffont_at): New arg STRING.
8027 (syms_of_font): Initalize font_charset_alist.
8028 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8029 conditionally.
8030
8031 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8032 fonts of the same font-spec. Change the format of RFONT-DEF.
8033 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8034 Adjust for the change of RFONT-DEF.
8035 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8036
8037 * ftfont.h: New file.
8038
8039 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8040 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8041 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8042 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8043 font_otf_capability and font_drive_otf, set ftfont_shape.
8044 (ftfont_list): Adjust for the change of :otf property value.
8045 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8046 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8047 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8048 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8049 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8050 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8051
8052 * w32term.c (x_draw_composite_glyph_string_foreground):
8053 Adjust for the change of lispy gstring.
8054
8055 * xdisp.c (handle_composition_prop): Adjust for the change of
8056 lispy gstring. Call a function for auto-composition with the
8057 third arg it->window.
8058 (fill_composite_glyph_string): Adjust for the change of lispy string.
8059 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8060
8061 * xfaces.c (set_font_frame_param): Adjust for the change of
8062 font_find_for_lface.
8063
8064 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8065 (xfont_registry_charsets): Likewise. Change caller.
8066 (syms_of_xfont): Don't handle x_font_charset_alist.
8067
8068 * xftfont.c: Include "ftfont.h".
8069 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8070 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8071 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8072 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8073 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8074 Set xftfont_driver.shape to xftfont_shape.
8075
8076 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8077 the change of lispy gstring.
8078
80792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8080
8081 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8082
80832008-02-01 Jason Rumney <jasonr@gnu.org>
8084
8085 * w32font.c (w32font_draw): Fill background manually.
8086
80872008-02-01 Jason Rumney <jasonr@gnu.org>
8088
8089 * font.c (Qfontp): Remove unused symbol.
8090 (QCantialias): New symbol.
8091 (syms_of_font): Define it.
8092 (font_property_table): Set a validator for QCantialias.
8093
8094 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8095 Define if not already.
8096 (QCfamily): Share with xfaces.c.
8097 (Qstandard, Qsubpixel, Qnatural): New symbols.
8098 (syms_of_w32font): Define them. Don't define QCfamily here.
8099 (w32_antialias_type, lispy_antialias_type): New functions.
8100 (w32_enumfont_pattern_entity): New arg requested_font.
8101 Set antialias parameter if non-default was requested.
8102 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8103
81042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8105
8106 * lread.c (read1): Undo the previous change.
8107
81082008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8109
8110 * frame.c (Fdelete_frame): Call font_update_drivers only when
8111 USE_FONT_BACKEND is defined.
8112
81132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8114
8115 * font.h (struct font_bitmap): New member bits_per_pixel.
8116 (struct font_driver): New members start_for_frame and end_for_frame.
8117 (struct font_data_list): New struct.
8118 (font_put_frame_data, font_get_frame_data): Extern them.
8119
8120 * frame.h (struct frame): New member font_data_list.
8121
8122 * font.c (font_update_drivers): Call driver->start_for_frame and
8123 driver->end_for_frame at proper timings.
8124 (font_put_frame_data, font_get_frame_data): New functions.
8125 (Ffont_spec): Add usage in the docstring.
8126
8127 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8128 (Fdelete_frame): Call font_update_drivers.
8129
8130 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8131 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8132 (xftfont_get_xft_draw): New function.
8133 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8134 (xftfont_end_for_frame): New function.
8135 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8136
8137 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8138 Change argument. Cache GCs in the per-frame data.
8139 (struct ftxfont_frame_data): New struct.
8140 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8141 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8142 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8143 (ftxfont_end_for_frame): New function.
8144 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8145
8146 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8147
81482008-02-01 Kenichi Handa <handa@m17n.org>
8149
8150 * xselect.c (Vselection_coding_system)
8151 (Vnext_selection_coding_system): Delete them.
8152 (syms_of_xselect): Don't declare selection-coding-system and
8153 next-selection-coding-system. They are declared in select.el.
8154
81552008-02-01 Jason Rumney <jasonr@gnu.org>
8156
8157 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8158
8159 * w32fns.c: Include imm.h.
8160 (get_composition_string_fn, get_ime_context_fn): New optional
8161 system functions.
8162 (globals_of_w32fns): Load them from imm32.dll.
8163 (ignore_ime_char): New flag.
8164 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8165 WM_IME_ENDCOMPOSITION messages.
8166
8167 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8168 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8169
81702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8171
8172 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8173 (READCHAR_REPORT_MULTIBYTE): New macro.
8174 (readchar): New 2nd arg MULTIBYTE.
8175 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8176 Make symbol's name multibyte according to the multibyteness of the
8177 source.
8178
81792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8180
8181 * xfaces.c (face_for_overlay_string): Call lookup_face with
8182 correct arguments (fix of synching with the trunk).
8183
81842008-02-01 Kenichi Handa <handa@m17n.org>
8185
8186 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8187 (font_prop_validate_non_neg, font_prop_validate_spacing):
8188 Delete argument prop_index.
8189 (font_property_table): Change arguments to validater. Change Callers.
8190 (font_lispy_object): Delete.
8191 (font_at): Use font_find_object instead fo font_lispy_object.
8192
81932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8194
8195 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8196 and file names.
8197
81982008-02-01 Jason Rumney <jasonr@gnu.org>
8199
8200 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8201 (font_matches_spec): Remove debug output.
8202 (add_font_entity_to_list): Avoid using substituted fonts.
8203
82042008-02-01 Jason Rumney <jasonr@gnu.org>
8205
8206 * doc.c (Fsnarf_documentation):
8207 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8208
82092008-02-01 Miles Bader <miles@gnu.org>
8210
8211 * dispextern.h (struct glyph_row): Only define "clip" field if
8212 HAVE_WINDOW_SYSTEM is defined.
8213
82142008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8215
8216 Fix up multi-tty merge.
8217
8218 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8219 and indentation.
8220
8221 * xfaces.c (free_realized_face, clear_face_gcs):
8222 Include font_done_for_face in the input_blocked section, just in case.
8223
8224 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8225 (get_char_face_and_encoding): Undo last change and remove the *other*
8226 duplicate definition (i.e. keep the one that's better scoped and that
8227 includes code for the font-backend).
8228
8229 * terminal.c (create_terminal): Default keyboard_coding to
8230 `no-conversion' and terminal_coding to `undecided'.
8231
8232 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8233
8234 * fontset.c (free_realized_fontsets): Check that the table entry does
8235 contain a fontset before trying to compare it to `base'.
8236
8237 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8238 syms_of_charset, and syms_of_coding earlier because init_window_once
8239 now needs Vcoding_system_hash_table to be setup.
8240
8241 * coding.h (default_buffer_file_coding): Remove.
8242
8243 * coding.c (default_buffer_file_coding): Remove.
8244 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8245 than ->symbol, and use the terminal-local coding system.
8246 (syms_of_coding): Don't setup the coding-systems that are not
8247 terminal-local.
8248 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8249
8250 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8251 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8252
8253 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8254 in chartab.c and were re-added here by mistake.
8255 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8256
8257 * doc.c (Fsnarf_documentation):
8258 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8259 src to etc.
8260
8261 * ChangeLog.10: Add mistakenly removed entry.
8262
82632008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8264
8265 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8266
82672008-02-01 Miles Bader <miles@gnu.org>
8268
8269 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8270 Add extra args to FACE_FOR_CHAR.
8271
82722008-02-01 Kenichi Handa <handa@m17n.org>
8273
8274 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8275 in sequence.
8276
8277 * chartab.c (map_sub_char_table, map_char_table): If the range
8278 contains just one character, call the function with that character
8279 even if the depth is not 3.
8280
82812008-02-01 Jason Rumney <jasonr@gnu.org>
8282
8283 * w32font.c (w32font_text_extents): Calculate metrics for the
8284 whole string.
8285
82862008-02-01 Jason Rumney <jasonr@gnu.org>
8287
8288 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8289
82902008-02-01 Jason Rumney <jasonr@gnu.org>
8291
8292 * w32term.c (x_set_glyph_string_clipping): Use
8293 get_glyph_string_clip_rects.
8294 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8295 Adjust for the change of struct glyph_string.
8296
8297 * w32font.c (w32font_draw): Do clipping here.
8298
82992008-02-01 Kenichi Handa <handa@m17n.org>
8300
8301 * xftfont.c (xftfont_draw): Adjust for the change of struct
8302 glyph_string.
8303
8304 * xterm.c (x_set_glyph_string_clipping): Use
8305 get_glyph_string_clip_rects.
8306 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8307 Adjust for the change of struct glyph_string.
8308
8309 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8310 the resulting clip(s}.
8311 (expose_overlaps): Add arg r. Change callers. Set it to
8312 row->clip temporarily.
8313 (expose_window): Redraw rows overlapping the exposed area.
8314
8315 * dispextern.h (struct glyph_row): New member clip.
8316 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8317 clip_height, new member clip, and num_clips.
8318
83192008-02-01 Kenichi Handa <handa@m17n.org>
8320
8321 * data.c (Fchar_or_string_p): Fix docstring.
8322
83232008-02-01 Kenichi Handa <handa@m17n.org>
8324
8325 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8326 create a temporary XftDraw object.
8327
83282008-02-01 Kenichi Handa <handa@m17n.org>
8329
8330 * font.c (Ffontp): Fix docstring.
8331
8332 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8333 strong evidence of ISO-2022.
8334
83352008-02-01 Kenichi Handa <handa@m17n.org>
8336
8337 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8338 SYNTAX_ENTRY_FOLLOW_PARENT.
8339
83402008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8341
8342 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8343 its type.
8344 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8345 Update to the new type of weak_hash_tables and next_weak.
8346
8347 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8348 a plain C pointer to Lisp_Hash_Table.
8349
8350 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8351 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8352 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8353 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8354 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8355 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8356 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8357 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8358 (GC_EQ): Remove since they've been identical to their non-GC_
8359 alter-egos ever since the markbit was eradicated.
8360
8361 * alloc.c:
8362 * buffer.c:
8363 * buffer.h:
8364 * data.c:
8365 * fileio.c:
8366 * filelock.c:
8367 * fns.c:
8368 * frame.h:
8369 * lisp.h:
8370 * macterm.c:
8371 * print.c:
8372 * process.c:
8373 * w32fns.c:
8374 * w32menu.c:
8375 * w32term.c:
8376 * xfns.c:
8377 * xmenu.c:
8378 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8379
83802008-02-01 Kenichi Handa <handa@m17n.org>
8381
8382 * chartab.c (map_sub_char_table): Make it work for the top-level
8383 char-table. Fix handling of parent char-table.
8384 (map_char_table): Adjust for the above change.
8385
83862008-02-01 Jason Rumney <jasonr@gnu.org>
8387
8388 * w32font.c (Qgdi): Rename from Qw32.
8389
83902008-02-01 Jason Rumney <jasonr@gnu.org>
8391
8392 * w32bdf.c (get_quoted_string): Make function static.
8393
83942008-02-01 Kenichi Handa <handa@m17n.org>
8395
8396 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8397 bigger ascent and descent than those of the font, use them as
8398 font's ascent and descent.
8399
84002008-02-01 Kenichi Handa <handa@m17n.org>
8401
8402 * Makefile.in (${lispsource}international/charprop.el): Move this
8403 target within "#ifdef HAVE_UNIDATA" and "#endif".
8404
84052008-02-01 Kenichi Handa <handa@m17n.org>
8406
8407 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8408 (shortlisp): Add ../lisp/language/tai-viet.el.
8409
84102008-02-01 Ulrich Mueller <ulm@gentoo.org>
8411
8412 * Makefile.in (${lispsource}international/charprop.el): Depend on
8413 temacs${EXEEXT}.
8414
84152008-02-01 Jason Rumney <jasonr@gnu.org>
8416
8417 * w32font.c (w32font_close): Delete the GDI font object.
8418
8419 * w32menu.c: Include character.h.
8420
8421 * w32proc.c: Likewise.
8422
8423 * w32select.c: Likewise.
8424
8425 * makefile.w32-in (w32proc.o): Depend on character.h.
8426
84272008-02-01 Jason Rumney <jasonr@gnu.org>
8428
8429 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8430
8431 * w32menu.c (syms_of_w32menu): Likewise.
8432
8433 * w32proc.c (syms_of_ntproc): Likewise.
8434
8435 * w32select.c (syms_of_w32select): Likewise.
8436
8437 * w32term.c (syms_of_w32term): Likewise.
8438
84392008-02-01 Jason Rumney <jasonr@gnu.org>
8440
8441 * w32font.c (w32font_draw): Delete brush after using it.
8442
84432008-02-01 Jason Rumney <jasonr@gnu.org>
8444
8445 * w32font.c (w32font_open): Don't set font_idx.
8446 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8447 to font settings.
8448 (w32font_draw): Fill background explicitly.
8449
84502008-02-01 Jason Rumney <jasonr@gnu.org>
8451
8452 * w32term.c (w32_initialize): Don't call w32font_initialize.
8453
8454 * w32font.c (w32font_info): Remove subranges.
8455 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8456 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8457 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8458 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8459 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8460 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8461 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8462 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8463 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8464 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8465 New symbols.
8466 (font_callback_data): New struct.
8467 (w32font_list, w32font_match): Use it.
8468 (w32font_open): Don't populate subranges.
8469 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8470 (w32font_encode_char): Always return unicode code-point as-is.
8471 (w32font_text_extents): Supply a transformation matrix to
8472 GetGlyphOutline. Never look up by glyph index. Avoid looping
8473 twice. Use unicode version of GetTexExtentPoint32 instead of
8474 glyph index version.
8475 (set_fonts_frame): Remove.
8476 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8477 set frame parameter. Use backward compatible fake foundries.
8478 Save generic family in extra slot under QCfamily. Make width slot
8479 constant. Save QCspacing value. Save list of scripts instead of
8480 binary subranges.
8481 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8482 (add_font_entity_to_list): Use font_callback_data struct. Filter
8483 unwanted fonts.
8484 (add_one_font_entity_to_list): Use font_callback_data struct.
8485 (w32_registry): Default to iso10646_1.
8486 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8487 string font registries. Don't fill in font name if it is a generic
8488 family name, fill family instead. Use spacing, family and script
8489 extra info to fill pitch, family and charset fields.
8490 (list_all_matching_fonts): Use font_callback_data struct.
8491 (unicode_range_for_char): Remove.
8492 (font_supported_scripts): New function.
8493 (w32font_initialize): Remove.
8494 (syms_of_w32font): Update which symbols are defined.
8495
84962008-02-01 Jason Rumney <jasonr@gnu.org>
8497
8498 * font.c (font_pixel_size): Reverse assq_no_quit args.
8499
8500 * w32term.h (FONT_WIDTH): Report max width, not average.
8501 (FONT_MAX_WIDTH): Remove.
8502 (FONT_AVG_WIDTH): New macro.
8503
8504 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8505 redefinition of FONT_WIDTH.
8506
8507 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8508 (w32_cache_char_metrics): Use FONT_WIDTH.
8509
8510 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8511
85122008-02-01 Jason Rumney <jasonr@gnu.org>
8513
8514 * w32font.c (w32font_open): Make lfHeight negative.
8515
8516 * w32fns.c (x_default_font_parameter): Use new style font name.
8517 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8518
85192008-02-01 Jason Rumney <jasonr@gnu.org>
8520
8521 * w32font.c (QCsubranges): New symbol.
8522 (w32font_open, w32font_has_char): Get subranges from subproperty
8523 of extra.
8524 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8525 (syms_of_w32font): Define :subranges symbol.
8526
8527 * font.c (font_put_extra): Expose externally.
8528
8529 * font.h (font_put_extra): Move declaration from font.c.
8530
8531 * font.c (Ffont_get): Use font driver to determine otf capability.
8532 (adjust_anchor): Check if driver defines anchor_point before using.
8533
8534 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8535 (w32font_draw): Use options.
8536 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8537 Fix detection of truetype fonts.
8538 (registry_to_w32_charset): Handle charsets other than iso8859-1
8539 expressed as lisp symbols.
8540 (w32_registry): Express charset as lisp symbol.
8541 (fill_in_logfont): Reverse pixel and point height logic.
8542 Don't set width here. Set quality to default.
8543
8544 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8545 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8546
8547 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8548 Remove redundant loop and allocation.
8549
8550 * makefile.w32-in (font.o, w32font.o): New objects.
8551 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8552 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8553
8554 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8555 STORE_XCHARB a valid l-value.
8556
8557 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8558 calculations for non-Truetype fonts.
8559 (x_draw_glyph_string): Sync with xterm.c.
8560 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8561 Remove redundant code.
8562 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8563
8564 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8565 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8566
8567 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8568 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8569
8570 * w32font.c: New file for w32 font backend.
8571
85722008-02-01 Kenichi Handa <handa@m17n.org>
8573
8574 * term.c: Don't include "buffer.h" twice.
8575
85762008-02-01 Kenichi Handa <handa@m17n.org>
8577
8578 * character.c (Funibyte_string): New function.
8579 (syms_of_character): Defsubr it.
8580
85812008-02-01 Jason Rumney <jasonr@gnu.org>
8582
8583 * w32term.c [USE_FONT_BACKEND]:
8584 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8585 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8586 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8587 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8588 (x_free_frame_resources): Sync with xterm.c.
8589
85902008-02-01 Andreas Schwab <schwab@suse.de>
8591
8592 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8593 char-table size.
8594
85952008-02-01 Kenichi Handa <handa@m17n.org>
8596
8597 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8598
85992008-02-01 Kenichi Handa <handa@m17n.org>
8600
8601 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8602 font_otf_gpos, add font_drive_otf.
8603
8604 * fontset.c (fontset_find_font): Pay attention to font size
8605 specified for a font.
8606 (reorder_font_vector): Check contents of font_def.
8607
8608 * font.c (struct otf_list): Delete it.
8609 (otf_list): Make it a lisp variable.
8610 (otf_open): Use lispy otf_list.
8611 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8612 (check_otf_features): New function.
8613 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8614 New functions.
8615 (font_drive_otf): New function merging font_otf_gsub and
8616 font_otf_gpos.
8617 (font_open_for_lface): New arg spec. Change argument order.
8618 (font_load_for_face): Adjust for the change of font_open_for_lface.
8619 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8620 Ffont_otf_gpos.
8621 (syms_of_font): Staticpro otf_list. Delete defsubr of
8622 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8623
8624 * xfaces.c (set_font_frame_param): Adjust for the change of
8625 font_open_for_lface.
8626
8627 * font.h (font_open_for_lface): Adjust prototype.
8628 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8629 member otf_drive.
8630 (font_otf_gsub, font_otf_gpos): Delete externs.
8631 (font_drive_otf): Extern it.
8632
86332008-02-01 Kenichi Handa <handa@m17n.org>
8634
8635 * font.c (font_at): If the window W is not on a window system,
8636 return Qnil.
8637
8638 * coding.c (produce_chars, encode_coding): Don't call
8639 insert_from_gap if no characters to produce.
8640
86412008-02-01 Kenichi Handa <handa@m17n.org>
8642
8643 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8644 Fclear_face_cache.
8645
8646 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8647
86482008-02-01 Miles Bader <miles@gnu.org>
8649
8650 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8651 Parse "--disable-font-backend" option.
8652 (standard_args): Add "--disable-font-backend" option.
8653
86542008-02-01 Kenichi Handa <handa@m17n.org>
8655
8656 * fontset.c (fontset_find_font): New function.
8657 (fontset_font): Use fontset_find_font.
8658 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8659 Register the specified font for all Latin characters.
8660 (new_fontset_from_font): Register the specified font for all Latin
8661 characters.
8662 (dump_fontset): For a realized fontset, include the base fontset
8663 name in the returned vector.
8664
86652008-02-01 Kenichi Handa <handa@m17n.org>
8666
8667 * character.h (CHAR_STRING): Cast C to unsigned on calling
8668 char_string.
8669
8670 * character.c (char_string): Type of arg C changed to unsigned.
8671 Signal an error if C is an invalid character code.
8672
8673 * editfns.c (general_insert_function, Fchar_to_string):
8674 Use CHARACTERP, not INTEGERP.
8675
86762008-02-01 Kenichi Handa <handa@m17n.org>
8677
8678 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8679 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8680
8681 * regex.c (analyse_first): Fix for multibyte characters in "case
8682 charset:" and "case categoryspec:".
8683
86842008-02-01 Andreas Schwab <schwab@suse.de>
8685
8686 * Makefile.in (LIBES): Move standard libraries to the end.
8687
86882008-02-01 Kenichi Handa <handa@m17n.org>
8689
8690 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8691 nonzero, don't shrink the buffer nextb.
8692
8693 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8694
8695 * coding.c (coding_alloc_by_making_gap): New arg offset.
8696 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8697 offset.
8698 (decode_coding_iso_2022): Update coding->safe_charsets.
8699 (decode_coding_gap): Temporarily set
8700 current_buffer->text->inhibit_shrinking to 1.
8701
87022008-02-01 Kenichi Handa <handa@m17n.org>
8703
8704 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8705 indexing into elements of s->cmp and s->char2b.
8706
87072008-02-01 Juanma Barranquero <lekktu@gmail.com>
8708
8709 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8710
87112008-02-01 Kenichi Handa <handa@m17n.org>
8712
8713 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8714 target_multibyte instead of multibyte.
8715 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8716 (bcmp_translate): Change the argument name from multibyte to
8717 target_multibyte.
8718
87192008-02-01 Kenichi Handa <handa@m17n.org>
8720
8721 These changes are to compile a regexp into a pattern that can be
8722 used both for multibyte and unibyte targets.
8723
8724 * Makefile.in (search.o): Depend on charset.h.
8725
8726 * character.c (multibyte_char_to_unibyte_safe): New function.
8727
8728 * search.c: Include "charset.h".
8729 (compile_pattern_1): Delete argument multibyte. Don't set
8730 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8731 (compile_pattern): Don't compare cp->buf.target_multibyte.
8732 Compare cp->buf.charset_unibyte.
8733 (compile_pattern): Set cp->buf.target_multibyte.
8734
8735 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8736
8737 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8738
8739 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8740 multibyte. Change callers.
8741 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8742 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8743 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8744 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8745 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8746 (regex_compile): Make the compiled pattern usable both for
8747 multibyte and unibyte targets.
8748 (analyse_first): Make the fastmap usable both for multibyte and
8749 unibyte targets.
8750 (TRANSLATE_VIA_MULTIBYTE): Delete.
8751 (re_match_2_internal): Pay attention to the case that the
8752 multibyteness of bufp and target may be different.
8753
87542008-02-01 Kenichi Handa <handa@m17n.org>
8755
8756 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8757 empty box occupy at least one column width.
8758
87592008-02-01 Miles Bader <miles@gnu.org>
8760
8761 * Makefile.in: Remove redundant HAVE_XFT clause.
8762
87632008-02-01 Kenichi Handa <handa@m17n.org>
8764
8765 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8766
87672008-02-01 Kenichi Handa <handa@m17n.org>
8768
8769 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8770 being nil.
8771
87722008-02-01 Kenichi Handa <handa@m17n.org>
8773
8774 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8775
87762008-02-01 Kenichi Handa <handa@m17n.org>
8777
8778 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8779
87802008-02-01 Kenichi Handa <handa@m17n.org>
8781
8782 * search.c (simple_search): Fix previous change.
8783
87842008-02-01 Kenichi Handa <handa@m17n.org>
8785
8786 * xftfont.c (ftfont_font_format): Extern declaration.
8787
8788 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8789
8790 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8791 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8792
8793 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8794 (ftfont_font_format): Fix previous change.
8795
8796 * font.h (Ffont_xlfd_name): EXFUN it.
8797
8798 * font.c (font_parse_xlfd): Fix the array size of `f'.
8799 (register_font_driver): Use EQ to compare driver->type.
8800
8801 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8802 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8803 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8804
88052008-02-01 Kenichi Handa <handa@m17n.org>
8806
8807 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8808 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8809
88102008-02-01 Kenichi Handa <handa@m17n.org>
8811
8812 * xfont.c (xfont_open): Set font->format.
8813
8814 * xftfont.c (xftfont_open): Set font->format.
8815
8816 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8817 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8818 (ftfont_open): Set font->format.
8819 (ftfont_font_format): New function.
8820
8821 * font.h (struct font): New member format.
8822
8823 * font.c (Qopentype): New variable.
8824 (syms_of_font): Defsym it.
8825 (Fquery_font): Change the format of the last element of the return
8826 value.
8827
88282008-02-01 Kenichi Handa <handa@m17n.org>
8829
8830 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8831 last resort.
8832
88332008-02-01 Kenichi Handa <handa@m17n.org>
8834
8835 * coding.c (detect_coding_charset): Fix detection of multi-byte
8836 charset.
8837
88382008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8839
8840 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8841
88422008-02-01 Kenichi Handa <handa@m17n.org>
8843
8844 * xdisp.c (get_next_display_element): Set it->face_id for the
8845 first component of a composition.
8846 (x_produce_glyphs): Check if the font is changed or not for composition.
8847
88482008-02-01 Kenichi Handa <handa@m17n.org>
8849
8850 * fontset.c (Qlatin): New variable.
8851 (syms_of_fontset): Define it as a lisp symbol.
8852 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8853
88542008-02-01 Kenichi Handa <handa@m17n.org>
8855
8856 * font.c (font_unparse_fcname): Pay attention to the case that
8857 some of font property is a null string.
8858
88592008-02-01 Kenichi Handa <handa@m17n.org>
8860
8861 * term.c: Include "composite.h".
8862 (encode_terminal_code): Output all components of composition.
8863 Check the size of encode_terminal_src.
8864 (produce_glyphs): For composition, call produce_composite_glyph.
8865 (append_composite_glyph, produce_composite_glyph): New functions.
8866
8867 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8868 is not found, get font_info from the current ascii face.
8869
88702008-02-01 Kenichi Handa <handa@m17n.org>
8871
8872 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8873 buffer-file-name to Qnil before calling insert_from_buffer.
8874
8875 * font.c (font_unparse_fcname): Pay attention to the case that
8876 foundry is a null string.
8877
88782008-02-01 Kenichi Handa <handa@m17n.org>
8879
8880 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8881
8882 * font.c (Qunicode_sip): New variable.
8883 (syms_of_font): Declare it as a Lisp symbol.
8884
8885 * font.h (Qunicode_sip): Extern it.
8886
88872008-02-01 Kenichi Handa <handa@m17n.org>
8888
8889 * composite.c (get_composition_id): Pay attention to TAB component.
8890
8891 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8892 TAB. Adjust for the change of s->char2b which always points to
8893 the first element of allocated memory.
8894
8895 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8896
8897 * xdisp.c (handle_composition_prop): Set it->c to the first
8898 non-TAB component.
8899 (fill_composite_glyph_string): Change argument.
8900 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8901 (x_produce_glyphs): Fix handling of left/right padding.
8902
89032008-02-01 Kenichi Handa <handa@m17n.org>
8904
8905 * coding.c (detect_coding_system): Fix for handling off
8906 inhibit_iso_escape_detection. Fix for the case that no coding
8907 system is defined for a specific coding category.
8908
89092008-02-01 Kenichi Handa <handa@m17n.org>
8910
8911 * font.c (font_matching_entity): Delete unused local var.
8912
8913 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8914 opening a font.
8915
8916 * fileio.c (Finsert_file_contents): On recovering a file, assume
8917 Unix-like eol.
8918 (choose_write_coding_system): On auto-saving a file, force
8919 Unix-like eol.
8920
8921 * coding.c (setup_coding_system): Fix setting of
8922 coding->common_flags based on eol_type.
8923 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8924 inherit from it.
8925
89262008-02-01 Kenichi Handa <handa@m17n.org>
8927
8928 * alloc.c (NSTATICS): Increas to 0x600.
8929
89302008-02-01 Kenichi Handa <handa@m17n.org>
8931
8932 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8933 (ftfont_list): Don't check :name property.
8934 (ftfont_match): New function.
8935 (ftfont_pattern_entity): If the pattern doesn't contain
8936 FC_SPACING, don't assume FC_MONO.
8937
8938 * font.h (struct font_driver): New member `match'.
8939 (font_update_drivers): Adjust prototype.
8940
8941 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8942 property of FONT.
8943 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8944 them unconditionally.
8945 (font_matching_entity): New function.
8946 (font_open_by_name): Try font_matching_entity if exact match is
8947 not found.
8948 (font_update_drivers): Delete the arg FONT. Return a list of
8949 actually used backends. Don't free faces, font caches here.
8950 Don't store data in frame parameters. Don't call x_set_font.
8951 (Ffont_spec): Store :name property as is.
8952 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8953 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8954 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8955 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8956 Call font->driver->otf_gsub instead of font_otf_gsub.
8957
8958 * frame.c (x_set_font_backend): Do more works that were done in
8959 font_update_drivers before.
8960
8961 * xfont.c (xfont_match): New function.
8962 (xfont_driver): Set xfont_driver.match to xfont_match.
8963 (xfont_draw): Set font in GC if necessary.
8964
8965 * ftxfont.c (ftxfont_match): New function.
8966 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8967
8968 * xftfont.c (xftfont_match): New function.
8969 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8970
89712008-02-01 Kenichi Handa <handa@m17n.org>
8972
8973 * font.h (struct font): New member scalable.
8974 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8975 (font_otf_gsub): Adjust prototype.
8976
8977 * font.c (font_otf_capability): Fix handling of the default langsys.
8978 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8979 Check the contents of SPEC.
8980 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8981 (check_gstring): New function.
8982 (REPLACEMENT_CHARACTER): New macro.
8983 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8984 glyph codes of GSTRING.
8985 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8986 (font_prepare_composition): Set cmp->glyph_len.
8987 (font_open_entity): Set font->scalable.
8988 (Ffont_get): Handle :otf property.
8989 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8990 functions.
8991 (Fquery_font): Use font->font.full_name.
8992 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8993 Sfont_otf_alternates.
8994
8995 * ftfont.c (ftfont_open): Set font->font.full_name and
8996 font->font.name properly. Fix calculation of font->font.height
8997 and font->min_width.
8998
8999 * ftxfont.c (ftxfont_create_gcs): New function.
9000 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9001 (ftxfont_draw_backgrond): Fix filling region.
9002 (ftxfont_default_fid): New function.
9003 (ftxfont_open): Set xfont->fid to the return value of
9004 ftxfont_default_fid.
9005 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9006 (ftxfont_done_face): Free only GCs that are created by
9007 ftxfont_create_gcs.
9008 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9009
9010 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9011 Clip to src->width, etc (not src->clip_XXX).
9012
9013 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9014 FontBackend frame parameter.
9015
90162008-02-01 Kenichi Handa <handa@m17n.org>
9017
9018 * font.h (struct font_driver_list): New member `on'.
9019 (Fclear_font_cache): EXFUN it.
9020 (font_update_drivers): Extern it.
9021
9022 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9023 (font_list_entities): Check driver_list->on.
9024 (register_font_driver): Initalize `on' member to 0.
9025 (font_update_drivers): New function.
9026 (Fclear_font_cache): Check driver_list->on.
9027
9028 * frame.h (Qfont_backend): Extern it.
9029 (x_set_font_backend): Extern it.
9030
9031 * frame.c (Qfont_backend): New variable.
9032 (frame_parms): New element for font-backend.
9033 (x_set_font_backend): New function.
9034
9035 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9036 FontBackend frame parameter.
9037 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9038 x_set_font_backend.
9039
9040 * xfont.c (xfont_list): Don't try listing by :name property if the
9041 name is not for XLFD.
9042
90432008-02-01 Kenichi Handa <handa@m17n.org>
9044
9045 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9046 (LGLYPH_SET_TO): New macros.
9047 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9048 element of G is vector or not.
9049 (font_at): Extern it.
9050
9051 * font.c: Include window.h.
9052 (font_lispy_object): New function.
9053 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9054 end of valid glyph.
9055 (font_close_object): Fix getting (struct font *).
9056 (font_at): New function.
9057 (Ffont_get): If FONT is a font-object, get entity from it.
9058 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9059 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9060 range check.
9061 (Ffont_at): New function.
9062 (syms_of_font): Defsubr Sfont_at.
9063
9064 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9065 before the entry for Qcomposition.
9066 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9067 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9068 the font in gstring.
9069 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9070 LGLYPH_FORM (g) to detect the end of valid glyph.
9071 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9072 we are composing with gstring.
9073
9074 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9075 Check if adjustment is vector or not.
9076
9077 * Makefile.in (font.o): Make it depends on window.h.
9078
90792008-02-01 Kenichi Handa <handa@m17n.org>
9080
9081 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9082 adjustment is vector or not.
9083
90842008-02-01 Miles Bader <miles@gnu.org>
9085
9086 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9087
90882008-02-01 Kenichi Handa <handa@m17n.org>
9089
9090 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9091 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9092 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9093
9094 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9095 (DEVICE_DELTA): Fix typo.
9096 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9097 LGLYPH format.
9098
9099 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9100 the change of LGLYPH format.
9101
91022008-02-01 Kenichi Handa <handa@m17n.org>
9103
9104 * ftfont.c (ftfont_list): Fix typo.
9105 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9106
91072008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9108
9109 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9110
9111 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9112 xftface_info is non-NULL.
9113
91142008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9115
9116 * ftfont.c (ftfont_list): Move misplaced #endif.
9117
91182008-02-01 Kenichi Handa <handa@m17n.org>
9119
9120 * ftfont.c (ftfont_list): Pay attention to the case that
9121 FC_CAPABILITY is not defined.
9122
91232008-02-01 Kenichi Handa <handa@m17n.org>
9124
9125 * xftfont.c (xftfont_open): Set charset related members to -1.
9126
9127 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9128 QCname.
9129 (ftfont_open): Set charset related members to -1.
9130
9131 * fontset.c (Votf_script_alist): New variable.
9132 (syms_of_fontset): Initialize it.
9133 (fontset_font): Delete unused variable.
9134
9135 * fontset.h (Votf_script_alist): Extern it.
9136
9137 * font.c (font_find_for_lface): Optimize code.
9138
9139 * font.h (font_close_object, font_merge_old_spec): Extern them.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9144 (syms_of_font): Initialize them.
9145 (font_pixel_size): Allow float value in dpi.
9146 (font_prop_validate_type): Delete.
9147 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9148 Change caller.
9149 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9150 (font_prop_validate_extra): Delete.
9151 (font_prop_validate_spacing): New function.
9152 (font_property_table): Add elements for all known properties.
9153 (get_font_prop_index): Rename from check_font_prop_name. New
9154 argument FROM. Change caller.
9155 (font_prop_validate): Validate all known properties.
9156 (font_put_extra): Delete argument force. Change caller.
9157 (font_expand_wildcards): Make it static. Fix the way of shrinking
9158 the possible range.
9159 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9160 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9161 Change caller.
9162 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9163 (font_parse_fcname): Delete argument merge. Fix parsing of point
9164 size. Don't validate properties values here. Change caller.
9165 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9166 (font_open_by_name): Delete unused variable.
9167 (Ffont_spec): Likewise. Validate property values.
9168 (Ffont_match_p): New function.
9169
9170 * font.h (QCscalable): Extern it.
9171 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9172
9173 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9174
9175 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9176 (xfont_list_pattern): New function.
9177 (xfont_list): Use xfont_list_pattern.
9178
91792008-02-01 Kenichi Handa <handa@m17n.org>
9180
9181 * font.h (Flist_fonts): EXFUN it.
9182
91832008-02-01 Jason Rumney <jasonr@gnu.org>
9184
9185 * w32term.c (w32_initialize): Add back smoothing_type and
9186 smoothing_enabled definitions.
9187
91882008-02-01 Kenichi Handa <handa@m17n.org>
9189
9190 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9191 s->face->font on determining underline position.
9192
91932008-02-01 Kenichi Handa <handa@m17n.org>
9194
9195 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9196 (font_has_char): Accept font-object too.
9197 (font_find_for_lface): Try at first with a size specified in face.
9198
91992008-02-01 Kenichi Handa <handa@m17n.org>
9200
9201 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9202 font_open_by_name.
9203
92042008-02-01 Kenichi Handa <handa@m17n.org>
9205
9206 * font.h (QCspacing, QCdpi): Extern them.
9207 (enum font_spacing): New enum.
9208 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9209
9210 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9211 (QCspacing, QCdpi): New variables.
9212 (syms_of_font): Initialize them.
9213 (font_pixel_size): New function.
9214 (font_put_extra): New function.
9215 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9216 in FONT_EXTRA.
9217 (font_parse_fcname): Handle enumerated values (e.g. bold).
9218 Fix handling font size. Add QCname property that contains only
9219 unknown properties.
9220 (font_score): Change argument. Change caller. Pay attention to
9221 FONT_PIXEL_SIZE_QUANTUM.
9222 (font_sort_entites, font_list_entities, font_find_for_lface)
9223 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9224 (Ffont_spec): Add QCname property that contains only unknown properties.
9225
9226 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9227 include weight in listing pattern, instead check weight of each
9228 listed font. Don't include scalable in pattern. Pay attention to
9229 FONT_PIXEL_SIZE_QUANTUM.
9230
92312008-02-01 Kenichi Handa <handa@m17n.org>
9232
9233 * font.c (font_parse_fcname): Fix parsing of point-size.
9234 (font_unparse_fcname): Produce symbolic names for style properties.
9235 (font_list_entities): Handle float size correctly.
9236 (font_open_by_name): Prefer `normal' property values if the name
9237 doesn't specify them.
9238
9239 * fontset.c (Finternal_char_font): Use font_get_name, not
9240 Ffont_xlfd_name.
9241
9242 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9243 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9244 pattern. Don't force scalable.
9245
9246 * xftfont.c (xftfont_open): For generating a name, start from
9247 96-byte buffer.
9248
92492008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9250
9251 * frame.h (x_new_fontset2): Fix prototype.
9252
92532008-02-01 Kenichi Handa <handa@m17n.org>
9254
9255 * font.h (struct font_driver): Delete member parse_name.
9256 (font_match_p, font_get_spec, font_parse_fcname)
9257 (font_unparse_fcname): Extern them.
9258 (font_get_name): Adjust prototype.
9259
9260 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9261 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9262 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9263 unnecessary checks for weight, slant, and swidth.
9264 (font_parse_fcname): New function.
9265 (font_unparse_fcname): New function.
9266 (font_parse_name): New function.
9267 (font_match_p): New function.
9268 (font_get_name): Change return value to Lisp string.
9269 (font_get_spec): New function.
9270 (Qunspecified, Qignore_defface): Don't extern them.
9271 (font_find_for_lface): Assume that LFACE is fully specified.
9272 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9273 object, use it for FACE.
9274 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9275 driver->parse_name.
9276 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9277
9278 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9279 prototype.
9280
9281 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9282 argument F. Don't call Fnew_fontset. Instead, directly call
9283 make_fontset.
9284
9285 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9286
9287 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9288 of x_new_fontset2.
9289
9290 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9291 (Qsans__serif): New variables.
9292 (ftfont_generic_family_list): New variable.
9293 (syms_of_ftfont): Initialize the above variables.
9294 (ftfont_pattern_entity): Delete argument NAME.
9295 (ftfont_list_generic_family): New function.
9296 (ftfont_parse_name): Delete this function.
9297 (ftfont_list): Try generic family only when FcFontList found no font.
9298 (ftfont_list_family): Fix args to FcObjectSetBuild.
9299
9300 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9301 object in attrs[LFACE_FONT_INDEX].
9302 (set_lface_from_font_name): Cancel all changes for font-backend.
9303 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9304 function.
9305 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9306 font object in QCfont attribute.
9307 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9308 (realize_default_face) [USE_FONT_BACKEND]: Call
9309 set_lface_from_font_and_fontset.
9310
9311 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9312 "fixed", and signal error here if no suitable font was found.
9313
9314 * xfont.c (xfont_parse_name): Delete this function.
9315
9316 * xftfont.c (xftfont_open): Change coding style of error
9317 handling. Generate fontconfig's fontname pattern.
9318
9319 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9320 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9321
9322 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9323 Both args FONTSET and FONT_OBJECT must be existing ones.
9324
93252008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9326
9327 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9328
93292008-02-01 Kenichi Handa <handa@m17n.org>
9330
9331 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9332
9333 * font.h (struct font): Fix typo.
9334
9335 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9336 XLFD_XXX_INDEX.
9337 (enum xlfd_field_mask): New enum.
9338 (intern_font_field): Changed argument. Change caller. If digits
9339 are followed by non-digits, return a symbol.
9340 (font_expand_wildcards): New function.
9341 (font_parse_xlfd): Fix wildcard handling.
9342 (Ffont_spec): If :name is specified, reflect the info in the other
9343 properties.
9344
9345 * ftfont.c (ftfont_pattern_entity): Fix typo.
9346 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9347 locale.
9348
93492008-02-01 Kenichi Handa <handa@m17n.org>
9350
9351 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9352
9353 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9354 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9355 registry doesn't specify encoding part.
9356 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9357 (font_open_by_name): At first try parsing the name.
9358 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9359 as Lisp symbols.
9360
9361 * fontset.c (reorder_font_vector): Pay attention to the case that
9362 the 3rd element of font_def is nil.
9363 (fontset_font): For the default fontset, append one more fontset
9364 elements for a script-based font specification. Don't add script
9365 attribute on finding a font.
9366 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9367 font name.
9368 (fontset_ascii_font): If a font can't be opened, return nil.
9369
9370 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9371 (ftfont_pattern_entity): New function.
9372 (ftfont_get_cache): Assume that freetype_font_cache is already
9373 initialized.
9374 (ftfont_list): Handle the case that a file is specified in font
9375 name. Use ftfont_pattern_entity to generate entities.
9376 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9377 (syms_of_ftfont): Initialize freetype_font_cache.
9378
9379 * xftfont.c (xftfont_open): Make the font name fontconfig's
9380 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9381 (xftfont_close): Free font->font.name if not NULL.
9382
9383 * xfont.c (xfont_list): If script is specified for a font, return
9384 null_vector.
9385 (xfont_list_family): Declare argument type.
9386
9387 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9388 name, set LFACE_FONT (lface) to nil.
9389
9390 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9391 return Qnil.
9392
93932008-02-01 Kenichi Handa <handa@m17n.org>
9394
9395 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9396 (standard_args): Add "-enable-font-backend".
9397
93982008-02-01 Kenichi Handa <handa@m17n.org>
9399
9400 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9401 (struct xftdraw_list, xftdraw_list): Delete them.
9402 (register_xftdraw, check_xftdraw): Delete them.
9403 (xftfont_prepare_face): Don't call register_xftdraw.
9404 (xftfont_done_face): Don't call check_xftdraw.
9405 (xftfont_draw): Get background color only when with_background is
9406 nonzero.
9407
9408 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9409
94102008-02-01 Kenichi Handa <handa@m17n.org>
9411
9412 These changes are for the new font handling codes.
9413
9414 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9415 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9416 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9417 (FONTSRC, FONTOBJ): New variables.
9418 (obj): Add $(FONTOBJ).
9419 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9420 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9421 @LIBOTF_LIBS@.
9422 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9423 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9424
9425 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9426
9427 * character.h (Vscript_representative_chars): Extern it.
9428
9429 * character.c (Vscript_representative_chars): New variable.
9430 (syms_of_character): Declare it as a Lisp variable.
9431
9432 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9433 enable_font_backend is nonzero, accept the composition method
9434 COMPOSITION_WITH_GLYPH_STRING.
9435
9436 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9437 enumeration COMPOSITION_WITH_GLYPH_STRING.
9438
9439 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9440 members clip_x, clip_y, clip_width, and clip_height.
9441 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9442
9443 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9444 --enable-font-backend. Call syms_of_font.
9445
9446 * fns.c (assoc_no_quit): New function.
9447
9448 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9449 (face_for_font, new_fontset_from_font)
9450 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9451
9452 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9453 (fontset_font, fontset_ascii, face_for_char)
9454 (make_fontset_for_ascii_face, Ffont_info)
9455 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9456 is nonzero, use font-backend mechanism.
9457 (find_font_encoding): Make it non-static.
9458 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9459 New functions.
9460
9461 * frame.h (struct frame): New members resx and resy.
9462 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9463 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9464
9465 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9466 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9467
9468 * lisp.h (assoc_no_quit): Extern it.
9469
9470 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9471 Through out the file, use FONT_INFO_FROM_FACE instead of
9472 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9473 rif->per_char_metric.
9474 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9475 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9476 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9477 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9478 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9479 nonzero, use font-backend mechanism.
9480 (get_per_char_metric): New function.
9481
9482 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9483 (set_lface_from_font_name)
9484 (set_font_frame_param, free_realized_face)
9485 (prepare_face_for_display, clear_face_gcs)
9486 (Finternal_set_font_selection_order, realize_x_face)
9487 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9488 font-backend mechanism.
9489 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9490 (load_face_font) [USE_FONT_BACKEND]: Abort.
9491 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9492 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9493
9494 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9495 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9496 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9497 nonzero, register all available font drivers. Call
9498 x_default_font_parameter for deciding a font.
9499 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9500
9501 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9502 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9503 (x_set_glyph_string_clipping_exactly)
9504 (x_compute_glyph_string_overhangs)
9505 (x_draw_glyph_string_foreground)
9506 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9507 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9508 enable_font_backend is nonzero, use font-backend mechanism.
9509 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9510
95112008-02-01 Kenichi Handa <handa@m17n.org>
9512
9513 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9514 system_eol_type.
9515 (syms_of_coding): Initialize system_eol_type.
9516
9517 * process.c (Fset_process_coding_system): Inherit system's eol
9518 format if necessary.
9519
95202008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9521
9522 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9523
95242008-02-01 Kenichi Handa <handa@m17n.org>
9525
9526 * coding.c (decode_eol): Pay attention to buffer relocation in
9527 del_range_2.
9528 (decode_coding): Call decode_eol before restoring undo_list.
9529
95302008-02-01 Kenichi Handa <handa@m17n.org>
9531
9532 * charset.c (Fdefine_charset_internal): Fix setting of
9533 emacs_mule_bytes.
9534
95352008-02-01 Kenichi Handa <handa@m17n.org>
9536
9537 * keyboard.c (read_char): Check if C is a character or not before
9538 looking up Vkeyboard_translate_table.
9539
95402008-02-01 Kenichi Handa <handa@m17n.org>
9541
9542 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9543 condition to terminate the loop.
9544
95452008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 * coding.c (produce_composition): Compare charbuf[i] instead of
9548 args[i] against 0.
9549 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9554 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9555 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9556 detect_coding.
9557 (emacs_mule_char): Handle old style (Emacs 20) component character
9558 of a composition.
9559 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9560 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9561 composition rule.
9562 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9563
95642008-02-01 Kenichi Handa <handa@m17n.org>
9565
9566 * coding.c (encode_coding_ccl): Allocate destination dynamically
9567 when necessary.
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9572 the loop. When quitted, show a proper error message.
9573
95742008-02-01 Kenichi Handa <handa@m17n.org>
9575
9576 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9577 src->clip_head and src->clip_tail temporarily instead of src->hl.
9578
9579 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9580 character sequence.
9581 (Fccl_execute_on_string): Use ASET, not XSET.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9586
95872008-02-01 Kenichi Handa <handa@m17n.org>
9588
9589 * coding.c (decode_coding): Fix the condition of terminating the
9590 decoding loop.
9591
95922008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * data.c (Faset): On setting a character bigger than 255 in a
9595 unibyte string, signal an error instead of make the string multibyte.
9596
95972008-02-01 Kenichi Handa <handa@m17n.org>
9598
9599 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9600 made by a mapping table.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9605 not.
9606 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9607 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9608
9609 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9610 s->face is NULL or not.
9611
96122008-02-01 Kenichi Handa <handa@m17n.org>
9613
9614 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9615 (x_draw_glyph_string): Fix drawing of right_overhang and
9616 left_overhang around/on cursor.
9617
9618 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9619
96202008-02-01 Kenichi Handa <handa@m17n.org>
9621
9622 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9623
96242008-02-01 Kenichi Handa <handa@m17n.org>
9625
9626 * coding.c (Fdefine_coding_system_internal)
9627 (Fdefine_coding_system_alias): Avoid a duplicated element in
9628 Vcoding_system_alist.
9629
96302008-02-01 Kenichi Handa <handa@m17n.org>
9631
9632 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9633
9634 * coding.c (Qcoding_system_define_form): New variable.
9635 (syms_of_coding): Intern and staticpro it.
9636 (Fcoding_system_p): Check Qcoding_system_define_form.
9637 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9638
9639 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9640 Fcoding_system_p.
9641 (CHECK_CODING_SYSTEM): If ID is not available, call
9642 Fcheck_coding_system.
9643 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9644 Try also Fcheck_coding_system.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * coding.c (code_conversion_restore): GCPRO arg.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * character.c (lisp_string_width): Check multibyteness of STRING.
9653
96542008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9655
9656 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9657 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9658 (decode_mac_font_name): Use decode_coding_c_string instead of
9659 decode_coding.
9660 (x_load_font): Initialize fontp->fontset to -1. Set
9661 fontp->encoding_type.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * search.c (search_buffer): Give up BM search on case-fold-search
9666 if one of a target character has a case-equivalence of different
9667 byte length even if that target charcter is an ASCII.
9668 (simple_search): Fix calculation of byte length of matched text.
9669 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9670
96712008-02-01 Kenichi Handa <handa@m17n.org>
9672
9673 * coding.c (decode_coding): Fix handling of invalid bytes.
9674
96752008-02-01 Kenichi Handa <handa@m17n.org>
9676
9677 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9678 Unicode characters.
9679
96802008-02-01 Kenichi Handa <handa@m17n.org>
9681
9682 * coding.c (encode_coding_object): If a pre-write-conversion
9683 function makes a new buffer, kill it.
9684
96852008-02-01 Kenichi Handa <handa@m17n.org>
9686
9687 * coding.c (QCascii_compatible_p): New variable.
9688 (syms_of_coding): Initialize it.
9689 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9690 calling string_char.
9691 (record_conversion_result): Add `default:' case.
9692 (coding_charset_list): Delete unused variable `coding_type'.
9693 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9694 property in the plist of the coding system.
9695 (Fcoding_system_put): Check QCascii_compatible_p.
9696
96972008-02-01 Miles Bader <miles@gnu.org>
9698
9699 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9700 removed calculation of frame `f', as it's now used.
9701
97022008-02-01 Kenichi Handa <handa@m17n.org>
9703
9704 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9705 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9706 (UNIDATA): New variable.
9707 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9708 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9709 $(RUN_TEMACS) unconditionally.
9710
97112008-02-01 Kenichi Handa <handa@m17n.org>
9712
9713 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9714 (admindir): New variable.
9715 ($(lispsource)international/charprop.el): New target.
9716
97172008-02-01 Miles Bader <miles@gnu.org>
9718
9719 * character.c (chars-in-region): Remove obsolete function.
9720 (syms_of_character): Remove its initialization.
9721
97222008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9723
9724 * w32select.c (validate_coding_system)
9725 (setup_windows_coding_system): New functions.
9726 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9727 setup_windows_coding_system.
9728 (setup_config, Fw32_get_clipboard_data): Use
9729 validate_coding_system.
9730 (Fx_selection_exists): Move call to setup_config to a place
9731 where signals are allowed.
9732
9733 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9734 (Fcheck_coding_system): Add declarations.
9735
97362008-02-01 Kenichi Handa <handa@m17n.org>
9737
9738 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9739
97402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9741
9742 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9743 string as the second argument for x_new_fontset.
9744
97452008-02-01 Kenichi Handa <handa@m17n.org>
9746
9747 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9748 (encode_coding_object): Use safe_call instead of call2.
9749
97502008-02-01 Kenichi Handa <handa@m17n.org>
9751
9752 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9753
9754 * Makefile.in (lisp): Include charprop.el.
9755
97562008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9757
9758 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9759 Not sure if it's unnecessary.
9760
97612008-02-01 Steven Tamm <steventamm@mac.com>
9762
9763 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9764 some possibly unnecessary fontset checking code that crashed
9765 when creating a new frame.
9766
97672008-02-01 Kenichi Handa <handa@m17n.org>
9768
9769 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9770 lookup_face.
9771
9772 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9773
9774 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9775
97762008-02-01 Kenichi Handa <handa@m17n.org>
9777
9778 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9779 (coding_charset_list): New function.
9780
9781 * coding.h (coding_charset_list): Extern it.
9782
97832008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9786 concatenation of family and registry.
9787
97882008-02-01 Kenichi Handa <handa@m17n.org>
9789
9790 * character.h (BYTE8_STRING): Fix typo.
9791
9792 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9793 string to multibyte (sync to HEAD).
9794
9795 * casefiddle.c (casify_region): Handle changes in byte-length
9796 using replace_range_2 (sync to HEAD).
9797
97982008-02-01 Andreas Schwab <schwab@suse.de>
9799
9800 * chartab.c (map_char_table): GCPRO table and arg.
9801
98022008-02-01 Kenichi Handa <handa@m17n.org>
9803
9804 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9805 already at limit.
9806
98072008-02-01 Kenichi Handa <handa@m17n.org>
9808
9809 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9810 instead of fast_c_string_match_ignore_case.
9811 (find_font_encoding): Change argument to Lisp_Object. Use
9812 fast_string_match_ignore_case instead of
9813 fast_c_string_match_ignore_case. Change caller.
9814
98152008-02-01 Kenichi Handa <handa@m17n.org>
9816
9817 * xdisp.c (get_next_display_element): In unibyte case, decide to
9818 display in octal form by checking a character by
9819 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9820
9821 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9822
9823 * character.c (unibyte_has_multibyte_table): New variable.
9824
9825 * character.h (unibyte_has_multibyte_table): Extern it.
9826 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9827
98282008-02-01 Kenichi Handa <handa@m17n.org>
9829
9830 * coding.c (encode_coding_iso_2022): Fix handling of charset
9831 annotation.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * coding.c (setup_coding_system): If coding_system is nil, use
9836 Qundecided.
9837 (Fterminal_coding_system): Return nil if terminal coding system is
9838 `undecided'.
9839 (syms_of_coding): Define coding-system `undecided' here. Setup
9840 terminal_coding as `undecided'.
9841
98422008-02-01 Kenichi Handa <handa@m17n.org>
9843
9844 * xdisp.c (message_dolog, set_message_1): Call
9845 unibyte_char_to_multibyte with arg type int.
9846
9847 * lread.c (read1): Fix reading of a char-table.
9848
9849 * print.c (print_object): Include sub char-table in circularities
9850 detection.
9851
98522008-02-01 Kenichi Handa <handa@m17n.org>
9853
9854 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9855 Append the found sequences in car of ARGS instead of prepending.
9856
98572008-02-01 Kenichi Handa <handa@m17n.org>
9858
9859 * fileio.c (report_file_error): Make a unibyte string from
9860 strerror (errorno).
9861 (Fsubstitute_in_file_name): Fix the arg to
9862 unibyte_char_to_multibyte. It is evaluated twice.
9863
98642008-02-01 Kenichi Handa <handa@m17n.org>
9865
9866 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9867
98682008-02-01 Kenichi Handa <handa@m17n.org>
9869
9870 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9871 BOM is not found.
9872 (detect_coding, detect_coding_system): Optimization for ISO-2022
9873 when no 8-bit data is found.
9874
98752008-02-01 Jason Rumney <jasonr@gnu.org>
9876
9877 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9878
98792008-02-01 Kenichi Handa <handa@m17n.org>
9880
9881 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9882 CHARS.
9883
98842008-02-01 Steven Tamm <steventamm@mac.com>
9885
9886 * macterm.c (mac_encode_char): Add charset argument and update
9887 to use encoding_type.
9888 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9889 switch to pure fontset.
9890 (decode_mac_font_name): Temporarily remove decoding.
9891 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9892 (x_load_font): Temporarily remove encoding.
9893
98942008-02-01 Kenichi Handa <handa@m17n.org>
9895
9896 * xfaces.c (Fface_font): If frame is not on a window system,
9897 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9898 refer to face->font.
9899 (split_font_name_into_vector, build_font_name_from_vector)
9900 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9901 when HAVE_WINDOW_SYSTEM is defined.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9906 (x_produce_glyphs): Fix setting of members of cmp in case
9907 cmp->glyph_len is zero.
9908
9909 * fontset.c (Fset_fontset_font): Fix docstring.
9910 (Ffontset_info): Make it backward compatible. New arg ALL.
9911
99122008-02-01 Kim F. Storm <storm@cua.dk>
9913
9914 * process.c (read_process_output): Grow decoding_buf when needed;
9915 this could cause a crash in allocate_string and compact_small_strings.
9916
99172008-02-01 Kenichi Handa <handa@m17n.org>
9918
9919 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9920
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * coding.c (setup_coding_system): Set coding->common_flags
9924 correctly for raw-text.
9925 (consume_chars): On encoding unibyte text by raw-text, don't check
9926 multibyte form.
9927 (encode_coding): On encoding by raw-text, never use translation tables.
9928
9929 * fileio.c (e_write): Short cut for the case of no encoding.
9930
99312008-02-01 Kenichi Handa <handa@m17n.org>
9932
9933 * coding.c (detect_coding, detect_coding_system): Delete unused
9934 variables.
9935
99362008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9939 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9940
99412008-02-01 Kenichi Handa <handa@m17n.org>
9942
9943 * coding.c (Ffind_coding_systems_region_internal): Include
9944 raw-text and no-conversion in the result.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9949 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9950 FONT_DEF.
9951 (font_def_arg, add_arg, from_arg, to_arg): New args.
9952 (set_fontset_font): Change argument.
9953 (Fset_fontset_font): Fix for the case that TARGET is a script
9954 name and charset name.
9955 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9956
99572008-02-01 Kenichi Handa <handa@m17n.org>
9958
9959 * fontset.c (fontset_font): Rename from fontset_face. Change return
9960 value.
9961 (face_suitable_for_char_p, face_for_char): Adjust for the change
9962 of fontset_font.
9963 (make_fontset_for_ascii_face): Fix setting of the fontset element
9964 for ASCII.
9965 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9966 to get a font name.
9967 (Ffontset_info): Adjust for the change of fontset_font.
9968
9969 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9970
9971 * character.h (LEADING_CODE_LATIN_1_MIN)
9972 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9973
99742008-02-01 Kenichi Handa <handa@m17n.org>
9975
9976 * editfns.c (check_translation): New function.
9977 (Ftranslate_region_internal): Handle M:N mapping.
9978
99792008-02-01 Kenichi Handa <handa@m17n.org>
9980
9981 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9982
99832008-02-01 Kenichi Handa <handa@m17n.org>
9984
9985 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9986 goto invalid_code.
9987 (decode_coding_iso_2022): Fix handling of invalid designation.
9988
9989 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9990 after calling code_conversion_save.
9991
99922008-02-01 Kenichi Handa <handa@m17n.org>
9993
9994 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9995
9996 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9997
9998 * fontset.c: Include "intervals.h".
9999 (fontset_face): Fix comparing of Lisp_Objects.
10000 (free_face_fontset, new_fontset_from_font_name): Fix
10001 Lisp_Object/int mixup.
10002
10003 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10004
10005 * coding.c: Add many prototypes for static functions.
10006 (get_translation_table): Allow max_lookup to be NULL.
10007 (decode_coding, Ffind_coding_systems_region_internal)
10008 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10009 get_translation_table with max_lookup NULL.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * coding.c (get_translation_table): Declare it as Lisp_Object.
10014 (LOOKUP_TRANSLATION_TABLE): New macro.
10015 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10016 instead of CHAR_TABLE_REF.
10017
100182008-02-01 Kenichi Handa <handa@m17n.org>
10019
10020 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10021 annotation data format.
10022 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10023 Change arguments FROM and TO to single argument NCHARS. Change caller.
10024 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10025 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10026 (decode_coding_ccl, decode_coding_charset): Pay attention to
10027 coding->charbuf_used.
10028 (get_translation): New function.
10029 (produce_chars): New arguments translation_table and last_block.
10030 Translate characters here. Return number of carryover chars.
10031 Change caller.
10032 (produce_composition): New argument pos. Change caller.
10033 Adjust for the change of annotation data format.
10034 (produce_charset, produce_annotation): Likewise.
10035 (decode_coding, encode_coding): Don't call translate_chars.
10036 (consume_chars): New arg translation_table. Change caller.
10037 (translate_chars): Delete.
10038 (syms_of_coding): Make translation-table's number of extra slots 2.
10039
100402008-02-01 Kenichi Handa <handa@m17n.org>
10041
10042 * search.c (simple_search): Fix setting this_pos_byte in backward
10043 search.
10044
10045 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10046 byte sequence.
10047 (detect_coding_ccl): Fix setting of the variable valids.
10048
100492008-02-01 Kenichi Handa <handa@m17n.org>
10050
10051 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10052
10053 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10054
10055 * editfns.c (Ftranslate_region_internal): Rename from
10056 Ftranslate_region. Accept a char-table in TABLE.
10057 (syms_of_editfns): Defsubr Stranslate_region_internal.
10058
10059 * xfaces.c (set_lface_from_font_name): If a font is specified for
10060 a frame, generate a fontset from the font.
10061 (build_scalable_font_name): If the scalable font is requested for
10062 a specific size, don't change that size.
10063 (try_font_list): Try a scalable font also in the case that a
10064 pattern string is specified.
10065
100662008-02-01 Kenichi Handa <handa@m17n.org>
10067
10068 * xfaces.c (Fface_font): New optional arg CHARACTER.
10069
100702008-02-01 Kenichi Handa <handa@m17n.org>
10071
10072 * charset.h (CHARSET_OFFSET): New macro.
10073
100742008-02-01 Kenichi Handa <handa@m17n.org>
10075
10076 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10077
10078 * fontset.c (fontset_face): Handle the case that repertory is a
10079 char-table.
10080 (find_font_encoding): Return nil for unknown encoding.
10081 (Fset_fontset_font): Ignore a font of unknown encoding.
10082
100832008-02-01 Kenichi Handa <handa@m17n.org>
10084
10085 * keymap.c (describe_vector): Handle default value of a char table.
10086
10087 * fontset.c (fontset_face): Handle fallback fonts correctly.
10088 (Ffontset_info): Return infomation about fallback fonts.
10089
100902008-02-01 Kenichi Handa <handa@m17n.org>
10091
10092 * fontset.c (FONTSET_DEFAULT): New macro.
10093 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10094 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10095 the case that it is nil.
10096 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10097 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10098
10099 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10100 subset or superset.
10101
101022008-02-01 Kenichi Handa <handa@m17n.org>
10103
10104 * emacs.c (main): Call init_charset after syms_of_XXX.
10105
10106 * charset.c (Vcharset_map_directory): Delete.
10107 (Vcharset_map_path): New variable.
10108 (load_charset_map_from_file): Use Vcharset_map_path instead.
10109 (init_charset): Initialize Vcharset_map_path.
10110 (syms_of_charset): Delete declaration of "charset-map-directory",
10111 add declaration of "charset-map-path".
10112
101132008-02-01 Kenichi Handa <handa@m17n.org>
10114
10115 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10116 ASCII only string.
10117
10118 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10119
10120 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10121 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10122
101232008-02-01 Kenichi Handa <handa@m17n.org>
10124
10125 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10126
10127 * coding.c (QCmnemonic, QCdefalut_char)
10128 (QCdecode_translation_table, QCencode_translation_table)
10129 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10130 (get_translation_table): Return a list of translation tables if
10131 necessary.
10132 (decode_coding): Call get_translation_table with ENCODEP 0.
10133 (char_encodable_p): If translation_table is non-nil, always call
10134 translate_char.
10135 (Fdefine_coding_system_internal): Accept list of translation
10136 tables as :encode-translation-table and :decode-translation-table.
10137 (Fcoding_system_put): New function.
10138 (syms_of_coding): Declare new symbols. Defsubr
10139 Scoding_system_put.
10140 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10141 typically JISX0212.
10142
10143 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10144 when the charset is superset type.
10145
10146 * character.c (translate_char): Accept list of translation tables.
10147
101482008-02-01 Kenichi Handa <handa@m17n.org>
10149
10150 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10151 (CODING_ATTR_TRANS_TBL): New macro.
10152
10153 * coding.c (get_translation_table): New function.
10154 (translate_chars): Fix the bug of skipping annotation data.
10155 (decode_coding, encode_coding): Utilize get_translation_table.
10156 (char_encodable_p, Funencodable_char_position): Translate char if
10157 necessary.
10158 (Ffind_coding_systems_region_internal)
10159 (Fcheck_coding_systems_region): Setup translation table for encode
10160 in a coding system attribute vector in advance.
10161 (Fdefine_coding_system_internal): Allow a symbol as translation
10162 table. For shift-jis type coding system, allow 4th charset.
10163
101642008-02-01 Kenichi Handa <handa@m17n.org>
10165
10166 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10167
10168 * xdisp.c (get_next_display_element): Pass -1 as POS to
10169 FACE_FOR_CHAR if displaying a C-string.
10170
101712008-02-01 Kenichi Handa <handa@m17n.org>
10172
10173 * composite.c (get_composition_id): Handle xoff and yoff in a
10174 composition rule.
10175
10176 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10177 (struct composition): New member lbearing and rbearing.
10178
10179 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10180 (x_get_glyph_overhangs): Handle a composition glyph.
10181 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10182
10183 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10184 composition glyph.
10185
101862008-02-01 Kenichi Handa <handa@m17n.org>
10187
10188 * print.c: Include charset.h.
10189 (Vprint_charset_text_property): New variable.
10190 (Qdefault): Extern it.
10191 (PRINT_STRING_NON_CHARSET_FOUND)
10192 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10193 (print_check_string_result): New variable.
10194 (print_check_string_charset_prop): New function.
10195 (print_prune_charset_plist): New variable.
10196 (print_prune_string_charset): New function.
10197 (print_object): Call print_prune_string_charset if
10198 Vprint_charset_text_property is not t.
10199 (print_interval): Print nothing if interval->plist is nil.
10200 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10201 variable. Init and staticpro print_prune_charset_plist.
10202
102032008-02-01 Kenichi Handa <handa@m17n.org>
10204
10205 * fontset.c (new_fontset_from_font_name): Use the specified font
10206 for all characters in the new fontset.
10207
10208 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10209 OBJECT args.
10210
10211 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10212 OBJECT args for composition too.
10213
10214 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10215 OBJECT args.
10216
102172008-02-01 Kenichi Handa <handa@m17n.org>
10218
10219 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10220
10221 * fontset.c (reorder_font_vector): Adjust for the change of
10222 FONT_DEF format.
10223 (fontset_face): New arg id. Change caller.
10224 (face_for_char): New args pos and object.
10225 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10226 (fs_query_fontset): Check NAME by Fassoc too.
10227 (Fset_fontset_font): Allow non-XLFD font name.
10228 (Ffontset_info): Adjust for the change of FONT_DEF format.
10229
10230 * fontset.h (face_for_char): Adjust prototype.
10231
10232 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10233 (append_space, extend_face_to_end_of_line)
10234 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10235 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10236
10237 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10238 POS and OBJECT args.
10239
10240 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10241 POS and OBJECT args.
10242
102432008-02-01 Jason Rumney <jasonr@gnu.org>
10244
10245 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10246 of GlobalAlloc'ed memory.
10247
102482008-02-01 Kenichi Handa <handa@m17n.org>
10249
10250 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10251
10252 * charset.h (charset_table_used): Delete extern.
10253
10254 * charset.c (charset_table_used): Make it static.
10255 (map_charset_chars): Fix args to c_function with.
10256
10257 * chartab.c (map_sub_char_table_for_charset): Fix args to
10258 c_function with.
10259
10260 * coding.h (enum coding_result_code): Delete
10261 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10262
10263 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10264 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10265 (Vlast_code_conversion_error): New variables.
10266 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10267 (ONE_MORE_BYTE): Record error if any instead of signaling an
10268 error. If non-ASCII multibyte char is found, return the negative
10269 value of the code. All callers changed to check it.
10270 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10271 (record_conversion_result): New function. Change all codes setting
10272 coding->result to call this function.
10273 (detect_coding_utf_8, decode_coding_utf_8)
10274 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10275 Don't use the local variable incomplete.
10276 (emacs_mule_char): Change the second arg to `const'.
10277 (decode_coding): Fix of flushing out unprocessed data.
10278 (make_conversion_work_buffer): Fix making of a work buffer.
10279 (decode_coding_object): Return coding->dst_object.
10280
10281 * fontset.c (set_fontset_font): Fix args.
10282
10283 * lisp.h (CHARACTERBITS): Define as 22.
10284
10285 * process.c (send_process): Be sure to set coding->src_multibyte.
10286
10287 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10288
102892008-02-01 Kenichi Handa <handa@m17n.org>
10290
10291 * xdisp.c (handle_auto_composed_prop): Give limit to
10292 Fnext_single_char_property_change.
10293
102942008-02-01 Kenichi Handa <handa@m17n.org>
10295
10296 * composite.c (syms_of_composite): Don't make the composition hash
10297 table weak.
10298
10299 * fontset.c (Fset_fontset_font): Fix docstring.
10300
10301 * lisp.h (detect_coding_system): Adjust prototype.
10302
10303 * fileio.c (kill_workbuf_unwind): Delete this function.
10304 (Finsert_file_contents): Adjust the call of detect_coding_system.
10305 Get conversion_buffer by code_conversion_save. Use the macro
10306 CODING_MAY_REQUIRE_DECODING. After decoding, update
10307 coding_system.
10308
10309 * coding.h (make_conversion_work_buffer): Delete extern.
10310 (code_conversion_save): Extern it.
10311
10312 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10313 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10314 (decode_coding_utf_8): Don't do eol converion.
10315 (detect_coding_utf_16): Check coding->src_chars, not
10316 coding->src_bytes. Add heuristics for those that have no signature.
10317 (decode_coding_emacs_mule, decode_coding_iso_2022)
10318 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10319 Don't do eol converion.
10320 (adjust_coding_eol_type): Return a new coding system.
10321 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10322 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10323 each change.
10324 (decode_coding): Pay attention to undo_list. Do eol conversion for
10325 all types of coding-systems (if necessary).
10326 (Vcode_conversion_work_buf_list): Delete it.
10327 (Vcode_conversion_reused_workbuf): Rename from
10328 Vcode_conversion_reused_work_buf.
10329 (Vcode_conversion_workbuf_name): New variable.
10330 (reused_workbuf_in_use): New variable.
10331 (make_conversion_work_buffer): Delete the arg DEPTH.
10332 (code_conversion_restore): Change argument to cons.
10333 (code_conversion_save): Delete the argument BUFFER. Change callers.
10334 (detect_coding_system): New argument src_chars. Change callers.
10335 Fix for utf-16 detection.
10336 (init_coding_once): Don't use ISO_carriage_return.
10337 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10338 reused_workbuf_in_use.
10339
103402008-02-01 Kenichi Handa <handa@m17n.org>
10341
10342 * keymap.c (store_in_keymap): Pay attention to the case that idx
10343 is a cons specifying a character range.
10344
103452008-02-01 Kenichi Handa <handa@m17n.org>
10346
10347 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10348 HANDLED_RECOMPUTE_PROPS.
10349
10350 * coding.c (Fdefine_coding_system_internal): Fix checking of
10351 ascii compatibility.
10352
103532008-02-01 Kenichi Handa <handa@m17n.org>
10354
10355 * charset.c (find_charsets_in_text): Delete unused locale variable.
10356 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10357
10358 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10359 Resync charset_list to Vemacs_mule_charset_list.
10360
10361 * keymap.c (store_in_keymap): Pay attention to the case that idx
10362 is a cons specifying a character range.
10363
103642008-02-01 Kenichi Handa <handa@m17n.org>
10365
10366 * composite.c (update_compositions): Bind inhibit-read-only, etc
10367 to t before calling remove-list-of-text-properties.
10368
10369 * print.c (print_object): Always print ASCII chars as is.
10370
103712008-02-01 Kenichi Handa <handa@m17n.org>
10372
10373 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10374
10375 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10376 is a char table.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10381
103822008-02-01 Kenichi Handa <handa@m17n.org>
10383
10384 * xfaces.c (set_lface_from_font_name): Fix for the case that
10385 FONTNAME is not fontset name.
10386
103872008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 * fns.c (base64_encode_1): Fix previous change.
10390
103912008-02-01 Kenichi Handa <handa@m17n.org>
10392
10393 * fontset.c (set_fontset_font): New function.
10394 (Fset_fontset_font): If a font is specified for a charset, use
10395 map_charset_chars to store the font spec in a fontset.
10396
103972008-02-01 Kenichi Handa <handa@m17n.org>
10398
10399 * fontset.c (fontset_face): Create a fallback fontset on demand.
10400 (make_fontset): Don't create a fallback fontset here.
10401 (free_face_fontset): Free a fallback fontset (if any) too.
10402 (n_auto_fontsets): Delete this variable.
10403 (auto_fontset_alist): New variable.
10404 (new_fontset_from_font_name): Check auto_fontset_alist.
10405 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10406 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10407 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10408 Defsubr Sfontset_list_all.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10413
104142008-02-01 Kenichi Handa <handa@m17n.org>
10415
10416 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10417
104182008-02-01 Kenichi Handa <handa@m17n.org>
10419
10420 * editfns.c (Fgoto_char): Fix docstring.
10421
104222008-02-01 Kenichi Handa <handa@m17n.org>
10423
10424 * insdel.c (insert_from_gap): Adjust intervals correctly.
10425
104262008-02-01 Jason Rumney <jasonr@gnu.org>
10427
10428 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10429 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10430 (w32_initialize): Try to load it.
10431 (x_get_font_repertory): Use it if available.
10432 (w32_encode_char): Add shortcut for unicode output.
10433
10434 * w32fns.c (w32_load_system_font): Default charset to -1.
10435 (x_to_w32_charset): Match all fonts for unicode.
10436 (w32_to_x_charset): New parameter matching. Don't return partial
10437 or wildcard charsets.
10438 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10439 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10440 (w32_to_x_font): Match charset to real charset.
10441 (enum_font_cb2): Always list unicode versions.
10442
10443 * makefile.w32-in (temacs): Increase EMHEAP.
10444
104452008-02-01 Jason Rumney <jasonr@gnu.org>
10446
10447 * w32term.c (w32_encode_char): New charset parameter.
10448 font_info.encoding becomes encoding_type.
10449 (x_get_font_repertory): New function. Warning: stub only!
10450 (x_new_font): Return quickly if font already set.
10451 (x_new_fontset): fontsetname parameter is Lisp_Object.
10452 Use new fs_query_fontset. Try new_fontset_from_font_name.
10453 Use fontset_name for return value.
10454
10455 * w32term.h: Declare x_get_font_repertory.
10456
10457 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10458 place of find_charset_in_text. Use encode_coding_object in place
10459 of encode_coding.
10460 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10461 decode_coding.
10462
10463 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10464 of x_new_fontset.
10465 (w32_load_system_font): Initialize charset as unicode.
10466 font_info.encoding becomes encoding_type.
10467 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10468 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10469 (syms_of_w32fns): Set get_font_repertory_func.
10470
10471 * w32console.c: Include character.h. Use terminal_encode_buffer
10472 from term.c.
10473 (write_glyphs): Use new version of encode_terminal_code. Use
10474 encode_coding_object in place of encode_coding.
10475
10476 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10477 encoding becomes encoding_type.
10478
10479 * term.c (terminal_encode_buffer): Make externally visible.
10480
10481 * makefile.w32-in: Add character.h dependancies.
10482 (character.o, chartab.o): New targets.
10483
104842008-02-01 Kenichi Handa <handa@m17n.org>
10485
10486 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10487 CODING_ID_EOL_TYPE.
10488
104892008-02-01 Andreas Schwab <schwab@suse.de>
10490
10491 * coding.c (produce_chars): Revert last change.
10492
104932008-02-01 Kenichi Handa <handa@m17n.org>
10494
10495 * charset.h (charset_unicode): Extern it.
10496
10497 * charset.c (string_xstring_p): Check by (C >= 0x100).
10498 (find_charsets_in_text): Change format of the arc CHARSETS. New
10499 arg MULTIBYTE.
10500 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10501 change of find_charsets_in_text.
10502 (Fsplit_char): Fix doc. Never return unknown.
10503
10504 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10505
10506 * coding.c (Fdefine_coding_system_alias): Update
10507 Vcoding_system_list.
10508
10509 * fontset.c (load_font_get_repertory): Pay attention to the case
10510 that ENCODING of a font is specified by a char-table.
10511
10512 * xterm.c (x_get_font_repertory): Handle the case that the
10513 encoding of font is other than Unicode.
10514
105152008-02-01 Kenichi Handa <handa@m17n.org>
10516
10517 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10518 if a character is encodable by the terminal coding system. If
10519 not, produces proper number of `?'s. Update
10520 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10521 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10522
105232008-02-01 Kenichi Handa <handa@m17n.org>
10524
10525 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10526 variables.
10527 (encode_terminal_code): Change argument. Encode multiple
10528 characters at once. Store the result of encoding in
10529 terminal_encode_buffer.
10530 (write_glyphs, insert_glyphs): Adjust for the change of
10531 encode_terminal_code.
10532 (term_init): Initialize terminal_encode_buffer and
10533 terminal_encode_buf_size.
10534
10535 * coding.c (consume_chars): If coding->src_object is nil, don't
10536 check annotation.
10537
105382008-02-01 Kenichi Handa <handa@m17n.org>
10539
10540 * character.c (char_string): Use ASCII_CHAR_P instead of
10541 SINGLE_BYTE_CHAR_P.
10542
105432008-02-01 Kenichi Handa <handa@m17n.org>
10544
10545 * xdisp.c (handle_auto_composed_prop): Check if the last
10546 characters of auto-composed region is newly composed with the
10547 following characters.
10548 (handle_composition_prop): Fix checking of point being inside
10549 composition.
10550
105512008-02-01 Kenichi Handa <handa@m17n.org>
10552
10553 * fns.c (concat): Don't change multibyteness of the result by
10554 concatenating an 8-bit character.
10555
10556 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10557 multibyteness of the result when newelt is an 8-bit character.
10558
105592008-02-01 Dave Love <fx@gnu.org>
10560
10561 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10562 EMACS_INT.
10563
10564 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10565
10566 * xfaces.c (face_numeric_value): Declare dim size_t.
10567 (Finternal_lisp_face_equal_p): Remove unused f.
10568
10569 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10570 (MATRIX_ROW): Remove unused vars.
10571 (draw_glyphs, x_insert_glyphs, fast_find_position)
10572 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10573 byte/char counts.
10574
10575 * regex.c (regex_compile): Remove unused var.
10576
10577 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10578
10579 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10580 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10581
10582 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10583
10584 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10585
10586 * fileio.c (Fwrite_region): Remove unused var.
10587
10588 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10589 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10590
10591 * composite.c (Fremove_list_of_text_properties): Declare.
10592
10593 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10594 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10595 (coding_inherit_eol_type): Remove unused attrs.
10596 (detect_coding): Cast arg of detect_eol.
10597
10598 * charset.c (syms_of_charset): Remove unused var p.
10599 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10600 byte/char counts.
10601
10602 * casetab.c (set_case_table): Remove unused var.
10603
10604 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10605 unused vars.
10606
106072008-02-01 Dave Love <fx@gnu.org>
10608
10609 * xterm.c (x_bitmap_mask): Declare.
10610
106112008-02-01 Dave Love <fx@gnu.org>
10612
10613 * xterm.c (x_term_init): Fix type error.
10614
10615 * lisp.h: Add Funibyte_char_to_multibyte.
10616
10617 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10618 (Fset_coding_system_priority): Doc fix.
10619
10620 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10621
10622 * indent.c (check_composition): Make start and end EMACS_INT.
10623
10624 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10625
10626 * xdisp.c (handle_composition_prop, check_point_in_composition):
10627 Make buffer positions EMACS_INT.
10628
10629 * composite.c (find_composition, run_composition_function)
10630 (update_compositions, Ffind_composition_internal): Make buffer
10631 positions EMACS_INT.
10632
10633 * composite.h (find_composition, update_compositions): Make
10634 position args EMACS_INT.
10635
10636 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10637
10638 * intervals.c (get_property_and_range):
10639 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10640
10641 * unexalpha.c: Don't include varargs.h.
10642
106432008-02-01 Dave Love <fx@gnu.org>
10644
10645 * coding.h (ENCODE_UTF_8): New.
10646
10647 * Makefile.in (gtkutil.o): Depend on coding.h.
10648
10649 * coding.c (Fset_coding_system_priority): Doc fix.
10650
106512008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10654 the case of auto saving.
10655
106562008-02-01 Andreas Schwab <schwab@suse.de>
10657
10658 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10659 `range' from GC.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10664
106652008-02-01 Kenichi Handa <handa@m17n.org>
10666
10667 * fileio.c (choose_write_coding_system): Return a decided coding system.
10668 (Fwrite_region): Set Vlast_coding_system_used to the return value
10669 of choose_write_coding_system.
10670
106712008-02-01 Kenichi Handa <handa@m17n.org>
10672
10673 * charset.c (Fset_charset_priority): Pay attention to duplicated
10674 arguments.
10675
10676 * coding.c (QCcategory): New variable.
10677 (syms_of_coding): Defsym it. Set all elements of
10678 Vcoding_category_table and their symbol values.
10679 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10680 coding-category-XXX, and coding-category-list.
10681 (Fdefine_coding_system_internal): Add category in the plist.
10682
106832008-02-01 Kenichi Handa <handa@m17n.org>
10684
10685 * callproc.c (Fcall_process): Handle carryover correctly.
10686
10687 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10688 (raw_text_coding_system): Check NILP (coding_system).
10689 (coding_inherit_eol_type): Check NILP (coding_system) and
10690 NILP (parent).
10691 (consume_chars): Fix for the case of raw-text.
10692
10693 * process.c (read_process_output): Handle carryover correctly.
10694
106952008-02-01 Dave Love <fx@gnu.org>
10696
10697 * regex.c (re_search_2): Fix last change.
10698
106992008-02-01 Kenichi Handa <handa@m17n.org>
10700
10701 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10702 target_multibyte. Even in a unibyte case, return a converted
10703 multibyte char.
10704 (GET_CHAR_AFTER): New macro.
10705 (PATFETCH): Translate via multibyte char.
10706 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10707 (SETUP_MULTIBYTE_RANGE): New macro.
10708 (regex_compile): Setup compiled code so that its multibyteness
10709 matches that of a target. Fix the handling of "[X-YZ]" using
10710 SETUP_MULTIBYTE_RANGE.
10711 (analyse_first) <charset>: For filling fastmap for all multibyte
10712 characters, don't check by BASE_LEADING_CODE_P.
10713 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10714 the same as RE_MULTIBYTE_P (bufp) now.
10715 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10716 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10717 (TRANSLATE_VIA_MULTIBYTE): New macro.
10718 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10719 It is the same as RE_MULTIBYTE_P (bufp) now.
10720 <exactn>: Translate via multibyte.
10721 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10722 translate it.
10723 <charset, charset_not>: Fetch a character by
10724 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10725 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10726 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10727 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10728 by GET_CHAR_AFTER.
10729 (bcmp_translate): Likewise.
10730
10731 * search.c (compile_pattern): Check the member target_multibyte,
10732 not the member multibyte of buf.
10733
10734 * lread.c (read1): While reading a string, set force_singlebyte
10735 and force_multibyte correctly.
10736
10737 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10738 up of unibyte_to_multibyte_table.
10739
107402008-02-01 Kenichi Handa <handa@m17n.org>
10741
10742 * coding.c (setup_coding_system): If coding has
10743 post-read-conversion or pre-write-conversion, set
10744 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10745 respectively.
10746 (decode_coding_gap): Run post-read-conversion if any.
10747
10748 * fileio.c (Finsert_file_contents): Even if we read into a
10749 unibyte buffer, check if we must decode the result or not.
10750
107512008-02-01 Kenichi Handa <handa@m17n.org>
10752
10753 * coding.c (make_conversion_work_buffer): Change the work buffer
10754 name to the same one as that of Emacs 21.
10755
107562008-02-01 Kenichi Handa <handa@m17n.org>
10757
10758 * coding.h (make_conversion_work_buffer): Adjust prototype.
10759 (code_conversion_restore): Don't extern it.
10760
10761 * coding.c (detected_mask): Delete unused variable.
10762 (decode_coding_iso_2022): Pay attention to the byte sequence of
10763 CTEXT extended segment, and retain those bytes as is.
10764 (decode_coding_ccl): Delete unused variable `valids'.
10765 (setup_coding_system): Delete unused variable `category'.
10766 (consume_chars): Delete unused variable `category'. Make it work
10767 for non-multibyte case.
10768 (make_conversion_work_buffer): Change argument.
10769 (saved_coding): Delete unused variable.
10770 (code_conversion_restore): Don't check saved_coding->destination.
10771 (code_conversion_save): New function.
10772 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10773 instead of record_unwind_protect.
10774 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10775 (detect_coding_system): Delete unused variable `mask'.
10776 (Fdefine_coding_system_internal): Delete unused variable id.
10777
10778 * fileio.c (kill_workbuf_unwind): New function.
10779 (Finsert_file_contents): On replacing, call
10780 make_conversion_work_buffer with correct args, and call
10781 record_unwind_protect with the first arg kill_workbuf_unwind.
10782
10783 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10784
107852008-02-01 Kenichi Handa <handa@m17n.org>
10786
10787 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10788 (fontset_add): Fix for the case that TO is less than TO1.
10789 (Ffontset_info): Don't use fallback fontset on checking the
10790 default fontset.
10791 (dump_fontset): New function for debugging.
10792
10793 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10794 coding_type is Qcharset.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10799 (map_char_table): Don't inherit the value from the parent on
10800 initializing VAL. Adjust for the above change.
10801
108022008-02-01 Kenichi Handa <handa@m17n.org>
10803
10804 * coding.c (Qsignature, Qendian): Delete these variables.
10805 (syms_of_coding): Don't initialize them.
10806 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10807 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10808 detect_info->found.
10809 (decode_coding_utf_16): Don't detect BOM here.
10810 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10811 is NOT utf_16_without_bom.
10812 (setup_coding_system): For a coding system of type utf-16, check
10813 if the attribute :endian is Qbig or not (not nil or not), and set
10814 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10815 (detect_coding): If coding type is utf-16 and BOM detection is
10816 required, detect it.
10817 (Fdefine_coding_system_internal): For a coding system of type
10818 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10819
108202008-02-01 Kenichi Handa <handa@m17n.org>
10821
10822 * coding.c (coding_set_source): Fix for the case that the current
10823 buffer is different from coding->src_object.
10824 (decode_coding_object): Don't use the conversion work buffer if
10825 DST_OBJECT is a buffer.
10826
108272008-02-01 Dave Love <fx@gnu.org>
10828
10829 * lread.c (read_emacs_mule_char) [len==2]: Index
10830 emacs_mule_charset correctly.
10831
108322008-02-01 Dave Love <fx@gnu.org>
10833
10834 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10835 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10836 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10837 treated specially.)
10838 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10839 (detected_mask): Remove Big5 bits.
10840
108412008-02-01 Kenichi Handa <handa@m17n.org>
10842
10843 The following changes are to make the font rescaling facility
10844 compatible with Emacs 21.
10845
10846 * xfaces.c (Vface_font_rescale_alist): Rename from
10847 Vface_resizing_fonts.
10848 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10849 (font_rescale_ratio): Rename from font_resizing_ratio.
10850 (split_font_name): Set font->rescale_ratio.
10851 (better_font_p): Pay attention to font->rescale_ratio.
10852 (build_scalable_font_name): Likewise. Change RESX, and RESY
10853 fields.
10854 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10855
108562008-02-01 Kenichi Handa <handa@m17n.org>
10857
10858 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10859 (Qutf_16_le): Remove these variables.
10860 (syms_of_coding): Don't DEFSYM them.
10861 (decode_coding_utf_16): Fix handling of BOM.
10862 (encode_coding_utf_16): Fix handling of BOM.
10863
108642008-02-01 Kenichi Handa <handa@m17n.org>
10865
10866 * fileio.c (Finsert_file_contents): On replacing, before decoding
10867 the file into the work buffer, set point of the work buffer to the end.
10868
108692008-02-01 Dave Love <fx@gnu.org>
10870
10871 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10872
108732008-02-01 Dave Love <fx@gnu.org>
10874
10875 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10876 and fix C types.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * xdisp.c (SKIP_GLYPHS): New macro.
10881 (set_cursor_from_row): Pay attention to string display properties.
10882
10883 * category.c (copy_category_entry): Fix for the case that RANGE
10884 is an integer.
10885
10886 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10887
10888 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10889
108902008-02-01 Kenichi Handa <handa@m17n.org>
10891
10892 * charset.c (Fcharset_id_internal): New function.
10893 (syms_of_charset): Defsubr it.
10894
10895 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10896 with the last arg charset_list acquired from coding.
10897 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10898 the attribute coding_attr_ccl_valids.
10899
10900 * coding.h (enum define_coding_ccl_arg_index): Set the first
10901 member coding_arg_ccl_decoder to coding_arg_max.
10902
10903 * ccl.h (ccl_driver): Adjust prototype.
10904
10905 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10906 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10907 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10908 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10909 last arg Qnil.
10910
109112008-02-01 Kenichi Handa <handa@m17n.org>
10912
10913 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10914 call encode_char.
10915
10916 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10917
109182008-02-01 Dave Love <fx@gnu.org>
10919
10920 * composite.c (syms_of_composite): Make composition_hash_table weak.
10921
109222008-02-01 Kenichi Handa <handa@m17n.org>
10923
10924 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10925 (font_name_registry): Don't extern them.
10926 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10927
10928 * fontset.h (Qfontset): Don't extern it.
10929 (new_fontset_from_font_name): Extern it.
10930
10931 * fontset.c: Give 8 extra slots to fontset objects.
10932 (Qfontset_info): New variable.
10933 (syms_of_fontset): Defsym it.
10934 (FONTSET_FALLBACK): New macro.
10935 (fontset_face): Try also the default fontset.
10936 (make_fontset): Realize a fallback fontset from the default fontset.
10937 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10938 using split_font_name_into_vector and build_font_name_from_vector.
10939 (Fset_fontset_font): Access the elements of font_spec by enum
10940 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10941 name by using split_font_name_into_vector.
10942 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10943 generate a proper font name from the fontset name. Update
10944 Vfontset_alias_alist.
10945 (n_auto_fontsets): New variable.
10946 (new_fontset_from_font_name): New function.
10947 (Ffont_info): Store the information about fonts generated from the
10948 default fontset in the first extra slot of the returned char-table.
10949
10950 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10951 (font_name_registry): Delete function.
10952 (split_font_name_into_vector): New function.
10953 (build_font_name_from_vector): New function.
10954 (font_list): The argument REGISTRY is now a list of registry names.
10955 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10956 specifies an explicit font name, return the name as is. Make a
10957 list of registy names.
10958
10959 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10960 of x_new_fontset.
10961 (Fx_create_frame): Don't call x_new_fontset here. Just use
10962 x_list_fonts to check the existence of fonts.
10963
10964 * xterm.h (x_new_fontset): Adjust prototype.
10965
10966 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10967 string. Use new_fontset_from_font_name to create a fontset from a
10968 font name.
10969
109702008-02-01 Kenichi Handa <handa@m17n.org>
10971
10972 * syntax.c (Vfind_word_boundary_function_table): New name for
10973 Vnext_word_boundary_function_table.
10974 (find-word-boundary-function-table): New name for
10975 next-word-boundary-function-table.
10976
109772008-02-01 Dave Love <fx@gnu.org>
10978
10979 * Makefile.in: Fix some dependencies.
10980
10981 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10982 set it to nil before returning.
10983
10984 * composite.c (update_compositions): Fix type error.
10985
10986 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10987
109882008-02-01 Kenichi Handa <handa@m17n.org>
10989
10990 * xterm.c (x_new_font): Optimize for the case that the font is
10991 already set for the frame.
10992
109932008-02-01 Kenichi Handa <handa@m17n.org>
10994
10995 * chartab.c (char_table_ascii): Check if the char table contents
10996 is sub-char-table or not.
10997 (char_table_set, char_table_set_range): Fix argument to
10998 char_table_ascii.
10999
11000 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11001 (detect_coding_utf_8, detect_coding_utf_16)
11002 (detect_coding_emacs_mule, detect_coding_iso_2022)
11003 (detect_coding_sjis, detect_coding_big5)
11004 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11005 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11006 sequence is valid in this coding system. Change callers.
11007 (MAX_ANNOTATION_LENGTH): New macro.
11008 (ADD_ANNOTATION_DATA): New macro.
11009 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11010 ADD_ANNOTATION_DATA. Change the format of annotation data.
11011 (ADD_CHARSET_DATA): New macro.
11012 (emacs_mule_char): New argument ID. Change callers.
11013 (decode_coding_emacs_mule, decode_coding_iso_2022)
11014 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11015 Produce charset annotation data in coding->charbuf.
11016 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11017 to charset annotation data in coding->charbuf.
11018 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11019 coding->common_flags if the coding system is iso-2022 based and
11020 uses designation.
11021 (produce_composition): Adjust for the new annotation data format.
11022 (produce_charset): New function.
11023 (produce_annotation): Handle charset annotation.
11024 (handle_composition_annotation, handle_charset_annotation): New
11025 functions.
11026 (consume_chars): Handle charset annotation. Utilize the above two
11027 functions.
11028 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11029 buffer, get the deleted text as a string and set
11030 coding->src_object to that string.
11031 (detect_coding, detect_coding_system): Use the new struct
11032 coding_detection_info.
11033
11034 * coding.h (struct coding_detection_info): New structure.
11035 (struct coding_system): Adjust prototype of the member `detector'.
11036 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11041
110422008-02-01 Dave Love <fx@gnu.org>
11043
11044 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11045 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11046 to new local and nullify apropos_accumulate before returning.
11047 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11048
110492008-02-01 Kenichi Handa <handa@m17n.org>
11050
11051 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11052 correctly.
11053
110542008-02-01 Dave Love <fx@gnu.org>
11055
11056 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11057
110582008-02-01 Kenichi Handa <handa@m17n.org>
11059
11060 The following changes are to make character composition happen
11061 automatically on displaying.
11062
11063 * Makefile.in (lisp, shortlisp): Add composite.elc.
11064
11065 * composite.h (Qauto_composed, Vauto_composition_function)
11066 (Qauto_composition_function): Extern them.
11067
11068 * composite.c (Vcomposition_function_table)
11069 (Qcomposition_function_table): Delete variables.
11070 (Qauto_composed, Vauto_composition_function)
11071 (Qauto_composition_function): New variables.
11072 (run_composition_function): Don't call
11073 compose-chars-after-function.
11074 (update_compositions): Clear `auto-composed' text property.
11075 (compose_chars_in_text): Delete this function.
11076 (syms_of_composite): Staticpro Qauto_composed and
11077 Qauto_composition_function. Declare Vauto_composition_function as
11078 a Lisp variable.
11079
11080 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11081
11082 * xdisp.c (it_props): Add an entry for Qauto_composed.
11083 (handle_auto_composed_prop): New function.
11084
11085 * xselect.c (selection_data_to_lisp_data): Don't call
11086 compose_chars_in_text.
11087
110882008-02-01 Dave Love <fx@gnu.org>
11089
11090 * keyboard.c (read_char): Modify checking around use of
11091 Vkeyboard_translate_table.
11092
11093 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11094 and fix C types.
11095
110962008-02-01 Kenichi Handa <handa@m17n.org>
11097
11098 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11099 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11100 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11101 the case that the last byte is '\r' correctly.
11102 (decode_coding): Flush out the unprocessed data correctly.
11103 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11104
111052008-02-01 Dave Love <fx@gnu.org>
11106
11107 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11108 Add XK_ISO... case.
11109 (xaw_scroll_callback): Revert last change.
11110
111112008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * xfaces.c (Vface_resizing_fonts): New variable.
11118 (struct font_name): New member `resizing_ratio'.
11119 (font_resizing_ratio): New function.
11120 (split_font_name): Set font->resizing_ratio.
11121 (better_font_p): Pay attention to font->resizing_ratio.
11122 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11123 RESX, and RESY fields.
11124 (try_alternative_families): Try scalable fonts if
11125 Vscalable_fonts_allowed is not Qt.
11126 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11127
111282008-02-01 Dave Love <fx@gnu.org>
11129
11130 * xterm.c (xaw_scroll_callback): Cast correctly.
11131
111322008-02-01 Dave Love <fx@gnu.org>
11133
11134 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11135 (lispy_kana_keys): Comment out.
11136 (make_lispy_event) [XK_kana_A]: Comment out.
11137
11138 * xterm.c (xaw_scroll_callback): Cast call_data.
11139 (XTread_socket): Deal with ASCII keysyms.
11140 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11141
111422008-02-01 Dave Love <fx@gnu.org>
11143
11144 * xterm.c (Vx_keysym_table): New.
11145 (syms_of_xterm): Initialize it.
11146 (XTread_socket): Use it.
11147 From head: Eliminate incorrect optimization that tried to avoid
11148 decoding the output of X*LookupString.
11149 (x_get_font_repertory): Delete charset declaration.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11154 return 0.
11155 (Fdefine_coding_system_internal): Setup
11156 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11157
111582008-02-01 Dave Love <fx@gnu.org>
11159
11160 * coding.c (Fcheck_coding_system): Doc fix.
11161
11162 * editfns.c (Finsert_byte): Return a proper value.
11163
111642008-02-01 Kenichi Handa <handa@m17n.org>
11165
11166 * coding.c (decode_coding): Fix args to translate_chars. Pay
11167 attention to Vstandard_translation_table_for_decode.
11168 (encode_coding): Fix args to translate_chars. Pay attention to
11169 Vstandard_translation_table_for_encode.
11170
11171 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11172 SINGLE_BYTE_CHAR_P.
11173
11174 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11175 not by SINGLE_BYTE_CHAR_P.
11176
11177 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11178 SINGLE_BYTE_CHAR_P.
11179
11180 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11181 SINGLE_BYTE_CHAR_P.
11182
11183 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11184 by SINGLE_BYTE_CHAR_P.
11185
11186 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11187 SINGLE_BYTE_CHAR_P.
11188
111892008-02-01 Dave Love <fx@gnu.org>
11190
11191 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11192
111932008-02-01 Dave Love <fx@gnu.org>
11194
11195 * fns.c (Flanginfo): Fix typo.
11196
11197 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11198
111992008-02-01 Kenichi Handa <handa@m17n.org>
11200
11201 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11202 (detect_coding_emacs_mule, detect_coding_iso_2022)
11203 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11204 incomplete byte sequence. Don't update *mask when correctly detected.
11205 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11206 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11207 (detect_coding, detect_coding_system): Adjust for the changes above.
11208
112092008-02-01 Kenichi Handa <handa@m17n.org>
11210
11211 * character.c (char_string): Rename from
11212 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11213 (string_char): Rename from string_char.
11214
11215 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11216 if C is greater than MAX_3_BYTE_CHAR.
11217 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11218 string_char instead of string_char_with_unification.
11219
112202008-02-01 Dave Love <fx@gnu.org>
11221
11222 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11223
112242008-02-01 Kenichi Handa <handa@m17n.org>
11225
11226 * keymap.c (push_key_description): Pay attention to force_multibyte.
11227
11228 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11229
112302008-02-01 Dave Love <fx@gnu.org>
11231
11232 * charset.c (define_charset_internal): Rename `supprementary'.
11233
11234 * Makefile.in (lisp, shortlisp): Remove latin-N.
11235
112362008-02-01 Dave Love <fx@gnu.org>
11237
11238 * xfns.c (x_window, x_window): Use use_xim.
11239
11240 * xterm.c (use_xim): Initialize.
11241 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11242 (x_term_init): Maybe set use_xim.
11243
11244 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * search.c (search_buffer): Fix case-fold-search of multibyte
11249 characters.
11250 (boyer_moore): Rename the last argument to char_high_bits.
11251
112522008-02-01 Kenichi Handa <handa@m17n.org>
11253
11254 * xdisp.c (display_string): Fix for the case of zero width glyph.
11255
11256 * xfns.c (x_set_font): Change the error message of the case that
11257 x_new_fontset returns Qt.
11258
11259 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11260 (Finternal_set_lisp_face_attribute): Use signal_error for the
11261 error of invalid fontset.
11262
11263 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11264 fontset, return Qt.
11265
112662008-02-01 Dave Love <fx@gnu.org>
11267
11268 * unexelf.c (unexec): Make .got handling not SGI-specific.
11269
11270 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11271
11272 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11273
11274 * keyboard.c (read_key_sequence): Fix type error.
11275
11276 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11277 type error.
11278
11279 * fontset.c (fontset_add): Return Lisp_Object.
11280
112812008-02-01 Dave Love <fx@gnu.org>
11282
11283 * charset.h (charset_ordered_list_tick): Declare extern.
11284
112852008-02-01 Kenichi Handa <handa@m17n.org>
11286
11287 The following changes (and some of 2008-02-01 changes of mine) are
11288 for handling syntax, category, and case conversion for unibyte
11289 characters by converting them to multibyte on the fly. With these
11290 changes, we don't have to setup syntax and case tables for unibyte
11291 characters in each language environment.
11292
11293 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11294 multibyte if necessary.
11295
11296 * bytecode.c (Fbyte_code): Likewise.
11297
11298 * character.h (LEADING_CODE_LATIN_1_MIN)
11299 (LEADING_CODE_LATIN_1_MAX): New macros.
11300 (unibyte_to_multibyte_table): Extern it.
11301 (unibyte_char_to_multibyte): New macro.
11302 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11303 (CHAR_LEADING_CODE): New macro.
11304 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11305
11306 * character.c (unibyte_to_multibyte_table): New variable.
11307 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11308 (multibyte_char_to_unibyte): If C is an eight-bit character,
11309 convert it to the corresponding byte value.
11310
11311 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11312 not 1, signals an error. Update the elements of
11313 unibyte_to_multibyte_table.
11314 (init_charset_once): Initialize unibyte_to_multibyte_table.
11315 (syms_of_charset): Define the charset `iso-8859-1'.
11316
11317 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11318 as is without converting it to unibyte. In a unibyte buffer,
11319 convert C to multibyte before checking the syntax.
11320
11321 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11322
11323 * minibuf.c (Fminibuffer_complete_word): Use the macro
11324 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11325
11326 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11327
11328 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11329 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11330 that is zero, convert an eight-bit char to multibyte.
11331 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11332 non-emacs case.
11333 (PATFETCH): Convert an eight-bit char to multibyte.
11334 (HANDLE_UNIBYTE_RANGE): New macro.
11335 (regex_compile): Setup the compiled pattern for multibyte chars
11336 even if the given regex string is unibyte. Use PATFETCH_RAW
11337 instead of PATFETCH in many places. To handle `charset'
11338 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11339 only for ASCII chars.
11340 (analyse_first) <exactn>: Simplify because the compiled pattern
11341 is multibyte.
11342 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11343 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11344 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11345 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11346 multibyte always 1.
11347 (re_search_2): In emacs, set the locale variable multibyte to 1,
11348 otherwise to 0. New local variable target_multibyte. Check it
11349 to decide the multibyteness of STR1 and STR2. If
11350 target_multibyte is zero, convert unibyte chars to multibyte
11351 before translating and checking fastmap.
11352 (TARGET_CHAR_AND_LENGTH): New macro.
11353 (re_match_2_internal): In emacs, set the locale variable multibyte
11354 to 1, otherwise to 0. New local variable target_multibyte. Check
11355 it to decide the multibyteness of STR1 and STR2. Use
11356 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11357 <charset, charset_not>: If multibyte is nonzero, check fastmap
11358 only for ASCII chars. Call bcmp_translate with
11359 target_multibyte, not with multibyte.
11360 <begline>: Declare the local variable C as `unsigned'.
11361 (bcmp_translate): Change the last arg name to target_multibyte.
11362
11363 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11364 the regexp pattern and the matching target. Set cp->buf.multibyte
11365 to the multibyteness of the regexp pattern. Set
11366 cp->but.target_multibyte to the multibyteness of the matching target.
11367 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11368 FETCH_STRING_CHAR_ADVANCE.
11369 (Freplace_match): Convert unibyte chars to multibyte.
11370
11371 * syntax.c (char_quoted, back_comment, scan_words)
11372 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11373 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11374 unibyte chars to multibyte.
11375 (skip_chars): Delete the arg syntaxp, and move the code for
11376 handling syntaxes to skip_syntaxes. Change callers.
11377 Fix the case that the multibyteness of STRING and the current
11378 buffer doesn't match.
11379 (skip_syntaxes): New function.
11380 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11381 SINGLE_BYTE_CHAR_P.
11382
113832008-02-01 Kenichi Handa <handa@m17n.org>
11384
11385 * xfaces.c (QCfontset): New variable.
11386 (LFACE_FONTSET): New macro.
11387 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11388 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11389 (Finternal_set_lisp_face_attribute)
11390 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11391 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11392 check also LFACE_FONTSET_INDEX.
11393 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11394 attrs[LFACE_FONT_INDEX].
11395 (syms_of_xfaces): Intern and staticpro QCfontset.
11396
11397 * dispextern.h (enum lface_attribute_index): New member
11398 LFACE_FONTSET_INDEX.
11399
11400 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11401
114022008-02-01 Kenichi Handa <handa@m17n.org>
11403
11404 * coding.c (coding_set_destination): Fix coding->destination for
11405 the case converting a region.
11406 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11407 (encode_coding_object): Fix coding->dst_pos and
11408 coding->dst_pos_byte for the case converting a region.
11409
11410 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11411
11412 * character.h (BYTE8_STRING): New macro.
11413
11414 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11415
114162008-02-01 Kenichi Handa <handa@m17n.org>
11417
11418 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11419 characters by octal form.
11420
11421 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11422
11423 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11424 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11425 _fetch_multibyte_char_len.
11426 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11427
11428 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11429
11430 * casefiddle.c (casify_object): Simplify. Handle the case that
11431 the case conversion change the byte length.
11432 (casify_region): Likewise.
11433
11434 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11435
11436 * character.c (_fetch_multibyte_char_len): Delete this variable.
11437 (syms_of_character): Setup Vprintable_chars.
11438
11439 * editfns.c (Fchar_equal): Fix for the unibyte case.
11440 (Finsert_byte): New function.
11441 (syms_of_editfns): Defsubr it.
11442
11443 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11444 of direct code 0x3ffff.
11445
11446 * search.c (Freplace_match): Fix for the unibyte case.
11447
114482008-02-01 Kenichi Handa <handa@m17n.org>
11449
11450 * lread.c (safe_to_load_p): Fix the logic.
11451
11452 * syntax.c (scan_words): Don't treat characters belonging to
11453 different scripts as constituting a word.
11454
11455 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11456
11457 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11458
11459 * emacs.c (main): In the case of --unibyte, instead of aborting on
11460 finding non-empty buffer, make it unibyte.
11461
114622008-02-01 Kenichi Handa <handa@m17n.org>
11463
11464 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11465 to create a fontset.
11466
114672008-02-01 Dave Love <fx@gnu.org>
11468
11469 * character.c (Funibyte_char_to_multibyte): Doc fix.
11470
11471 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11472
114732008-02-01 Kenichi Handa <handa@m17n.org>
11474
11475 * fontset.c (fontset_add): Make the type `int'.
11476 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11477
11478 * character.c (unibyte_char_to_multibyte)
11479 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11480 charset_unibyte, not charset_primary.
11481
11482 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11483
11484 * charset.c (charset_unibyte): Rename from charset_primary.
11485 (Funibyte_charset): Rename from Fprimary_charset.
11486 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11487 (syms_of_charset): Adjust for the above changes.
11488
11489 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11490 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11491 it->multibyte_p is zero.
11492
11493 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11494 Delete extern.
11495
114962008-02-01 Kenichi Handa <handa@m17n.org>
11497
11498 * coding.c (Fdefine_coding_system_internal): Fix category setting
11499 for a coding system of type iso-2022.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * syntax.c (Vnext_word_boundary_function_table): New variable.
11508 (next-word-boundary-function-table): Declare it as a Lisp variable
11509 in syms_of_syntax.
11510 (scan_words): Call functions in Vnext_word_boundary_function_table
11511 if any.
11512
11513 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11514
11515 * fontset.c (fs_load_font): If fontp->charset is not negative,
11516 return fontp without setting its members.
11517
115182008-02-01 Dave Love <fx@gnu.org>
11519
11520 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11521
11522 * m/sparc.h (HAVE_ALLOCA): Delete.
11523
11524 * s/irix6-5.h: Don't include strings.h.
11525 (bcopy, bzero, bcmp): Don't undef.
11526
11527 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11528
11529 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11530 (TIOCSIGSEND): Don't test IRIX6.
11531 (bcopy, bzero, bcmp): Define conditionally.
11532
115332008-02-01 Kenichi Handa <handa@m17n.org>
11534
11535 * buffer.c (Qas, Qmake, Qto): New variables.
11536 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11537 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11538
11539 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11540 we are inserting a process output into a multibyte buffer.
11541
11542 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11543 multibyte_char_to_unibyte.
11544
11545 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11546 by the primary charset, make it eight-bit char.
11547 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11548
11549 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11550 (charset_8_bit__control, charset_8_bit_graphic)
11551 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11552 (define_charset_internal): New function.
11553 (syms_of_charset): Call define_charset_internal for pre-defined
11554 charsets.
11555
11556 * charset.h (charset_8_bit): Extern it.
11557
11558 * coding.c (make_conversion_work_buffer): Adjust for the change
11559 of Fset_buffer_multibyte.
11560 (encode_coding_raw_text): Increment p0 in the loop.
11561
11562 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11563
11564 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11565 for the change of Fset_buffer_multibyte.
11566
11567 * fns.c (Fstring_to_multibyte): New function.
11568 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11569
115702008-02-01 Dave Love <fx@gnu.org>
11571
11572 * xfns.c (x_put_x_image): Declare args.
11573
11574 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11575 (try_font_list): Declare an arg.
11576
11577 * xdisp.c (message2_nolog, set_message): Declare an arg.
11578
11579 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11580
11581 * syntax.c (scan_sexps_forward): Declare an arg.
11582
11583 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11584 Declare an arg.
11585
11586 * lisp.h (Fnew_fontset): Declare.
11587
11588 * keymap.c (push_key_description): Call CHARACTERP correctly.
11589
11590 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11591 (face_for_char): Delete unused vars.
11592 (Fset_fontset_font): Doc fix. Delete unused vars.
11593
11594 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11595
11596 * composite.c (update_compositions): Declare arg.
11597
11598 * cm.c (calccost, cmgoto): Declare args.
11599
11600 * charset.c: Remove `emacs' conditional. Doc fixes.
11601 (map_char_table_for_charset): Declare.
11602
11603 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11604
11605 * ccl.c: Remove `emacs' conditional.
11606
116072008-02-01 Kenichi Handa <handa@m17n.org>
11608
11609 The following changes are to allow specifying multiple font
11610 patterns for a character range (specified by script or charset).
11611
11612 * Makefile.in (abbrev.o): Depend on syntax.h.
11613 (xfaces.o): Depend on charset.h.
11614
11615 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11616 SINGLE_BYTE_CHAR_P.
11617
11618 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11619
11620 * character.h (Vchar_script_table): Extern it.
11621
11622 * character.c (Vscript_alist): Delete.
11623 (Vchar_script_table, Qchar_script_table): New variable.
11624 (syms_of_character): Declare Vchar_script_table as a lisp variable
11625 and initialize it.
11626
11627 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11628 have property char-table-extra-slots, make no extra slot.
11629
11630 * dispextern.h (struct face): Delete member `charset'.
11631 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11632 SINGLE_BYTE_CHAR_P.
11633 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11634 Add prototypes.
11635 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11636 (generate_ascii_font_name): Rename from generate_ascii_font.
11637
11638 * fontset.h (get_font_repertory_func): New prototype.
11639 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11640 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11641
11642 * fontset.c (Qprepend, Qappend): New variables.
11643 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11644 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11645 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11646 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11647 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11648 (load_font_get_repertory): New functions.
11649 (fontset_set): Delete.
11650 (fontset_face): New arg FACE. Return face ID, not face.
11651 Complete re-write to handle new fontset structure. Change caller.
11652 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11653 (face_for_char): Don't call lookup_face.
11654 (make_fontset_for_ascii_face): New arg FACE.
11655 (fs_load_font): New arg CHARSET_ID. Don't check
11656 Vfont_encoding_alist here.
11657 (find_font_encoding): New function.
11658 (list_fontsets): Use STRINGP, not ! NILP.
11659 (accumulate_script_ranges): New function.
11660 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11661 re-written to handle new fontset structure.
11662 (Ffontset_font): Return a copy of element.
11663 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11664 docstring of font-encoding-alist.
11665
11666 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11667 (Fset_fotset_font): Fix arguments to 5.
11668
11669 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11670
11671 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11672 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11673 (highlight_trailing_whitespace): Adjust for the change of
11674 lookup_named_face.
11675
11676 * xfaces.c: Include charset.h.
11677 (load_face_font): Delete argument C. Change caller.
11678 (generate_ascii_font_name): Rename from generate_ascii_font.
11679 (font_name_registry): New function.
11680 (cache_face): Store ascii faces before non-ascii faces in buckets.
11681 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11682 Lookup only ascii faces.
11683 (lookup_non_ascii_face): New function.
11684 (lookup_named_face): Delete argument C. Change caller.
11685 (lookup_derived_face): Delete argument C. Change caller.
11686 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11687 a string, just call font_list with it.
11688 (choose_face_font): Delete arguments FACE and C. New arg
11689 FONT_SPEC. Change caller.
11690 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11691 Change caller.
11692 (realize_non_ascii_face): New function.
11693 (realize_x_face): Call load_face_font here.
11694 (realize_tty_face): Delete argument C. Change caller.
11695 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11696 get a face ID.
11697 (dump_realized_face): Don't print charset of FACE.
11698
11699 * xfns.c (x_set_font): Always call x_new_fontset and
11700 store_frame_parameter.
11701 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11702 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11703
11704 * xterm.h (x_get_font_repertory): Extern it.
11705
11706 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11707 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11708 it->multibyte_p is zero.
11709 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11710 (x_new_fontset): If FONTSETNAME doesn't match any existing
11711 fontsets, create a new one.
11712 (x_get_font_repertory): New function.
11713
117142008-02-01 Kenichi Handa <handa@m17n.org>
11715
11716 * coding.c (Ffind_coding_systems_region_internal): Detect an
11717 ASCII only string correctly.
11718
11719 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11720 version is 0.
11721
117222008-02-01 Kenichi Handa <handa@m17n.org>
11723
11724 * lread.c: Include "coding.h".
11725 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11726 (load_each_byte, unread_char): New variables.
11727 (readchar_backlog): Delete.
11728 (readchar): Return a character unless load_each_byte is nonzero.
11729 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11730 cons. If unread_char is not -1, simply return it.
11731 (unreadchar): Handle the case that readcharfun is
11732 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11733 (read_multibyte): Delete.
11734 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11735 (read_emacs_mule_char): New functions.
11736 (Fload): Even if the file doesn't have the extension ".elc", if
11737 safe_to_load_p returns a positive version number, assume that the
11738 file contains bytecompiled code. If the version is less than 22,
11739 load the file while decoding multibyte sequences by emacs-mule.
11740 (readevalloop): Don't use readchar_backlog.
11741 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11742 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11743 (read_escape): Delete the arg BYTEREP.
11744 (read1): Set load_each_byte to 1 temporarily while handling
11745 #@NUMBER. Don't call read_multibyte.
11746 (read_vector): Call Fread with a cons. If readcharfun is
11747 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11748 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11749 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11750 and Qload_force_doc_strings.
11751
117522008-02-01 Kenichi Handa <handa@m17n.org>
11753
11754 * xdisp.c (face_before_or_after_it_pos): Call
11755 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11756
117572008-02-01 Kenichi Handa <handa@m17n.org>
11758
11759 * character.h (TRAILING_CODE_P): New macro.
11760 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11761 (string_char_with_unification): Fix prototype.
11762 (Vscript_alist): Extern it.
11763
11764 * character.c (Vscript_alist): New variable.
11765 (string_char_with_unification, str_as_unibyte)
11766 (string_escape_byte8): Add `const' to local variables.
11767 (syms_of_character): Declare script-alist as a Lisp variable.
11768
11769 * charset.h (Vcharset_ordered_list): Extern it.
11770 (charset_ordered_list_tick): Extern it.
11771 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11772 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11773 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11774 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11775 (Funify_charset): Adjust for the change of Funify_charset.
11776
11777 * charset.c (charset_ordered_list_tick): New variable.
11778 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11779 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11780 deunify intead of unify a charset.
11781 (string_xstring_p): Add `const' to local variables.
11782 (find_charsets_in_text): Add `const' to arguments and local variables.
11783 (encode_char): Adjust for the change of Funify_charset. Fix
11784 detecting of invalid code.
11785 (Fset_charset_priority): Increment charset_ordered_list_tick.
11786 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11787 and TO_CODE.
11788
11789 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11790 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11791 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11792 (decode_coding_ccl, consume_chars)
11793 (Ffind_coding_systems_region_internal)
11794 (Fcheck_coding_systems_region): Add `const' to local variables.
11795
11796 * print.c (print_object): Use octal form for printing the
11797 contents of a bool vector.
11798
117992008-02-01 Dave Love <fx@gnu.org>
11800
11801 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11802 <version == 20>: Refuse to load.
11803
118042008-02-01 Dave Love <fx@gnu.org>
11805
11806 * fns.c: Move coding.h.
11807 (Qcodeset, Qdays, Qmonths): New.
11808 (concat): Use CHARACTERP instead of INTEGERP.
11809 (Flocale_codeset): Delete.
11810 (Flanginfo): New function.
11811 (syms_of_fns): Change accordingly.
11812
11813 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11814
118152008-02-01 Dave Love <fx@gnu.org>
11816
11817 * casetab.c (init_casetab_once, init_casetab_once): Fix
11818 CHAR_TABLE_SET call.
11819
11820 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11821
11822 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11823
11824 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11825 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11826 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11827
11828 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11829
11830 * coding.c (ENCODE_DESIGNATION, decode_eol)
11831 (make_conversion_work_buffer, code_conversion_restore)
11832 (Fdefine_coding_system_internal): Convert Lisp types.
11833 (code_conversion_restore): Use EQ, not ==.
11834 (Fencode_coding_string): Fix code_convert_string call.
11835
11836 * coding.h (code_convert_region): Fix prototype.
11837
11838 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11839
11840 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11841 (Ffontset_info): Convert Lisp types.
11842
11843 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11844
11845 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11846
11847 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11848
11849 * chartab.c: Include "...h", not <...h> in some cases.
11850
11851 * callproc.c (Fcall_process): Remove unused variables.
11852
118532008-02-01 Dave Love <fx@gnu.org>
11854
11855 * coding.c (Fset_coding_system_priority): Allow null arg list.
11856
118572008-02-01 Dave Love <fx@gnu.org>
11858
11859 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11860 (Fself_insert_and_exit): Use CHARACTERP.
11861
11862 * callproc.c (Fcall_process): Remove unused vars.
11863
11864 * xterm.c (XTread_socket): Add extra dead keysyms.
11865
11866 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11867
11868 * dispextern.h: Remove prototypes for redraw_frame,
11869 redraw_garbaged_frames.
11870
11871 * cmds.c (Fself_insert_command): Use CHARACTERP.
11872
11873 * chartab.c (make_sub_char_table): Remove unused var.
11874 (Fset_char_table_default, Fmap_char_table): Doc fix.
11875
11876 * keymap.c (access_keymap): Remove generic char code.
11877 (push_key_description): Use CHARACTERP.
11878
118792008-02-01 Dave Love <fx@gnu.org>
11880
11881 * charset.c: Doc fixes.
11882 (Funify_charset): Extra checking.
11883
118842008-02-01 Dave Love <fx@gnu.org>
11885
11886 * lread.c: Remove some unused variables.
11887 (safe_to_load_p): If safe, return the magic number version byte.
11888 (Fload): Maybe use load-with-code-conversion.
11889
118902008-02-01 Kenichi Handa <handa@m17n.org>
11891
11892 * category.c (Fmodify_category_entry): Don't modify the contents
11893 of category_set for characters out of the range. Avoid
11894 unnecessary modification.
11895
11896 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11897 Vchar_unify_table. The default value of the table is now nil.
11898
11899 * character.c (syms_of_character): Setup Vchar_width_table for
11900 eight-bit-control and raw-byte chars.
11901
11902 * charset.h (enum define_charset_arg_index): Delete
11903 charset_arg_parents and add charset_arg_subset and
11904 charset_arg_superset.
11905 (enum charset_attr_index): Delete charset_parents and add
11906 charset_subset and charset_superset.
11907 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11908 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11909 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11910 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11911 (CHARSET_SUPERSET): New macros.
11912 (charset_work): Extern it.
11913 (ENCODE_CHAR): Use charset_work.
11914 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11915 (map_charset_chars): Extern it.
11916
11917 * charset.c (load_charset_map): Set the default value of encoder
11918 and deunifier char-tables to nil.
11919 (map_charset_chars): Change argument. Change callers. Use
11920 map_char_table_for_charset instead of map_char_table.
11921 (Fmap_charset_chars): New optional args from_code and to_code.
11922 (Fdefine_charset_internal): Adjust for the change of
11923 `define-charset' (:parents -> :subset or :superset).
11924 (charset_work): New variable.
11925 (encode_char, syms_of_charset): Adjust for the change of
11926 Fdefine_charset_internal.
11927 (Ffind_charset_string): Setup the vector `charsets' correctly.
11928
11929 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11930 the previous change.
11931 (char_table_ref_and_range): Adjust for the above change.
11932 (map_sub_char_table_for_charset): New function.
11933 (map_char_table_for_charset): New function.
11934
11935 * keymap.c (describe_vector): Handle a char-table directly here.
11936 (describe_char_table): Delete.
11937
11938 * lisp.h (map_charset_chars): Delete.
11939
119402008-02-01 Dave Love <fx@gnu.org>
11941
11942 * fns.c (count_combining): Comment out (unused).
11943 (Flocale_codeset): New.
11944 (syms_of_fns): Defsubr it.
11945
11946 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11947 (size_t): Remove.
11948
119492008-02-01 Dave Love <fx@gnu.org>
11950
11951 * Makefile.in (chartab.o): Depend on charset.h.
11952
119532008-02-01 Kenichi Handa <handa@m17n.org>
11954
11955 * character.c (syms_of_character): Set the default value of
11956 Vprintable_chars to Qnil.
11957
119582008-02-01 Dave Love <fx@gnu.org>
11959
11960 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11961
119622008-02-01 Kenichi Handa <handa@m17n.org>
11963
11964 * charset.c (load_charset_map): Handle the case that from < to
11965 correctly.
11966
11967 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11968 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11969 Pay attention to raw-8-bit chars.
11970
119712008-02-01 Kenichi Handa <handa@m17n.org>
11972
11973 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11974 It is not bytecompiled now.
11975
11976 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11977 (charset_jisx0208): New variables.
11978 (Fdefine_charset_internal): Setup them if appropriate.
11979 (init_charset_once): Initialize them to -1.
11980
11981 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11982 (charset_jisx0208): Extern them.
11983
11984 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11985 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11986 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11987 (setup_iso_safe_charsets): Fix arguments to Fassq.
11988 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11989 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11990 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11991 (encode_coding_iso_2022): Change the 1st arg to
11992 ENCODE_ISO_CHARACTER to a variable.
11993
119942008-02-01 Kenichi Handa <handa@m17n.org>
11995
11996 * charset.h (enum define_charset_arg_index): New enums
11997 charset_arg_min_code and charset_arg_max_code.
11998 (struct charset): New member char_index_offset.
11999
12000 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12001 Take charset->char_index_offset into account.
12002 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12003 args[charset_arg_max_code]. Setup charset.char_index_offset.
12004 (syms_of_charset): Fix args to Fdefine_charset_internal.
12005
120062008-02-01 Dave Love <fx@gnu.org>
12007
12008 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12009
120102008-02-01 Dave Love <fx@gnu.org>
12011
12012 * coding.c: Doc fixes.
12013 (Fcoding_system_aliases): Fix return value.
12014 (Qmac): Remove (duplicated) definition.
12015
120162008-02-01 Dave Love <fx@gnu.org>
12017
12018 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12019 functions.
12020
12021 * character.c (Fstring): Doc fix.
12022
12023 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12024
12025 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12026 ids.
12027 (font-encoding-alist): Doc fix.
12028
120292008-02-01 Dave Love <fx@gnu.org>
12030
12031 * term.c (costs_set): Declare static, non-initialized for pcc.
12032 (encode_terminal_code): Remove unused var.
12033
12034 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12035 for K&R.
12036
12037 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12038
12039 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12040 (suffixes): Move out of make_subsidiaries for K&R.
12041
12042 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12043
12044 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12045
120462008-02-01 Dave Love <fx@gnu.org>
12047
12048 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12049
12050 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12051
120522008-02-01 Yong Lu <lyongu@asia-infonet.com>
12053
12054 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12055
12056 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12057
120582008-02-01 Kenichi Handa <handa@m17n.org>
12059
12060 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12061 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12062
120632008-02-01 Kenichi Handa <handa@m17n.org>
12064
12065 * coding.c (decode_coding_charset): Adjust for the change of
12066 Fdefine_coding_system_internal.
12067 (Fdefine_coding_system_internal): For a coding system of
12068 `charset' type, store a list of charset IDs in
12069 `charset_attr_charset_valids' element of coding attributes.
12070
120712008-02-01 Kenichi Handa <handa@m17n.org>
12072
12073 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12074 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12075 caller. Handle 2-byte and 3-byte charsets correctly.
12076 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12077 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12078 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12079 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12080 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12081 sequence.
12082 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12083 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12084 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12085 and alt&rule composition.
12086 (decode_coding_iso_2022): Handle composition correctly.
12087 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12088
12089 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12090 re-defining a charset. If the charset has :emacs-mule-id, setup
12091 emacs_mule_bytes.
12092 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12093
120942008-02-01 Kenichi Handa <handa@m17n.org>
12095
12096 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12097 (encode_coding_big5, encode_coding_charset): If coding requires safe
12098 encoding, produce a character specified by
12099 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12100
121012008-02-01 Dave Love <fx@gnu.org>
12102
12103 * xterm.c (XSetIMValues): Declare.
12104
12105 * process.c: Conditionally include sys/wait.h, pty.h.
12106
12107 * print.c (print_object): Fix print format for 64-bit systems.
12108
12109 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12110
12111 * buffer.c (emacs_strerror): Declare.
12112
12113 * fontset.c (Fclear_face_cache): Declare.
12114 (accumulate_font_info): Comment-out (unused).
12115 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12116 variables.
12117
12118 * character.h (string_escape_byte8): Declare.
12119
12120 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12121 unused vars.
12122 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12123 (Fmap_charset_chars): Doc fix.
12124
12125 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12126 (Fset_coding_system_priority, Fset_coding_system_priority)
12127 (Fdefine_coding_system_internal): Doc fix.
12128
121292008-02-01 Dave Love <fx@gnu.org>
12130
12131 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12132
121332008-02-01 Kenichi Handa <handa@m17n.org>
12134
12135 * character.c (string_escape_byte8): Make multibyte string with
12136 correct size.
12137
12138 * charset.c (Fmake_char): Delete unnecessary code.
12139
121402008-02-01 Kenichi Handa <handa@m17n.org>
12141
12142 * xfns.c (x_encode_text): Allocate coding.destination here, and
12143 call encode_coding_object with dst_object Qnil.
12144
12145 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12146 multibyte form correctly.
12147
12148 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12149 against Vfont_encoding_alist.
12150
12151 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12152 handling of charset list.
12153 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12154 (decode_coding_object): Move point to coding->dst_pos before
12155 calling post-read-conversion function.
12156 (encode_coding_object): Give correct arguments to
12157 pre-write-conversion. Ignore the return value of
12158 pre-write-conversion function. Pay attention to the case that
12159 pre-write-conversion changes the current buffer. If dst_object is
12160 Qt, even if coding->src_bytes is zero, allocate at least one byte
12161 to coding->destination.
12162
12163 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12164
12165 * charset.c (Fmake_char): Make it more backward compatible.
12166 (Fmap_charset_chars): Fix docstring.
12167
121682008-02-01 Dave Love <fx@gnu.org>
12169
12170 * coding.c: Doc fixes.
12171 (Fdefine_coding_system_alias): Use names, not symbols, in
12172 coding-system-alist.
12173
121742008-02-01 Kenichi Handa <handa@m17n.org>
12175
12176 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12177 of calling free_realized_face.
12178
121792008-02-01 Yong Lu <lyongu@asia-infonet.com>
12180
12181 * charset.c (read_hex): Don't treat SPC as a comment starter.
12182 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12183 (Fdecode_char): Fix typo.
12184
121852008-02-01 Kenichi Handa <handa@m17n.org>
12186
12187 * charset.h (struct charset): New member `code_space_mask'.
12188
12189 * coding.c (coding_set_source): Delete the local variable beg_byte.
12190 (encode_coding_charset, Fdefine_coding_system_internal):
12191 Delete the local variable charset.
12192 (Fdefine_coding_system_internal): Setup
12193 attrs[coding_attr_charset_valids] correctly.
12194
12195 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12196 member to check if CODE is valid or not.
12197 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12198 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12199 is within the range of charset->min_code and carset->max_code.
12200
122012008-02-01 Dave Love <fx@gnu.org>
12202
12203 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12204
12205 * dispextern.h (generate_ascii_font): Fix return type.
12206
12207 * xfaces.c (generate_ascii_font): Fix arg declaration.
12208
12209 * coding.c (coding_inherit_eol_type)
12210 (Fset_terminal_coding_system_internal)
12211 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12212
122132008-02-01 Kenichi Handa <handa@m17n.org>
12214
12215 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12216 multiple charsets correctly.
12217
122182008-02-01 Kenichi Handa <handa@m17n.org>
12219
12220 * search.c (boyer_moore): Fix handling of multibyte character
12221 translation.
12222
12223 * xdisp.c (display_mode_element): When the variable `elt' is
12224 changed, update `this' and `lisp_string'.
12225
122262008-02-01 Kenichi Handa <handa@m17n.org>
12227
12228 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12229
12230 * callproc.c (Fcall_process): Be sure to give the current buffer
12231 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12232
12233 * charset.c (struct charset_map_entries): New struct.
12234 (load_charset_map): Rename from parse_charset_map. New args
12235 entries and n_entries. Change caller.
12236 (load_charset_map_from_file): Rename from load_charset_map.
12237 Change caller. New arg control_flag. Call load_charset_map at
12238 the tail.
12239 (load_charset_map_from_vector): New function.
12240 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12241 (encode_char): If the charset is compact, change a character index
12242 to a code point.
12243
12244 * coding.c (coding_alloc_by_making_gap): Check the case that the
12245 source and destination are the same correctly.
12246 (decode_coding_raw_text): Set coding->consumed_char and
12247 coding->consumed to 0.
12248 (produce_chars): If coding->chars_at_source is nonzero, update
12249 coding->consumed_char and coding->consumed before calling
12250 alloc_destination.
12251 (Fdefine_coding_system_alias): Register ALIAS in
12252 Vcoding_system_alist.
12253 (syms_of_coding): Define `no-conversion' coding system at the tail.
12254
12255 * fileio.c (Finsert_file_contents): Set coding_system instead of
12256 val. If the current buffer is multibyte, always call
12257 decode_coding_gap.
12258
12259 * xfaces.c (try_font_list): Give higher priority to fontset's
12260 family than face's family.
12261
122622008-02-01 Kenichi Handa <handa@m17n.org>
12263
12264 * callproc.c (Fcall_process): Be sure to give the current buffer
12265 to decode_coding_c_string.
12266
12267 * xfaces.c (try_font_list): Give a family specified in a fontset
12268 higher priority than a family specified in a face.
12269
122702008-02-01 Kenichi Handa <handa@m17n.org>
12271
12272 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12273 Fix arguments to insert_from_buffer.
12274
12275 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12276
122772008-02-01 Kenichi Handa <handa@m17n.org>
12278
12279 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12280 (decode_coding_gap): Set coding->dst_multibyte correctly.
12281
122822008-02-01 Kenichi Handa <handa@m17n.org>
12283
12284 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12285 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12286 (encode_coding_utf_16): Substitute coding->default_char for
12287 non-Unicode characters.
12288 (decode_coding): Don't call record_insert here.
12289 (setup_coding_system): Initialize `surrogate' of
12290 coding->spec.utf_16 to 0.
12291 (EMIT_ONE_BYTE): Fix for multibyte case.
12292
12293 * insdel.c (insert_from_gap): Call record_insert.
12294
122952008-02-01 Kenichi Handa <handa@m17n.org>
12296
12297 * casefiddle.c (casify_region): Fix multibyte case.
12298
12299 * character.c (c_string_width): Add return type `int'.
12300 (char_string_with_unification): Delete arg ADVANCED.
12301
12302 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12303 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12304 (CHAR_STRING_ADVANCE): Make it do-while statement.
12305
12306 * chartab.c (sub_char_table_set_range): Optimize for the case
12307 DEPTH == 3. Add workaround code for a GCC optimization bug.
12308
12309 * charset.c (parse_charset_map): Remove an unused variable.
12310
12311 * coding.c: Delete unused variables.
12312
12313 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12314 earlier. If inserted is zero and the coding system doesn't
12315 require flushing, don't call decode_coding_gap.
12316
12317 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12318
123192008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 The following changes are for using Unicode as an internal
12322 character model, and use UTF-8 format for buffer/string
12323 representation.
12324
12325 * .gdbinit (xchartable): Adjust for the change of char table structure.
12326 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12327
12328 * Makefile.in (obj): Add character.o and chartab.o.
12329 (lisp, shortlisp): Remove utf-8.elc.
12330 (*.o): For many files, change dependency on charset.h to
12331 character.h, and add dependency on character.h.
12332 (character.o, chartab.o): New targets.
12333
12334 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12335 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12336 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12337 of "charset.h".
12338
12339 * dired.c, filelock.c: Include "character.h".
12340
12341 * alloc.c: Include "character.h" instead of "charset.h".
12342 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12343 (syms_of_alloc): Remove defsubr for Smake_char_table.
12344
12345 * buffer.c: Include "character.h" instead of "charset.h", don't
12346 include "coding.h".
12347 (Fset_buffer_multibyte): Adjust for UTF-8.
12348
12349 * buffer.h: EXFUN Fbuffer_live_p.
12350
12351 * callproc.c: Include "character.h" instead of "charset.h".
12352 (Fcall_process): Big change for the new code-conversion APIs.
12353
12354 * casetab.c: Include "character.h" instead of "charset.h".
12355 (set_canon, set_identity, shuffle): Adjust for the new
12356 map_char_table spec.
12357 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12358 accessing the char table structure.
12359
12360 * chartab.c: New file that implements char table.
12361
12362 * category.c: Include "character.h".
12363 (copy_category_entry): New function.
12364 (copy_category_table): Call map_char_table and copy_category_entry.
12365 (Fmake_category_table): Initialize all top-level slots.
12366 (char_category_set): New function.
12367 (modify_lower_category_set): Delete.
12368 (Fmodify_category_entry): Call char_table_ref_and_range.
12369
12370 * category.h (CATEGORY_SET): Just call char_category_set.
12371
12372 * ccl.c: Include "character.h".
12373 (Qccl, Qcclp): New variables.
12374 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12375 it's less than 256.
12376 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12377 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12378 and DST type.
12379 (ccl_driver): Change types of argument, adjust code accordingly.
12380 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12381 ccl_driver.
12382 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12383
12384 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12385 New members src_multibyte, dst_multibyte, consumed, and produced.
12386 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12387 (CODING_SPEC_CCL_PROGRAM): New macro.
12388 (ccl_driver): Update prototype.
12389 (Qccl, Qcclp, Fccl_program_p): Extern them.
12390 (CHECK_CCL_PROGRAM): New macro.
12391
12392 * character.c, character.h, chartab.c: New files.
12393
12394 * charset.c: Mostly re-written. Move character and multibyte sequence
12395 handling codes to character.c.
12396
12397 * charset.h: Mostly re-written. Move character and multibyte sequence
12398 handling codes to character.h.
12399
12400 * coding.c, coding.h: Mostly re-written.
12401
12402 * composite.c: Include "character.h" instead of "charset.h".
12403 (CHAR_WIDTH): Move to character.h.
12404 (HASH_KEY, HASH_VALUE): Delete.
12405
12406 * composite.h (enum composition_method): Change order of enumeration
12407 symbols.
12408
12409 * data.c: Include "character.h" instead of "charset.h".
12410 (Faref): Call CHAR_TABLE_REF for a char table.
12411 (Faset): Call CHAR_TABLE_SET for a char table.
12412
12413 * dispextern.h (free_realized_face, check_face_attribytes)
12414 (generate_ascii_font): Extern them.
12415 (free_realized_multibyte_face): Delete extern.
12416
12417 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12418 table structure.
12419
12420 * editfns.c: Include "character.h" instead of "charset.h".
12421 (Fchar_to_string): Always call CHAR_STRING.
12422
12423 * emacs.c (main): Call init_charset_once, init_charset,
12424 syms_of_chartab, and syms_of_character.
12425
12426 * fileio.c: Include "character.h" instead of "charset.h".
12427 (Finsert_file_contents): Big change for the new code-conversion API.
12428 (choose_write_coding_system, Fwrite_region): Likewise.
12429 (build_annotations_2): Delete.
12430 (e_write): Big change for the new code-conversion API.
12431
12432 * fns.c: Include "character.h" instead of "charset.h".
12433 (copy_sub_char_table): Move to chartab.c.
12434 (Fcopy_sequence): Call copy_char_table for a char table.
12435 (concat): Delete codes calling count_multibyte.
12436 (string_char_to_byte, string_byte_to_char): Adjust for the new
12437 multibyte form.
12438 (internal_equal): Adjust for the change of char table structure.
12439 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12440 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12441 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12442 (char_table_translate, optimize_sub_char_table)
12443 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12444 chartab.c.
12445 (char_table_ref_and_index): Delete.
12446 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12447 (Fmd5): Call preferred_coding_system instead of accessing
12448 Vcoding_category_list. Adjust for the new code-conversion API.
12449 (syms_of_fns): Move defsubr for char table related functions to
12450 chartab.c.
12451
12452 * fontset.c: Mostly re-written.
12453
12454 * fontset.h (struct font_info): Change type of the member encoding_type.
12455 (enum FONT_SPEC_INDEX): New enum.
12456 (fontset_font_pattern, fs_load_font): Update prototype.
12457 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12458
12459 * indent.c: Include "character.h" instead of "charset.h".
12460 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12461
12462 * insdel.c: Include "character.h" instead of "charset.h".
12463 (copy_text): Don't refer to Vnonascii_translation_table.
12464 (insert_from_gap): New function.
12465
12466 * keyboard.c: Include "character.h" instead of "charset.h".
12467 (command_loop_1): Never call direct_output_forward_char before
12468 a non-ASCII character.
12469 (read_char): If Vkeyboard_translate_table is a char table, always
12470 translate a character.
12471
12472 * keymap.c: Include "character.h".
12473 (store_in_keymap): Handle the case that IDX is a cons.
12474 (Fdefine_key): Handle the case that KEY is a cons and the car part
12475 is also a cons (range).
12476 (push_key_description): Adjust for the new character code.
12477 (describe_vector): Call describe_char_table for a char table.
12478 (describe_char_table): New function.
12479
12480 * keymap.h (describe_char_table): Extern it.
12481
12482 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12483 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12484 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12485 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12486 Delete.
12487 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12488 structure.
12489 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12490 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12491 (CHARTAB_SIZE_BITS_3): New macros.
12492 (chartab_size): Extern it.
12493 (struct Lisp_Char_Table): Re-design.
12494 (struct Lisp_Sub_Char_Table): New structure.
12495 (HASH_KEY, HASH_VALUE): Move from fns.c.
12496 (CHARACTERBITS): Define as 22.
12497 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12498 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12499 (GC_SUB_CHAR_TABLE_P): New macro.
12500 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12501 (code_convert_string_norecord): Deleted extern.
12502 (init_character_once, syms_of_character, init_charset)
12503 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12504
12505 * lread.c: Include "character.h".
12506 (read_multibyte): New arg NBYTES.
12507 (read_escape): Change the meaning of returned *BYTEREP.
12508 (to_multibyte): Delete.
12509 (read1): Adjust the handling of char table and string.
12510
12511 * print.c: Include "character.h" instead of "charset.h".
12512 (print_string): Convert 8-bit raw bytes to octal form by
12513 string_escape_byte8.
12514 (print_object): Adjust for the new multibyte form. Print 8-bit
12515 raw bytes always in octal form. Handle sub char table correctly.
12516
12517 * process.c: Include "character.h" instead of "charset.h".
12518 (read_process_output, send_process): Adjust for the new
12519 code-conversion API.
12520
12521 * puresize.h (BASE_PURESIZE): Increase.
12522
12523 * regex.c: Include "character.h" instead of "charset.h".
12524 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12525 (regex_compile): Accept a range whose starting and ending
12526 character have different leading bytes.
12527 (analyse_first): Adjust for the above change.
12528
12529 * search.c: Include "character.h" instead of "charset.h".
12530 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12531 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12532
12533 * syntax.c: Include "character.h" instead of "charset.h".
12534 (syntax_parent_lookup): Delete.
12535 (Fmodify_syntax_entry): Accept a cons as CHAR.
12536 (skip_chars): Adjust for the new multibyte form.
12537 (init_syntax_once): Call char_table_set_range instead of directly
12538 accessing the structure of a char table.
12539
12540 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12541 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12542 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12543 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12544
12545 * term.c: Include "buffer.h" and "character.h".
12546 (encode_terminal_code, write_glyphs): Adjust for the new
12547 code-conversion API.
12548 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12549
12550 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12551
12552 * xdisp.c: Include "character.h".
12553 (get_next_display_element): Adjust for the new multibyte form.
12554 (disp_char_vector): Adjust for the new char table structure.
12555 (decode_mode_spec_coding): Adjust for the new structure of
12556 coding system.
12557 (decode_mode_spec): Adjust for the new code-conversion API.
12558
12559 * xfaces.c: Include "character.h" instead of "charset.h".
12560 (load_face_font): Adjust for the change of choose_face_font and
12561 FS_LOAD_FONT.
12562 (generate_ascii_font): New function.
12563 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12564 (set_font_frame_param): Adjust for the change of choose_face_font.
12565 (free_realized_face): Make it public.
12566 (free_realized_faces_for_fontset): Rename from
12567 free_realized_multibyte_face. Free also faces realized for ASCII.
12568 (choose_face_font): Change arguments. Adjust for the change of
12569 fontset_font_pattern and FS_LOAD_FONT.
12570
12571 * xfns.c: Include "character.h".
12572 (x_encode_text): Adjust for the new code-conversion API.
12573
12574 * xselect.c: Don't include "charset.h".
12575 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12576
12577 * xterm.c: Include "character.h".
12578 (x_encode_char): New argument CHARSET. Change caller.
12579 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12580 Call ENCODE_CHAR instead of SPLIT_CHAR.
12581 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12582 CHAR_WIDTH instead of CHARSET_WIDTH.
12583 (XTread_socket): Adjust for the new code-conversion API.
12584 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12585 (x_load_font): Adjust for the change of struct font.
12586
125872008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12588
12589 * xfaces.c (face_at_buffer_position): Remove unused vars.
12590
125912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12592
12593 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12594 Fix overflow checking.
12595
125962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12597
12598 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12599 Cancel previous change.
12600
126012008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12602
12603 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12604 ccl->eight_bit_control. Fix check for buffer overflow.
12605 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12606 (ccl_driver): Initialize extra_bytes to 0.
12607
126082008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12609
12610 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12611 return it ORed with ctrl_modifier.
12612
126132008-01-29 Miles Bader <miles@gnu.org>
12614
12615 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12616
126172008-01-28 Jason Rumney <jasonr@gnu.org>
12618
12619 * w32.c (stat): Don't double check for networked drive.
12620
126212008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12622
12623 * window.c (run_window_configuration_change_hook): New function.
12624 Code extracted from set_window_buffer. Set the selected frame.
12625 (set_window_buffer): Use it.
12626 * window.h (run_window_configuration_change_hook): Declare.
12627 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12628
12629 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12630
126312008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12632
12633 * Makefile.in: Remove references to unused macros.
12634
126352008-01-26 Eli Zaretskii <eliz@gnu.org>
12636
12637 * w32.c (g_b_init_get_sid_sub_authority)
12638 (g_b_init_get_sid_sub_authority_count): New static variables.
12639 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12640 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12641 (init_user_info): Use them to retrieve uid and gid.
12642 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12643 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12644 st_uid and st_gid of the file.
12645
126462008-01-26 Jason Rumney <jasonr@gnu.org>
12647
12648 * w32.c (logon_network_drive): New function.
12649 (stat): Use it.
12650
126512008-01-26 Chong Yidong <cyd@stupidchicken.com>
12652
12653 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12654 invisible text covered with an ellipsis.
12655
126562008-01-25 Richard Stallman <rms@gnu.org>
12657
12658 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12659 jump back to beginning. Move some other initializations after that.
12660 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12661 New variables.
12662 (syms_of_xdisp): Init them.
12663
12664 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12665
12666 * buffer.c (reset_buffer_local_variables):
12667 Implement `permanent-local-hook'.
12668 (Qpermanent_local_hook): New variable.
12669 (syms_of_buffer): Init and staticpro it.
12670
126712008-01-25 Michael Albinus <michael.albinus@gmx.de>
12672
12673 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12674
126752008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12676
12677 * fns.c (Fclrhash): Return TABLE.
12678
126792008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12680
12681 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12682 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12683 is set even without positional changes.
12684 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12685
12686 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12687
126882008-01-23 Jason Rumney <jasonr@gnu.org>
12689
12690 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12691
12692 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12693 the unicode range available in MULE by locale-coding-system.
12694 Improve dbcs lead byte detection. Set event timestamp and modifiers
12695 earlier.
12696
126972008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12698
12699 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12700 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12701 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12702 when used on child processes.
12703
127042008-01-21 Michael Albinus <michael.albinus@gmx.de>
12705
12706 * dbusbind.c (Fdbus_method_return_internal): Rename from
12707 Fdbus_method_return.
12708 (Fdbus_unregister_object): Move to dbus.el.
12709 (Fdbus_call_method, Fdbus_method_return_internal)
12710 (Fdbus_send_signal): Improve debug messages.
12711
127122008-01-20 Martin Rudalics <rudalics@gmx.at>
12713
12714 * undo.c (undo_inhibit_record_point): New variable.
12715 (syms_of_undo): Initialize it.
12716 (record_point): Don't record point when undo_inhibit_record_point
12717 is set.
12718
127192008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12720
12721 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12722
12723 * xdisp.c (Qauto_hscroll_mode): New var.
12724 (syms_of_xdisp): Initialize it.
12725 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12726 window's buffer.
12727 (hscroll_windows): Don't check automatic_hscrolling_p here.
12728
12729 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12730 vscroll if we're setting window-buffer to the value it already has.
12731
127322008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12733
12734 * m/intel386.h: Remove references to XENIX.
12735
127362008-01-17 Andreas Schwab <schwab@suse.de>
12737
12738 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12739 instead of HAVE_X86_64_LIB64_DIR.
12740 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12741
127422008-01-17 Glenn Morris <rgm@gnu.org>
12743
12744 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12745 to HAVE_X86_64_LIB64_DIR.
12746
127472008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12748
12749 * s/irix3-3.h:
12750 * s/irix4-0.h:
12751 * s/386-ix.h:
12752 * s/domain.h:
12753 * s/hpux9-x11r4.h:
12754 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12755
12756 * sysdep.c: Remove code containing references to symbols defined
12757 by unsupported systems.
12758
127592008-01-16 Glenn Morris <rgm@gnu.org>
12760
12761 * coding.c (select-safe-coding-system-function): Doc fix.
12762
127632008-01-15 Glenn Morris <rgm@gnu.org>
12764
12765 * config.in: Revert 2008-01-13 change: this is a generated file.
12766
127672008-01-13 Tom Tromey <tromey@redhat.com>
12768
12769 * lisp.h: Fix typo.
12770
127712008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12772
12773 * m/sequent-ptx.h:
12774 * m/sequent.h:
12775 * s/ptx.h:
12776 * s/ptx4-2.h:
12777 * s/ptx4.h: Remove files for systems no longer supported.
12778
12779 * callproc.c (Fcall_process): Fix previous change.
12780
127812008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12782
12783 * unexsunos4.c: Remove file, system not supported anymore.
12784
12785 * m/mips.h:
12786 * m/intel386.h:
12787 * callproc.c:
12788 * config.in:
12789 * ecrt0.c:
12790 * emacs.c:
12791 * fileio.c:
12792 * frame.c:
12793 * getpagesize.h:
12794 * keyboard.c:
12795 * lread.c:
12796 * process.c:
12797 * puresize.h:
12798 * sysdep.c:
12799 * systty.h:
12800 * syswait.h:
12801 * unexec.c:
12802 * xdisp.c:
12803 * alloc.c: Remove code containing references to symbols defined by
12804 unsupported systems.
12805
128062008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12807
12808 * coding.c (detect_coding_mask): Fix previous change.
12809
128102008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12811
12812 * coding.c (detect_coding_iso2022): New arg
12813 latin_extra_code_state. Allow Latin extra codes only
12814 when *latin_extra_code_state is nonzero.
12815 (detect_coding_mask): If there is a NULL byte, detect the encoding
12816 as UTF-16 or binary. If Latin extra codes exist, detect the
12817 encoding as ISO-2022 only when there's no other proper encoding is
12818 found.
12819
128202008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12821
12822 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12823 #ifdef MAC_OS.
12824
128252008-01-08 Richard Stallman <rms@gnu.org>
12826
12827 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12828
128292008-01-06 Nick Roberts <nickrob@snap.net.nz>
12830
12831 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12832 menu bar in parentheses.
12833
128342008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12835
12836 * m/7300.h:
12837 * m/acorn.h:
12838 * m/alliant-2800.h:
12839 * m/alliant.h:
12840 * m/alliant1.h:
12841 * m/alliant4.h:
12842 * m/altos.h:
12843 * m/amdahl.h:
12844 * m/apollo.h:
12845 * m/att3b.h:
12846 * m/aviion-intel.h:
12847 * m/aviion.h:
12848 * m/celerity.h:
12849 * m/clipper.h:
12850 * m/cnvrgnt.h:
12851 * m/convex.h:
12852 * m/cydra5.h:
12853 * m/delta88k.h:
12854 * m/dpx2.h:
12855 * m/dual.h:
12856 * m/elxsi.h:
12857 * m/f301.h:
12858 * m/gould-np1.h:
12859 * m/gould.h:
12860 * m/i860.h:
12861 * m/ibmps2-aix.h:
12862 * m/ibmrt-aix.h:
12863 * m/ibmrt.h:
12864 * m/irist.h:
12865 * m/is386.h:
12866 * m/isi-ov.h:
12867 * m/mega68.h:
12868 * m/mg1.h:
12869 * m/news-r6.h:
12870 * m/news-risc.h:
12871 * m/news.h:
12872 * m/nh3000.h:
12873 * m/nh4000.h:
12874 * m/ns16000.h:
12875 * m/ns32000.h:
12876 * m/nu.h:
12877 * m/orion.h:
12878 * m/orion105.h:
12879 * m/paragon.h:
12880 * m/pfa50.h:
12881 * m/plexus.h:
12882 * m/pyramid.h:
12883 * m/pyrmips.h:
12884 * m/sh3el.h:
12885 * m/sps7.h:
12886 * m/sr2k.h:
12887 * m/stride.h:
12888 * m/sun1.h:
12889 * m/sun2.h:
12890 * m/sun3-68881.h:
12891 * m/sun3-fpa.h:
12892 * m/sun3-soft.h:
12893 * m/sun3.h:
12894 * m/sun386.h:
12895 * m/symmetry.h:
12896 * m/tad68k.h:
12897 * m/tahoe.h:
12898 * m/targon31.h:
12899 * m/tek4300.h:
12900 * m/tekxd88.h:
12901 * m/tower32.h:
12902 * m/tower32v3.h:
12903 * m/ustation.h:
12904 * m/wicat.h:
12905 * m/xps100.h:
12906 * s/cxux.h:
12907 * s/cxux7.h:
12908 * s/dgux.h:
12909 * s/dgux4.h:
12910 * s/dgux5-4-3.h:
12911 * s/dgux5-4r2.h:
12912 * s/esix.h:
12913 * s/esix5r4.h:
12914 * s/hiuxmpp.h:
12915 * s/hiuxwe2.h:
12916 * s/iris3-5.h:
12917 * s/iris3-6.h:
12918 * s/isc2-2.h:
12919 * s/isc3-0.h:
12920 * s/isc4-0.h:
12921 * s/isc4-1.h:
12922 * s/newsos5.h:
12923 * s/newsos6.h:
12924 * s/osf1.h:
12925 * s/osf5-0.h:
12926 * s/riscix1-1.h:
12927 * s/riscix12.h:
12928 * s/sco4.h:
12929 * s/sco5.h:
12930 * s/sunos4-0.h:
12931 * s/sunos4-1.h:
12932 * s/sunos413.h:
12933 * s/sunos4shr.h:
12934 * s/umax.h:
12935 * s/unipl5-2.h:
12936 * s/xenix.h:
12937 * cxux-crt0.s:
12938 * unexapollo.c:
12939 * unexconvex.c:
12940 * unexenix.c:
12941 * unexsni.c: Remove files for systems no longer supported.
12942
12943 * m/intel386.h: Remove references to unsupported systems.
12944
12945 * w32.c (get_emacs_configuration): Remove reference to i860.
12946
12947 * sysdep.c: Remove dead code.
12948
129492008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12950
12951 * s/rtu.h:
12952 * m/masscomp.h: Remove files. Platform is obsolete.
12953
129542008-01-04 Michael Albinus <michael.albinus@gmx.de>
12955
12956 * dbusbind.c (Fdbus_method_return): New function.
12957 (xd_read_message): Add the serial number to the event.
12958 (Fdbus_register_method): Activate the function.
12959
129602008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12961
12962 * keyboard.c (read_key_sequence): Fix typo.
12963
129642008-01-03 Michael Albinus <michael.albinus@gmx.de>
12965
12966 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12967 (xd_signature, xd_append_arg): Handle element type detection for
12968 empty arrays.
12969 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12970 SDATA () calls; this must be solved more general.
12971 (Fdbus_register_signal): Use SBYTES instead of strlen.
12972
129732008-01-03 Magnus Henoch <magnus@zemdatav>
12974
12975 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12976 unsigned int for byte values (necessary for big-endian platform).
12977 (Fdbus_call_method): Handle the case of no returned arguments.
12978
129792007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12980
12981 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12982
129832007-12-31 Magnus Henoch <mange@freemail.hu>
12984
12985 * dbusbind.c (xd_signature): Signature of variant is just "v".
12986
129872007-12-30 Michael Albinus <michael.albinus@gmx.de>
12988
12989 * dbusbind.c: Fix several errors and compiler warnings.
12990 Reported by Tom Tromey <tromey@redhat.com>.
12991 (XD_ERROR, XD_DEBUG_MESSAGE)
12992 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12993 (xd_append_arg): Part for basic D-Bus types rewritten.
12994 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12995 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12996 appropriate.
12997 (xd_read_message): Return Qnil. Don't signal an error; it is not
12998 useful during event reading.
12999 (Fdbus_register_signal): Signal an error if the check for
13000 FUNCTIONP fails.
13001 (Fdbus_register_method): New function. The implementation is not
13002 complete, the call of the function signals an error therefore.
13003 (Fdbus_unregister_object): New function, renamed from
13004 Fdbus_unregister_signal. The initial check signals an error, if
13005 the object is not well formed.
13006
130072007-12-30 Richard Stallman <rms@gnu.org>
13008
13009 * textprop.c (get_char_property_and_overlay):
13010 Signal error if POSITION is out of range in a buffer.
13011
130122007-12-29 Martin Rudalics <rudalics@gmx.at>
13013
13014 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13015 because the original parameters are in pure storage now.
13016
130172007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13018
13019 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13020
130212007-12-22 Eli Zaretskii <eliz@gnu.org>
13022
13023 * callint.c (syms_of_callint) <command-history>: Add reference to
13024 history-length in the doc string.
13025
130262007-12-17 Jason Rumney <jasonr@gnu.org>
13027
13028 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13029 before passing as wParam.
13030
130312007-12-22 Michael Albinus <michael.albinus@gmx.de>
13032
13033 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13034 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13035 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13036 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13037 as number.
13038 (Fdbus_call_method): Fix docstring.
13039
130402007-12-21 Michael Albinus <michael.albinus@gmx.de>
13041
13042 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13043 New macros.
13044 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13045 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13046 Simplify.
13047 (xd_signature): New function.
13048 (xd_append_arg): Compute also signatures. Major rewrite.
13049 (xd_retrieve_arg): Make debug messages friendly.
13050 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13051 Check for signatures of arguments.
13052
130532007-12-19 Michael Albinus <michael.albinus@gmx.de>
13054
13055 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13056 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13057 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13058 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13059 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13060 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13061 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13062 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13063 (xd_retrieve_value): Remove. Functionality included in ...
13064 (xd_append_arg): New function.
13065 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13066
130672007-12-16 Michael Albinus <michael.albinus@gmx.de>
13068
13069 * dbusbind.c (top): Include <stdio.h>.
13070 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13071 dbus_message_new_method_call and dbus_message_new_signal.
13072 (Fdbus_register_signal): Rename unique_name to uname.
13073 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13074 non-existing unique name. Fix typos in matching rule. Return an
13075 object which is useful in Fdbus_unregister_signal.
13076 (Fdbus_unregister_signal): Reimplementation, in order to remove
13077 only the corresponding entry.
13078 (Vdbus_registered_functions_table): Change the order of entries.
13079 Apply these changes in xd_read_message and Fdbus_register_signal.
13080
130812007-12-16 Andreas Schwab <schwab@suse.de>
13082
13083 * fileio.c (Finsert_file_contents): Fix overflow check to not
13084 depend on undefined integer overflow.
13085
130862007-12-14 Jason Rumney <jasonr@gnu.org>
13087
13088 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13089 for characters above 127.
13090
130912007-12-13 Jason Rumney <jasonr@gnu.org>
13092
13093 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13094 before dereferencing array.
13095 (lookup_vk_code): Remove zero comparison.
13096
130972007-12-14 Michael Albinus <michael.albinus@gmx.de>
13098
13099 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13100 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13101 Use `unsigned int' instead of `uint'.
13102 (xd_read_message, Fdbus_register_signal): Split expressions into
13103 multiple lines before operators "&&" and "||", according to the
13104 GNU Coding Standards.
13105
131062007-12-14 Eli Zaretskii <eliz@gnu.org>
13107
13108 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13109
131102007-12-12 Juri Linkov <juri@jurta.org>
13111
13112 * buffer.c (Frename_buffer): In interactive spec replace
13113 `read-buffer' with `read-string' that uses `buffer-name-history'
13114 as history, and the current buffer's name as default.
13115
131162007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13117
13118 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13119 manipulating the backtrace manually.
13120 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13121 (struct backtrace, backtrace_list): Remove.
13122 (command_loop_1): Remove dead var `no_direct'.
13123
13124 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13125 preserve non-built-in buffer-local variables.
13126 (Fkill_all_local_variables): Don't re-create&re-set permanent
13127 buffer-local variables.
13128
131292007-12-09 Juri Linkov <juri@jurta.org>
13130
13131 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13132 Lisp code that uses `read-buffer' with current buffer as default.
13133
131342007-12-08 Michael Albinus <michael.albinus@gmx.de>
13135
13136 * dbusbind.c (xd_read_message): Generate an event for every
13137 registered handler. There might be several handlers registered
13138 for the same signal.
13139 (Fdbus_register_signal): Don't overwrite a registration for the
13140 same signal. Add a new registration if handlers are different.
13141 (Vdbus_registered_functions_table): Rework doc string.
13142
131432007-12-07 Michael Albinus <michael.albinus@gmx.de>
13144
13145 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13146 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13147 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13148 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13149 Unify argument lists.
13150 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13151 arguments and hash table keys. Use unique name for service.
13152 (Fdbus_unregister_signal): Remove checks.
13153 (Vdbus_registered_functions_table): Fix doc string.
13154
131552007-12-05 Magnus Henoch <mange@freemail.hu>
13156
13157 * process.c (make_process): Initialize pty_flag to 0.
13158
131592007-12-05 Jason Rumney <jasonr@gnu.org>
13160
13161 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13162 specified XBMs.
13163
131642007-12-05 Richard Stallman <rms@gnu.org>
13165
13166 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13167
131682007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13169
13170 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13171 New variable.
13172 (mac_try_close_socket) [MAC_OSX]: New function.
13173 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13174 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13175
13176 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13177 Use mac_try_close_socket.
13178
131792007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13180
13181 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13182 reloc_base.
13183 (copy_dysymtab): Compute relocation base here.
13184 (rebase_reloc_address) [__ppc64__]: New function.
13185 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13186 changed.
13187
131882007-12-05 Jason Rumney <jasonr@gnu.org>
13189
13190 * w32proc.c (sys_spawnve): Quote args with wildcards.
13191
131922007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13193
13194 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13195 __objc_* sections.
13196 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13197
131982007-12-05 Michael Albinus <michael.albinus@gmx.de>
13199
13200 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13201 Move check for Vdbus_registered_functions_table to
13202 xd_read_queued_messages.
13203 (xd_read_queued_messages): Protect xd_read_message calls by
13204 internal_condition_case_1.
13205
132062007-12-04 Michael Albinus <michael.albinus@gmx.de>
13207
13208 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13209 Qdbus_system_bus and Qdbus_session_bus, respectively.
13210 (Vdbus_intern_symbols): Remove.
13211 (Vdbus_registered_functions_table): New hash table.
13212 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13213 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13214 Rewrite in order to manage registered functions by hash table
13215 Vdbus_registered_functions_table.
13216
132172007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13218
13219 * xterm.c: Update URL to Window Manager Specification in comment.
13220
132212007-12-02 Michael Albinus <michael.albinus@gmx.de>
13222
13223 * config.in (HAVE_DBUS): Add.
13224
13225 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13226 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13227 (obj): Add $(DBUS_OBJ).
13228 (LIBES): Add $(DBUS_LIBS).
13229 (dbusbind.o): New target.
13230
13231 * dbusbind.c: New file.
13232
13233 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13234
13235 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13236 (Qdbus_event): New Lisp symbol.
13237 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13238 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13239 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13240
13241 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13242
132432007-12-01 Richard Stallman <rms@gnu.org>
13244
13245 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13246
132472007-11-30 Jason Rumney <jasonr@gnu.org>
13248
13249 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13250 (w32con_reset_terminal_modes): Clear screen buffer.
13251 (w32_face_attributes): Don't use color indexes that are out of range.
13252 Only reverse the default colors.
13253
13254 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13255 WINDOWSNT.
13256
13257 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13258
132592007-11-29 Jason Rumney <jasonr@gnu.org>
13260
13261 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13262 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13263 if the terminal colors are initialized.
13264 (unspecified_fg, unspecified_bg): Remove unused declarations.
13265
132662007-11-29 Andreas Schwab <schwab@suse.de>
13267
13268 * keyboard.c (apply_modifiers): Fix typo.
13269
132702007-11-29 Richard Stallman <rms@gnu.org>
13271
13272 * keymap.c (Fcurrent_local_map): Doc fix.
13273
132742007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13275
13276 * s/gnu-kfreebsd.h: New file.
13277
132782007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13279
13280 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13281 Don't cast redundantly.
13282
13283 * keyboard.c (KEY_TO_CHAR): New macro.
13284 (parse_modifiers, apply_modifiers): Accept integer arguments.
13285 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13286 for chars and symbol keys.
13287 After doing such remapping, apply function-key-map again.
13288
132892007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13290
13291 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13292 compiled anymore.
13293
132942007-11-26 Andreas Schwab <schwab@suse.de>
13295
13296 * process.c (list_processes_1): Fix indentation level of the
13297 command column.
13298
132992007-11-23 Andreas Schwab <schwab@suse.de>
13300
13301 * editfns.c (Fformat): Handle %c specially since it requires the
13302 argument to be of type int.
13303
133042007-11-23 Markus Triska <markus.triska@gmx.at>
13305
13306 * emacs.c (main): Call init_editfns before init_process, since
13307 init_process sets Vprocess_connection_type depending on OS release.
13308
133092007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13310
13311 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13312 (find_symbol_value): Use do_symval_forwarding.
13313
13314 * data.c (set_internal): Set the value in the `cons-cell' (for
13315 Buffer_Local_values) not only for frame-local variables.
13316
133172007-11-22 Andreas Schwab <schwab@suse.de>
13318
13319 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13320 values to sprintf.
13321 * keymap.c (Fsingle_key_description): Likewise.
13322 * print.c (print_object): Likewise.
13323
133242007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13325
13326 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13327 file for image is nil.
13328
133292007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13330
13331 * term.c: Include stdarg.h.
13332 (fatal): Implement using varargs.
13333 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13334
133352007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13336
13337 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13338 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13339 Update call to buffer_slot_type_mismatch.
13340 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13341 (buffer_slot_type_mismatch): Update.
13342 * buffer.c (buffer_local_types): Remove.
13343 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13344 (defvar_per_buffer): Set the type in the buffer_objfwd.
13345
133462007-11-21 Jason Rumney <jasonr@gnu.org>
13347
13348 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13349 CreateFileMapping returns NULL on failure.
13350
133512007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13352
13353 * search.c (Fset_match_data): Remove the `evaporate' feature.
13354 (unwind_set_match_data): Don't use the `evaporate' feature.
13355
133562007-11-21 Jason Rumney <jasonr@gnu.org>
13357
13358 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13359
13360 * w32console.c (w32con_write_glyphs): Remove unused variables.
13361
133622007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13363
13364 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13365
13366 * s/darwin.h (MULTI_KBOARD): Remove.
13367
13368 * macfns.c (x_create_tip_frame, Fx_create_frame)
13369 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13370
133712007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13372
13373 * buffer.c (Fbuffer_local_value): Remove redundant test.
13374 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13375 than in `current-buffer' to match the comment.
13376 Do the swap using swap_in_global_binding.
13377
13378 * data.c (store_symval_forwarding, set_internal):
13379 * eval.c (specbind): Remove dead code.
13380
13381 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13382 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13383 Since we do not want to see internal Lisp_*fwd objects here.
13384
133852007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13386
13387 * sysdep.c (init_system_name): Use getaddrinfo if available.
13388
13389 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13390 (x_scroll_bar_note_movement): start, end, with, height in struct
13391 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13392
133932007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13394
13395 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13396
133972007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13398
13399 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13400 This undoes Richard's change of 14-Oct-2002.
13401
13402 * alloc.c (allocate_other_vector):
13403 * lisp.h (allocate_other_vector): Remove.
13404
13405 * window.c (struct save_window_data): Move non-lisp data to the end
13406 and make it `int' rather than Lisp_Object.
13407 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13408 Done wrap/unwrap integer values.
13409 (Fset_window_configuration, compare_window_configurations):
13410 Update use of fields to their new types.
13411
13412 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13413 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13414 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13415 (SET_SCROLL_BAR_X_WINDOW): Remove.
13416 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13417 Access the new x_window field directly.
13418 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13419 Don't wrap/unwrap integers into Lisp_Objects.
13420 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13421 (x_scroll_bar_report_motion):
13422 Don't wrap/unwrap integers into Lisp_Objects.
13423 (x_term_init): Use SDATA.
13424 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13425 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13426 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13427 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13428 * xfns.c (x_set_background_color):
13429 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13430 Access the new x_window field directly.
13431
13432 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13433 (allocate_pseudovector): Make non-static.
13434
13435 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13436 (allocate_pseudovector): Declare.
13437 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13438
134392007-11-15 Andreas Schwab <schwab@suse.de>
13440
13441 * editfns.c (Fformat): Correctly format EMACS_INT values.
13442 Also take precision into account when formatting an integer.
13443
13444 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13445
134462007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13447
13448 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13449 (syms_of_keyboard): Defsubr it.
13450
13451 * data.c (swap_in_global_binding): Fix longstanding bug where
13452 store_symval_forwarding was not called with the right second argument,
13453 thus causing objfwd-ing from being dropped.
13454
134552007-11-14 Juanma Barranquero <lekktu@gmail.com>
13456
13457 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13458 (Fx_display_pixel_height, Fx_display_planes)
13459 (Fx_display_color_cells, Fx_server_max_request_size)
13460 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13461 (Fx_display_visual_class, Fx_display_save_under):
13462 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13463 (Fx_display_pixel_height, Fx_display_planes)
13464 (Fx_display_color_cells, Fx_server_max_request_size)
13465 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13466 (Fx_display_mm_height, Fx_display_mm_width)
13467 (Fx_display_backing_store, Fx_display_visual_class)
13468 (Fw32_select_font, Fx_display_save_under):
13469 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13470 (Fx_display_pixel_height, Fx_display_planes)
13471 (Fx_display_color_cells, Fx_server_max_request_size)
13472 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13473 (Fx_display_save_under): Fix typos in docstrings.
13474
134752007-11-14 Juanma Barranquero <lekktu@gmail.com>
13476
13477 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13478 corresponding to deleted entries; they are an implementation detail.
13479 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13480 Remove variables.
13481 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13482 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13483 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13484 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13485 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13486 (Fw32_define_rgb_color, Fw32_load_color_file)
13487 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13488 Fix typos in docstrings.
13489 (Fx_server_version): Reflow docstring.
13490 (Fw32_shell_execute): Doc fixes.
13491
134922007-11-13 Juanma Barranquero <lekktu@gmail.com>
13493
13494 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13495 if w32_parse_hot_key returned nil.
13496
134972007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13498
13499 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13500
135012007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13502
aac0c6e3
MR
13503 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13504
13505 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13506
13507 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13508 Remove W32_SCROLL_BAR_CLICK_EVENT.
13509
13510 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13511 Add MULTIMEDIA_KEY_EVENT.
13512
13513 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13514 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13515 (make_lispy_event) [WINDOWSNT]: Use it to translate
13516 MULTIMEDIA_KEY_EVENT.
13517
13518 * w32term.h (WM_APPCOMMAND): Define if not already.
13519 (GET_APPCOMMAND_LPARAM): Likewise.
13520
13521 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13522 WM_APPCOMMAND.
13523
13524 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13525 (syms_of_w32fns): Export and initialize it.
13526 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13527
135282007-11-09 Chong Yidong <cyd@stupidchicken.com>
13529
13530 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13531 twice.
13532
13533 * xdisp.c (handle_face_prop): Fix last change.
13534
135352007-11-09 Richard Stallman <rms@gnu.org>
13536
13537 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13538 not just for after-strings and before-strings.
13539 Call face_for_overlay_string and pass the overlay to it.
13540 (handle_display_prop): Determine whether property came from an overlay.
13541 Pass OVERLAY arg to handle_single_display_spec.
13542 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13543 (load_overlay_strings): Fill in it->string_overlays.
13544 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13545
13546 * xfaces.c (face_for_overlay_string): Function renamed from
13547 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13548
13549 * dispextern.h (struct it): New elt string_overlays.
13550 New elt from_overlay, also in stack.
13551 Rearrange a few elements.
13552 (face_for_overlay_string): Decl renamed from
13553 face_at_buffer_position_no_overlays, and add argument.
13554
135552007-11-09 Richard Stallman <rms@gnu.org>
13556
13557 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13558 to get the base face for an overlay string.
13559
13560 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13561
13562 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13563
13564 * xdisp.c (handle_stop): Move some code out of loop.
13565
135662007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13567
13568 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13569 Fix conversion from Lisp object to ATSUFontID.
13570
135712007-11-09 Jason Rumney <jasonr@gnu.org>
13572
13573 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13574
135752007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13576
13577 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13578 Don't assume regions are aligned to page boundary.
13579 (print_load_command_name): Add LC_UUID if defined.
13580
135812007-11-09 Richard Stallman <rms@gnu.org>
13582
13583 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13584
135852007-11-07 Jason Rumney <jasonr@gnu.org>
13586
13587 * s/windows95.h: Remove.
13588
135892007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13590
13591 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13592 abort with a message on unhandled store_type values.
13593
135942007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13595
13596 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13597 Remove HAVE_X11R5 and HAVE_X11R4.
13598
135992007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13600
13601 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13602
136032007-11-01 Johan Bockgård <bojohan@gnu.org>
13604
13605 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13606 Don't set s->stippled_p here, since it has already been set by
13607 x_set_glyph_string_gc from x_draw_glyph_string.
13608
136092007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13610
13611 * sunfns.c: Remove file.
13612
13613 * m/sun386.h:
13614 * m/sun2.h:
13615 * m/sparc.h: Remove Sun windows code.
13616
136172007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13618
13619 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13620 (init_keyboard): Set current_kboard's window-system to nil.
13621 (tty_read_avail_input): Typo.
13622 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13623
136242007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13625
13626 * s/usg5-4.h:
13627 * s/usg5-3.h:
13628 * s/ptx.h:
13629 * m/is386.h:
13630 * m/ibmps2-aix.h:
13631 * Makefile.in: Remove all mentions of X10.
13632
13633 * dispnew.c (syms_of_display): Don't mention version 10.
13634
136352007-10-28 Juanma Barranquero <lekktu@gmail.com>
13636
13637 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13638 ($(BLD)/abbrev.$(O)): Remove.
13639
136402007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13641
13642 Rewrite abbrev.c in Elisp.
13643 * image.c (Qcount): Don't declare as extern.
13644 (syms_of_image): Initialize and staticpro `Qcount'.
13645 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13646 * emacs.c (main): Don't call syms_of_abbrev.
13647 * Makefile.in (obj): Remove abbrev.o.
13648 (abbrev.o): Remove.
13649 * abbrev.c: Remove.
13650
136512007-10-26 Martin Rudalics <rudalics@gmx.at>
13652
13653 * window.c (window_min_size_2): Don't count header-line.
13654
136552007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13656
13657 * frame.h (struct frame): Move all bit fields after the first bit
13658 field to take advantage of the available space. Group all the
13659 chars together to reduce wasted space due to padding.
13660
136612007-10-26 Juanma Barranquero <lekktu@gmail.com>
13662
13663 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13664
13665 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13666 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13667 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13668 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13669 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13670 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13671 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13672 (last_marked, mark_object_loop_halt): Make static.
13673
13674 * frame.c (syms_of_frame) <delete-frame-functions>:
13675 Fix typo in docstring.
13676
136772007-10-25 Juanma Barranquero <lekktu@gmail.com>
13678
13679 * w32.c (init_environment): Fix tiny memory leak.
13680 (w32_get_resource): Remove unused variable `ok'.
13681
136822007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13683
13684 Make `window-system' into a keyboard-local variable (rather than
13685 frame-local as done originally by multi-tty).
13686
13687 * keyboard.h (struct kboard): Add Vwindow_system.
13688 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13689 (mark_kboards): Mark Vwindow_system.
13690
13691 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13692 (init_display): Don't set the obsolete `window-system' frame-param.
13693
13694 * xterm.c (x_term_init):
13695 * w32term.c (w32_create_terminal):
13696 * term.c (init_tty): Set Vwindow_system.
13697 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13698 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13699
13700 * xfns.c (Fx_create_frame, x_create_tip_frame):
13701 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13702 * macfns.c (Fx_create_frame):
13703 Don't set the obsolete `window-system' frame-param.
13704
13705 * frame.h (Qwindow_system): Remove.
13706 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13707 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13708
137092007-10-24 Richard Stallman <rms@gnu.org>
13710
13711 * frame.c (x_figure_window_size): For fullscreen case,
13712 set USPosition | PPosition without clobbering rest of window_prompting.
13713
13714 * keyboard.c (Fcurrent_idle_time): Doc fix.
13715
13716 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13717
137182007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13719
13720 * process.c (unwind_request_sigio): Only define if __ultrix__.
13721
13722 * callproc.c (child_setup): Remove spurious *.
13723
13724 * lisp.h (Fget_text_property): Declare.
13725 (have_menus_p): Declare it here rather than in sys-dep header files.
13726 * macterm.h (have_menus_p):
13727 * msdos.h (have_menus_p):
13728 * xterm.h (have_menus_p): Remove.
13729
13730 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13731 (Fmake_variable_frame_local): Just check the variable's const-ness
13732 rather than checking nil or t.
13733
137342007-10-22 Jason Rumney <jasonr@gnu.org>
13735
13736 * w32fns.c: Include math.h.
13737 (w32_abort): Declaration moved to nt/config.nt.
13738
13739 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13740 (abort): Redefinition moved to nt/config.nt.
13741
13742 * m/windowsnt.h: Remove.
13743
137442007-10-22 Juanma Barranquero <lekktu@gmail.com>
13745
13746 * emacs.c (Fdump_emacs): Fix typo in message.
13747 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13748 <installation-directory>: Reflow docstring.
13749
137502007-10-22 Juri Linkov <juri@jurta.org>
13751
13752 * minibuf.c: Allow minibuffer default to be a list of default values.
13753 With empty input use the first element of this list as returned default.
13754 (string_to_object)
13755 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13756 (read_minibuf): If defalt is cons, set histstring to its car.
13757 (Fread_string): If default_value is cons, set val to its car.
13758 (Fread_buffer): If def is cons, use its car.
13759 (Fcompleting_read): If defalt is cons, set val to its car.
13760
137612007-10-21 Michael Albinus <michael.albinus@gmx.de>
13762
13763 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13764
137652007-10-20 Juanma Barranquero <lekktu@gmail.com>
13766
13767 * doc.c (Fdocumentation): Check for advice in all cases.
13768
137692007-10-19 Chong Yidong <cyd@stupidchicken.com>
13770
13771 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13772
137732007-10-19 Richard Stallman <rms@gnu.org>
13774
13775 * doc.c (Fdocumentation): Check for and handle an advised function.
13776
137772007-10-19 Juanma Barranquero <lekktu@gmail.com>
13778
13779 * process.c (Fset_process_filter): Doc fix.
13780
137812007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13782
13783 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13784 which caused key-translation-map to applied repeatedly (thus breaking
13785 double-mode).
13786
137872007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13788
13789 * xselect.c (x_own_selection, x_handle_selection_clear)
13790 (x_clear_frame_selections):
13791 * w32menu.c (list_of_panes, list_of_items):
13792 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13793 * textprop.c (validate_plist, interval_has_all_properties)
13794 (interval_has_some_properties, interval_has_some_properties_list)
13795 (add_properties, text_property_list):
13796 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13797 * minibuf.c (Fassoc_string):
13798 * macselect.c (x_own_selection, x_clear_frame_selections)
13799 (Fx_disown_selection_internal):
13800 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13801 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13802
138032007-10-17 Chong Yidong <cyd@stupidchicken.com>
13804
13805 * process.c: Link to libs for calling res_init() if available.
13806 (Fmake_network_process): Call res_init() before getaddrinfo or
13807 gethostbyname, if possible.
13808
138092007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13810
13811 * lread.c (read1): Set pvectype for char_tables.
13812
13813 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13814 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13815 Add type checks.
13816 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13817
13818 * alloc.c (free_misc): Use XMISCTYPE.
13819 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13820
138212007-10-17 Glenn Morris <rgm@gnu.org>
13822
13823 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13824 (syms_of_minibuf): Add Qcompletion_ignore_case.
13825 * dired.c (Qcompletion_ignore_case): Change to external.
13826 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13827 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13828 (Fread_file_name): Use it rather than intern'ing.
13829
13830 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13831 (Fread_coding_system): Ignore case of user input.
13832
138332007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13834
13835 * xdisp.c (handle_display_prop): Ignore display specs after
13836 replacing one when string text is being replaced.
13837 (handle_single_display_spec): Pretend as if characters with display
13838 property haven't been consumed only when buffer text is being replaced.
13839
138402007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13841
13842 * xfns.c (Fx_create_frame, Fx_display_list):
13843 * window.c (window_fixed_size_p, enlarge_window)
13844 (shrink_window_lowest_first):
13845 * macterm.c (init_font_name_table):
13846 * macfns.c (Fx_create_frame, Fx_display_list):
13847 * lread.c (close_load_descs):
13848 * keyboard.c (read_char_x_menu_prompt):
13849 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13850 * coding.c (code_convert_region_unwind): Test the type of an object
13851 rather than just !NILP before extracting data from it.
13852
13853 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13854
13855 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13856 (XMISCANY): New macro.
13857 (XMISCTYPE): Use it.
13858 (struct Lisp_Misc_Any): New type.
13859 (union Lisp_Misc): Use it.
13860 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13861 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13862 (find_symbol_value, set_internal, default_value, Fset_default)
13863 (Fmake_variable_buffer_local, Fmake_local_variable)
13864 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13865 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13866 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13867 * alloc.c (allocate_buffer): Set the size and tag.
13868 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13869 Use XMISCANY.
13870 (die): Follow the GNU convention for error messages.
13871 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13872 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13873 tag any more.
13874 (set_buffer_internal_1):
13875 * frame.c (store_frame_param):
13876 * eval.c (specbind):
13877 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13878
13879 * doc.c (Fsnarf_documentation): Simplify.
13880
138812007-10-14 Juanma Barranquero <lekktu@gmail.com>
13882
13883 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13884 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13885
138862007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13887
13888 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13889
138902007-10-14 Juanma Barranquero <lekktu@gmail.com>
13891
13892 * eval.c (do_autoload): Don't save autoloads.
13893
13894 * data.c (Ffset): Save autoload of the function being set.
13895
138962007-10-07 John Paul Wallington <jpw@pobox.com>
13897
13898 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13899 parameter before setting up faces.
13900
139012007-10-13 Eli Zaretskii <eliz@gnu.org>
13902
13903 * ccl.c (Fregister_code_conversion_map):
13904 * keyboard.c (append_tool_bar_item): Reformat last change.
13905
13906 * lisp.h (eabs): Rename from `abs'. All callers changed.
13907
139082007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13909
13910 * buffer.c (add_overlay_mod_hooklist):
13911 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13912 * fontset.c (make_fontset):
13913 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13914 (append_tool_bar_item):
13915 * macmenu.c (grow_menu_items):
13916 * w32menu.c (grow_menu_items):
13917 * xmenu.c (grow_menu_items): Use larger_vector.
13918
139192007-10-13 Eli Zaretskii <eliz@gnu.org>
13920
13921 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13922 selected frame'' on MSDOS).
13923
139242007-10-12 Martin Rudalics <rudalics@gmx.at>
13925
13926 * frame.c (Qexplicit_name): New variable.
13927 (x_report_frame_params): Report it in parameter alist.
13928 (syms_of_frame): Intern and staticpro it.
13929
139302007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13931
13932 * macfns.c (x_create_tip_frame): Set terminal for frame.
13933
139342007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13935
13936 * frame.c (Qenvironment): Remove.
13937 (syms_of_frame) <Qenvironment>: Don't initialize.
13938 (Fdelete_frame): Don't treat the `environment' param specially.
13939 * frame.h (Qenvironment): Don't declare.
13940 * callproc.c (set_initial_environment): Don't set unused frame param.
13941
13942 * frame.c (Fframe_with_environment): Remove.
13943 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13944
13945 * lisp.h (Fframe_with_environment): Don't declare.
13946
139472007-10-10 Juanma Barranquero <lekktu@gmail.com>
13948
13949 * indent.c (indent_tabs_mode, last_known_column)
13950 (last_known_column_modified): Make static.
13951 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13952
139532007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13954
13955 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13956
139572007-10-09 Jason Rumney <jasonr@gnu.org>
13958
13959 * w32term.c (x_set_window_size): Disable code that attempts to tell
13960 Lisp code about a size change before it actually happens.
13961
139622007-10-09 Richard Stallman <rms@gnu.org>
13963
13964 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13965 return HANDLED_RETURN.
13966
139672007-10-08 Martin Rudalics <rudalics@gmx.at>
13968
13969 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13970 when there's an unread command event.
13971
13972 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13973 window autoselection act appropriately when leaving selected frame.
13974 (syms_of_frame): Initialize focus_follows_mouse.
13975 * frame.h (focus_follows_mouse): Extern it.
13976 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13977 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13978 * msdos.c (dos_rawgetc): Likewise.
13979 * w32term.c (w32_read_socket): Likewise.
13980 * xterm.c (handle_one_xevent): Likewise.
13981 * xdisp.c (syms_of_xdisp): In doc-string of
13982 mouse-autoselect-window mention focus-follows-mouse.
13983
139842007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13985
13986 * macterm.c (mac_load_query_font): Fix missing return value.
13987 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13988 Add BLOCK_INPUT.
13989
139902007-10-08 Richard Stallman <rms@gnu.org>
13991
13992 * xdisp.c (get_window_cursor_type): Implement documented behavior
13993 for cursor-in-non-selected-windows = t.
13994
139952007-10-08 Jason Rumney <jasonr@gnu.org>
13996
13997 * w32.c (w32_get_resource): Always close registry keys.
13998
139992007-10-08 Jason Rumney <jasonr@gnu.org>
14000
14001 * makefile.w32-in (LIBS): Add COMCTL32.
14002
14003 * w32fns.c (globals_of_w32fns): Init common controls.
14004
140052007-10-08 Richard Stallman <rms@gnu.org>
14006
14007 * image.c (our_memory_buffer): Rename from omfib_buffer.
14008
140092007-10-08 Richard Stallman <rms@gnu.org>
14010
14011 * buffer.c (Foverlays_at): Doc fix.
14012
140132007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14014
14015 * fns.c (Fplist_put): Preserve uneven tail data.
14016
140172007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14018
14019 * termhooks.h (enum event_kind): Remove trailing comma.
14020
14021 * frame.h (enum): Remove trailing comma.
14022
140232007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14024
14025 * w32proc.c (delete_child): Don't terminate threads of zombies.
14026
140272007-10-08 Martin Rudalics <rudalics@gmx.at>
14028
14029 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14030
14031 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14032 last-repeatable-command.
14033 (init_kboard): Initialize Vlast_repeatable_command.
14034 (command_loop_1): Set it to real_this_command unless that was
14035 bound to an input event.
14036 (mark_kboards): Mark it.
14037
140382007-10-08 Richard Stallman <rms@gnu.org>
14039
14040 * eval.c (condition-case): Doc fix.
14041
140422007-10-08 Masatake YAMATO <jet@gyve.org>
14043
14044 * xfaces.c (tty_supports_face_attributes_p): Fix code
14045 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14046 was copied and not edited.
14047
140482007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14049
14050 Add new `input-decode-map' keymap and use it for terminal
14051 escape sequences.
14052 * keyboard.h (struct kboard): Add Vinput_decode_map.
14053 Remove Vlocal_key_translation_map.
14054 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14055 (init_kboard): Init input-decode-map.
14056 Replace local-key-translation-map back with key-translation-map.
14057 (syms_of_keyboard): Declare input-decode-map.
14058 Remove local-key-translation-map. Update docstrings.
14059 (mark_kboards): Mark Vinput_decode_map.
14060 Don't mark Vlocal_key_translation_map.
14061 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14062 Replace local-key-translation-map back with key-translation-map.
14063 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14064 Bind in input-decode-map rather than function-key-map.
14065
14066 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14067 This was made redundant by the previous introduction of XSETPVECTYPE.
14068
140692007-10-09 Richard Stallman <rms@gnu.org>
14070
14071 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14072
140732007-09-29 Richard Stallman <rms@gnu.org>
14074
14075 * eval.c (internal_condition_case_2, internal_condition_case_1)
14076 (internal_condition_case): Reenable abort if x_catching_errors ()
14077 to see if that really happens and why.
14078
140792007-10-06 Andreas Schwab <schwab@suse.de>
14080
14081 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14082
140832007-10-04 Juanma Barranquero <lekktu@gmail.com>
14084
14085 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14086
140872007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14088
14089 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14090
140912007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14092
14093 * window.h (struct window):
14094 * window.c (struct save_window_data, struct saved_window):
14095 * termhooks.h (struct terminal):
14096 * process.h (struct Lisp_Process):
14097 * frame.h (struct frame):
14098 * buffer.h (struct buffer):
14099 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14100 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14101 The size field of (pseudo)vectors is now unsigned.
14102 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14103
14104 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14105 Turn `count' into an integer.
14106
14107 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14108 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14109 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14110 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14111 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14112
14113 * alloc.c (allocate_pseudovector): New fun.
14114 (ALLOCATE_PSEUDOVECTOR): New macro.
14115 (allocate_window, allocate_terminal, allocate_frame)
14116 (allocate_process): Use it.
14117 (mark_vectorlike): New function.
14118 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14119 (mark_terminals): Use it.
14120 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14121 (Fmake_byte_code): Use XSETPVECTYPE.
14122
14123 * frame.c (Fframe_parameters): Minor simplification.
14124
14125 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14126
14127 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14128
14129 * buffer.c (Fget_buffer_create, init_buffer_once):
14130 * lread.c (defsubr):
14131 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14132
14133 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14134 defined differently in the m/*.h files.
14135 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14136 (XSETPVECTYPE): New macro.
14137 (XSETPSEUDOVECTOR): Use it.
14138
14139 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14140 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14141
14142 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14143 * lread.c (defvar_per_buffer):
14144 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14145
14146 * window.c (candidate_window_p): Only consider as visible frames that
14147 are on the same terminal.
14148
14149 * m/ibms390x.h (MARKBIT): Remove unused macro.
14150
141512007-10-01 Juanma Barranquero <lekktu@gmail.com>
14152
14153 * lread.c (Fload): Fix typo in docstring.
14154
141552007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14156
14157 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14158 of a non-zero value can't yield zero.
14159
141602007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14161
14162 * term.c (term_clear_mouse_face, term_mouse_highlight)
14163 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14164
14165 * print.c (safe_debug_print): Use XHASH.
14166
14167 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14168 Lisp elements such as tags.
14169 (XHASH): New macro.
14170 (EQ): Use it.
14171 (SREF, SSET, STRING_COPYIN): Use SDATA.
14172 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14173
14174 * alloc.c (mark_terminal): Remove left-over declaration.
14175 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14176 (allocate_vectorlike): Remove type argument. Adjust callers.
14177 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14178 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14179
14180 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14181 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14182 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14183 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14184 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14185 Use them.
14186
14187 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14188 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14189 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14190
141912007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14192
14193 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14194 loaded by default.
14195
141962007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14197
14198 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14199 on this tty.
14200 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14201
14202 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14203 Update all users.
14204 (handle_one_term_event): Use Gpm_DrawPointer.
14205 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14206 Signal errors instead of returning nil. Always return nil.
14207 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14208 Make it a noop if gpm-mouse was not activated.
14209 (syms_of_term): Update names.
14210
142112007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14212
14213 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14214 (init_sys_modes): Check that gpm_tty is the current tty.
14215
14216 * alloc.c (allocate_terminal): Set the vector size to only count the
14217 lisp fields. Initialize those to nil.
14218 (mark_object): Don't treat terminals specially.
14219 (mark_terminal): Remove.
14220 (mark_terminals): Use mark_object instead.
14221
14222 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14223 the GC to the beginning.
14224
14225 * indent.h:
14226 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14227
14228 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14229
142302007-09-25 Jason Rumney <jasonr@gnu.org>
14231
14232 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14233
14234 * w32console.c (create_w32cons_output): Remove.
14235
14236 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14237
14238 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14239 (reset_sys_modes): Use reset_terminal_modes_hook.
14240
142412007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14242
14243 * eval.c (do_autoload): Don't output any message.
14244
142452007-09-24 Juri Linkov <juri@jurta.org>
14246
14247 * emacs.c (standard_args): Change priority of "--no-splash"
14248 from 40 to 3. Add "--no-desktop" with the same priority.
14249
142502007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14251
14252 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14253 and optimize the case where they are all 1.
14254
142552007-09-23 Johannes Weiner <hannes@saeurebad.de>
14256
14257 * lisp.h (abs): Define if not defined.
14258 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14259 Don't define `abs', since it's defined in lisp.h.
14260
142612007-09-22 Eli Zaretskii <eliz@gnu.org>
14262
14263 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14264 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14265 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14266 (init_tty): Use DEV_TTY instead of "/dev/tty".
14267 [WINDOWSNT]: No need to protect from NAME arg being null.
14268
142692007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14270
14271 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14272 up the tty state.
14273
142742007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14275
14276 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14277 (gpm_tty): Change its type.
14278 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14279 (gpm_tty): Change its type and initialize it.
14280 (Fterm_open_connection): Check the frame is indeed a tty.
14281 Use the new gpm_tty.
14282 (Fterm_close_connection): Use the new gpm_tty.
14283 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14284 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14285
142862007-09-21 Juanma Barranquero <lekktu@gmail.com>
14287
14288 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14289 underline_color, to draw strike-through.
14290
142912007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14292
14293 * lisp.h (allocate_terminal): Declare.
14294
14295 * window.c (candidate_window_p): Consider frames that are being placed
14296 by the user as somewhere between visible and iconified.
14297 (window_loop): Prefer windows on the current frame.
14298 (Fselect_window): Move the use of select-frame to the beginning so we
14299 can just delegate all the work (it'll call us back anyway).
14300
14301 * frame.c (Qdisplay_environment_variable):
14302 * frame.h (Qdisplay_environment_variable): Delete.
14303
14304 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14305 of the first arg, since that value may be a union.
14306
14307 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14308 parameter rather than Qdisplay_environment_variable. If all else
14309 fails, look for DISPLAY in initial-environment.
14310
143112007-09-21 Glenn Morris <rgm@gnu.org>
14312
14313 * Makefile.in (emacstool): Remove target.
14314 (lisp, shortlisp): Remove termdev.elc.
14315
143162007-09-21 Markus Triska <markus.triska@gmx.at>
14317
14318 * xterm.c (x_delete_display): Compile session management conditionally.
14319
143202007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14321
14322 * callproc.c (getenv_internal_1): New function.
14323 (getenv_internal): Use it.
14324 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14325
14326 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14327 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14328 (Fset_terminal_parameter): Work with dead terminals as well.
14329 (Fmodify_terminal_parameters): Remove.
14330
14331 * terminal.c (get_terminal): Handle terminals.
14332 Make sure the terminal returned is live.
14333 (create_terminal): Use allocate_terminal.
14334 (mark_terminals): Move to alloc.c.
14335 (delete_terminal): Use terminal->name as liveness status.
14336 NULL out fields after freeing their contents.
14337 Don't deallocate the object.
14338 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14339 rather than an int.
14340 (Fterminal_live_p): Accept non-integer arguments.
14341 (Fterminal_list): Return terminal objects rather than an ints.
14342
14343 * alloc.c (enum mem_type): New member for `terminal' objects.
14344 (allocate_terminal): New function.
14345 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14346 Handle terminals.
14347 (mark_terminal): New fun.
14348 (mark_terminals): Move from terminal.c.
14349
14350 * term.c (get_tty_terminal): Don't treat output_initial specially.
14351 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14352 (delete_tty): Use terminal->name as liveness status.
14353
14354 * termhooks.h (struct terminal): Make it into a pseudovector.
14355 Remove `deleted' replaced by checking `name's nullness.
14356
14357 * print.c (print_object): Handle terminals.
14358
14359 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14360 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14361
14362 * frame.c (make_terminal_frame):
14363 * keyboard.c (tty_read_avail_input):
14364 * w32term.c (x_delete_terminal):
14365 * xfns.c (Fx_create_frame, x_create_tip_frame):
14366 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14367
143682007-09-20 Glenn Morris <rgm@gnu.org>
14369
14370 * process.c (Fmake_network_process): Doc fix.
14371
143722007-09-19 Jason Rumney <jasonr@gnu.org>
14373
14374 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14375
143762007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14377
14378 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14379 Fix a C warning regarding variable constness.
14380
14381 * xterm.c (handle_one_xevent): Fix a C warning.
14382
143832007-09-18 Jason Rumney <jasonr@gnu.org>
14384
14385 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14386
143872007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14388
14389 * gtkutil.c (gdpy_def): New variable.
14390 (xg_initialize): Initialize gdpy_def.
14391 (xg_display_close): If no other display exists, set gdpy_def to a
14392 new connection.
14393
143942007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14395
14396 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14397 when we have no file name for the icon.
14398 (xg_tool_bar_expose_callback): Remove.
14399 (xg_create_tool_bar): Don't connect expose signal to
14400 xg_tool_bar_expose_callback.
14401 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14402
144032007-09-16 Andreas Schwab <schwab@suse.de>
14404
14405 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14406 values instead of zapping them.
14407
144082007-09-14 Glenn Morris <rgm@gnu.org>
14409
14410 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14411 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14412 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14413 scope and rename to omfib_buffer for clarity.
14414 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14415
144162007-09-14 Kenichi Handa <handa@m17n.org>
14417
14418 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14419
144202007-09-13 Jason Rumney <jasonr@gnu.org>
14421
14422 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14423
14424 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14425
14426 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14427 (mac_term_init): Call here instead, passing rif.
14428
144292007-09-13 Glenn Morris <rgm@gnu.org>
14430
14431 * s/hpux.h: No longer define `static' as nothing.
14432
144332007-09-13 Johan Bockgård <bojohan@gnu.org>
14434
14435 * callint.c (Fcall_interactively): Remove unused var `fun'.
14436
144372007-09-12 Romain Francoise <romain@orebokech.com>
14438
14439 * window.c (prefer_window_split_horizontally, display_buffer):
14440 Revert 2007-09-08 change.
14441
144422007-09-12 Glenn Morris <rgm@gnu.org>
14443
14444 * alloca.c: Remove file.
14445 * Makefile.in (alloca): Do not undef.
14446 (allocaobj, alloca.o): Remove.
14447 (otherobj): Remove allocaobj.
14448 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14449 * regex.c (C_ALLOCA): Remove all references and code that was only
14450 used when this was defined.
14451 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14452 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14453 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14454
14455 * Makefile.in (SOURCES, unlock, relock): Delete.
14456
14457 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14458 (menu_grab_callback): All uses changed.
14459
14460 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14461 (x_reply_selection_request): All uses changed.
14462
144632007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14464
14465 * lread.c (load_warn_old_style_backquotes): Change message to look
14466 better when it appears in the middle of byte-compiler messages.
14467
144682007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14469
14470 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14471
14472 * xterm.c (x_create_terminal): Add comment.
14473
14474 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14475
144762007-09-10 Richard Stallman <rms@gnu.org>
14477
14478 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14479
144802007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14481
14482 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14483 (DEFUN): Document `intspec', use it instead of `prompt'.
14484
14485 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14486
14487 * data.c (Finteractive_form): If the interactive specification starts
14488 with a `(', use it as a Lisp form.
14489
14490 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14491 name and file modes.
14492
14493 * callint.c (Fcall_interactively): Comment fixes.
14494
144952007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14496
14497 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14498 and compiled functions.
14499
145002007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14501
14502 * window.c (prefer_window_split_horizontally): New variable.
14503 (display_buffer): Consider splitting window horizontally depending
14504 on prefer_window_split_horizontally.
14505
145062007-09-08 Eli Zaretskii <eliz@gnu.org>
14507
14508 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14509
145102007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14511
14512 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14513
14514 * frame.c (x_set_frame_parameters): Check number is positive before
14515 using XFASTINT.
14516
14517 * window.c (freeze_window_start): Don't presume selected_window holds
14518 a window object.
14519 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14520
145212007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14522
14523 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14524
145252007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14526
14527 * window.c (Vsplit_window_preferred_function): New var.
14528 (Fdisplay_buffer): Use it.
14529 (syms_of_window): Export, and initialize it.
14530
145312007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14532
14533 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14534
145352007-09-06 Glenn Morris <rgm@gnu.org>
14536
14537 * gtkutil.c (menu_grab_callback) <cnt>:
14538 * xselect.c (x_reply_selection_request) <cnt>: Move static
14539 variable to file scope.
14540
145412007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14542
14543 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14544 consistent values of selected_frame and selected_window.
14545
145462007-09-04 Jason Rumney <jasonr@gnu.org>
14547
14548 * w32console.c (initialize_w32_display): Zero unused hooks.
14549
145502007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14551
14552 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14553 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14554
145552007-09-04 Jason Rumney <jasonr@gnu.org>
14556
14557 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14558 in w32console.c. Set up input. Remove XXX comments that have been
14559 confirmed as correct.
14560
14561 * s/ms-w32.h (MULTI_KBOARD): Define.
14562
14563 * w32console.c (one_and_only_w32cons): Remove.
14564 (initialize_w32_display): Take terminal argument.
14565
14566 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14567 initialize_w32_display.
14568 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14569
14570 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14571
14572 * keyboard.c (discard_mouse_events): Discard it.
14573 (make_lispy_event): Translate it to a lisp event.
14574 (lispy_wheel_names): Add wheel-left and right events.
14575 (syms_of_keyboard): Enlarge wheel_syms.
14576
14577 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14578 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14579
14580 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14581
14582 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14583 from WM_MOUSEHWHEEL.
14584 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14585
14586 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14587 terminal.
14588
14589 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14590 keyboard for the terminal.
14591
145922007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14593
14594 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14595 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14596 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14597 and resume-tty-function to resume-tty-hook.
14598 (Fsuspend_tty, Fresume_tty): Use new names.
14599
146002007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14601
14602 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14603 if it starts with "n:".
14604
146052007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14606
14607 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14608
146092007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14610
14611 * frame.h:
14612 * frame.c (Qterm_environment_variable): Remove.
14613 (syms_of_frame): Don't init and staticpro it.
14614
14615 * callproc.c (getenv_internal): Remove special case for $TERM.
14616
14617 * callproc.c (Vinitial_environment): New variable.
14618 (set_initial_environment): Initialize it.
14619 (syms_of_callproc): Declare it.
14620 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14621 TERM under which a process runs is never related to the TERM in which
14622 Emacs is running.
14623
146242007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14625
14626 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14627 * s/darwin.h: ... do it here.
14628
146292007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14630
14631 * lisp.h (set_initial_environment): Rename from set_global_environment.
14632
14633 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14634 removed by mistake on the multi-tty branch.
14635
14636 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14637 (Fmodify_frame_parameters): Return a value.
14638
14639 * image.c (png_load): Comment-out var only used in commented-out code.
14640
14641 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14642 before passing it to mark_object.
14643
14644 * xfaces.c (internal_resolve_face_name): Return a value.
14645 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14646
14647 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14648 (x_icon): Comment-out var only used in commented-out code.
14649
146502007-08-29 Romain Francoise <romain@orebokech.com>
14651
14652 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14653 QUIT hasn't been provided.
14654
146552007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14656
14657 * callproc.c (child_setup, getenv_internal): Use the
14658 display-environment-variable and term-environment-variable frame params.
14659 (set_initial_environment): Initialise Vprocess_environment.
14660
14661 * config.in: Disable multi-keyboard support on a mac.
14662
14663 * frame.c (Qterm_environment_variable)
14664 (Qdisplay_environment_variable): New variables.
14665 (syms_of_frame): Intern and staticpro them.
14666 (Fmake_terminal_frame): Disable output method test.
14667
14668 * frame.h: Declare them here.
14669
14670 * macfns.c (x_set_mouse_color): Get rif from the frame.
14671 (x_set_tool_bar_lines): Don't use updating_frame.
14672 (mac_window): Add 2 new parameters for consistency with other systems.
14673 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14674 frame parameters following what is done in X11 and w32. Don't use
14675 FRAME_MAC_DISPLAY_INFO.
14676 (Fx_open_connection, start_hourglass): Remove window-system check.
14677 (x_create_tip_frame): Get the keyboard from the terminal.
14678
14679 * macmenu.c: Reorder includes.
14680 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14681
14682 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14683 terminal parameter.
14684 (x_clear_frame): Add a frame parameter.
14685 (note_mouse_movement): Get rif from the frame.
14686 (mac_term_init): Initialize the terminal.
14687 (mac_initialize): Make static and move terminal initialization ...
14688 (mac_create_terminal): ... to this new function.
14689
14690 * macterm.h (struct mac_display_info): Add terminal.
14691 (mac_initialize): Delete declaration.
14692
14693 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14694
14695 * sysdep.c: Comment out text after #endif.
14696
14697 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14698 is defined. Better initialize ttys in windows. Use terminal
14699 specific mouse_position_hook.
14700
14701 * termhooks.h (union display_info): Add mac_display_info.
14702
14703 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14704 Set the default minibuffer frame, window_system and the rest of the
14705 frame parameters following what is done in X11.
14706
14707 * w32term.c (w32_initialize): Make static.
14708
14709 * xselect.c (x_handle_selection_clear): Only access
14710 terminal->kboard when MULTI_KBOARD is defined.
14711
14712 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14713 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14714
147152007-08-29 Jason Rumney <jasonr@gnu.org>
14716
14717 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14718 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14719
14720 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14721 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14722
14723 * keyboard.c (restore_kboard_configuration): Only define when
14724 MULTI_KBOARD defined.
14725
14726 * makefile.w32-in: Update dependancies from Makefile.in.
14727 (OBJ1): Add terminal.$(O)
14728
14729 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14730 Don't define function body.
14731 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14732
14733 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14734
14735 * w32.c (request_sigio, unrequest_sigio): Remove.
14736
14737 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14738 (w32con_clear_frame, w32con_clear_end_of_line)
14739 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14740 (w32con_delete_glyphs, w32con_set_terminal_window)
14741 (scroll_line, w32_sys_ring_bell): Add frame arg.
14742 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14743 Add terminal arg.
14744 (PICK_FRAME): Remove.
14745 (w32con_write_glyphs): Use frame specific terminal coding.
14746 (one_and_only_w32cons): New global variable.
14747 (initialize_w32_display): Use it for storing hooks.
14748 (create_w32cons_output): New function.
14749
14750 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14751 arg a frame.
14752
14753 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14754 Set window_system.
14755 (x_set_tool_bar_lines): Don't use updating_frame.
14756 (Fx_create_frame): Set terminal and ref count.
14757 (Fx_open_connection): Remove window-system check.
14758
14759 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14760
14761 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14762 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14763 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14764 Add frame arg.
14765 (x_delete_terminal, w32_create_terminal): New functions.
14766 (w32_term_init): Create a terminal.
14767 (w32_initialize): Move terminal specific initialization to
14768 w32_create_terminal.
14769
14770 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14771 (w32_clear_rect, w32_clear_area): Use background from frame.
14772 (w32_display_info): Add terminal.
14773 (w32_sys_ring_bell, x_delete_display): Declare here.
14774
14775 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14776
14777 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14778
147792007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14780
14781 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14782 Fix get_named_tty calls for the controlling tty.
14783
147842007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14785
14786 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14787
147882007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14789
14790 * term.c (tty_insert_glyphs): Add missing first parameter.
14791
147922007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14793
14794 * buffer.c (Fbuffer_list, Fbury_buffer):
14795 Take frame->buried_buffer_list into account.
14796
14797 * cm.c (current_tty): New variable, for cmputc().
14798 (cmputc): Use it.
14799 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14800 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14801 (cmgoto): Add tty parameter. Pass it on to calccost().
14802 Use emacs_tputs() instead of tputs().
14803
14804 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14805 tputs().
14806 (current_tty): New variable, for cmputc().
14807 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14808
14809 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14810 (internal_condition_case, internal_condition_case_1)
14811 (internal_condition_case_2): Don't abort when x_catching_errors.
14812
14813 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14814 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14815 prevent crashes caused by bogus longjmps in read_char.
14816
14817 * keymap.h (Fset_keymap_parent): Add EXFUN.
14818
14819 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14820 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14821 Remove redundant definition.
14822
14823 * macfns.c (x_set_mouse_color, x_make_gc):
14824 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14825
14826 * w32term.c (x_free_frame_resources):
14827 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14828 (w32_initialize): Use the accessor macros for terminal characteristics.
14829
14830 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14831 Use the accessor macros for terminal characteristics.
14832 * msdos.c (internal_terminal_init): Use the accessor macros for
14833 terminal characteristics.
14834 (ScreenVisualBell, internal_terminal_init):
14835 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14836
14837 * termopts.h (no_redraw_on_reenter): Declare.
14838
14839 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14840 (mark_terminals, mark_ttys): Declare.
14841 (Fgarbage_collect): Call them.
14842 (mark_object): Mark buried_buffer_list.
14843
14844 * prefix-args.c: Include stdlib.h for exit.
14845
14846 * syssignal.h: Add comment.
14847
14848 * indent.c: Include stdio.h.
14849
14850 * window.h (Vinitial_window_system): Declare.
14851 (Vwindow_system): Delete declaration.
14852
14853 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14854
14855 * image.c (lookup_image): Don't initialize `c' until the xasserts
14856 have been run.
14857
14858 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14859 FRAME_FOREGROUND_PIXEL.
14860
14861 * print.c (print_preprocess): Don't lose print_depth levels while
14862 iterating.
14863
14864 * widget.c (update_from_various_frame_slots):
14865 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14866
14867 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14868 frames.
14869 (window_internal_height): Remove bogus make_number call.
14870 (init_window_once): Call make_terminal_frame with two zero parameters.
14871
14872 * fileio.c (Fread_file_name): Update comment.
14873
14874 * callint.c (Fcall_interactively):
14875 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14876 Make sure it is correctly unwound.
14877
14878 * xsmfns.c (x_session_close): New function.
14879
14880 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14881 Delete declarations.
14882
14883 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14884 (x_output): Remove background_pixel and foreground_pixel fields.
14885 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14886 (x_delete_device, x_session_close): Declare.
14887
14888 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14889 (read_filtered_event): Call `read_char' with a local
14890 `wrong_kboard_jmpbuf'.
14891
14892 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14893 Don't call single_kboard_state. Use FRAME_RIF.
14894
14895 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14896 systems.
14897
14898 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14899 (Fframe_with_environment, Fset_input_meta_mode)
14900 (Fset_quit_char): EXFUN.
14901 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14902 (init_sys_modes, reset_sys_modes): Update prototypes.
14903 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14904
14905 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14906 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14907 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14908 Delete declarations.
14909 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14910 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14911 New declarations.
14912
14913 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14914 already does that during init_display(). Call syms_of_keymap
14915 before syms_of_keyboard. Call `syms_of_terminal'.
14916 Call set_initial_environment, not set_process_environment.
14917 (shut_down_emacs): Call reset_all_sys_modes() instead of
14918 reset_sys_modes().
14919
14920 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14921 (internal_resolve_face_name, resolve_face_name_error): New functions.
14922 (resolve_face_name): Protect against loops and errors thrown by Fget.
14923 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14924 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14925
14926 * scroll.c: Replace CURTTY() with local variables throughout the
14927 file (where applicable).
14928 (calculate_scrolling, calculate_direct_scrolling)
14929 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14930 characteristics.
14931
14932 * keymap.c (Vfunction_key_map): Remove.
14933 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14934 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14935 (Vkey_translation_map): Remove.
14936 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14937 (Fdescribe_buffer_bindings)
14938 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14939 Update for terminal-local key-translation-map.
14940
14941 * Makefile.in (callproc.o): Update dependencies.
14942 (lisp, shortlisp): Add termdev.elc.
14943 (obj): Add terminal.o.
14944 (terminal.o): Add dependencies.
14945 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14946 (data.o, fns.o): Add termhooks.h dependency.
14947 (SOME_MACHINE_LISP): Add dnd.elc.
14948 (minibuf.o): Fix typo.
14949 Update dependencies.
14950
14951 * data.c (do_symval_forwarding, store_symval_forwarding)
14952 (find_symbol_value): Use the selected frame's keyboard, not
14953 current_kboard.
14954
14955 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14956 Vwindow_system.
14957
14958 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14959 Fmenu_bar_open.
14960 (syms_of_xmenu): Update defsubr.
14961 (mouse_position_for_popup, Fx_popup_menu)
14962 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14963 (set_frame_menubar, free_frame_menubar)
b97439ce 14964 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
14965 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14966 an X frame.
14967
14968 * xselect.c (x_own_selection): Abort if not an X frame.
14969 (some_frame_on_display): Check if it is an X frame.
14970 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14971
14972 * coding.c: Include frame.h and termhooks.h.
14973 (terminal_coding, keyboard_coding): Delete.
14974 (Fset_terminal_coding_system_internal)
14975 (Fset_keyboard_coding_system_internal)
14976 (Fkeyboard_coding_system)
14977 (Fterminal_coding_system): Add a terminal parameter.
14978 Get terminal_coding from the terminal.
14979 (init_coding_once): Don't call setup_coding_system here.
14980
14981 * dispextern.h (set_scroll_region, turn_off_insert)
14982 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14983 (tty_clear_end_of_line, tty_setup_colors)
14984 (delete_tty, updating_frame)
14985 (produce_special_glyphs, produce_glyphs, write_glyphs)
14986 (insert_glyphs): Remove.
14987 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14988 (tty_turn_off_highlight, get_tty_size): Add declaration.
14989 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14990
14991 * frame.h (enum output_method): Add output_initial.
14992 (struct x_output): Delete.
14993 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14994 Access foreground_pixel and background_pixel directly from the frame.
14995 (tty_display): Delete.
14996 (struct frame): Add buried_buffer_list, foreground_pixel,
14997 background_pixel and terminal. Delete kboard.
14998 (union output_data): Add tty.
14999 (FRAME_KBOARD): Get the kboard from the terminal.
15000 (FRAME_INITIAL_P): New macro.
15001 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15002 (Qterm_environment_variable, Qdisplay_environment_variable)
15003 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15004 New declarations.
15005
15006 * termchar.h (tty_output, tty_display_info): New structures.
15007 (tty_list): Declare.
15008 (FRAME_TTY, CURTTY): New macros.
15009 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15010 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15011 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15012 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15013
15014 * callproc.c: Include frame.h and termhooks.h, for terminal
15015 parameters.
15016 (add_env): New function.
15017 (child_setup): Use it.
15018 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15019 (getenv_internal): Fix get_terminal_param call.
15020 (Fgetenv_internal, egetenv): Update doc.
15021 (syms_of_callproc): Initialize Vprocess_environment to nil.
15022 Register and initialize them. Remove obsolete defvars. Update doc
15023 strings.
15024 (child_setup): Handle Vlocal_environment_variables.
15025 (getenv_internal): Add terminal parameter.
15026 Handle Vlocal_environment_variables.
15027 (Fgetenv_internal): Add terminal parameter.
15028 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15029 environment in a frame (not terminal) parameter. Update doc strings.
15030 (set_initial_environment): Rename from set_global_environment.
15031 Store Emacs environment in initial frame parameter.
15032
15033 * xdisp.c (redisplay_internal): Update references to
15034 `previous_terminal_frame'.
15035 (display_mode_line, Fformat_mode_line): Replace calls to
15036 `push_frame_kboard' with `push_kboard'.
15037 (get_glyph_string_clip_rects): Add extra parentheses and
15038 braces to prevent compiler warnings.
15039 (calc_pixel_width_or_height): Add xassert to check that the
15040 frame is alive. Don't call `lookup_image' on a termcap frame.
15041 (message2_nolog, message3_nolog, redisplay_internal)
15042 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15043 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15044 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15045 (Fx_display_pixel_width, Fx_display_pixel_height)
15046 (Fx_display_planes, Fx_display_color_cells)
15047 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15048 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15049 (Fx_display_backing_store, Fx_display_visual_class)
15050 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15051 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15052
15053 * xfns.c (x_set_foreground_color x_set_background_color)
15054 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15055 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15056 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15057 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15058 terminal that is being deleted.
15059 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15060 frame parameter, and make sure it overrides any user-supplied setting.
15061 (Fx_close_connection, Fx_synchronize): Unify argument names with
15062 the rest of the DEFUNs.
15063
15064 * dispnew.c (Fsend_string_to_terminal): Update call to
15065 `get_tty_terminal'.
15066 (Fredraw_frame, Fsend_string_to_terminal)
15067 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15068 FRAME_TERMCAP_P and FRAME_TTY.
15069 (window_change_signal): Don't believe width/height values that are
15070 impossibly small.
15071 (Vinitial_window_system): Rename from Vwindow_system.
15072 (termscript, Wcm, rif): Delete.
15073
15074 * termhooks.h (struct terminal): New struct containing the
15075 previously global text display hooks and new members NAME,
15076 DELETED and PARAM_ALIST.
15077 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15078 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15079 (FRAME_RIF): New macros.
15080 (get_terminal_param, get_device): New declarations.
15081 (termscript): Delete declaration.
15082
15083 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15084 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15085 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15086 FRAME_FOREGROUND_PIXEL.
15087 (x_fully_uncatch_errors): Disable definition.
15088 (x_scroll_bar_expose): Fix reference to foreground pixel.
15089 (XTread_socket): Disable loop on all X displays.
15090 (x_delete_terminal): Don't set terminal->deleted and let
15091 delete_terminal delete the frames on the terminal.
15092 (x_delete_display): Doc update to reflect changes in
15093 delete_terminal.
15094 (x_display_info) <terminal>: Move member earlier in the struct.
15095 (deleting_tty): Remove old variable.
15096 (Fsuspend_tty): Call clear_tty_hooks.
15097 (Fresume_tty, init_tty): Call set_tty_hooks.
15098 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15099 errors on X frames.
15100 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15101 (handle_one_xevent): Initialize `f' to NULL.
15102 (x_delete_terminal, x_create_terminal): New functions.
15103 (XTset_terminal_modes, XTreset_terminal_modes)
15104 (XTread_socket, x_connection_closed, x_term_init)
15105 (x_term_init, x_delete_display): Add terminal parameter.
15106 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15107 X connections.
15108
15109 * frame.c: Include termchar.h.
15110 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15111 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15112 (Qdisplay_environment_variable): New vars.
15113 (Fframep): Deal with output_initial.
15114 (Fframe-live-p): Doc fix.
15115 (Fwindow-system): New function.
15116 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15117 (make_terminal_frame): Don't create frames on a terminal that is
15118 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15119 (store_frame_param): Check for found_for_frame before calling XFRAME.
15120 (Fmake_terminal_frame): Handle NULL tty names correctly.
15121 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15122 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15123 frames to refer to a deleted frame in their 'environment parameter.
15124 (Fframe_with_environment): New function.
15125 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15126 (get_future_frame_param): New function.
15127 (Fmake_terminal_frame): Use it.
15128 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15129
15130 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15131 * sysdep.c (reset_sys_modes): Update for renames.
15132
15133 * keyboard.c (tty_read_avail_input): New function.
15134 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15135 (syms_of_keyboard): Defsubr them.
15136 (Fset_input_meta_mode, Fset_quit_char): New functions.
15137 (Fset_input_mode): Split to above functions.
15138 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15139 parameter. Use it in call to `read_char'.
15140 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15141 Set wrong_kboard_jmpbuf correctly in recursive calls.
15142 Use current_kboard to access Vkeyboard_translate_table.
15143 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15144 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15145 Update longjmp invocations. Remember the original current_kboard,
15146 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15147 changes it. Comment out unnecessary calls to
15148 `record_single_kboard_state' and `any_kboard_state'.
15149 Update recursive calls.
15150 (wrong_kboard_jmpbuf): Remove global variable.
15151 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15152 Handle deleted interrupted_kboards correctly; that is a legal
15153 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15154 and read_char calls. Abort if interrupted_kboard died in read_char.
15155 (any_kboard_state, single_kboard_state)
15156 (push_frame_kboard): Remove function.
15157 (pop_kboard): Switch out of single_kboard mode if the kboard has
15158 been deleted. Remove unused variable. Help debugging by not
15159 changing current_kboard unnecessarily. Set current_kboard to the
15160 kboard of the selected frame when the stored kboard object has
15161 been deleted before pop_kboard.
15162 (temporarily_switch_to_single_kboard): Change first parameter to a
15163 frame pointer. Throw an error when caller wants to change kboards
15164 while in single_kboard mode. Don't push_kboard if we weren't in
15165 single kboard state. Don't pop_kboard if we popped into any
15166 kboard state.
15167 (restore_kboard_configuration): Abort if pop_kboard changed the
15168 kboard in single_kboard mode. Call pop_kboard only after setting
15169 up single_kboard mode.
15170 (Frecursive_edit): Switch to single_kboard mode only in nested
15171 command loops.
15172 (cmd_error, command_loop, command_loop_1, timer_check):
15173 Comment out unnecessary call to `any_kboard_state' and
15174 `record_single_kboard_state'.
15175 (delete_kboard): Exit single_kboard mode if we have just deleted
15176 that kboard. Use FRAME_KBOARD.
15177 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15178 `fatal_error_signal'.
15179 (record_single_kboard_state): Don't push_kboard if we weren't in
15180 single kboard state. Don't pop_kboard if we popped into any
15181 kboard state.
15182 (push_frame_kboard): Rename to push_kboard.
15183 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15184 (read_avail_input): Read input from all terminals.
15185 (mark_kboards): Also mark Vkeyboard_translate_table.
15186 (kbd_buffer_store_event_hold): Simplify condition.
15187 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15188 (Vkeyboard_translate_table): Move to struct kboard.
15189 (init_kboard): Initialize Vkeyboard_translate_table.
15190 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15191 Vkeyboard_translate_table. Update doc strings. Update docs of
15192 local-function-key-map and function-key-map.
15193
15194 * terminal.c: New file.
15195
15196 * term.c: Include errno.h.
15197 (Vring_bell_function, device_list, initial_device)
15198 (next_device_id, ring_bell, update_begin, update_end)
15199 (set_terminal_window, cursor_to, raw_cursor_to)
15200 (clear_to_end, clear_frame, clear_end_of_line)
15201 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15202 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15203 (syms_of_term): Move their initialization to terminal.c.
15204 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15205 (Ftty_display_color_cells)
15206 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15207 (clear_tty_hooks, set_tty_hooks)
15208 (init_tty, maybe_fatal): New functions.
15209 (Ftty_type): Return nil if terminal is not on a tty instead of
15210 throwing an error. Doc update.
15211 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15212 Doc update. Initialize new subrs and variables.
15213 (delete_tty): Use terminal->deleted.
15214 (tty_set_terminal_modes): Rename from set_terminal_modes.
15215 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15216 (set_scroll_region): Rename to `tty_set_scroll_region'.
15217 (turn_on_insert): Rename to `tty_turn_on_insert'.
15218 (turn_off_insert): Rename to `tty_turn_off_insert'.
15219 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15220 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15221 (toggle_highligh): Rename to `tty_toggle_highlight'.
15222 (background_highlight): Rename to `tty_background_highlight'.
15223 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15224 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15225 (tty_set_scroll_region, tty_background_highlight)
15226 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15227 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15228 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15229 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15230 Add static modifier.
15231 (tty_reset_terminal_modes, tty_set_terminal_window)
15232 (tty_set_scroll_region, tty_background_highlight)
15233 (tty_highlight_if_desired, tty_cursor_to)
15234 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15235 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15236 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15237 renames.
15238
152392007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15240
15241 * keyboard.c: Qrtl is new.
15242 (parse_tool_bar_item): Handle :rtl keyword.
15243 (syms_of_keyboard): Intern :rtl keyword.
15244
15245 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15246
15247 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15248 so no Lisp code is executed.
15249 (file_for_image, find_rtl_image): New functions.
15250 (xg_get_image_for_pixmap): Use file_for_image.
15251 (update_frame_tool_bar): If direction is RTL, use RTL image if
15252 defined. Use Gtk stock images if defined.
15253
152542007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15255
15256 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15257 for nonexistent or zero-width glyph in composition glyph.
15258
152592007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15260
15261 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15262
15263 * xdisp.c (Finvisible_p): New function.
15264 (syms_of_xdisp): defsubr it.
15265
152662007-08-24 Juanma Barranquero <lekktu@gmail.com>
15267
15268 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15269 Doc fixes.
15270
152712007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15272
15273 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15274
152752007-08-24 Martin Rudalics <rudalics@gmx.at>
15276
15277 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15278 whether decoding has modified buffer contents.
15279
152802007-08-24 Jason Rumney <jasonr@gnu.org>
15281
15282 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15283 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15284 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15285 (init_svg_functions) [HAVE_NTGUI]: New function.
15286 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15287 (svg_load_image): Use them.
15288 (svg_load_image) [HAVE_NTGUI]: Implement background.
15289
152902007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15291
15292 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15293 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15294 (LIBX): Remove @RSVG_LIBS@.
15295 (LIBES): Add $(RSVG_LIBS).
15296
15297 * image.c (svg_load_image): Blend with specified background if exists.
15298 Use IMAGE_BACKGROUND. Add Mac OS Support.
15299
15300 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15301 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15302 Remove macros.
15303 [MAC_OSX] (socket_callback): Do nothing.
15304 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15305 ReceiveNextEvent.
15306 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15307 socket_callback.
15308 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15309
153102007-08-22 Glenn Morris <rgm@gnu.org>
15311
15312 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15313
153142007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15315
15316 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15317
15318 * image.c: Add support for SVG images. Some additional comments
15319 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15320 (svg_image_p): New function to test for SVG image.
15321 (svg_load): New function to load SVG image.
15322 (svg_load_image): New function, helper for svg_load.
15323 (Qsvg): New Lisp_object.
15324 (svg_keyword_index): New enum.
15325 (svg_format): New static `image_keyword' struct.
15326 (svg_type): New static `image_type' struct.
15327 (librsvg/rsvg.h): Include it.
15328
153292007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15330
15331 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15332
153332007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15334
15335 * lread.c (Qold_style_backquotes): New var.
15336 (syms_of_lread): Init and staticpro it.
15337 (load_warn_old_style_backquotes): New fun.
15338 (Fload): Use them to warn about old style backquotes.
15339 (end_of_file_error, Fload): Remove unused vars.
15340
15341 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15342
15343 * lread.c (Vold_style_backquotes): New var.
15344 (syms_of_lread): Init and export it to Elisp.
15345 (read1): Set it when we find an old-style (back)quote.
15346
153472007-08-22 Jason Rumney <jasonr@gnu.org>
15348
15349 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15350
153512007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15352
15353 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15354
153552007-08-19 Richard Stallman <rms@gnu.org>
15356
15357 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15358
153592007-08-19 Andreas Schwab <schwab@suse.de>
15360
15361 * alloc.c (pure): Round PURESIZE up.
15362
153632007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15364
15365 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15366 active frame.
15367
153682007-08-16 Richard Stallman <rms@gnu.org>
15369
15370 * eval.c (Fcommandp): Add parens to clarify.
15371
15372 * minibuf.c (Fall_completions): Use enum for type of table.
15373
15374 * emacs.c (USAGE2): Improve text.
15375
153762007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15377
15378 * term.c (tty_default_color_capabilities): Declare static
15379 variables in file scope, to avoid HPUX compiler problem.
15380
153812007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15382
15383 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15384 to gtk_toolbar_insert.
15385
153862007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15387
15388 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15389
15390 * insdel.c (reset_var_on_error): New fun.
15391 (signal_before_change, signal_after_change):
15392 Use it to reset (after|before)-change-functions to nil in case of error.
15393 Bind inhibit-modification-hooks to t.
15394 Don't bind (after|before)-change-functions to nil while they run.
15395
153962007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15397
15398 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15399 filling pixmap with stippled background.
15400
154012007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15402
15403 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15404 Don't use invisible frame as parent window for repositioning.
15405
154062007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15407
15408 * print.c (new_backquote_output): Rename from old_backquote_output.
15409 (print): Inverse its logic (according to its name) so as to match the
15410 behavior of new_backquote_flag in lread.c.
15411
154122007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15413
15414 * gmalloc.c (posix_memalign): New function.
15415
15416 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15417 ActivateControl/DeactivateControl here.
15418 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15419 frame-notice-user-settings is non-nil.
15420 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15421 for kEventParamFMFontStyle.
15422 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15423 mac_pass_command_to_system and mac_pass_control_to_system here.
15424 (XTread_socket): Call ActivateControl/DeactivateControl here.
15425 (XTread_socket) [TARGET_API_MAC_CARBON]:
15426 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15427 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15428 for window repositioning.
15429
154302007-08-08 Glenn Morris <rgm@gnu.org>
15431
15432 * Replace `iff' in doc-strings and comments.
15433
154342007-08-07 Chong Yidong <cyd@stupidchicken.com>
15435
15436 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15437
154382007-08-07 Martin Rudalics <rudalics@gmx.at>
15439
15440 * fileio.c (Finsert_file_contents): Run format-decode and
15441 after_insert_file_functions on entire buffer when REPLACE is
15442 non-nil and inhibit modification_hooks and point_motion_hooks.
15443 For consistency, run after_insert_file_functions iff something
15444 got inserted. Move signal_after_change and update_compositions
15445 after code running after_insert_file_functions. Make sure that
15446 undo_list doesn't record intermediate steps of the decoding process.
15447
154482007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15449
15450 * emacs.c (main)
15451 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15452 Call malloc_enable_thread on interactive startup.
15453
15454 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15455 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15456 [USE_PTHREAD]: Conditionalize with it.
15457 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15458 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15459 New functions.
15460
154612007-08-06 Chong Yidong <cyd@stupidchicken.com>
15462
15463 * xdisp.c (redisplay_window): When restoring original buffer
15464 position, make sure it is still valid.
15465
15466 * image.c (png_load): Ignore png-supplied background color.
15467
154682007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15469
15470 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15471 Use kCFAbsoluteTimeIntervalSince1970.
15472
15473 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15474 New variable.
15475 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15476 event loop should be quit.
15477 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15478 Quit dialog event loop if quit_dialog_event_loop is set.
15479
15480 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15481 (Selection): New typedef. Use instead of ScrapRef.
15482 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15483 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15484 (mac_clear_selection): Rename from clear_scrap.
15485 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15486 scrap_has_target_type. All uses changed.
15487 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15488 (mac_selection_has_target_p): New functions.
15489 (mac_put_selection_value): Rename from put_scrap_string.
15490 (mac_get_selection_value): Rename from get_scrap_string.
15491 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15492 (put_scrap_private_timestamp, scrap_has_target_type)
15493 (get_scrap_private_timestamp): Remove functions.
15494 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15495 (x_own_selection, x_get_local_selection):
15496 Use mac_valid_selection_value_p.
15497 (x_own_selection): Don't use put_scrap_private_timestamp.
15498 Record OWNERSHIP-INFO into Vselection_alist instead.
15499 (x_get_local_selection): Don't check type if request is local.
15500 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15501 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15502
155032007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15504
15505 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15506 add comment explaining why.
15507
155082007-08-03 Richard Stallman <rms@gnu.org>
15509
15510 * fileio.c (Fvisited_file_modtime): Use make_time.
15511
155122007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15513
15514 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15515 build.
15516
155172007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15518
15519 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15520
155212007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15522
15523 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15524
155252007-07-30 Richard Stallman <rms@gnu.org>
15526
15527 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15528
155292007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15530
15531 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15532
155332007-07-28 Nick Roberts <nickrob@snap.net.nz>
15534
15535 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15536 remote default-directory.
15537
15538 * buffer.c (mode-line-format): Update doc string.
15539
155402007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15541
15542 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15543 scroll bar gap.
15544 (x_scroll_bar_create): Set bar->fringe_extended_p.
15545 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15546 on frame edge. Check fringe background extension. Don't clear
15547 extended fringe background area.
15548
15549 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15550 (w32_fill_area): Enclose multiple statements with do ... while (0).
15551
15552 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15553 Extend fringe background to scroll bar gap.
15554 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15555 Set bar->fringe_extended_p.
15556 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15557 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15558 background extension. Don't clear extended fringe background area.
15559
15560 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15561 New member fringe_extended_p.
15562
155632007-07-25 Glenn Morris <rgm@gnu.org>
15564
15565 * Relicense all FSF files to GPLv3 or later.
15566
15567 * COPYING: Switch to GPLv3.
15568
155692007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15570
15571 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15572
15573 * data.c (Finteractive_form): Check for the presence of an
15574 `interactive-form' symbol property more thoroughly.
15575
15576 * data.c (Finteractive_form): Use an `interactive-form' property if
15577 present, analogous to the function-documentation property.
15578
155792007-07-24 Jason Rumney <jasonr@gnu.org>
15580
15581 * w32fns.c (x_real_positions): Get real position from OS instead of
15582 calculating it.
15583
155842007-07-23 Jason Rumney <jasonr@gnu.org>
15585
15586 * filelock.c (current_lock_owner): Allow for @ sign in username.
15587
155882007-07-22 Nick Roberts <nickrob@snap.net.nz>
15589
15590 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15591 remote default-directory.
15592
15593 * buffer.c (mode-line-format): Describe above case in doc string.
15594
155952007-07-20 Eli Zaretskii <eliz@gnu.org>
15596
15597 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15598 Define if not defined.
15599
156002007-07-18 Jason Rumney <jasonr@gnu.org>
15601
15602 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15603
156042007-07-18 Richard Stallman <rms@gnu.org>
15605
15606 * data.c (Fsetq_default): Doc fix.
15607
15608 * eval.c (Fsetq): Doc fix.
15609
156102007-07-18 Juanma Barranquero <lekktu@gmail.com>
15611
15612 * coding.c (Ffind_operation_coding_system):
15613 * eval.c (For, Fand): Doc fixes.
15614 Reported by Johan Bockgård.
15615
156162007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15617
15618 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15619
15620 * xterm.h: Declare x_ewmh_activate_frame.
15621
15622 * xterm.c (x_ewmh_activate_frame): New function.
15623 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15624
156252007-07-17 Martin Rudalics <rudalics@gmx.at>
15626
15627 * window.c (Fdisplay_buffer): If largest or LRU window is the
15628 only window, split it even if it is not eligible for splitting.
15629 This restores the original behavior broken by the 2007-07-15
15630 change.
15631
156322007-07-17 Glenn Morris <rgm@gnu.org>
15633
15634 * abbrev.c (abbrev_check_chars): New function.
15635 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15636 Call abbrev_check_chars to check abbrev characters are word
15637 constituents. Doc fix.
15638
156392007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15640
15641 * process.c (Fstart_process, Fmake_network_process)
15642 (read_process_output): Fix up last changes.
15643
156442007-07-16 Eli Zaretskii <eliz@gnu.org>
15645
15646 * makefile.w32-in (clean): Don't delete *~.
15647
156482007-07-16 Andreas Schwab <schwab@suse.de>
15649
15650 * window.c (Fdisplay_buffer): Use NILP.
15651 (Fset_window_scroll_bars): Likewise.
15652
156532007-07-15 Martin Rudalics <rudalics@gmx.at>
15654
15655 * window.c (window_min_size_2): New function.
15656 (window_min_size_1, size_window, Fdisplay_buffer)
15657 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15658 windows without mode- or header-lines when window-min-height is
15659 too small.
15660 (size_window): Reset nodelete_p after testing it, following an
15661 earlier note by Kim F. Storm.
15662 (display_buffer): Do not set split_height_threshold to twice the
15663 value of window_min_height to avoid changing the value of a
15664 customizable variable. Rather explicitly check whether the
15665 height of the window that shall be splitted is at least as large
15666 as split_height_threshold.
15667 (Fwindow_full_width_p): New defun.
15668 (syms_of_window): Defsubr it.
15669
15670 * window.h: Add EXFUN for Fwindow_full_width_p.
15671
156722007-07-14 Jason Rumney <jasonr@gnu.org>
15673
15674 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15675
156762007-07-14 Richard Stallman <rms@gnu.org>
15677
15678 * eval.c (maybe_call_debugger): New function.
15679 (find_handler_clause): Use maybe_call_debugger.
15680 Call it when the handler says `debug'.
15681 Eliminate DEBUGGER_VALUE_PTR.
15682 (Fsignal): Eliminate debugger_value.
15683 (Qdebug): New variable.
15684 (syms_of_eval): Initialize it.
15685
156862007-07-14 Juanma Barranquero <lekktu@gmail.com>
15687
15688 * eval.c (Fprogn):
15689 * keyboard.c (Ftrack_mouse):
15690 * print.c (Fwith_output_to_temp_buffer):
15691 * window.c (Fsave_window_excursion): Doc fix.
15692
156932007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15694
15695 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15696
156972007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15698
15699 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15700 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15701 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15702 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15703 Remove unused encoding_carryover.
15704 * process.c: Adjust all functions accordingly.
15705
157062007-07-12 Richard Stallman <rms@gnu.org>
15707
15708 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15709
157102007-07-11 Jason Rumney <jasonr@gnu.org>
15711
15712 * makefile.w32-in (LIBS): Include OLE32.
15713
15714 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15715 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15716
157172007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15718
15719 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15720 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15721 from a Lisp_Object into a bare pointer.
15722 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15723 Adjust the code correspondingly.
15724
15725 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15726
15727 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15728 (term_show_mouse_face): Remove unused var `j'.
15729 (handle_one_term_event): Remove unused vars `i' and `j'.
15730 Don't cast return value of ttyname since it's not necessary.
15731
157322007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15733
15734 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15735 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15736
15737 * fns.c (map_char_table): Use an array of int for `indices' rather than
15738 an array of Lisp_Objects (which are only ever integers anyway).
15739 (Fmap_char_table): Update caller.
15740 * lisp.h: Update prototype.
15741 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15742 * fontset.c (Ffontset_info):
15743 * casetab.c (set_case_table): Update callers.
15744
15745 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15746
15747 * keymap.c (struct accessible_keymaps_data)
15748 (struct where_is_internal_data): New structures.
15749 (accessible_keymaps_1, where_is_internal_1): Use them to change
15750 interface to adhere to the one used by map_keymap.
15751 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15752 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15753
15754 * keymap.h (map_keymap_function_t): More informative prototype.
15755
157562007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15757
15758 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15759 (looking_at_1): Don't change search_regs and last_thing_searched
15760 if `inhibit-changing-match-data' is non-nil.
15761 (string_match_1, search_buffer, set_search_regs): Likewise.
15762 (syms_of_search): Add Lisp level definition for
15763 `inhibit-changing-match-data' and set it to nil.
15764 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15765 start and end of the match, instead of using values in search_regs.
15766
157672007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15768
15769 * minibuf.c (Fcompleting_read): New value `confirm-only'
15770 for `require-match'.
15771
157722007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15773
15774 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15775 part of the 2007-06-27 change to syms_of_fileio.
15776
157772007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15778
15779 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15780 Check WINDOWP before using XWINDOW. Consolidate return statements.
15781
157822007-06-27 Richard Stallman <rms@gnu.org>
15783
15784 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15785
157862007-06-27 Juanma Barranquero <lekktu@gmail.com>
15787
15788 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15789
157902007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15791
15792 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15793 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15794 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15795 (_free_internal, memalign): Use them.
15796 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15797 Initialize to PTHREAD_MUTEX_INITIALIZER.
15798 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15799 (morecore_nolock): Rename from morecore. All uses changed.
15800 Use only nolock versions of internal allocation functions.
15801 (_malloc_internal_nolock, _realloc_internal_nolock)
15802 (_free_internal_nolock): New functions created from
15803 _malloc_internal, _realloc_internal, and _free_internal.
15804 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15805 Copy hook value to automatic variable before its use.
15806 (memalign): Copy hook value to automatic variable before its use.
15807
158082007-06-26 Kenichi Handa <handa@m17n.org>
15809
15810 * coding.c (Ffind_operation_coding_system): Docstring improved.
15811 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15812
158132007-06-25 David Kastrup <dak@gnu.org>
15814
15815 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15816 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15817 cater for additional parameter.
15818
15819 * keymap.h: Adjust number of parameters to `current-active-maps'.
15820
15821 * doc.c (Fsubstitute_command_keys): Adjust call of
15822 `current-active-maps'.
15823
158242007-06-25 David Kastrup <dak@gnu.org>
15825
15826 * callint.c (Fcall_interactively): Make the parsing of interactive
15827 specs somewhat more readable.
15828
158292007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15830
15831 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15832 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15833 if extended background has already been filled.
15834
158352007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15836
15837 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15838 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15839
15840 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15841 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15842 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15843 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15844 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15845 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15846 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15847 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15848 Run timers during dialog popup.
15849 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15850
158512007-06-21 Jason Rumney <jasonr@gnu.org>
15852
15853 * image.c (convert_mono_to_color_image): Swap fore and background.
15854
158552007-06-20 Jason Rumney <jasonr@gnu.org>
15856
15857 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15858 (w32_free_bdf_font): Unmap memory not handle.
15859
158602007-06-20 Sam Steingold <sds@gnu.org>
15861
15862 * gmalloc.c (__morecore): Fix the declaration to comply with the
15863 definition.
15864
158652007-06-20 Juanma Barranquero <lekktu@gmail.com>
15866
15867 * w32term.c (w32_delete_display): Remove leftover declaration.
15868 (w32_define_cursor, w32_initialize): Make static.
15869
15870 * w32.c (_wsa_errlist): Fix typo in error message.
15871 (init_environment): Ignore any environment variable from the
15872 registry having a null value.
15873
158742007-06-20 Glenn Morris <rgm@gnu.org>
15875
15876 * Makefile.in (LIBGIF): Default to -lgif.
15877
158782007-06-17 Jason Rumney <jasonr@gnu.org>
15879
15880 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15881 unicode strings.
15882
158832007-06-16 Juanma Barranquero <lekktu@gmail.com>
15884
15885 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15886 Fix typo in docstring.
15887
158882007-06-16 Eli Zaretskii <eliz@gnu.org>
15889
15890 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15891 and their keybindings.
15892
158932007-06-15 Chong Yidong <cyd@stupidchicken.com>
15894
15895 * composite.c (update_compositions): Fix last fix.
15896
158972007-06-14 Jason Rumney <jasonr@gnu.org>
15898
15899 * w32.c (get_process_times_fn): New function pointer.
15900 (globals_of_w32): Intialize it if present in kernel32.dll.
15901 (w32_get_internal_run_time): New function.
15902
15903 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15904
159052007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15906
15907 * composite.c (update_compositions): Check the validness of
15908 compositions.
15909
159102007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15911
15912 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15913 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15914
15915 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15916 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15917
15918 * macgui.h (USE_MAC_TOOLBAR): New define.
15919
15920 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15921 Return immediately unless popup is activated.
15922
15923 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15924 background to scroll bar gap.
15925 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15926 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15927 scroll bars on frame edge. Check fringe background extension.
15928 Don't clear extended fringe background area.
15929 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15930 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15931 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15932 [USE_MAC_TOOLBAR]: New macros.
15933 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15934 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15935 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15936 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15937 [USE_MAC_TOOLBAR]: New functions.
15938 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15939 manually if previous repositioning has failed.
15940 (mac_handle_keyboard_event): Use precomputed event kind.
15941 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15942 as tool bar item click. Handle mouse movement over tool bar items.
15943
15944 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15945 toolbar_win_gravity.
15946 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15947 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15948 Add externs.
15949
15950 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15951 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15952
159532007-06-14 Chong Yidong <cyd@stupidchicken.com>
15954
15955 * image.c (search_image_cache): Remove unused variable.
15956
159572007-06-13 Chong Yidong <cyd@stupidchicken.com>
15958
15959 * xfns.c, xmenu.c: Link to xaw3d if available.
15960
159612007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15962
15963 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15964 frame_foreground and frame_background.
15965
15966 * image.c (lookup_image): Save frame foreground and background colors.
15967 (search_image_cache): Check if saved and current frame colors match.
15968
159692007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15970
15971 * regex.c (regex_compile): Remove the `regnum' counter.
15972 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15973
159742007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15975
15976 * term.c: Include intervals.h to declare Fget_text_property.
15977
159782007-06-10 Jason Rumney <jasonr@gnu.org>
15979
15980 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15981
159822007-06-08 Juanma Barranquero <lekktu@gmail.com>
15983
15984 * callint.c (Fcall_interactively):
15985 * editfns.c (Fdelete_and_extract_region):
15986 * fileio.c (Fread_file_name):
15987 * fns.c (Fmapconcat):
15988 * keyboard.c (cmd_error_internal):
15989 * keymap.c (Fkey_description):
15990 * lread.c (openp):
15991 * minibuf.c (read_minibuf):
15992 * search.c (wordify):
15993 * sunfns.c (sel_read):
15994 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15995 * xfns.c (x_default_scroll_bar_color_parameter):
15996 * xmenu.c (menu_help_callback):
15997 * xselect.c (Fx_get_atom_name):
15998 * xterm.c (x_term_init): Use empty_unibyte_string.
15999
160002007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16001
16002 * alloc.c (init_strings): Initialize canonical empty strings.
16003 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16004 canonical empty string when the requested size is 0.
16005
16006 * emacs.c (empty_unibyte_string): Rename from empty_string.
16007 (empty_multibyte_string): New canonical empty string.
16008 (syms_of_emacs): Don't initialize empty_string.
16009
16010 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16011 string, if appropriate.
16012 (empty_unibyte_string, empty_multibyte_string): New externs.
16013 (empty_string): Remove extern.
16014
16015 * lread.c (syms_of_lread): Use empty_unibyte_string.
16016
160172007-06-07 Jason Rumney <jasonr@gnu.org>
16018
16019 * s/ms-w32.h: Don't define HAVE_TZNAME.
16020
16021 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16022
160232007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16024
16025 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16026
16027 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16028 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16029
16030 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16031 Don't call next handler.
16032 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16033 Remove argument. Install handler to application.
16034 (set_frame_menubar): Don't change deep_p.
16035 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16036 FRAME_OUTER_TO_INNER_DIFF_Y.
16037 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16038 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16039 [HAVE_DIALOGS]: New macros.
16040 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16041 Use them.
16042 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16043
16044 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16045 init_service_handler. All callers changed. Return OSStatus value.
16046
16047 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16048 All callers changed so as not to call SetPortWindowPort.
16049 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16050 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16051 mac_draw_string_common.
16052 (mac_draw_image_string_qd): Likewise.
16053 (mac_draw_string_common): Use them. Add INLINE.
16054 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16055 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16056 GetGlobalMouse.
16057 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16058 and FRAME_OUTER_TO_INNER_DIFF_Y.
16059 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16060 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16061 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16062 repositioning window to mac_handle_window_event.
16063 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16064 saving window location to mac_handle_window_event
16065 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16066 (install_menu_target_item_handler): Remove argument in extern.
16067 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16068 Also accept command events.
16069 (do_keystroke): New function created from XTread_socket.
16070 (init_command_handler): Remove functions.
16071 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16072 and save window location by kEventWindowShowing and kEventWindowHiding
16073 handlers here. Don't call next handler for window state change and
16074 focus events.
16075 (mac_handle_application_event, mac_handle_keyboard_event)
16076 [TARGET_API_MAC_CARBON]: New functions.
16077 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16078 kEventWindowShowing and kEventWindowHiding events. Move installation
16079 of mouse, font, text input and menu target item handlers to
16080 install_application_handler.
16081 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16082 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16083 New function.
16084 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16085 Register it.
16086 (XTread_socket) [TARGET_API_MAC_CARBON]:
16087 Consolidate SendEventToEventTarget calls.
16088 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16089 Move application activation handler to mac_handle_application_event.
16090 Move keyboard handler to mac_handle_keyboard_event.
16091 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16092 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16093 init_command_handler. Call install_application_handler.
16094
16095 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16096 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16097
160982007-06-07 Glenn Morris <rgm@gnu.org>
16099
16100 * emacs.c (main): Use `emacs-copyright' in --version output.
16101
161022007-06-06 Chong Yidong <cyd@stupidchicken.com>
16103
16104 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16105
161062007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16107
16108 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16109
16110 * macgui.h: Replace WindowPtr with WindowRef.
16111
16112 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16113 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16114 Replace ControlHandle with ControlRef.
16115 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16116
16117 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16118 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16119 Replace ControlHandle with ControlRef.
16120 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16121 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16122
16123 * macterm.h (struct scroll_bar): Rename member control_handle_low
16124 and control_handle_high to control_ref_low and control_ref_high.
16125 All uses changed.
16126 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16127 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16128 respectively. All uses changed.
16129 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16130 (install_window_handler, remove_window_handler): Replace WindowPtr
16131 with WindowRef in externs.
16132
161332007-06-05 Juanma Barranquero <lekktu@gmail.com>
16134
16135 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16136
161372007-06-03 Nick Roberts <nickrob@snap.net.nz>
16138
16139 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16140
16141 * frame.c (Fmouse_position, Fmouse_pixel_position):
16142 Condition on HAVE_GPM too.
16143
16144 * term.c (term_mouse_highlight): Remove unused variables.
16145 (Fterm_open_connection): Set gpm_zerobased to 1.
16146 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16147 Use zero based co-ordinates.
16148 (handle_one_term_event): Report a drag as mouse movement too.
16149
16150 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16151
161522007-06-03 Chong Yidong <cyd@stupidchicken.com>
16153
16154 * image.c (search_image_cache): New function. Require background
16155 color match if background color is unspecified in the image spec.
16156 (uncache_image, lookup_image): Use it.
16157
161582007-06-01 Juanma Barranquero <lekktu@gmail.com>
16159
16160 * window.c (Fshrink_window): Reflow docstring.
16161
161622007-06-02 Chong Yidong <cyd@stupidchicken.com>
16163
16164 * Version 22.1 released.
16165
161662007-06-01 Richard Stallman <rms@gnu.org>
16167
16168 * xfns.c (x_encode_text): Add GCPRO.
16169
161702007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16171
16172 * xfns.c (x_set_name_internal): Save encoded name before
16173 x_encode_text in case string data is relocated.
16174
161752007-05-31 Richard Stallman <rms@gnu.org>
16176
16177 * buffer.c (syms_of_buffer): Doc fix.
16178
161792007-05-30 Nick Roberts <nickrob@snap.net.nz>
16180
16181 * sysdep.c (init_sys_modes): Add rather than replace with
16182 O_NONBLOCK.
16183
16184 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16185 term_mouse_moveto.
16186
16187 * termhooks.h (term_mouse_moveto): New extern.
16188
16189 * term.c (mouse_face_window): Rename...
16190 (Qmouse_face_window): ...to this.
16191 (term_show_mouse_face, term_clear_mouse_face)
16192 (term_mouse_highlight): Use Qmouse_face_window.
16193 (term_mouse_moveto): New function.
16194 (term_mouse_position): Make it work.
16195 (syms_of_term): Uncomment assignment to mouse_position_hook.
16196 Staticpro Qmouse_face_window.
16197
161982007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16199
16200 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16201 around current_column call.
16202
162032007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16204
16205 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16206 * xdisp.c (next_element_from_buffer):
16207 * window.c (delete_window):
16208 * term.c (term_mouse_highlight):
16209 * msdos.c (getdefdir):
16210 * macterm.c (mac_create_bitmap_from_bitmap_data)
16211 (init_font_name_table):
16212 * fns.c (Fsxhash):
16213 * data.c (Fmake_local_variable):
16214 * ccl.c (ccl_driver): Likewise.
16215
162162007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16217
16218 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16219 Call mac_wakeup_from_rne on window size change.
16220
162212007-05-25 Chong Yidong <cyd@stupidchicken.com>
16222
16223 * image.c (uncache_image): Fix typo.
16224
162252007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16226
16227 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16228
162292007-05-22 Richard Stallman <rms@gnu.org>
16230
16231 * xterm.c (x_connection_closed): Remove NO_RETURN.
16232
162332007-05-22 Martin Rudalics <rudalics@gmx.at>
16234
16235 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16236
162372007-05-21 Chong Yidong <cyd@stupidchicken.com>
16238
16239 * image.c (uncache_image): New function.
16240 (Fimage_refresh): New function.
16241
162422007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16243
16244 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16245
162462007-05-20 Nick Roberts <nickrob@snap.net.nz>
16247
16248 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16249 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16250
162512007-05-20 Nick Roberts <nickrob@snap.net.nz>
16252
16253 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16254 conditional on [HAVE_GPM_H].
16255
162562007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16257
16258 * syntax.c (skip_chars): Update syntax-table only after we checked that
16259 the new location is valid.
16260
162612007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16262
16263 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16264 mac_get_window_bounds.
16265
162662007-05-20 Nick Roberts <nickrob@snap.net.nz>
16267
16268 * Makefile.in (LIBGPM): Allow it to be set from configure.
16269 If set then link Emacs with it.
16270
16271 * config.in: Regenerate.
16272
16273 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16274 New externs.
16275
16276 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16277 Include gpm.h.
16278 (handle_one_term_event, term_gpm): New externs.
16279
16280 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16281 and allow it to be interrupted by SIGIO.
16282
16283 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16284 (wait_reading_process_output): Wait on gpm_fd too.
16285 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16286 (add_gpm_wait_descriptor_called_flag): New variable.
16287 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16288
16289 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16290 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16291 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16292 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16293 (make_lispy_event): Add case GPM_CLICK_EVENT.
16294 (read_avail_input): Handle mouse input.
16295
16296 * term.c (write_glyphs_with_face): New function.
16297 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16298 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16299 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16300 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16301 (last_mouse_x, last_mouse_y): New variables.
16302 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16303 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16304 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16305 (Fterm_close_connection): New functions.
16306 (term_init): Initialise mouse_face_window.
16307
163082007-05-19 Chong Yidong <cyd@stupidchicken.com>
16309
16310 * xdisp.c (redisplay_window): If first window line is a
16311 continuation line, recompute the new window start instead of
16312 recentering.
16313
163142007-05-18 Glenn Morris <rgm@gnu.org>
16315
16316 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16317 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16318
163192007-05-17 Glenn Morris <rgm@gnu.org>
16320
16321 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16322
163232007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16324
16325 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16326 dead key repeat and up events.
16327
163282007-05-14 Chong Yidong <cyd@stupidchicken.com>
16329
16330 * image.c (pbm_load): Check image size for monochrome pbm.
16331
163322007-05-13 Chong Yidong <cyd@stupidchicken.com>
16333
16334 * xterm.c (XTread_socket): Revert last change.
16335
163362007-05-12 Chong Yidong <cyd@stupidchicken.com>
16337
16338 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16339
16340 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16341
163422007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16343
16344 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16345 mixup (YAILOM).
16346
163472007-05-07 Andreas Schwab <schwab@suse.de>
16348
16349 * keymap.c (Flookup_key): Fix typo in last change.
16350
163512007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16352
16353 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16354 mapping for unibyte strings.
16355
163562007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16357
16358 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16359 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16360
163612007-04-29 Richard Stallman <rms@gnu.org>
16362
16363 * insdel.c (replace_range): For undo, record insertion first.
16364
163652007-04-29 Andreas Schwab <schwab@suse.de>
16366
16367 * lisp.h (VECSIZE): Use OFFSETOF.
16368
163692007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16370
16371 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16372 disabled lines.
16373
163742007-04-28 Richard Stallman <rms@gnu.org>
16375
16376 * lread.c (read_escape): In a string, \s is always space.
16377
163782007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16379
16380 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16381
16382 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16383 submenu for menu bar items.
16384
16385See ChangeLog.10 for earlier changes.
16386
16387;; Local Variables:
16388;; coding: utf-8
16389;; add-log-time-zone-rule: t
16390;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16391;; End:
16392
16393 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16394
16395 This file is part of GNU Emacs.
16396
16397 GNU Emacs is free software: you can redistribute it and/or modify
16398 it under the terms of the GNU General Public License as published by
16399 the Free Software Foundation, either version 3 of the License, or
16400 (at your option) any later version.
16401
16402 GNU Emacs is distributed in the hope that it will be useful,
16403 but WITHOUT ANY WARRANTY; without even the implied warranty of
16404 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16405 GNU General Public License for more details.
16406
16407 You should have received a copy of the GNU General Public License
16408 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16409
16410;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40