* international/mule-diag.el (list-character-sets): Doc fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a3b1a468
DN
12008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
4 case when running as a daemon before detaching.
5
8b8be8eb
JB
62008-12-03 Juanma Barranquero <lekktu@gmail.com>
7
805f2638 8 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 9
b1bde622
KH
102008-12-03 Kenichi Handa <handa@m17n.org>
11
e500c47d
KH
12 * font.c (font_at): Set `multibyte' at first.
13
ca516334
KH
14 * coding.c (decode_coding_charset): Check type of an element of
15 vector VALIDS.
16
b1bde622
KH
17 * fontset.c (face_for_char): Handle invalid charset property
18 correctly.
19 (font_for_char): Likewise.
20
1e5ecd37
CY
212008-12-03 Chong Yidong <cyd@stupidchicken.com>
22
d5b01609 23 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
24 (font_update_lface): Handle fonts with corrupted size specs,
25 i.e. non-int and non-float.
d5b01609 26
11e3a6e4 27 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 28 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 29 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 30
ab06788b
CY
31 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
32
1e5ecd37 33 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 34 underline_minimum_offset for underline position.
1e5ecd37 35
63c125ab
DN
362008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
37
38 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
39
40 * character.c (c_string_width): Specify the type for LEN.
41
3a8406e1
KH
422008-12-03 Kenichi Handa <handa@m17n.org>
43
44 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base
45 to 0.
453b38f0 46 (decode_coding_utf_8): Likewise.
4533845d
KH
47 (detect_coding_system): Initialize utf_16_le_eol to -1, val to
48 Qnil.
49 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 50
651df7d9
CY
512008-12-02 Chong Yidong <cyd@stupidchicken.com>
52
53 * keyboard.c (make_lispy_position): Only use PT if the selected
54 window is current.
55
1f625c6c
AS
562008-12-02 Andreas Schwab <schwab@suse.de>
57
f7741ce9
AS
58 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
59
1f625c6c
AS
60 * doprnt.c (doprnt1): Fix size of charbuf.
61
92bc2678
CY
622008-12-02 Chong Yidong <cyd@stupidchicken.com>
63
64 * keyboard.c (timer_check): Revert last change.
65
93b9e8cc
JB
662008-12-02 Juanma Barranquero <lekktu@gmail.com>
67
68 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
69
fd7a37d5
JB
702008-12-01 Juanma Barranquero <lekktu@gmail.com>
71
72 * makefile.w32-in: Update dependencies.
73 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
74
c115043b
AS
752008-12-01 Andreas Schwab <schwab@suse.de>
76
77 * font.c (register_font_driver): Use xmalloc.
78 (font_put_frame_data): Likewise.
79
f5668d2a
CY
802008-12-01 Chong Yidong <cyd@stupidchicken.com>
81
860d96be
CY
82 * xfaces.c (realize_x_face): Make abort condition clearer.
83
f5668d2a
CY
84 * gtkutil.c (update_frame_tool_bar): Initialize variable.
85
379c17e7
CY
862008-11-30 Chong Yidong <cyd@stupidchicken.com>
87
88 * keyboard.c (timer_check): After a timer runs, ensure that the
89 selected window's buffer is current.
90
35f36d65
JB
912008-11-30 Juanma Barranquero <lekktu@gmail.com>
92
f952c61c
JB
93 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
94 It was accidentally restored by the Unicode merge.
95
35f36d65
JB
96 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
97
b23077df
JB
982008-11-29 Juanma Barranquero <lekktu@gmail.com>
99
100 * w32proc.c: Include "coding.h".
101 (Fw32_short_file_name): Encode filename passed to Windows API.
102 (Fw32_long_file_name): Encode filename passed to Windows API and
103 decode back the result. (Bug#1433)
104
b8ebe9dd
KH
1052008-11-29 Kenichi Handa <handa@m17n.org>
106
8cc53f96
KH
107 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
108 not before accessing it.
109
b8ebe9dd
KH
110 * charset.c (Fdefine_charset_internal): After calculating
111 min_char, max_char, and fastmap, copy the charset structure again.
112 (encode_char): Fix the previous change.
113
59bc82c0
SZ
1142008-11-28 Seiji Zenitani <zenitani@mac.com>
115
116 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
117
118 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
119
120 * nsterm.m (x_set_frame_alpha): New function.
121
32247e3d
EZ
1222008-11-27 Eli Zaretskii <eliz@gnu.org>
123
124 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
125
b003e5ff
JB
1262008-11-27 Juanma Barranquero <lekktu@gmail.com>
127
128 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
129 pointer to check_face_name.
130
708550f5
KH
1312008-11-27 Kenichi Handa <handa@m17n.org>
132
133 * category.h (SET_CATEGORY_SET): Call set_category_set.
134 (set_category_set): Extern it.
135
136 * category.c (hash_get_category_set): New function.
137 (Fmodify_category_entry): Adjusted for the change of
138 char_table_ref_and_range. Call hash_get_category_set to get a
139 category set to store in the table.
140
141 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
142 Funify_charset.
143
144 * charset.h (enum charset_method): Delete
145 CHARSET_METHOD_MAP_DEFERRED.
146 (DECODE_CHAR): Check if the decoder vector is ready.
147 (ENCODE_CHAR): Check if the encoder char-table is ready.
148 (maybe_unify_char): Extern it.
149
150 * charset.c (Vchar_unified_charset_table): Delete it.
151 (inhibit_load_charset_map): New variable.
152 (temp_charset_work): New variable.
153 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
154 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
155 New macros.
156 (load_charset_map): Meaning of control_flag changed. If
157 inhibit_load_charset_map is nonzero, setup a table in
158 temp_charset_work.
159 (load_charset): New argument control_flag.
160 (map_charset_for_dump): New function.
161 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
162 map_charset_for_dump.
163 (Fdefine_charset_internal): If the charset method is MAP, load
164 mapping tables by calling load_charset.
165 (Funify_charset): Don't load a mapping table but directly set
166 Vchar_unify_table.
167 (maybe_unify_char): New function.
168 (decode_char): Don't handle the deleted method MAP_DEFERRED.
169 Handle the case of inhibit_load_charset_map being nonzero.
170 (encode_char): Don't handle the deleted method MAP_DEFERRED.
171 Handle the case of inhibit_load_charset_map being nonzero.
172 (Fclear_charset_maps): Just free temp_charset_work.
173 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
174 variable.
175
176 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
177 change of char_table_ref_and_range.
178 (char_table_ref_and_range): Change the meaning of argument FROM
179 and TO. Now the caller must provide initial values for *FROM
180 and *TO.
181
182 * fontset.c (fontset_add): Adjusted for the change of
183 char_table_ref_and_range.
184 (fontset_get_font_group): Likewise.
185 (Ffontset_info): Likewise.
186
187 * keymap.c (describe_vector): Adjusted for the change of
188 char_table_ref_and_range. For char-table, put boundary between
189 non-ASCII and 8-bit characters.
190
191 * print.c (print_object): For bool-vector, delete unnecessary
192 check of ASCII_BYTE_P.
193
9196133b
JR
1942008-11-26 Jason Rumney <jasonr@gnu.org>
195
196 * w32font.c (w32font_open_internal): Don't include external
197 leading in font height.
198
9f688acf
GM
1992008-11-26 Glenn Morris <rgm@gnu.org>
200
201 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
202 redefinition with ifdef. (Bug#1383)
203
90d19aff
AR
2042008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
205
206 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
207
2082008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
209
210 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
211 New EmacsView methods.
212 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
213 Fixes bug #1048,1357,1414.
214
2152008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
216
217 Fix bug #1362.
218 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
219 is not an indexed color.
220 * nsterm.m (free_indexed_color): Add argument checking.
221 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
222
e7d5ecb3
CY
2232008-11-24 Chong Yidong <cyd@stupidchicken.com>
224
225 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
226 Document confirm-after-completion value for
227 minibuffer-completion-confirm.
228
c285743c
JR
2292008-11-24 Jason Rumney <jasonr@gnu.org>
230
231 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
232 warning.
233
b0857706
JR
2342008-11-23 Jason Rumney <jasonr@gnu.org>
235
236 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
237 restored before returning.
238
239 * w32font.c (check_face_name): New function.
240 (add_font_entity_to_list): Use it to filter out common substituted
241 fonts.
242
ee50ff07
MR
2432008-11-22 Martin Rudalics <rudalics@gmx.at>
244
245 * buffer.c (Fswitch_to_buffer): Reword and mention new option
246 confirm-nonexistent-file-or-buffer in doc-string.
247
b8ff72fa
SM
2482008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
249
250 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
251 Fix copy/paste typo. Add checks.
252
cee53ed4
KH
2532008-11-21 Kenichi Handa <handa@m17n.org>
254
255 * coding.c (detect_coding_iso_2022): Reject invalid composition
256 sequence.
257 (DECODE_COMPOSITION_START): If the current source is the last
258 block, and the current composition doesn't end, regard this
259 sequence as invalid.
260 (decode_coding_iso_2022): Handle invalid composition sequence.
261
f6ef1e65
MR
2622008-11-20 Martin Rudalics <rudalics@gmx.at>
263
264 * window.c (coordinates_in_window): Don't return
265 ON_VERTICAL_BORDER for the rightmost position of a mode/header
266 line when the window is not the rightmost one. (Bug#1372)
267
e08b1705
MR
2682008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
269
270 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
271
ad98e89f
EZ
2722008-11-15 Eli Zaretskii <eliz@gnu.org>
273
274 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
275 and bright_bg if noninteractive is non-zero.
276
fb098a4b
CY
2772008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
278
279 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
280 x_draw_glyph_string_background.
281
282 * w32term.c (x_draw_glyph_string): Likewise.
283
ce952b6e
CY
2842008-11-15 Chong Yidong <cyd@stupidchicken.com>
285
286 * xterm.c (x_draw_glyph_string): Stop drawing the background of
287 the next glyph string once past the overhang width.
288
289 * nsterm.m (ns_draw_glyph_string): Likewise.
290
291 * w32term.c (x_draw_glyph_string): Likewise.
292
26ea7079
CY
2932008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
294
295 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
296 double file close.
297
1c33c906
MR
2982008-11-14 Martin Rudalics <rudalics@gmx.at>
299
300 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
301 dedicated status of window before attempting to display another
302 buffer in it.
303
8fc29035
JB
3042008-11-14 Juanma Barranquero <lekktu@gmail.com>
305
306 * msdos.c (Fmsdos_long_file_names):
307 (syms_of_msdos) <dos-unsupported-char-glyph>:
308 * dosfns.c (Fint86): Fix typos in docstrings.
309
55fb4286
EZ
3102008-11-14 Eli Zaretskii <eliz@gnu.org>
311
312 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
313
3fda0315
KY
3142008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
315
316 * puresize.h (BASE_PURESIZE): Increase to 1260000.
317
7e849c17
CY
3182008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
319
320 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
321
322 * frame.h: Negative alpha means "don't touch".
323
324 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
325
326 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
327
b9fd67bd
DN
3282008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
329
330 * hftctl.c:
331 * chpdef.h:
332 * acldef.h: Remove files used only for systems no longer supported.
333
334 * Makefile.in: Fix .o alphabetical ordering.
335 (hftctl.o): Remove dependency, file removed.
336 (keymap.o, print.o): Depend on charset.h.
337
d5998e03
KH
3382008-11-10 Kenichi Handa <handa@m17n.org>
339
340 * character.c (Fget_byte): Fix and make it faster for unibyte
341 target.
342
be70e183
CY
3432008-11-08 Chong Yidong <cyd@stupidchicken.com>
344
345 * dired.c (file_name_completion): If completion_ignore_case is
346 enabled, ignore case when checking completion-regexp-list.
347
7cf94eac
EZ
3482008-11-08 Eli Zaretskii <eliz@gnu.org>
349
350 * vm-limit.c (get_lim_data): Fix last change.
351
ee107a89
KH
3522008-11-08 Kenichi Handa <handa@m17n.org>
353
354 * character.c (Fget_byte): New function.
355 (syms_of_character): Defsubr Fget_byte.
356
5fd15622
CY
3572008-11-07 Chong Yidong <cyd@stupidchicken.com>
358
359 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
360 cursor position is valid after scrolling.
361
13d62fad
JB
3622008-11-06 Juanma Barranquero <lekktu@gmail.com>
363
364 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
365
a1dd2936
GM
3662008-11-06 Glenn Morris <rgm@gnu.org>
367
368 * xterm.c (handle_one_xevent): Don't let popup menus cause
369 mouse-autoselect-window related window switching. (Bug#1261)
370
860cd236
CY
3712008-11-04 David Smith <davidsmith@acm.org> (tiny change)
372
373 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
374
653a3150
AS
3752008-11-04 Andreas Schwab <schwab@suse.de>
376
377 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
378
870f5cac
CY
3792008-11-03 Chong Yidong <cyd@stupidchicken.com>
380
381 * xfns.c (Fx_wm_set_size_hint): New function.
382
1e02f3cb
MR
3832008-11-03 Martin Rudalics <rudalics@gmx.at>
384
385 * textprop.c (Fprevious_single_char_property_change): Return 0
386 when there's no change in a string. (Bug#1301)
387
e630dfc6
MR
3882008-11-02 Martin Rudalics <rudalics@gmx.at>
389
390 * frame.c (do_switch_frame): New argument NORECORD passed to
391 Fselect_window.
392 (Fselect_frame): New argument NORECORD passed to
393 do_switch_frame.
394 (Fset_frame_selected_window): New argument NORECORD passed to
395 Fselect_frame.
396 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
397 in call of do_switch_frame.
398 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
399 Handle NORECORD argument in call of Fselect_frame.
400 * lisp.h (do_switch_frame, Fselect_frame)
401 (Fset_frame_selected_window): Adjust declarations.
402 * window.c (select_frame_norecord): New function.
403 (run_window_configuration_change_hook): Use it and call
404 Fselect_frame with NORECORD set.
405 (Fselect_window): Pass NORECORD to Fselect_frame.
406 (Fset_window_configuration): Handle NORECORD argument in call of
407 do_switch_frame.
408 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
409 Fset_frame_selected_window.
410 * keyboard.c (command_loop_1): Handle NORECORD in call of
411 Fselect_frame (currently ifdefd).
412
9020b223
GM
4132008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
414
415 * emacs.c (USAGE2): Untabify.
416
793ffee8
SM
4172008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
418
419 * composite.c (fill_gstring_header): Fix copy/paste typo.
420
ab6d1131
MR
4212008-10-31 Martin Rudalics <rudalics@gmx.at>
422
423 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
424 (Fother_window): Rename argument and rewrite doc-string.
425 (select_window_norecord): Fix return value. (Bug#1276)
426
601a9cf1
JB
4272008-10-30 Juanma Barranquero <lekktu@gmail.com>
428
429 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
430 new frames overriding foreground for tooltips. Based on similar patch
431 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
432
813b0652
CY
4332008-10-29 Chong Yidong <cyd@stupidchicken.com>
434
435 * emacs.c (Fdaemon_initialized): Initialize nfd.
436
4414f58f
MR
4372008-10-29 Martin Rudalics <rudalics@gmx.at>
438
439 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
440 (Fwindow_text_height): Clarify doc-strings.
441 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
442 doc-string of window-scroll-functions.
443
ecdcaa09
RS
4442008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
445
446 * category.c (syms_of_category): Fix typo in docstring.
447
23fe745a
JB
4482008-10-28 Juanma Barranquero <lekktu@gmail.com>
449
450 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
451 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
452 Fix typos in docstrings.
453
ff808935
DN
4542008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
455
456 * emacs.c (daemon_pipe): Make non-static.
457 (IS_DAEMON): Move definition ...
458 * lisp.h (IS_DAEMON): ... here.
459 (daemon_pipe): Declare.
460 (is_daemon): Remove.
461 * dispnew.c (init_display): Use IS_DAEMON.
462
fc012771
SM
4632008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
464
465 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
466 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
467
468 * emacs.c (is_daemon): Remove.
469 (main): Don't set is_daemon.
470 (IS_DAEMON): New macro.
471 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 472 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
473 parent exits.
474 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
475
d8bdbe6f
CY
4762008-10-27 Chong Yidong <cyd@stupidchicken.com>
477
d1a072bf
CY
478 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
479 over-sized glyph, draw it with the default glyph width.
480
e2e325aa
CY
481 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
482 glyph, draw it with the default glyph width.
483
484 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
485 glyph, draw it with the default glyph width.
486
d8bdbe6f
CY
487 * xdisp.c (try_scrolling): When computing the distance from the
488 scroll margin to PT, try moving some distance past the window
489 bottom before giving up.
490
7bfac547
MR
4912008-10-27 Martin Rudalics <rudalics@gmx.at>
492
493 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
494 (Fset_window_buffer): Explain in doc-string that a window can be
495 "strongly" dedicated to its buffer.
496
4ff029f6
DN
4972008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
498
499 * emacs.c (daemon_name): New variable.
500 (main): Deal with --daemon=SERVER_NAME.
501 (Fdaemonp): Return a name if one was passed to --daemon.
502
5790ef40
DN
5032008-10-26 Romain Francoise <romain@orebokech.com>
504
f9bd0df9 505 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
506 (main): Create a pipe before forking, make the parent exit only after
507 the child has closed its end of the pipe. Move closing the
508 descriptors ...
509 (Fdaemon_initialized): ... here. New function.
510
f5385255
SM
5112008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
512
4d632321
SM
513 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
514 the previous unoptimized table.
515
f5385255
SM
516 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
517 the distinction between non-nil and non-t value of `dedicated'.
518
6c56a0f3
CY
5192008-10-25 Chong Yidong <cyd@stupidchicken.com>
520
521 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 522 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 523
fec89261
MR
5242008-10-25 Martin Rudalics <rudalics@gmx.at>
525
526 * window.c (Fget_buffer_window, Fdelete_windows_on)
527 (Freplace_buffer_in_windows): Make buffer argument optional and
528 rename to buffer_or_name.
529
34fcddd0
CY
5302008-10-24 Chong Yidong <cyd@stupidchicken.com>
531
f5385255
SM
532 * xdisp.c (handle_single_display_spec, handle_display_prop):
533 Undo 2005-05-16 change.
34fcddd0
CY
534 (handle_stop): Pop iterator if it's loaded with an empty string.
535 (get_overlay_strings_1): Don't save iterator if it's loaded with
536 an empty string (bug#1201).
537
064766f2
KH
5382008-10-24 Kenichi Handa <handa@m17n.org>
539
540 * ftfont.c (ftfont_otf_features): Fix previous change.
541 (ftfont_otf_capability): Check FeatureList.FeatureCount before
542 calling ftfont_otf_features.
543
f9bd0df9 5442008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
545
546 * font.c (font_match_p): Fix for the case that a vector of
547 characters is in script-representative-chars.
548
1dae9197
MA
5492008-10-24 Michael Albinus <michael.albinus@gmx.de>
550
551 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 552 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
553 (xd_read_queued_messages): Catch Qdbus_error from the macros.
554 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
555 macro. (Bug#1186).
556
f9bd0df9 5572008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
558
559 * s/sol2-10.h: New file.
560
878a4584
JB
5612008-10-23 Juanma Barranquero <lekktu@gmail.com>
562
563 * xdisp.c (fill_glyph_string): Fix typo in source (though the
564 poor beast has survived 9+ years and the jump from xterm.c!).
565
cd265ca6
MR
5662008-10-23 Martin Rudalics <rudalics@gmx.at>
567
568 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
569 Reword doc-string.
f5385255 570 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 571
472a4dc9
JB
5722008-10-23 Juanma Barranquero <lekktu@gmail.com>
573
574 * character.c (syms_of_character) <script-representative-chars>:
575 <unicode-category-table>: Doc fixes.
576
159bd5a2
NF
5772008-10-23 Noah Friedman <friedman@splode.com>
578
579 * coding.c (make_conversion_work_buffer): Check that
580 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
581 Fget_buffer_create.
582
49f9c344
KH
5832008-10-23 Kenichi Handa <handa@m17n.org>
584
585 * font.c (font_add_log): Check the values of extra properties.
586
12bb3111
MR
5872008-10-22 Martin Rudalics <rudalics@gmx.at>
588
589 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
590 Reword doc-string.
591 (Fset_window_parameter): Use NILP.
592 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 593 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 594
bbeb4e99
JB
5952008-10-22 Juanma Barranquero <lekktu@gmail.com>
596
597 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
598
5992008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
600
601 * nsfns.m (ns_appkit_version): New function.
602 (x-server-version): Use it.
603 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
604 (x-server-vendor): Don't check_ns().
605
606 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
607
a9b555d3
JB
6082008-10-22 Juanma Barranquero <lekktu@gmail.com>
609
610 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
611 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
612
4626499f
KH
6132008-10-22 Kenichi Handa <handa@m17n.org>
614
e3681952
KH
615 * syntax.c (scan_words): Call word_boundary_p instead of comparing
616 scripts.
617
4626499f
KH
618 * category.c (word_boundary_p): Check scripts instead of charset.
619 Handle nil value in word-separating-categories and
620 word-combining-categories.
621 (syms_of_category): Fix docstrings of word-separating-categories
622 and word-combining-categories.
623
1560f91a
EZ
6242008-10-21 Eli Zaretskii <eliz@gnu.org>
625
626 * coding.c (Fencode_coding_region, Fdecode_coding_region)
627 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
628
f4668441
MR
6292008-10-21 Martin Rudalics <rudalics@gmx.at>
630
631 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
632 Rename arg "buffer" to "buffer_or_name".
633 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
634 it optional.
635 (no_switch_window): Remove since the return value is not used.
a9b555d3 636 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
637 Consider window as dedicated when Fwindow_dedicated_p returns a
638 non-nil value.
639 * lisp.h: Remove prototype for no_switch_window.
640
fd75ddb2
JD
6412008-10-21 Jan Djärv <jan.h.d@swipnet.se>
642
643 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
644 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
645
07295713
KH
6462008-10-21 Kenichi Handa <handa@m17n.org>
647
648 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
649 check Vlatin_extra_code_table.
650
712adc82
EZ
6512008-10-20 Eli Zaretskii <eliz@gnu.org>
652
653 * fileio.c (Fset_file_modes): Doc fix.
654
f549eb0b
MA
6552008-10-19 Michael Albinus <michael.albinus@gmx.de>
656
657 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
658 in arrays.
659
aac0c6e3
MR
6602008-10-19 Martin Rudalics <rudalics@gmx.at>
661
662 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
663 Mention kill-buffer in doc-string.
664 (Fset_window_buffer): Reinsert tem check removed in last commit.
665 (Fenlarge_window, Fshrink_window): Have argument names and
666 doc-string follow Elisp manual more closely.
667
6682008-10-18 Eli Zaretskii <eliz@gnu.org>
669
670 * fileio.c (Fset_file_modes): Doc fix.
671
6722008-10-18 Martin Rudalics <rudalics@gmx.at>
673
674 * window.c (Fwindow_width, Fset_window_start)
675 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
676 (Fdelete_windows_on, Freplace_buffer_in_windows):
677 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
678 (Fwindow_dedicated_p): Make window argument optional.
679 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
680 (Fset_window_buffer): Respect any non-nil dedicated value for
681 window. Rename "buffer" argument to "buffer_or_name".
682
6832008-10-18 Ulrich Mueller <ulm@gentoo.org>
684
685 * m/sh3.h: New file, machine description for SuperH.
686
6872008-10-17 Martin Rudalics <rudalics@gmx.at>
688
689 * window.c (Fsplit_window): Rename arg horflag to horizontal.
690
6912008-10-17 Kenichi Handa <handa@m17n.org>
692
693 * ftfont.c (ftfont_otf_features): Fix indexing
694 gsub_gpos->FeatureList.Feature. Check the validity of indices.
695
6962008-10-16 Magnus Henoch <mange@freemail.hu>
697
698 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
699 (Fdbus_call_method_asynchronously): Ditto.
700 This change makes C-h f display the argument list.
701
7022008-10-16 Chong Yidong <cyd@stupidchicken.com>
703
704 * fileio.c (Fexpand_file_name): Doc fix.
705
706 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
707 of :foreground and :background equivalent to unspecified (20.x
708 compatibility).
709
7102008-10-15 Eli Zaretskii <eliz@gnu.org>
711
712 * buffer.c (syms_of_buffer): Doc fix.
713
7142008-10-14 Kenichi Handa <handa@m17n.org>
715
716 * font.c (font_clear_prop): When clearing font width, clear the
717 average width field too.
718
7192008-10-12 Andreas Schwab <schwab@suse.de>
720
721 * ftfont.c (ftfont_shape_by_flt): Make static.
722 * ftfont.h (ftfont_shape_by_flt): Don't declare.
723
724 * font.c: Don't include <m17n-flt.h>.
725
7262008-10-10 Eli Zaretskii <eliz@gnu.org>
727
728 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
729
7302008-10-09 Eli Zaretskii <eliz@gnu.org>
731
732 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
733 away code.
734
7352008-10-09 Chong Yidong <cyd@stupidchicken.com>
736
737 * dispnew.c (update_text_area): Avoid looping due to large glyph
738 overhangs (bug#1070).
739
7402008-10-09 Kenichi Handa <handa@m17n.org>
741
742 * fontset.c (face_for_char): If face->fontset is negative, just
743 return ascii_face.
744
f5385255
SM
745 * font.c (font_delete_unmatched): Fix previous change.
746 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
747
7482008-10-09 Martin Rudalics <rudalics@gmx.at>
749
750 * frame.c (Fraise_frame): On text-only terminals select frame in
751 order to make it visible. (Bug#1061)
752
7532008-10-08 Chong Yidong <cyd@stupidchicken.com>
754
755 * fontset.c (fontset_find_font): Check frame validity.
756
7572008-10-07 Chong Yidong <cyd@stupidchicken.com>
758
a9b555d3 759 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
760 (xg_display_close): Allow Emacs to close all displays (bug#985).
761
7622008-10-06 Andreas Schwab <schwab@suse.de>
763
f5385255 764 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
765
7662008-10-06 Chong Yidong <cyd@stupidchicken.com>
767
f5385255 768 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 769
a9b555d3 770 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
771
772 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
773 during initialization.
774
7752008-10-04 Eli Zaretskii <eliz@gnu.org>
776
777 * xdisp.c (redisplay_internal): If frame switched, redisplay the
778 whole thing on MSDOS frames as well as on a TTY.
779
780 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
781 well as for TTY.
782 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
783 well as on a TTY.
784
785 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
786 as well as for TTY.
787
788 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
789
790 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
791 MSDOS frames as well.
792
7932008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
794
795 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
796 correct arguments.
797 * menu.c (find_and_return_menu_selection) Add cast.
798
7992008-10-03 Glenn Morris <rgm@gnu.org>
800
801 * emacs.c (USAGE1): Add --daemon.
802
8032008-10-02 Eli Zaretskii <eliz@gnu.org>
804
805 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
806 100, so it's in percents as advertised.
807
8082008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
809
810 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
811 (ns_output.current_cursor, ns_output.desired_cursor)
812 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
813 (FRAME_NEW_CURSOR_COLOR): Remove.
814
815 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 816 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
817 enumeration (HOLLOW_BOX_CURSOR, etc.).
818
819 * nsterm.m (ns_frame_rehighlight): Remove commented code.
820 (draw_window_cursor): Simplify code.
f5385255
SM
821 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
822 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 823 updates manually.
a9b555d3
JB
824 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
825 Use core Emacs cursor types.
aac0c6e3 826
b8ff72fa 827 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
828
8292008-10-02 Martin Rudalics <rudalics@gmx.at>
830
831 * process.c (Faccept_process_output): Fix doc-string.
832
8332008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
834
835 * gmalloc.c (__sbrk): Also define for uClibc.
836
837 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
838 for uClibc.
839
8402008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
841
842 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
843 styles.
844 (nsfont_open): Reenable the cache.
845
8462008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
847
848 * font.c (font_matching_entity): Reflect ATTRS in font selection.
849 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
850
8512008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
852
853 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
854 a suspended terminal.
855
8562008-09-30 Michael Albinus <michael.albinus@gmx.de>
857
858 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
859
8602008-09-30 Eli Zaretskii <eliz@gnu.org>
861
862 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
863
8642008-09-30 Chong Yidong <cyd@stupidchicken.com>
865
866 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
867 in a continued line coincides with a line beginning.
868
8692008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
870
871 * nsfont.m (nsfont_trait_distance): Fix bug.
872 (nsfont_list): Return a list rather than a vector (syncs with Handa
873 changes of 2008-05-14).
874 (nsfont_open): Improve logging.
875
8762008-09-29 Andreas Schwab <schwab@suse.de>
877
878 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
879
8802008-09-28 Martin Rudalics <rudalics@gmx.at>
881
882 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
883 name as char-resolve-modifiers.
884 Reported by: Markus Triska <markus.triska@gmx.at>
885
8862008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
887
888 * dispnew.c (init_display): Return earlier when running as a daemon.
889
8902008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
891
892 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
893
8942008-09-27 Eli Zaretskii <eliz@gnu.org>
895
896 * composite.c (Fcomposition_get_gstring)
897 (Fcompose_region_internal, Fcompose_string_internal)
898 (Ffind_composition_internal): Doc fix.
899 (syms_of_composite) <compose-chars-after-function>: Doc fix.
900 (syms_of_composite) <auto-composition-function>: Doc fix.
901 (syms_of_composite) <composition-function-table>: Doc fix.
902
9032008-09-25 Chong Yidong <cyd@stupidchicken.com>
904
905 * search.c (wordify): New argument for lax word-ends.
906 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
907
9082008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
909
910 * lisp.h (is_daemon): Declare.
911 * dispnew.c (init_display): Do not try to initialize the terminal
912 when running as a daemon.
913
9142008-09-22 Chong Yidong <cyd@stupidchicken.com>
915
916 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
917 x_display_pixel_height.
918
9192008-09-22 Martin Rudalics <rudalics@gmx.at>
920
921 * undo.c (record_point): Don't call Fundo_boundary for first
922 change. (Bug#731)
923
9242008-09-22 Juanma Barranquero <lekktu@gmail.com>
925
926 * emacs.c (Fdaemonp): Doc fix.
927
9282008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
929
930 * emacs.c (main): Place #ifdef in the proper place.
931
9322008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
933
934 * emacs.c (standard_args): Add --daemon.
935 (main): Disconnect from the terminal when --daemon is passed.
936 (is_daemon): New variable.
937 (Fdaemonp): New function.
938 (syms_of_emacs): Defsubr it.
939
9402008-09-20 Chong Yidong <cyd@stupidchicken.com>
941
942 * xdisp.c (get_next_display_element): Handle string display
943 correctly when checking for the end of a box run.
944
9452008-09-20 Glenn Morris <rgm@gnu.org>
946
947 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
948 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
949 (Frename_file): Avoid copying to trash if a rename involves
950 a delete. (Bug#964).
951
9522008-09-20 Eli Zaretskii <eliz@gnu.org>
953
954 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
955 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
956 frames as well as termcap frames.
957 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
958 get_named_tty.
959
9602008-09-19 Eli Zaretskii <eliz@gnu.org>
961
962 * process.c (procfs_system_process_attributes): Fix cmdline in
963 case /proc/PID/cmdline is empty.
964
965 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
966 x_display_pixel_height.
967
9682008-09-19 Juanma Barranquero <lekktu@gmail.com>
969
970 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
971
972 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
973 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
974
9752008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
976
977 * dispextern.h (struct it): Move line_wrap away from the middle of
978 bitfields. Move voffset in struct iterator_stack_entry after the
979 bitfields. Move tab_width near after another short.
980
9812008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
982
983 * frame.h (struct frame): Move alpha from the middle of bitfields.
984
985 * window.h (struct window): Move frozen_window_start_p after the
986 rest of the bitfields to reduce padding.
987
9882008-09-18 Chong Yidong <cyd@stupidchicken.com>
989
990 * xterm.h (x_display_info): Remove `height' and `width' members.
991
992 * nsterm.h (ns_display_info): Remove `height' and `width' members.
993
994 * w32term.h (w32_display_info): Remove `height', `width',
995 `height_in', and `width_in' members.
996
b8ff72fa
SM
997 * xterm.c (x_display_pixel_height, x_display_pixel_width):
998 New functions.
aac0c6e3
MR
999 (x_calc_absolute_position): Use them.
1000 (x_term_init): Omit removed `height' and `width' members.
1001
b8ff72fa
SM
1002 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1003 New functions.
aac0c6e3
MR
1004 (w32_read_socket, x_calc_absolute_position): Use them.
1005 (w32_initialize_display_info, w32_term_init): Omit removed members
1006 of w32_display_info.
1007
b8ff72fa
SM
1008 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1009 New functions.
1010 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1011
b8ff72fa
SM
1012 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1013 New functions.
aac0c6e3
MR
1014 (x_calc_absolute_position): Use them.
1015 (x_term_init): Omit removed `height' and `width' members.
1016
1017 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1018 (compute_tip_xy):
1019 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1020 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1021 x_display_pixel_width.
1022
10232008-09-18 Kenichi Handa <handa@m17n.org>
1024
1025 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1026 (composition_compute_stop_pos): Fix handling of static composition.
1027 (Fcomposition_get_gstring): Check FROM and TO at first.
1028
10292008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1030
1031 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1032 mixup (YAILOM).
1033
10342008-09-17 Chong Yidong <cyd@stupidchicken.com>
1035
1036 * indent.c (Fvertical_motion): Use position reported by iterator
1037 instead of PT for determining screen motion (bug#943).
1038
10392008-09-17 Romain Francoise <romain@orebokech.com>
1040
1041 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1042
10432008-09-17 Kenichi Handa <handa@m17n.org>
1044
1045 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1046
1047 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1048 if necessary.
1049
10502008-09-16 Kenichi Handa <handa@m17n.org>
1051
1052 * coding.c (make_conversion_work_buffer): Avoid calling
1053 Fget_buffer_create if it is not necessary.
1054
10552008-09-15 Martin Rudalics <rudalics@gmx.at>
1056
1057 * window.c (Fselect_window): Don't update window_select_count and
1058 use_time when norecord is not nil.
1059
10602008-09-14 Kenichi Handa <handa@m17n.org>
1061
1062 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1063 specpdl_ptr.
1064
10652008-09-12 Kenichi Handa <handa@m17n.org>
1066
1067 * indent.c (scan_for_column): Don't handle automatic composition
1068 if the current buffer is not associated with a window.
1069
1070 * composite.c (composition_reseat_it): If the current buffer is
1071 not associated with a window, ignore the automatic composition.
1072 (find_automatic_composition): Likewise.
1073
10742008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1075
1076 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1077 (Fgpm_mouse_stop): Use it.
1078 * termhooks.h (close_gpm): Declare.
1079 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1080 connection if Gpm_GetEvent fails.
1081
1082 * window.c (set_window_buffer): Always preserve current-buffer.
1083
10842008-09-12 Glenn Morris <rgm@gnu.org>
1085
1086 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1087
10882008-09-11 Glenn Morris <rgm@gnu.org>
1089
1090 * charset.c (charset-map-path): Doc fix.
1091
10922008-09-10 Kenichi Handa <handa@m17n.org>
1093
1094 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1095
1096 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1097 compose a grapheme cluster with the preceding base glyph.
1098
1099 * composite.c (composition_compute_stop_pos): Fix previous change.
1100 Reset cmp_it->id to -1 at first.
1101
11022008-09-10 Glenn Morris <rgm@gnu.org>
1103
1104 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1105
11062008-09-09 Chong Yidong <cyd@stupidchicken.com>
1107
1108 * keyboard.c (read_key_sequence): Reapply translation maps when
1109 switching keyboards.
1110
11112008-09-09 Kenichi Handa <handa@m17n.org>
1112
1113 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1114 characters.
1115
1116 * composite.c (FORWARD_CHAR): Fix calculation
1117 of (POSITION).pos_byte.
1118 (composition_compute_stop_pos): Limit the search of composition to
1119 at most 500 characters ahead. If we reach the limit or find a
1120 newline, set cmp_it->ch to -2 and return 0.
1121 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1122
11232008-09-08 Kenichi Handa <handa@m17n.org>
1124
1125 * indent.c (Fvertical_motion): Be sure to set
1126 it_overshoot_expected if it.cmp_it.id is non-negative.
1127
11282008-09-07 Andreas Schwab <schwab@suse.de>
1129
1130 * callproc.c (Fcall_process): Don't hold references to string data
1131 across garbage collection. Move initialisation of new_argv down
1132 to avoid compiler bug.
1133
11342008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1135
1136 * process.c (Fsystem_process_attributes): Doc fix.
1137
11382008-09-07 Chong Yidong <cyd@stupidchicken.com>
1139
1140 * callproc.c (Fcall_process): Canonicalize current directory name.
1141
1142 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1143 iterator advances to the next line if the current line ends in a
1144 continued tab.
1145
11462008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1147
1148 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1149 member to point to cmp_from.
1150
1151 * xdisp.c: Doc fix for references to gidx data member.
1152
11532008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1154
1155 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1156
11572008-09-07 Kenichi Handa <handa@m17n.org>
1158
1159 * composite.c (FORWARD_CHAR): Check STOP after
1160 incrementing (POSITION).pos.
1161
11622008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1163
1164 * process.c (Fsystem_process_attributes): Doc fix.
1165
11662008-09-06 Chong Yidong <cyd@stupidchicken.com>
1167
1168 * keyboard.c (Ftop_level): Doc fix.
1169
11702008-09-06 Eli Zaretskii <eliz@gnu.org>
1171
1172 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1173 minibuffer, don't let lower part of menu invade the echo area.
1174
1175 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1176 "char *q" to access menu text and advance through it. Revert the
1177 change that displayed ">" instead of ASCII character 0x10.
1178
11792008-09-05 Eli Zaretskii <eliz@gnu.org>
1180
1181 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1182 toggle boxes and radio buttons on MS-DOS as well.
1183
11842008-09-05 Kenichi Handa <handa@m17n.org>
1185
1186 * composite.c (autocmp_chars): Check lookback count.
1187 (composition_compute_stop_pos): Set cmp_it->lookback.
1188 (composition_reseat_it): Check lookback count.
1189 (struct position_record): New struct.
1190 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1191 (find_automatic_composition): New function.
1192 (composition_adjust_point): Use find_automatic_composition.
1193
1194 * dispextern.h (struct composition_it): New member lookback.
1195
11962008-09-02 Chong Yidong <cyd@stupidchicken.com>
1197
1198 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1199 if moving by a single line.
1200
12012008-09-02 Andreas Schwab <schwab@suse.de>
1202
1203 * xterm.c (x_delete_display): Fix merge error.
1204
1205 * fileio.c (Fexpand_file_name): Remove unused variables.
1206
12072008-09-02 Eli Zaretskii <eliz@gnu.org>
1208
1209 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1210 storage on all platforms, not just on DOS_NT.
1211
12122008-09-02 Jason Rumney <jasonr@gnu.org>
1213
b8ff72fa
SM
1214 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1215 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1216
12172008-09-01 Chong Yidong <cyd@stupidchicken.com>
1218
1219 * xfaces.c (Finternal_set_alternative_font_family_alist)
1220 (Finternal_set_alternative_font_registry_alist): Properly copy
1221 entire alist structure.
1222
12232008-09-01 Kenichi Handa <handa@m17n.org>
1224
1225 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1226 representative chars of the script is a vector.
1227 (ftfont_list): Handle the case the representative chars of the
1228 script is a vector.
1229
1230 * character.c (syms_of_character): Docstring of
1231 script-representative-chars fixed.
1232
12332008-08-31 Eli Zaretskii <eliz@gnu.org>
1234
1235 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1236 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1237 the menu. Allocate larger buffer for `text', to account for
1238 possible ^C characters.
1239
12402008-08-31 Martin Rudalics <rudalics@gmx.at>
1241
1242 * xdisp.c (prepare_menu_bars): Don't call
1243 Vwindow_size_change_functions with arg Qt.
1244
12452008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1246
1247 * font.h (font_range):
1248 * fileio.c (report_file_error):
1249 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1250
12512008-08-30 Glenn Morris <rgm@gnu.org>
1252
1253 * data.c (Fmake_variable_frame_local): Doc fix.
1254
1255 * frame.c (Fmodify_frame_parameters): Doc fix.
1256
12572008-08-30 Eli Zaretskii <eliz@gnu.org>
1258
1259 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1260 needed by GetTokenInformation.
1261 (w32_system_process_attributes): Check return values of all system
1262 APIs.
1263
1264 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1265 only when the state changes.
1266 (IT_update_begin, IT_update_end): Add termscript trace.
1267
1268 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1269 clipboard is unavailable. Set dst to NULL if it doesn't point to
1270 malloc'ed data.
1271 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1272 passing random values to xfree.
1273
1274 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1275 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1276
12772008-08-29 Jason Rumney <jasonr@gnu.org>
1278
1279 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1280
12812008-08-29 Eli Zaretskii <eliz@gnu.org>
1282
1283 * composite.c (fill_gstring_body): Avoid compiler warnings.
1284
1285 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1286 LGLYPH_SET_CODE to avoid compiler warnings.
1287
1288 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1289
1290 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1291
1292 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1293 LGLYPH_SET_CODE.
1294
12952008-08-29 Kenichi Handa <handa@m17n.org>
1296
1297 * fileio.c (report_file_error): Don't downcase the first character
1298 of errstring if it is still unibyte.
1299
13002008-08-29 Kenichi Handa <handa@m17n.org>
1301
1302 These changes are to re-implement the automatic composition so
1303 that it doesn't use text properties.
1304
1305 * Makefile.in (ftfont.o): Depend on composite.h.
1306 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1307
1308 * character.h (Vunicode_category_table): Extern it.
1309
1310 * character.c (Vunicode_category_table): New variable.
1311 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1312
1313 * chartab.c (optimize_sub_char_table): Perform more greedy
1314 optimization.
1315
b8ff72fa
SM
1316 * composite.h (enum composition_method):
1317 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1318 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1319 (Vcomposition_function_table): Extern it.
1320 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1321 (composition_gstring_put_cache, composition_gstring_from_id)
1322 (composition_gstring_p, composition_gstring_width)
1323 (composition_compute_stop_pos, composition_reseat_it)
1324 (composition_update_it, composition_adjust_point): Extern them.
1325 (Fcomposition_get_gstring): EXFUN it.
1326
1327 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1328 (Vcomposition_function_table)
1329 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1330 (gstring_hash_table, gstring_work, gstring_work_headers):
1331 New variables.
aac0c6e3
MR
1332 (gstring_lookup_cache, composition_gstring_put_cache)
1333 (composition_gstring_from_id, composition_gstring_p)
1334 (composition_gstring_width, fill_gstring_header)
1335 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1336 (composition_reseat_it, composition_update_it)
b8ff72fa 1337 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1338 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1339 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1340 Defsubr compostion_get_gstring.
1341
1342 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1343 cmp_id.
1344 (struct glyph_string): Delete the member gidx. New members
1345 cmp_id, cmp_from, and cmp_to.
1346 (enum it_method): Delete GET_FROM_COMPOSITION.
1347 (struct composition_it): New struct.
1348 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1349 Delete c, len, cmp_id, cmp_len in u.comp.
1350
1351 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1352 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1353 (enum lglyph_indices): Likewise.
b8ff72fa 1354 (font_range): Adjust extern.
aac0c6e3
MR
1355 (font_fill_lglyph_metrics): Extern it.
1356
1357 * font.c (QCf): New variable.
1358 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1359 (font_prepare_composition): Delete this function.
1360 (font_range): Type and arguments changed.
1361 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1362 (font_fill_lglyph_metrics): New function.
b8ff72fa 1363 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1364 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1365 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1366 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1367
1368 * fontset.h (font_for_char): Extern it.
1369
1370 * fontset.c (font_for_char): New function.
1371
1372 * ftfont.c: Include composite.h.
1373 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1374 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1375
1376 * indent.c: Include composite.h and dispextern.h.
1377 (check_composition): Delete this function.
1378 (scan_for_column): Handle composition by
1379 composition_compute_stop_pos, composition_reseat_it, and
1380 composition_update_it.
1381 (compute_motion): Likewise.
1382 (Fvertical_motion): Fix checking of composition.
1383
1384 * keyboard.c (adjust_point_for_property): Check composition by
1385 composition_adjust_point.
1386
b8ff72fa 1387 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1388 struct glyph_string.
1389
b8ff72fa
SM
1390 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1391 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1392 struct glyph.
1393 (produce_composite_glyph): Likewise.
1394
b8ff72fa
SM
1395 * w32term.c (x_draw_composite_glyph_string_foreground):
1396 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1397 (x_draw_glyph_string): Likewise.
1398
1399 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1400 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1401
1402 * xdisp.c: Include font.h.
1403 (it_props): Delete the entry for Qauto_composed.
1404 (init_iterator): Initialize it->cmp_it.id to -1.
1405 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1406 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1407 (handle_auto_composed_prop): Delete it.
1408 (handle_composition_prop): Handle only static composition.
1409 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1410 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1411 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1412 (pop_it): Likewise.
1413 (get_next_element): Delete next_element_from_composition.
1414 (CHAR_COMPOSED_P): New macro.
1415 (get_next_display_element): For automatic composition, get a face
1416 from the font in the glyph-string.
1417 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1418 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1419 (next_element_from_string): Check if the character at the current
1420 position is composed by CHAR_COMPOSED_P.
1421 (next_element_from_buffer): Likewise.
b8ff72fa 1422 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1423 it. Update it->cmp_it.
b8ff72fa
SM
1424 (dump_glyph): Adjust for the change of struct glyph.
1425 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1426 it and struct glyph. Don't handle automatic composition here.
1427 (fill_gstring_glyph_string): New function.
1428 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1429 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1430 (BUILD_GSTRING_GLYPH_STRING): New macro.
1431 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1432 automatic composition.
b8ff72fa 1433 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1434 struct glyph.
b8ff72fa 1435 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1436
b8ff72fa 1437 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1438 the change of struct glyph_string.
1439 (x_draw_glyph_string): Likewise.
1440
14412008-08-29 Glenn Morris <rgm@gnu.org>
1442
1443 * buffer.c (word-wrap): Doc fix.
1444 * xdisp.c (truncate-partial-width-windows): Doc fix.
1445 Increase default to 50.
1446
14472008-08-29 Chong Yidong <cyd@stupidchicken.com>
1448
1449 * xdisp.c (update_tool_bar_unwind): New function.
1450 (update_tool_bar): Temporarily set selected frame before building
1451 tool-bar items.
1452
14532008-08-28 Michael Albinus <michael.albinus@gmx.de>
1454
1455 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1456 snprintf, respectively.
1457 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1458
14592008-08-28 Chong Yidong <cyd@stupidchicken.com>
1460
1461 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1462 LDFLAGS to GNUstep CC invocation.
1463
14642008-08-27 Chong Yidong <cyd@stupidchicken.com>
1465
1466 * indent.c (Fvertical_motion): Revert last change. Handle the
1467 general case where we are moving forward, and PT spans multiple
1468 screen lines.
1469
1470 * eval.c (find_handler_clause): Temporarily increase
1471 max-lisp-eval-depth while printing the backtrace buffer, to
1472 guarantee that help-mode code can run.
1473
14742008-08-27 Eli Zaretskii <eliz@gnu.org>
1475
1476 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1477 colors under -rv.
1478 (IT_set_frame_parameters): Don't swap foreground and background
1479 colors if `(reverse . t)' is present in the frame properties.
1480 (internal_terminal_init): Call init_frame_faces only for the
1481 initial frame.
1482
14832008-08-27 Andreas Schwab <schwab@suse.de>
1484
1485 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1486
14872008-08-27 Andreas Schwab <schwab@suse.de>
1488
1489 * search.c (search_buffer): Set char_base to zero only at the end.
1490
14912008-08-27 Kenichi Handa <handa@m17n.org>
1492
b8ff72fa 1493 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1494
14952008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1496
1497 * xterm.c (x_term_init): Temporarily hide the partially
1498 initialized terminal while calling vendor-specific-keysyms.
1499
15002008-08-26 Eli Zaretskii <eliz@gnu.org>
1501
1502 * msdos.c (internal_terminal_init): Most initializations done only
1503 once, especially initial_screen_colors[] and termscript open.
1504
15052008-08-26 Chong Yidong <cyd@stupidchicken.com>
1506
1507 * eval.c (Fcondition_case): Doc fix.
1508
1509 * widgetprv.h (EmacsFramePart): Change font member to the new font
1510 struct.
1511
1512 * widget.c: Include character.h and font.h for XSETFONT.
1513 (setup_frame_gcs): Compute X font id from font struct, just once.
1514
15152008-08-26 Eli Zaretskii <eliz@gnu.org>
1516
1517 * term.c (get_named_tty): Fix last change.
1518
15192008-08-26 Chong Yidong <cyd@stupidchicken.com>
1520
1521 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1522 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1523
15242008-08-25 Eli Zaretskii <eliz@gnu.org>
1525
1526 * frame.c (do_switch_frame): Mark previously displayed frame as
1527 obscured for FRAME_MSDOS_P frames as well.
1528
15292008-08-24 Eli Zaretskii <eliz@gnu.org>
1530
1531 * frame.c (make_terminal_frame): Initialize f->terminal,
1532 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1533 Set the top frame to newly created frame.
1534 (Fmake_terminal_frame): Reuse the_only_display_info.
1535
1536 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1537 estimating available memory.
1538
b97439ce 15392008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1540
1541 * nsterm.m (ns_draw_window_cursor): Don't call
1542 NSDisableScreenUpdates and NSEnableScreenUpdates on
1543 non-NS_IMPL_COCOA systems.
1544
15452008-08-23 Andreas Schwab <schwab@suse.de>
1546
1547 * process.c (procfs_system_process_attributes): Fix use of
1548 uninitialized variables.
1549
15502008-08-23 Eli Zaretskii <eliz@gnu.org>
1551
1552 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1553
1554 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1555 calling tty-set-up-initial-frame-faces.
1556
b8ff72fa
SM
1557 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1558 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1559
1560 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1561 addition to output_termcap.
1562
1563 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1564
1565 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1566 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1567 highlight.
1568
1569 * process.c [!subprocesses]: Define QCname.
1570 (syms_of_process): Intern and staticpro it.
1571
1572 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1573 Adjust for changes in encoding/decoding routines.
1574 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1575 encode_coding and decode_coding.
1576
b8ff72fa 1577 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1578
1579 * dosfns.c: Include frame.h before termhooks.h.
1580 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1581 variable termscript.
1582
1583 * s/msdos.h (USER_FULL_NAME): Define.
1584 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1585
1586 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1587 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1588 pw->pw_gecos.
1589
1590 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1591 SELECTED_FRAME as additional (1st) argument.
1592 (tty_read_avail_input): Handle output_msdos_raw in
1593 addition to output_termcap.
1594
1595 * msdos.c: Include frame.h before termhooks.h.
1596 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1597 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1598 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1599 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1600 (IT_set_terminal_modes, IT_reset_terminal_modes)
1601 (IT_set_frame_parameters): Use tty->termscript instead of a global
1602 variable termscript.
1603 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1604 global variable terminal_coding. Don't refer to
1605 Vnonascii_translation_table.
1606 (internal_terminal_init): Set Vwindow_system in current_kboard.
1607 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1608 Announce date and time of session start, if termscript is open.
1609 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1610 term.c:init_tty). Open termscript only of not already open.
1611 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1612 here instead of dos_ttraw. Don't initialize display if this is an
1613 initial tty. Don't set FRAME_FONT.
1614 (Vwindow_system_version): Bump to 23.
1615 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1616 is available, set up mouse_position_hook.
1617 (dos_ttraw, IT_set_terminal_modes): If called with initial
1618 terminal, do nothing.
1619 (IT_set_frame_parameters): Handle the Qtty_type frame
1620 parameter by calling internal_terminal_init.
1621 (dos_set_window_size, show_mouse_face)
1622 (clear_mouse_face, IT_note_mode_line_highlight)
1623 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1624 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1625 (initialize_msdos_display): New function.
1626 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1627 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1628 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1629 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1630 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1631 (request_sigio, unrequest_sigio): Don't define, now defined on
1632 sysdep.c.
1633 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1634
1635 * term.c [MSDOS]: Include msdos.h.
1636 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1637 conditional to DOS_NT. Allow only one call to this function in a
1638 session. Don't allocate a new struct tty_display_info; instead,
1639 reuse the_only_display_info. Call get_tty_size to get screen
1640 dimensions. Call init_baud_rate to set bad_rate.
1641 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1642 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1643 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1644 (get_tty_terminal, get_named_tty, Ftty_type)
1645 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1646 output_termcap.
b8ff72fa
SM
1647 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1648 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1649 only when subprocesses are supported
1650
1651 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1652 f->output_data.x.
1653 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1654 terminal devices.
1655
1656 * msdos.h Remove definition of struct x_display_info and struct
1657 x_output.
1658 (FRAME_FONT): Use output_data.tty.
1659 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1660 (struct x_display_info): Rename from display_info. Update all users in
1661 msdos.c.
aac0c6e3 1662 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1663 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1664 (dos_ttraw): Update prototype.
1665
1666 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1667 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1668
16692008-08-23 Jason Rumney <jasonr@gnu.org>
1670
1671 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1672 (fn_TIFFSetDirectory): New library function used.
1673 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1674 (tiff_load): Use :index to select among multiple images. Set count
1675 property when multiple images exist.
1676 (gif_format): Use :index, not :image.
1677
16782008-08-23 Chong Yidong <cyd@stupidchicken.com>
1679
1680 * xdisp.c (try_scrolling): Check INT_MAX instead of
1681 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1682 to obtain INT_MAX.
1683
16842008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1685
1686 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1687
16882008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1689
1690 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1691 GNUstep library location.
1692
16932008-08-21 Chong Yidong <cyd@stupidchicken.com>
1694
1695 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1696 before using it.
1697
1698 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1699
17002008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1701
1702 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1703 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1704 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1705 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1706 (EmacsApp-cursor_blink_handler): Remove declaration.
1707 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1708 match 01 Feb 2008 changes in xterm.c.
1709 (ns_read_socket): Add cast to avoid warning.
1710 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1711 GNUstep.
1712
17132008-08-20 Chong Yidong <cyd@stupidchicken.com>
1714
1715 * xselect.c (x_get_foreign_selection): Return nil if desired
1716 selection could not be obtained, instead of signalling an error.
1717
17182008-08-20 David Reitter <david.reitter@gmail.com>
1719
1720 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1721 * nsterm.m: Remove ns-specific code for cursor blinking.
1722 (ns_draw_window_cursor): Clear cursor properly rather than
1723 redrawing the area. Respect width of bar cursors.
1724 These changes enable the use of generic blink-cursor-mode and
1725 generic cursor types in NS and support smooth cursor movements (do
1726 not blink off after command).
1727 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1728 Nextstep, too.
1729
17302008-08-19 Kenichi Handa <handa@m17n.org>
1731
1732 * font.c (Vfont_log_deferred): New variable.
1733 (font_add_log): Check Vfont_log_deferred.
1734 (font_deferred_log): New function.
1735
1736 * font.h (font_deferred_log): Extern it.
1737
1738 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1739 for sorting.
1740 (face_for_char): Use deferred log.
1741
17422008-08-18 Kenichi Handa <handa@m17n.org>
1743
1744 * fontset.c (face_for_char): Add font log.
1745
1746 * font.c (font_add_log): Add the font properties :script, :lang,
1747 and :otf in the log.
1748
17492008-08-17 Chong Yidong <cyd@stupidchicken.com>
1750
1751 * xdisp.c: Remove dead code.
1752 (handle_invisible_prop, next_overlay_string): Defer call to
1753 setup_for_ellipsis.
1754 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1755
17562008-08-15 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * xfaces.c (lookup_derived_face): Properly handle possible zero
1759 return value of get_lface_attributes.
1760 (merge_faces): Don't tell lookup_derived_face to signal an error
1761 if face is not found.
1762
1763 * dired.c (Fdirectory_files): Doc fix.
1764
1765 * process.c (make_process): Initialize kill_without_query struct
1766 member.
1767
17682008-08-15 Eli Zaretskii <eliz@gnu.org>
1769
1770 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1771 Alternative calculation of totphys for Visual Studio 6.
1772
1773 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1774
1775 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1776 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1777 All users changed.
1778 (stat): Only root directory passed to GetDriveType. Allow RAM
1779 disk as well as local fixed disk when w32-get-true-file-attributes
1780 is set to `local'.
1781 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1782 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1783 (w32_cached_id, w32_add_to_cache): New functions.
1784 (get_name_and_id): Look account names in the cache before calling
1785 lookup_account_sid.
1786 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1787 New initialization flags.
1788 (globals_of_w32): Initialize them to zero.
1789 (w32_system_process_attributes): Use w32_cached_id and
1790 w32_add_to_cache.
1791
17922008-08-14 Lawrence Mitchell <wence@gmx.li>
1793
1794 * lread.c (Fread_char, Fread_char_exclusive): If no character
1795 event is read before timeout is reached, return nil, rather than
1796 converting to a number.
1797
17982008-08-14 Chong Yidong <cyd@stupidchicken.com>
1799
1800 * fns.c (use_dialog_box): Doc fix.
1801
1802 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1803 on OS X.
1804
18052008-08-13 Chong Yidong <cyd@stupidchicken.com>
1806
1807 * frame.c (Qns_parse_geometry): New var.
1808 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1809
18102008-08-11 Chong Yidong <cyd@stupidchicken.com>
1811
1812 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1813 space character in calculating tabs.
1814
18152008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1816
1817 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1818
18192008-08-10 Glenn Morris <rgm@gnu.org>
1820
1821 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1822 silence gcc "limited range of data type" warnings in some
1823 make_fixnum_or_float calls.
1824
18252008-08-09 Eli Zaretskii <eliz@gnu.org>
1826
1827 * w32.c (w32_system_process_attributes): If the process does not
1828 exist, return nil.
1829
1830 * w32.c: Include thelp32.h, psapi.h and coding.h.
1831 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1832 declarations.
1833 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1834 (Process32Next_Proc): New typedefs.
1835 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1836 (g_b_init_process32_next, g_b_init_open_thread_token)
1837 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1838 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1839 (g_b_init_get_process_working_set_size)
1840 (g_b_init_global_memory_status_ex): New static variables.
1841 (globals_of_w32): Initialize them.
1842 (create_toolhelp32_snapshot, process32_first, process32_next)
1843 (open_thread_token, impersonate_self, revert_to_self)
1844 (get_process_memory_info, get_process_working_set_size)
1845 (global_memory_status, global_memory_status_ex): New wrapper
1846 functions.
1847 (w32_list_system_processes, w32_system_process_attributes)
1848 (enable_privilege, restore_privilege, ltime, process_times):
1849 New functions.
1850 (convert_time_raw): New function.
1851 (convert_time): Remove conversion of FILETIME into time in 100
1852 nsec units, call convert_time_raw instead.
1853
1854 * process.h (w32_list_system_processes, w32_system_process_attributes):
1855 Add prototypes.
1856 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1857 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1858 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1859 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1860
1861 * process.c (Fsystem_process_attributes): Doc fix.
1862
18632008-08-08 Chong Yidong <cyd@stupidchicken.com>
1864
1865 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1866 a continued multi-char glyph; if so, advance to the actual glyph.
1867
18682008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1869
1870 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1871
1872 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1873 (.m.o): Use it.
1874 * config.in: Regenerate.
1875
18762008-08-07 Chong Yidong <cyd@stupidchicken.com>
1877
1878 * xdisp.c (redisplay_window): Revert last change.
1879 (try_window): Check bottom scroll margin too.
1880
18812008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1882
1883 * config.in: Regenerate.
1884
1885 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1886 -list-load-path-shadows'.
1887 (nsgui.h): Reduce number of things depending on it.
1888
18892008-08-06 Chong Yidong <cyd@stupidchicken.com>
1890
1891 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1892 instead of window-end which does the wrong thing at eob.
1893 (try_cursor_movement): Minor optimization.
1894 (redisplay_window): If scroll margin is defined, don't assume
1895 window doesn't need scrolling.
1896
18972008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1898
1899 * config.in: Regenerate.
1900
1901 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1902 (mostlyclean): Don't delete *.d under NS.
1903
1904 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1905
19062008-08-06 Kenichi Handa <handa@m17n.org>
1907
1908 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1909
19102008-08-06 Andreas Schwab <schwab@suse.de>
1911
1912 * config.in: Regenerate.
1913
19142008-08-05 Chong Yidong <cyd@stupidchicken.com>
1915
1916 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1917 forcing a window start.
1918
1919 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1920 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1921
19222008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1923
1924 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1925 argument.
1926
19272008-08-05 Juanma Barranquero <lekktu@gmail.com>
1928
1929 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1930 <scroll-down-aggressively, before-change-functions>:
1931 <after-change-functions>: Reflow docstrings.
1932
19332008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1934 Ken Raeburn <raeburn@gnu.org>
1935
1936 Dock menu customization, based on a patch by Ken Raeburn, plus some
1937 other fixes.
1938 * nsmenu.m (dockMenu): New variable.
1939 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1940
1941 * nsterm.h (dockMenu): Declare.
1942
1943 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1944 (ns_term_init): Initialize dockMenu.
1945 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1946 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1947 left.
1948
1949 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1950
19512008-08-04 Chong Yidong <cyd@stupidchicken.com>
1952
1953 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1954
1955 * config.in: Regenerate.
1956
19572008-08-04 Seiji Zenitani <zenitani@mac.com>
1958
1959 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1960
19612008-08-04 Chong Yidong <cyd@stupidchicken.com>
1962
1963 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1964
19652008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1966
1967 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1968
1969 * keyboard.h: Comment an #endif.
1970
1971 * lisp.h (have_menus_p): Adjust comment.
1972
1973 * menu.c (find_and_return_menu_selection): Fix comparison with
1974 client_data.
1975
1976 * nsmenu.m (popup_activated_flag): New variable.
1977 (popup_activated): New function.
1978 (menu-or-popup-active-p): New exported lisp definition.
1979 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1980 when popup done.
1981 (ns_popup_dialog): Set popup_activated_flag.
1982
1983 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1984 version for GNUstep (handled by conditional typedef in nsterm.m).
1985 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1986 in rgb.txt).
1987
1988 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1989
1990 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1991
1992 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1993
1994 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1995 shortcircuit if popup_activated like GTK and X toolkit.
1996
1997 * m/inter386.h: Change DARWIN to DARWIN_OS.
1998
1999 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2000 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2001 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2002 comment on NO_SOCK_SIGIO.
2003
20042008-08-03 Chong Yidong <cyd@stupidchicken.com>
2005
2006 * nsterm.m (windowDidResize): Remove stopModal call.
2007
20082008-08-03 Andreas Schwab <schwab@suse.de>
2009
2010 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2011 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2012
20132008-08-02 Chong Yidong <cyd@stupidchicken.com>
2014
2015 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2016 Don't use uninitialized pointer variable when using getrlimit.
2017
20182008-08-02 Jason Rumney <jasonr@gnu.org>
2019
2020 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2021
20222008-08-02 Eli Zaretskii <eliz@gnu.org>
2023
2024 * alloc.c (NSTATICS): Bump to 0x640.
2025
2026 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2027
2028 * lisp.h: Add prototype for directory_files_internal.
2029
2030 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2031 New functions.
2032 (syms_of_process): Defsubr them. Add initializations for various
2033 Q* symbols used in procfs_system_process_attributes.
2034 (procfs_list_system_processes, procfs_system_process_attributes)
2035 [HAVE_PROCFS]: New functions.
2036 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2037 (procfs_get_total_memory): New functions.
2038
20392008-08-01 Juanma Barranquero <lekktu@gmail.com>
2040
2041 * xfaces.c (Fx_load_color_file): Fix previous change;
2042 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2043
20442008-08-01 Michael Albinus <michael.albinus@gmx.de>
2045
2046 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2047
20482008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2049
2050 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2051
20522008-08-01 Chong Yidong <cyd@stupidchicken.com>
2053
2054 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2055
2056 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2057 define NSApplicationDelegateReplySuccess.
2058 (EmacsView -converstationIdentifier): Use long instead of
2059 NSInteger for GNUstep, since it doesn't have NSInteger.
2060
2061 * xmenu.c: Revert last change.
2062
2063 * keyboard.h: Fix last change.
2064
20652008-08-01 Juanma Barranquero <lekktu@gmail.com>
2066
2067 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2068 on Windows.
2069
20702008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2071
2072 Warning clearing and clean-up in NS port.
2073 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2074 Add prototypes.
2075 * nsgui.h (FACE_DEFAULT): Remove, unused.
2076 (XGCValues): Change colors to unsigned long.
2077 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2078 nsterm.m.
2079 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2080 (ns_list_fonts): Remove, unused.
2081 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2082 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2083 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2084 (nsfont_draw): Compare face colors to 0, not nil.
2085 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2086 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2087 (-addSubmenuWithTitle:): Use NSMenuItem class.
2088 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2089 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2090 (ns_clip_to_row): Make gc arg a BOOL.
2091 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2092 ns_clip_to_row() call.
2093 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2094 used). Cast FRAME_FONT assignments.
2095 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2096 (ns_string_to_lispmod): Change arg to const char.
2097 (ns_term_init): Use NSMenuItem class.
2098 (EmacsApp -openFile:): Move to different section of file.
2099 (EmacsApp -application:openFiles:): Don't return a value, call
2100 -replyToOpenOrPrint:.
2101 (EmacsView -keyDown:): Fix up cast.
2102 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2103 (EmacsView -menuDown:): Cast tag in call to
2104 find_and_call_menu_selection().
2105 (ns_list_fonts): Remove, unused.
2106 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2107 (ns_fontname_to_xlfd): Make static.
2108 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2109 Remove prototypes (now in keyboard.h).
2110 (next_menubar_widget_id): Remove, unused.
2111 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2112 Remove prototypes (now in keyboard.h).
2113 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2114
21152008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2116
2117 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2118 (floatfns.o): Depend on syssignal.h.
2119 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2120
2121 * systty.h: Fix previous change that removed BSD_TERMIOS.
2122 Add comments to #ifdefs.
2123
21242008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2125
2126 * w32fns.c (w32-load-color-file): Remove.
2127 (x-open-connection): Use renamed Fx_load_color_file.
2128 * xfaces.c (x-load-color-file): Add.
2129 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2130 Emacs.clr.
2131 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2132
21332008-07-31 Michael Albinus <michael.albinus@gmx.de>
2134
2135 * dbusbind.c (Fdbus_call_method_asynchronously)
2136 (Fdbus_method_error_internal): New defuns.
2137 (xd_read_message): Handle also reply messages.
2138 (Vdbus_registered_functions_table): Extend docstring.
2139
21402008-07-31 Juanma Barranquero <lekktu@gmail.com>
2141
2142 * keyboard.c (gobble_input): Fix previous change.
2143
21442008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2145
2146 * bitmaps/README:
2147 * xfns.c:
2148 * termcap.c:
2149 * term.c:
2150 * syswait.h:
2151 * systty.h:
2152 * systime.h:
2153 * syssignal.h:
2154 * sysdep.c:
2155 * process.h:
2156 * process.c:
2157 * print.c:
2158 * ndir.h:
2159 * lread.c:
2160 * keyboard.c:
2161 * getpagesize.h:
2162 * floatfns.c:
2163 * fileio.c:
2164 * emacs.c:
2165 * doc.c:
2166 * dispnew.c:
2167 * dired.c:
2168 * data.c:
2169 * callproc.c:
2170 * buffer.c:
2171 * README:
2172 * Makefile.in:
2173 * s/template.h:
2174 * s/msdos.h:
2175 * m/vax.h: Remove VMS support.
2176 * s/vms.h:
2177 * vlimit.h:
2178 * uaf.h:
2179 * temacs.opt:
2180 * param.h:
2181 * ioctl.h: Remove file.
2182
21832008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2184
2185 * s/ms-w32.h (MULTI_KBOARD): Remove.
2186 * xterm.c:
2187 * xselect.c:
2188 * xfns.c:
2189 * window.c:
2190 * w32term.c:
2191 * w32fns.c:
2192 * terminal.c:
2193 * termhooks.h:
2194 * term.c:
2195 * sysdep.c:
2196 * keyboard.h:
2197 * keyboard.c:
2198 * frame.h:
2199 * frame.c:
2200 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2201 * config.in: Regenerate.
2202
22032008-07-30 Jason Rumney <jasonr@gnu.org>
2204
2205 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2206
2207 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2208 (w32font_open_internal): Get unicode version of textmetrics.
2209 Don't enable or disable glyph indices here.
2210 (w32font_open): Disable use of glyph indices.
2211
2212 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2213
22142008-07-30 Chong Yidong <cyd@stupidchicken.com>
2215
2216 * minibuf.c (Vread_buffer_function): Doc fix.
2217
22182008-07-30 John Paul Wallington <jpw@pobox.com>
2219
2220 * minibuf.c (read_buffer_completion_ignore_case): New var.
2221 (Fread_buffer): Use it.
2222
22232008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2224
2225 * systty.h (sensemode): Remove empty #if. Remove reference to
2226 BSD_TERMIOS, unused.
2227
2228 * sysdep.c: Remove reference to DGUX.
2229 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2230
2231 * config.in: Regenerate.
2232
22332008-07-30 Jason Rumney <jasonr@gnu.org>
2234
2235 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2236
22372008-07-29 Jason Rumney <jasonr@gnu.org>
2238
2239 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2240 is populated.
2241 (uniscribe_encode_char): Always use uniscribe.
2242 Avoid using context if cache is populated.
2243
22442008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2245
2246 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2247 open menu.
2248
2249 * gtkutil.c (menu_nav_ended): Remove.
2250 (create_menus): Remove signal connect for menu_nav_ended.
2251
22522008-07-28 Chong Yidong <cyd@stupidchicken.com>
2253
2254 * xdisp.c (redisplay_window): Check return value of
2255 compute_window_start_on_continuation_line before forcing a window
2256 start.
2257
22582008-07-28 Jason Rumney <jasonr@gnu.org>
2259
2260 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2261
2262 * w32term.c (w32_enable_unicode_output, cleartype_active):
2263 Remove obsolete display options.
2264 (x_draw_glyph_string_background): Don't use old cleartype_active
2265 workaround.
2266 (w32_initialize): Remove cleartype_active initialization.
2267 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2268
22692008-07-28 Andreas Schwab <schwab@suse.de>
2270
2271 * lisp.h (init_weak_hash_tables, syms_of_font)
2272 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2273 (remove_hash_entry): Don't declare.
2274 * eval.c (maybe_call_debugger): Make static and move before use.
2275 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2276 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2277 * xterm.h (x_set_frame_alpha): Declare.
2278
22792008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2280
2281 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2282 (create_menus): Connect selection-done to menu_nav_ended.
2283
22842008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2285
2286 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2287 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2288 parameter with read of 'alpha' one.
2289 (Qns_frame_parameter): Remove.
2290 * nsselection.m (selection-coding-system)
2291 (next-selection-coding-system, Vselection_coding_system)
2292 (Vnext_selection_coding_system): Drop.
2293
22942008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2295
2296 * nsfns.m (do-applescript, do_applescript): Rename to
2297 ns-do-applescript, ns_do_applescript, and move within file.
2298
22992008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2300
2301 Remove support for Mac Carbon.
2302 * mactoolbox.c:
2303 * macterm.h:
2304 * macterm.c:
2305 * macselect.c:
2306 * macmenu.c:
2307 * macgui.h:
2308 * macfns.c:
2309 * mac.c: Remove file.
2310 * s/darwin.h:
2311 * m/intel386.h:
2312 * xfaces.c:
2313 * xdisp.c:
2314 * window.c:
2315 * tparam.c:
2316 * termhooks.h:
2317 * termcap.c:
2318 * term.c:
2319 * syssignal.h:
2320 * sysselect.h:
2321 * sysdep.c:
2322 * process.c:
2323 * lread.c:
2324 * lisp.h:
2325 * keyboard.c:
2326 * image.c:
2327 * fringe.c:
2328 * frame.h:
2329 * frame.c:
2330 * fontset.c:
2331 * font.h:
2332 * font.c:
2333 * fns.c:
2334 * fileio.c:
2335 * emacs.c:
2336 * dispnew.c:
2337 * dispextern.h:
2338 * config.in:
2339 * atimer.c:
2340 * Makefile.in: Remove code for Carbon
2341
23422008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2343
2344 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2345
23462008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2347
2348 * macterm.h (kCGBitmapByteOrder32Host): New define for
2349 non-universal SDKs.
2350
2351 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2352 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2353
2354 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2355 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2356
23572008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2358
2359 * w32inevt.c: Include dispextern.h.
2360
23612008-07-26 Andreas Schwab <schwab@suse.de>
2362
2363 * print.c (print_object): Fix off-by-one in last change.
2364
23652008-07-25 Juanma Barranquero <lekktu@gmail.com>
2366
2367 * term.c (syms_of_term): Don't initialize default_orig_pair,
2368 default_set_foreground and default_set_background on Windows.
2369
23702008-07-25 Jason Rumney <jasonr@gnu.org>
2371
2372 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2373 ScriptItemize. Clean up return value checking. Remove unused
2374 variables.
2375 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2376 shaping engine.
2377
2378 * w32font.c (w32font_has_char): Handle the case where we can't
2379 determine the script for a character.
2380
23812008-07-25 Chong Yidong <cyd@stupidchicken.com>
2382
2383 * term.c (syms_of_term): Initialize default_orig_pair,
2384 default_set_foreground, and default_set_background.
2385
2386 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2387 clash (bug#86).
2388 (getloadavg): Callers changed.
2389
2390 * image.c (svg_load_image): Fix last change.
2391 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2392 image size is valid. Use g_object_unref instead of deprecated
2393 rsvg_handle_free to free rsvg handle.
2394 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2395
23962008-07-25 Jason Rumney <jasonr@gnu.org>
2397
2398 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2399 surrogates before looking up glyph index.
2400 (w32font_text_extents): Encode as surrogates if falling back to
2401 functions that need UTF-16 wide chars.
2402
2403 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2404 BMP as surrogates before looking up glyph index.
2405
24062008-07-25 Chong Yidong <cyd@stupidchicken.com>
2407
2408 * image.c (svg_load_image): Check for failure in return value of
2409 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2410
24112008-07-25 Jason Rumney <jasonr@gnu.org>
2412
2413 * w32font.c (Fx_select_font): Reverse sense of second arg.
2414
24152008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2416
2417 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2418 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2419
2420 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2421 (PURESIZE): Use it.
2422
24232008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2424
2425 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2426 * m/alpha.h (TEXT_END):
2427 * m/ibmrs6000.h (TEXT_END):
2428 * m/macppc.h (TEXT_END):
2429 * s/darwin.h (TEXT_END):
2430 * s/msdos.h (TEXT_END): Remove, unused.
2431 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2432 * s/cygwin.h: Remove comment.
2433
2434 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2435 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2436 * m/intel386.h (DOT_GLOBAL_START):
2437 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2438 (USG): Remove, file not used on USG platforms.
2439
2440 * Makefile.in (HAVE_X11): Remove empty #else.
2441
24422008-07-24 Andreas Schwab <schwab@suse.de>
2443
2444 * fileio.c (Finsert_file_contents): Properly adjust undo list
2445 after format conversion.
2446
24472008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2448
2449 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2450 (menu_nav_ended): Remove.
2451 (create_menus): Remove signal connect for menu_nav_ended.
2452 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2453 create_menus.
2454 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2455
24562008-07-23 Jason Rumney <jasonr@gnu.org>
2457
2458 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2459 with opened font.
2460 (w32font_open): Set font type to gdi.
2461
2462 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2463
24642008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2465
2466 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2467 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2468 defines it.
2469 * unexec.c (ADDR_CORRECT): Define unconditionally.
2470
2471 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2472
2473 * unexec.c: Remove code depending on !COFF and USG, the file is
2474 not used for such systems.
2475
2476 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2477 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2478 (LD_SWITCH_SYSTEM_1): Remove, update users.
2479
2480 * s/darwin.h (DATA_END):
2481 * m/intel386.h (DATA_END):
2482 * m/ibmrs6000.h (DATA_END):
2483 * m/alpha.h (DATA_END): Remove, unused.
2484
2485 * config.in: Regenerate.
2486 * s/ms-w32.h (subprocesses): Define unconditionally.
2487 * s/template.h (subprocesses): Update comment.
2488 * s/vms.h (subprocesses):
2489 * s/usg5-4.h (subprocesses):
2490 * s/hpux10-20.h (subprocesses):
2491 * s/gnu-linux.h (subprocesses):
2492 * s/cygwin.h (subprocesses):
2493 * s/bsd-common.h (subprocesses):
2494 * s/aix4-2.h (subprocesses):
2495 * s/darwin.h (subprocesses): Do not define, defined by default now.
2496
2497 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2498 Remove all references.
2499 (temacs): Add GNUstep specific ld flags.
2500
2501 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2502 similarly to what X does.
2503
25042008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2505
2506 * nsfns.m (x-list-fonts): Remove.
2507 (syms_of_nsfns): Drop the x-list-fonts declaration.
2508 * nsterm.m: Get rid of remaining "//" comments.
2509
25102008-07-22 Chong Yidong <cyd@stupidchicken.com>
2511
2512 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2513
2514 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2515 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2516 (Fns_own_selection_internal, Fx_disown_selection_internal)
2517 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2518
2519 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2520 ... */' style of docstrings. Doc fixes.
2521
25222008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2523
2524 * terminfo.c (UP, BC, PC): Undo previous change.
2525
2526 * nsfns.m: Rename ns prefixed functions/variables to the
2527 corresponding x versions. Update references.
2528
25292008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2530
2531 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2532
25332008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2534
2535 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2536 Remove forwarding functions.
2537 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2538 non-static.
2539 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2540 non-static.
2541 (ns_frame_parm_handlers): Use the new names.
2542 (syms_of_nsfns): Move to the end of file.
2543
2544 * nsterm.m (syms_of_nsterm): Move to the end of file.
2545
2546 * dispnew.c (init_display): Remove code for X10.
2547
25482008-07-22 Jason Rumney <jasonr@gnu.org>
2549
2550 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2551 bare drive.
2552
25532008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2554
2555 * nsterm.m (syms_of_nsterm): Remove debugging println.
2556
25572008-07-22 David Reitter <david.reitter@gmail.com>
2558
2559 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2560 Carbon implementation of the same functionality: execute arbitrary
2561 AppleScript code.
2562
25632008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2564
2565 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2566 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2567 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2568 (Fx_display_mm_height, Fx_display_mm_width)
2569 (Fx_display_backing_store, Fx_display_visual_class)
2570 (Fx_display_save_under, Fx_open_connection)
2571 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2572 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2573 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2574 (Fx_display_pixel_width, Fx_display_pixel_height)
2575 (Fx_display_usable_bounds, Fx_display_planes)
2576 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2577 ... */' style of docstrings.
2578
25792008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2580
2581 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2582 on this platform.
2583 (mips):
2584 * m/iris4d.h (mips): Do not define.
2585 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2586
2587 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2588
2589 * image.c:
2590 * nsfns.m:
2591 * nsselect.m:
2592 * nsterm.h:
2593 * nsterm.m: Rename ns prefixed functions/variables to the
2594 corresponding x versions. Update references.
2595
2596 * m/ibms390x.h (NO_REMAP): Do not undefine.
2597
2598 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2599
26002008-07-21 Chong Yidong <cyd@stupidchicken.com>
2601
2602 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2603 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2604 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2605 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2606 (Fns_display_mm_height, Fns_display_mm_width)
2607 (Fns_display_backing_store, Fns_display_visual_class)
2608 (Fns_display_save_under, Fns_open_connection)
2609 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2610 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2611 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2612 (Fns_display_pixel_width, Fns_display_pixel_height)
2613 (Fns_display_usable_bounds, Fx_display_planes)
2614 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2615
26162008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2617
2618 * print.c (print_object): Check print_depth before searching for
2619 circularities.
2620
26212008-07-21 Michael Albinus <michael.albinus@gmx.de>
2622
2623 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2624 only sprintf.
2625
26262008-07-21 Kenichi Handa <handa@m17n.org>
2627
2628 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2629
26302008-07-20 Andreas Schwab <schwab@suse.de>
2631
2632 * syntax.c (find_start_pos, find_start_value)
2633 (find_start_value_byte, find_start_begv, find_defun_start)
2634 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2635
26362008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2637
2638 * s/sol2-3.h: Insert contents of s/sol2.h.
2639 (LD_SWITCH_SYSTEM): Remove redundant definition.
2640 * s/sol2.h: Remove, unused.
2641
26422008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2643
2644 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2645
26462008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2647
2648 * Makefile.in (ns_appdir): Fix typo in find command.
2649
26502008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2651
2652 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2653
2654 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2655 added not supported anymore.
2656
2657 * s/usg5-4-2.h (LIBS_SYSTEM):
2658 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2659
2660 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2661 * s/lynxos.h (GETPGRP_NO_ARG):
2662 * s/hpux10-20.h (NO_SIOCTL_H):
2663 * s/gnu.h (GETPGRP_NO_ARG):
2664 * s/gnu-linux.h (NO_SIOCTL_H):
2665 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2666 * s/cygwin.h (GETPGRP_NO_ARG):
2667 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2668 (C_DEBUG_SWITCH): Remove duplicate definition.
2669
2670 * m/ibms390.h: Remove boilerplate comments.
2671
2672 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2673
2674 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2675 (wait_reading_process_output): Remove code for SunOS, platform not
2676 supported anymore. Use SOLARIS2 instead of sun.
2677
26782008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2679
2680 * font.c (font_open_by_name): Under NS, default lface height to zero.
2681 (font_open_for_lface): Under NS, set size based on frame fontsize.
2682 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2683 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2684
26852008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2686
2687 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2688 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2689 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2690 YES/NO.
2691 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2692 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2693 * Makefile.in (clean): Clear out build destination dir.
2694
26952008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2696
2697 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2698 xterm, xselect.
2699 * lisp.h: Remove declaration of hash_remove.
2700 * nsgui.h: Remove redefinitions of hash_remove.
2701 * fns.c (hash_remove): Rename to hash_remove_from_table.
2702
27032008-07-19 Seiji Zenitani <zenitani@mac.com>
2704
2705 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2706 strdup() the family UTF8String before modifying it.
2707
27082008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2709
2710 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2711 NS_FACE_BACKGROUND with 0 instead of nil.
2712 * nsfont.m (nsfont_draw): Same.
2713
27142008-07-19 Chong Yidong <cyd@stupidchicken.com>
2715
2716 * nsfns.m (ns_set_background_color): Fix crash.
2717
27182008-07-18 Chong Yidong <cyd@stupidchicken.com>
2719
2720 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2721
27222008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2723
2724 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2725
27262008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2727
2728 * gtkutil.c: Include <config.h> instead of "config.h".
2729
2730 * lisp.h (Foverlay_buffer): Add EXFUN.
2731
2732 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2733 child process to complete child_setup. Undo 2005-09-21 change.
2734
2735 * s/darwin.h: Mention setsid after vfork.
2736
27372008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2738
2739 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2740 Depend on macgui.h.
2741
2742 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2743 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2744
2745 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2746 and f19.
2747 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2748
2749 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2750 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2751 Remove enumerators.
2752
2753 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2754 Check if FACE_FROM_ID returns NULL.
2755
27562008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2757
2758 * w32inevt.c (change_frame_size): Remove extern declaration.
2759 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2760 change_frame_size.
2761
27622008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2763
2764 * getloadavg.c: Revert last change (2008-07-15).
2765
27662008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2767
2768 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2769 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2770 from configure.
2771
27722008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2773
2774 * s/sol2.h:
2775 * s/sol2-4.h: Reorganize conditionals.
2776
2777 * ecrt0.c: Remove code depending on m68000, not used anymore.
2778
2779 * fns.c (hash_remove): Make static.
2780 * lisp.h (hash_remove): Don't prototype.
2781
2782 * m/ibmrs6000.h:
2783 * m/ibms390x.h:
2784 * m/macppc.h: Remove boilerplate comments.
2785
2786 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2787 Solaris, which does not need them.
2788
2789 * m/vax.h: Remove comments about unsupported systems.
2790
2791 * s/darwin.h: Reorganize ifdefs.
2792
27932008-07-17 Andreas Schwab <schwab@suse.de>
2794
2795 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2796
27972008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2798
2799 Use SDATA. Follow coding convention of placing operators at
2800 beginning of next line rather than end of previous line, and placing
2801 spaces around infix operators.
2802
2803 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2804 in case it was defined already.
2805 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2806 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2807 ns_default.
2808 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2809 Lisp_Objects.
2810 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2811 (ns_defined_color, ns_color_to_lisp): Declare.
2812 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2813 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2814 it's accepted even with USE_LISP_UNION_TYPE.
2815 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2816 (update_frame_tool_bar): Remove apparently obsolete tests for
2817 non-integerness of f->tool_bar_lines.
2818 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2819 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2820 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2821 (nsfont_open): Don't confuse NULL for Qnil.
2822 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2823 * menu.h (find_and_call_menu_selection):
2824 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2825 (find_and_return_menu_selection): Always return something.
2826 * frame.h: Include dispextern.h for Display_Info.
2827 (display_x_get_resource): Declare.
2828
28292008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2830
2831 * syntax.c: Remove stdio.h include accidentally introduced in
2832 Emacs.app commit.
2833 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2834 NS_IMPL_COCOA.
2835 * keyboard.c (handle_async_input, input_available_signal): Remove
2836 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2837
28382008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2839
2840 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2841 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2842 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2843 Use SDATA.
2844
2845 * keymap.c: Remove all NS-specific code.
2846 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2847 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2848 where_is_preferred_modifier, return a different value depending on how
2849 preferred is the binding.
2850 (where_is_internal): Adjust accordingly.
2851 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2852 Adjust to new preferred_sequence_p.
2853 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2854 * keyboard.c (parse_solitary_modifier): Not static any more.
2855 * keyboard.h (parse_solitary_modifier): Declare.
2856
28572008-07-16 Andreas Schwab <schwab@suse.de>
2858
2859 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2860 of easymenu.
2861
28622008-07-16 Chong Yidong <cyd@stupidchicken.com>
2863
2864 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2865 that we don't move off the line.
2866
28672008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2868
2869 * keyboard.c (Qsuper): Remove.
2870 (parse_menu_item): Don't call where_is_internal specially for NS.
2871
28722008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2873
2874 * s/gnu-linux.h: Remove boilerplate comments.
2875
2876 * m/alpha.h (__ELF__): Consolidate conditions.
2877
2878 * m/m68k.h (linux): Use GNU_LINUX instead.
2879 Remove boilerplate comments.
2880
2881 * m/intel386.h: Undo refactoring from previous change.
2882 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2883 too, remove dead code.
2884 (linux): Use GNU_LINUX instead.
2885
28862008-07-16 Jason Rumney <jasonr@gnu.org>
2887
2888 * w32gui.h: Repeat 26 June changes lost by last change.
2889
28902008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2891
2892 * systty.h: Remove code for Aix on 386, unsupported platform.
2893
2894 * s/ms-w32.h: Remove boilerplate comments.
2895 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2896
2897 * s/gnu-linux.h (TERM): Remove support.
2898 (HAVE_SYSVIPC): Remove, unused.
2899 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2900 for this system.
2901
2902 * process.c: Remove support for IRIS, unused.
2903 Remove support for TERM, not relevant anymore.
2904
2905 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2906 used with the definition.
2907
2908 * s/aix4-2.h (static): Do not undef.
2909
2910 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2911 only used on Aix.
2912 (HAVE_SYSVIPC): Remove, unused.
2913
2914 * m/hp800.h (CANNOT_DUMP): Do not undef.
2915
2916 * m/alpha.h: Fix comment.
2917
2918 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2919 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2920 used by this configuration.
2921 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2922 * unexec.c: Remove code depending on HPUX and
2923 USG_SHARED_LIBRARIES, not used with this file. Remove code
2924 depending on IRIS, unused. Remove if 0-ed code.
2925
2926 * s/template.h: Remove comments about static.
2927
2928 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2929 Remove if 0-ed code.
2930 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2931 were the same as the default.
2932 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2933 Remove boilerplate comments.
2934 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2935 (HAVE_SYSVIPC): Remove, unused.
2936 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2937
2938 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2939 Remove boilerplate comments.
2940 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2941 Remove boilerplate comments.
2942 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2943 Remove boilerplate comments.
2944 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2945
2946 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2947 USG systems which do not use DATA_SEG_BITS.
2948 Refactor code. Remove boilerplate comments.
2949
2950 * m/ibms390.h:
2951 * m/m68k.h:
2952 * s/bsd-common.h:
2953 * s/cygwin.h:
2954 * s/darwin.h:
2955 * s/freebsd.h:
2956 * s/gnu.h:
2957 * s/msdos.h: Remove boilerplate comments.
2958
2959 * m/iris4d.h: Remove boilerplate comments and code for systems that
2960 do not use this file.
2961 (IRIS_4D): Remove, unused.
2962
2963 * m/mips.h: Remove boilerplate comments and code for systems that
2964 do not use this file.
2965 (SIGN_EXTEND_CHAR):
2966 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2967 * unexmips.c: Remove file, unused.
2968
2969 * editfns.c (Fuser_full_name): Replace the only use of
2970 USER_FULL_NAME with its value.
2971 * config.in: Regenerate.
2972
29732008-07-16 David Reitter <david.reitter@gmail.com>
2974
2975 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2976 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2977
29782008-07-16 Glenn Morris <rgm@gnu.org>
2979
2980 * emacs.c (system-type): Doc fix.
2981
29822008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2983
2984 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2985 If the cache doesn't work, let's fix it, rather than work around it.
2986
29872008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2988
2989 * Makefile.in: Correct additions for nsfont.o in last commit.
2990 * nsfont.m: New file (forgot last commit).
2991
29922008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2993
2994 * callproc.c (set_initial_environment): Initialize
2995 Vprocess_environment under CANNOT_DUMP (fixes crash when
2996 batch-compiling for bootstrap).
2997
29982008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2999 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3000
3001 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3002 fix crash due to different init order.
3003
30042008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3005
3006 Changes and additions for NeXTstep windowing system (Cocoa and
3007 GNUstep) support.
3008
3009 * Makefile.in:
3010 * config.in: Support defines and build commands for NS port.
3011 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3012 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3013 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3014 windowing.
3015 (struct face): Add synth_ital field.
3016 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3017 (init_display): Initialize Vinitial_window_system to "ns" when so
3018 compiled.
3019 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3020 (display_arg): Use under NS.
3021 (main): Under NS, allocate autorelease pool and handle command line
3022 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3023 (standard_args): Add NS-specific args.
3024 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3025 * font.c (DEFAULT_ENCODING): New variable.
3026 (font_find_for_lface): Use it.
3027 (syms_of_font): Load syms_of_nsfont under NS.
3028 * font.h: Declare nsfont_driver when compiled under NS.
3029 * fontset.c: When compiling under NS, include nsterm.h.
3030 (fontset_from_font): Autoconstruct fontset under NS.
3031 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3032 symbol, document and use it.
3033 (do_switch_frame): When for_deletion under Cocoa, add
3034 Fraise_frame(Qnil).
3035 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3036 (x_get_arg): Allow "yes" and "no" as boolean values.
3037 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3038 Qright under Cocoa.
3039 (focus-follows-mouse): Default to 0 under NS.
3040 * frame.h (enum output_method): Add output_ns.
3041 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3042 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3043 (FRAME_WINDOW_P): NS-specific definition.
3044 * fringe.c (max_used_fringe_bitmap): Make public.
3045 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3046 (getloadavg): Use NeXT code under descendant OS's.
3047 * image.c (includes and header section, x_create_bitmap_from_data)
3048 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3049 (image_background_transparent, x_clear_image_1)
3050 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3051 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3052 (x_to_xcolors, x_from_xcolors, x_disable_image)
3053 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3054 other GUIs, including XPM support using code originally written for
3055 Carbon GUI.
3056 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3057 using NS API.
3058 (image_ascent): Use font metrics macros instead of direct struct field
3059 access.
3060 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3061 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3062 Also, handle NS as GTK for menu bar purposes.
3063 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3064 toolkit where they differ.
3065 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3066 use cachelist, still needed under NS.
3067 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3068 (struct widget_value): Define it here for menu.c.
3069 * keymap.c (includes): Include modifier internals.
3070 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3071 NS.
3072 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3073 support for preferring sequences using certain modifiers, specified by
3074 the FIRSTONLY argument.
3075 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3076 under NS GNUstep implementation.
3077 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3078 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3079 * menu.c: Include nsterm.h under NS.
3080 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3081 (free_menubar_widget_tree_value, update_submenu_strings)
3082 (find_and_call_menu_selection): Treat NS as X and NT.
3083 (find_and_return_menu_selection): New function, used for popup menus.
3084 * nsgui.h:
3085 * nsterm.h:
3086 * nsfns.m:
3087 * nsimage.m:
3088 * nsmenu.m:
3089 * nsselect.m:
3090 * nsterm.m: New files.
3091 * process.c (wait_reading_process_output): Under NS, call ns_select()
3092 instead of plain select().
3093 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3094 beginning of buffer.
3095 * sysselect.h (init_process): Rename when compiling under Cocoa to
3096 avoid name conflict.
3097 * termhooks.h (display_info): Add ns_display_info to union.
3098 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3099 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3100 COCOA environment.
3101 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3102 unexec() signature. (Note, this will dump, but the resulting file
3103 crashes; unexosx is used instead; keeping around for reference and
3104 possible aid in getting dump working under GNUstep.)
3105 * w32gui.h (button_type, widget_value): Remove definitions (now in
3106 keyboard.h).
3107 * window.c: Include nsterm.h when compiling under NS.
3108 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3109 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3110 other GUI windowing systems.
3111 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3112 GTK.
3113 (x_consider_frame_title): Under NS, set icon type and frame
3114 modified-state indicator; use ns_set_name_as_filename() when using
3115 formatted title.
3116 (update_window_cursor): Make public when compiling under NS.
3117 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3118 (hourglass_atimer, Vhourglass_delay
3119 * xfaces.c (header section, init_frame_faces, clear_font_table)
3120 (defined_color, unload_color, x_face_list_fonts)
3121 (prepare_face_for_display): Add NS support parallel to other GUIs.
3122 Emulate GCs like other non-X GUIs.
3123 (split_font_name): Don't lowercase font name under NS.
3124 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3125 under NS.
3126 * s/darwin.h: Add support for compilation under NS.
3127
31282008-07-15 Jason Rumney <jasonr@gnu.org>
3129
3130 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3131 (w32_show_hourglass): Rename from show_hourglass.
3132 (w32_hide_hourglass): Rename from hide_hourglass.
3133 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3134 (Vhourglass_delay): Declare extern.
3135 (hourglass_started): Remove.
3136
3137 * xdisp.c (Vhourglass_delay): Remove static.
3138 (hourglass_started, start_hourglass, cancel_hourglass):
3139 Don't include these versions on WINDOWSNT.
3140
31412008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3142
3143 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3144 variables (formerly in xfns.c).
3145 (show_hourglass, hide_hourglass): New prototypes (same).
3146 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3147 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3148 in xfns.c).
3149 (syms_of_xdisp): Declare/initialize display-hourglass,
3150 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3151 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3152 formerly in xfns.c.
3153 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3154 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3155 (start_hourglass, cancel_hourglass): Remove.
3156 (show_hourglass, hide_hourglass): Remove prototypes and static
3157 modifiers.
3158 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3159 hourglass_atimer, hourglass_shown_p declaration/initialization.
3160 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3161 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3162 (start_hourglass, cancel_hourglass): Remove.
3163 (show_hourglass, hide_hourglass): Remove prototypes and static
3164 modifiers.
3165 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3166 hourglass_atimer, hourglass_shown_p declaration/initialization.
3167 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3168 (DEFAULT_HOURGLASS_DELAY): Remove.
3169 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3170 hourglass_shown_p declaration/initialization.
3171
31722008-07-14 Jason Rumney <jasonr@gnu.org>
3173
3174 * w32fns.c (w32_get_arg): Remove wrapper function.
3175 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3176 directly.
3177 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3178
31792008-07-14 Kenichi Handa <handa@m17n.org>
3180
3181 * xfont.c (xfont_open): Add workaround for X's bug.
3182
31832008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3184
3185 * fontset.c: Include <stdio.h> unconditionally.
3186
31872008-07-13 Michael Albinus <michael.albinus@gmx.de>
3188
3189 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3190 for filtering.
3191
31922008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3193
3194 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3195
3196 * m/macppc.h:
3197 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3198
3199 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3200 (SPECIAL_EMACS_INT):
3201 * m/ia64.h (SPECIAL_EMACS_INT):
3202 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3203 * s/gnu.h (NLIST_STRUCT):
3204 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3205 * s/gnu-linux.h (LINUX):
3206 * s/msdos.h (HAVE_FACES):
3207 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3208
3209 * systty.h:
3210 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3211 anymore.
3212
32132008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3214
3215 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3216 always defined as int.
3217
3218 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3219 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3220 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3221 * s/freebsd.h (HAVE_WAIT_HEADER):
3222 * s/bsd-common.h (HAVE_UNION_WAIT):
3223 * s/aix4-2.h (HAVE_WAIT_HEADER):
3224 * m/mips.h (HAVE_UNION_WAIT):
3225 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3226 (COFF, static): Do not define, they are undefined later in the file.
3227
3228 * process.c (update_status): Don't use a union.
3229 (status_convert):
3230 (sigchld_handler): Use int instead of WAITTYPE.
3231
32322008-07-12 Chong Yidong <cyd@stupidchicken.com>
3233
3234 * indent.c (Fvertical_motion): Restore hscroll before moving to
3235 goal column.
3236
32372008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3238
3239 * lisp.h: Remove left over code.
3240
32412008-07-11 Andreas Schwab <schwab@suse.de>
3242
3243 * lisp.h: Fix logic in last change.
3244
3245 * menu.h: New file.
3246 * menu.c: Include it.
3247 * xmenu.c: Likewise.
3248 * Makefile.in: Update dependencies.
3249
32502008-07-11 Kenichi Handa <handa@m17n.org>
3251
3252 * fontset.c (fontset_from_font): Cancel the previous change.
3253
32542008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3255
3256 * lisp.h:
3257 * w32heap.c:
3258 * emacs.c:
3259 * alloc.c: Replace all references of NO_UNION_TYPE with
3260 USE_LISP_UNION_TYPE.
3261
3262 * m/xtensa.h (NO_UNION_TYPE):
3263 * m/vax.h (NO_UNION_TYPE):
3264 * m/template.h (NO_UNION_TYPE):
3265 * m/sparc.h (NO_UNION_TYPE):
3266 * m/mips.h (NO_UNION_TYPE):
3267 * m/macppc.h (NO_UNION_TYPE):
3268 * m/m68k.h (NO_UNION_TYPE):
3269 * m/iris4d.h (NO_UNION_TYPE):
3270 * m/intel386.h (NO_UNION_TYPE):
3271 * m/ibms390x.h (NO_UNION_TYPE):
3272 * m/ibms390.h (NO_UNION_TYPE):
3273 * m/ibmrs6000.h (NO_UNION_TYPE):
3274 * m/ia64.h (NO_UNION_TYPE):
3275 * m/hp800.h (NO_UNION_TYPE):
3276 * m/arm.h (NO_UNION_TYPE):
3277 * m/amdx86-64.h (NO_UNION_TYPE):
3278 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3279 defining it the same.
3280
32812008-07-10 Chong Yidong <cyd@stupidchicken.com>
3282
3283 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3284
32852008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3286
3287 * fileio.c:
3288 * sysdep.c
3289 * systty.h:
3290 * m/ibmrs6000.h:
3291 * m/iris4d.h:
3292 * s/aix4-2.h:
3293 * s/freebsd.h:
3294 * s/gnu-linux.h:
3295 * s/hpux10-20.h:
3296 * s/hpux11.h:
3297 * s/netbsd.h:
3298 * s/sol2-3.h:
3299 * s/sol2-4.h:
3300 * s/sol2.h:
3301 * s/usg5-4.h:
3302 * s/vms.h: Remove references to unused variables.
3303
33042008-07-10 Andreas Schwab <schwab@suse.de>
3305
3306 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3307 pattern before matching the generic family.
3308
33092008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3310
3311 * unexec.c:
3312 * s/vms.h:
3313 * s/usg5-4-2.h:
3314 * s/sol2-5.h:
3315 * s/freebsd.h:
3316 * s/darwin.h: Remove dead code.
3317
3318 * m/template.h:
3319 * m/sparc.h:
3320 * m/mips.h:
3321 * m/m68k.h:
3322 * m/iris4d.h:
3323 * m/intel386.h:
3324 * m/ibms390x.h:
3325 * m/ibms390.h:
3326 * m/ia64.h:
3327 * m/hp800.h:
3328 * m/arm.h:
3329 * m/amdx86-64.h: Remove dead code and references to unused
3330 and compiler defined symbols.
3331
3332 * unexmips.c:
3333 * unexelf.c: Remove references to desupported systems.
3334
3335 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3336
3337 * m/powermac.h: Remove boilerplate comments.
3338 (NO_REMAP): Remove unused definition.
3339
3340 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3341 define them.
3342
33432008-07-10 Kenichi Handa <handa@m17n.org>
3344
3345 * xfont.c (xfont_open): Log the reason of failure.
3346
33472008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3348
3349 * fontset.c (fontset_get_font_group):
3350 * font.c (font_check_otf): Specify argument types.
3351
33522008-07-09 Kenichi Handa <handa@m17n.org>
3353
3354 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3355 non-ASCII char is found.
3356
3357 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3358 (reorder_font_vector): Change the arg preferred_family to font.
3359 Prefer the spec matching with font.
3360 (fontset_get_font_group): New function.
3361 (fontset_find_font): Change the format of an element of a realized
3362 fontset. Use fontset_get_font_group.
3363 (fontset_font): Try the current fontset, the default fontset, the
3364 fallbacks of the current fontset, and the fallbacks of the default
3365 fontset in this order.
3366 (face_for_char): Delete the shortcut to use the current font.
3367 (fontset_from_font): Don't set fonts for Latin in the fontset.
3368
3369 * font.h (font_make_object, font_match_p): Adjust prototypes.
3370
3371 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3372
3373 * font.c (font_make_object): New arg entity and pixelsize.
3374 (font_check_otf_features, font_check_otf): New functions.
3375 (font_match_p): Check :lang, :script, and :otf properties.
3376
3377 * xfont.c (xfont_open): Adjust it for the change of
3378 font_make_object.
3379 (xfont_text_extents): Fix initial setting of metrics.
3380
3381 * ftfont.c (struct ftfont_info): New member index, delete member
3382 fc_charset_idx. Make the member order compatible with struct
3383 xftfont_info.
3384 (fc_charset_table): Change charset names to registry names.
3385 (ftfont_pattern_entity): Delete the args registry and
3386 fc_charset_idx. Change the value of :font-entity property
3387 to (FONTNAME . INDEX). Always set :registry property to
3388 `iso10646-1'.
3389 (struct ftfont_cache_data): New struct.
3390 (ftfont_lookup_cache): New arg for_face.
3391 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3392 (ftfont_driver): Set the member otf_capability.
3393 (ftfont_get_charset): Adjust it for the change of
3394 fc_charset_table.
3395 (OTF_TAG_SYM): New macro.
3396 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3397 for the change of fc_charset_table.
3398 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3399 ftfont_pattern_entity. Add FC_INDEX to objset.
3400 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3401 and ftfont_pattern_entity.
3402 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3403 font_make_object, struct ftfont_info.
3404 (ftfont_has_char): Use ftfont_get_fc_charset.
3405 (ftfont_otf_features, ftfont_otf_capability): New functions.
3406 (ftfont_shape): Use ftfont_get_otf.
3407 (ftfont_text_extents): Fix initial setting of metrics.
3408
3409 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3410 member order compatible with struct ftfont_info.
3411 (xftfont_open): Add FC_CHARSET to the pattern. Set
3412 xftfont_info->ft_size. Don't unlock the face. Check BDF
3413 properties if appropriate.
3414 (xftfont_close): Unlock the face.
3415 (xftfont_anchor_point, xftfont_shape): Deleted.
3416 (syms_of_xftfont): Don't set members anchor_point and shape of
3417 xftfont_driver.
3418
3419 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3420 font_make_object.
3421
3422 * w32font.c (w32font_open): Adjust it for the change of
3423 font_make_object.
3424 (w32font_open_internal): Don't set properties of font_object here.
3425
34262008-07-08 Chong Yidong <cyd@stupidchicken.com>
3427
3428 * macfns.c (x_create_tip_frame):
3429 * w32fns.c (x_create_tip_frame):
3430 * xfns.c (x_create_tip_frame): Pass parameter argument to
3431 face-set-after-frame-default.
3432
3433 * xfaces.c (Finternal_merge_in_global_face): Save merged
3434 attributes for the default face back into the face vector.
3435
34362008-07-08 Andreas Schwab <schwab@suse.de>
3437
3438 * fontset.h: Declare fontset_from_font. Don't declare
3439 new_fontset_from_font and fontset_from_font_name.
3440 * xterm.c: Include "fontset.h".
3441 * Makefile.in (xterm.o): Update dependencies.
3442
34432008-07-08 Glenn Morris <rgm@gnu.org>
3444
3445 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3446 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3447
34482008-07-07 Chong Yidong <cyd@stupidchicken.com>
3449
3450 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3451 (x_set_frame_parameters): Don't bind it.
3452
34532008-07-07 Juanma Barranquero <lekktu@gmail.com>
3454
3455 * w32fns.c (map_w32_filename): Declare extern.
3456
34572008-07-07 Jason Rumney <jasonr@gnu.org>
3458
3459 * w32term.c (WS_EX_LAYERED): Define if not already.
3460
34612008-07-06 Chong Yidong <cyd@stupidchicken.com>
3462
3463 * xfaces.c (set_font_frame_param): Don't try to set the font
3464 parameter if it is still unspecified in the lface.
3465
34662008-07-05 Chong Yidong <cyd@stupidchicken.com>
3467
3468 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3469 face if it didn't already exist.
3470
3471 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3472
34732008-07-05 Andreas Schwab <schwab@suse.de>
3474
3475 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3476
34772008-07-05 Chong Yidong <cyd@stupidchicken.com>
3478
3479 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3480 word-wrapping.
3481 (IT_DISPLAYING_WHITESPACE): New macro.
3482 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3483 when word-wrapping. Simplify word-wrapping logic. Use correct
3484 pixel positions when saving copies of the iterator.
3485 (display_line): Use proper wrap point if the last character on a
3486 line was preceded by whitespace.
3487
34882008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3489
3490 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3491
34922008-07-04 Kenichi Handa <handa@m17n.org>
3493
3494 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3495
3496 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3497
34982008-07-02 Jason Rumney <jasonr@gnu.org>
3499
3500 * xfns.c (syms_of_xfns): Only define x-select-font when both
3501 HAVE_FREETYPE and USE_GTK
3502
3503 * xdisp.c (next_element_from_display_vector): Move assignment out
3504 of if statement.
3505
35062008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3507
3508 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3509
3510 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3511 (syms_of_fileio): Initialize and export them.
3512 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3513
3514 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3515 (Fsystem_move_file_to_trash): New function.
3516 (syms_of_w32fns): Export it to lisp.
3517
35182008-07-01 Jason Rumney <jasonr@gnu.org>
3519
3520 * w32font.c (w32font_text_extents): Don't count overhang as part
3521 of width.
3522
35232008-06-30 Miles Bader <miles@gnu.org>
3524
3525 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3526 Add `avoid_cursor_p' field.
3527
3528 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3529 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3530 (append_glyph, append_composite_glyph, produce_image_glyph)
3531 (append_stretch_glyph): Initialize avoid_cursor_p.
3532 (get_it_property): Rename from `get_line_height_property'.
3533 (x_produce_glyphs): Use get_it_property.
3534 (handle_line_prefix, push_display_prop): New functions.
3535 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3536 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3537 New variables.
3538 (syms_of_xdisp): Initialize them.
3539
35402008-06-30 Kenichi Handa <handa@m17n.org>
3541
3542 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3543 XftDefaultSubstitute (they are called in XftFontMatch).
3544 (xftfont_open): Fix args to ftfont_font_format.
3545
3546 * ftfont.c (fc_charset_table): New member lang.
3547 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3548 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3549 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3550 (ftfont_open): Fix args to ftfont_font_format.
3551 (ftfont_font_format): New arg filename.
3552
35532008-06-30 Chong Yidong <cyd@stupidchicken.com>
3554
3555 * xfaces.c (Finternal_merge_in_global_face): If default face was
3556 modified, realize it again. Update the font face attribute.
3557
35582008-06-29 Jason Rumney <jasonr@gnu.org>
3559
3560 * w32term.c (x_set_frame_alpha): Fix logic.
3561
35622008-06-29 Kenichi Handa <handa@m17n.org>
3563
3564 * fontset.c (Finternal_char_font): Return font-object instead of
3565 font-name.
3566
3567 * composite.c (get_composition_id): Fix the width calculation for TAB.
3568
35692008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3570
3571 * indent.c (Fvertical_motion): Properly handle float column arg.
3572
35732008-06-28 Jason Rumney <jasonr@gnu.org>
3574
3575 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3576 (pfnSetLayeredWindowAttributes): New function pointer.
3577 (w32_initialize): Initialize it when supported.
3578 (x_set_frame_alpha): New function.
3579
3580 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3581 (w32_frame_parm_handlers): Set alpha handler.
3582
3583 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3584
35852008-06-27 Jason Rumney <jasonr@gnu.org>
3586
3587 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3588 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3589 (w32_to_x_charset, x_to_w32_charset)
3590 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3591 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3592 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3593 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3594 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3595 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3596 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3597 (Qw32_charset_unicode): Remove.
3598 (syms_of_w32fns): Update for above changes.
3599
3600 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3601 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3602 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3603 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3604 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3605 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3606 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3607 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3608 (syms_of_w32font): Update for above changes.
3609
36102008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3611
3612 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3613 removed #if.
3614 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3615
36162008-06-26 Juanma Barranquero <lekktu@gmail.com>
3617 Eli Zaretskii <eliz@gnu.org>
3618
3619 * makefile.w32-in (LOCAL_FLAGS):
3620 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3621
3622 * sysdep.c (_spawnlp, _getpid):
3623 Declare with explicit _cdecl instead of _CRTAPI1.
3624
3625 * editfns.c (Fget_internal_run_time):
3626 Check for WINDOWSNT with #ifdef, not #if.
3627
36282008-06-26 Jason Rumney <jasonr@gnu.org>
3629
3630 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3631
3632 * w32term.c (x_draw_glyph_string_foreground)
3633 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3634 Use FONT_HANDLE macro.
3635 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3636
3637 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3638 (uniscribe_encode_char): Use FONT_HANDLE macro.
3639
3640 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3641 (w32font_text_extents): Use precast w32_font.
3642 (w32font_close): Free cached metrics.
3643 (w32font_open_internal): Allocate space for name on stack.
3644
36452008-06-26 Chong Yidong <cyd@stupidchicken.com>
3646
3647 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3648
36492008-06-26 Jason Rumney <jasonr@gnu.org>
3650
3651 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3652 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3653
36542008-06-26 Juanma Barranquero <lekktu@gmail.com>
3655
3656 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3657
36582008-06-26 Jason Rumney <jasonr@gnu.org>
3659
3660 * w32bdf.c, w32bdf.h: Remove obsolete files.
3661
3662 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3663
3664 * w32gui.h: Don't include w32bdf.h.
3665 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3666 Remove obsolete font support.
3667
3668 * w32font.h (struct w32font_info): Remove compat_w32_font.
3669 Add hfont member.
3670 (FONT_COMPAT): Remove obsolete macro.
3671
3672 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3673 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3674 (w32font_open_internal): Remove compat code. Set new hfont member.
3675 (Fx_select_font): Use new hfont member.
3676
3677 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3678 (uniscribe_encode_char): Use new hfont member.
3679
3680 * w32term.c (x_draw_glyph_string_foreground)
3681 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3682 (x_draw_glyph_string): Use metrics in w32font_info.
3683
36842008-06-26 Kenichi Handa <handa@m17n.org>
3685
3686 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3687
36882008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3689
3690 * unexnext.c:
3691 * m/ews4800.h:
3692 * m/hp9000s300.h:
3693 * m/ibm370aix.h:
3694 * m/mips-siemens.h:
3695 * m/ncr386.h:
3696 * m/next.h:
3697 * m/pmax.h:
3698 * m/powerpcle.h:
3699 * m/tandem-s2.h:
3700 * s/386bsd.h:
3701 * s/bsd386.h:
3702 * s/bsd4-1.h:
3703 * s/bsd4-2.h:
3704 * s/bsdos2-1.h:
3705 * s/bsdos2.h:
3706 * s/bsdos3.h:
3707 * s/bsdos4.h:
3708 * s/nextstep.h:
3709 * s/ultrix4-3.h:
3710 * s/usg5-0.h:
3711 * s/usg5-2-2.h:
3712 * s/usg5-2.h:
3713 * s/usg5-4-3.h:
3714 * s/ux4800.h:
3715 * s/uxpds.h:
3716 * s/uxpv.h: Remove support for obsolete systems.
3717 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3718 Remove, insert contents in s/hpux-10.20.h.
3719 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3720 Remove, insert contents in s/aix4-2.h.
3721 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3722 * s/bsd4-3.h: Rename to ...
3723 * s/bsd-common.h: ... this.
3724 * data.c:
3725 * doc.c:
3726 * ecrt0.c:
3727 * emacs.c:
3728 * fileio.c:
3729 * floatfns.c:
3730 * keyboard.c:
3731 * mem-limits.h:
3732 * print.c:
3733 * process.c:
3734 * sysdep.c:
3735 * syssignal.h:
3736 * systty.h:
3737 * syswait.h:
3738 * term.c:
3739 * unexec.c:
3740 * unexelf.c:
3741 * unexhp9k800.c:
3742 * m/hp800.h:
3743 * m/ibmrs6000.h:
3744 * m/mips.h:
3745 * m/vax.h:
3746 * s/darwin.h:
3747 * s/freebsd.h:
3748 * s/gnu.h:
3749 * s/ms-w32.h:
3750 * s/msdos.h:
3751 * s/netbsd.h:
3752 * s/template.h: Remove references to obsolete variables.
3753
3754 * Makefile.in: Add dependencies for all unexec files.
3755 (admindir): Remove unused variable.
3756 (UNEXEC_SRC): Remove references.
3757
37582008-06-25 Chong Yidong <cyd@stupidchicken.com>
3759
3760 * xfns.c (x_default_font_parameter): If Xft is available, first
3761 try Monospace-12 for the default font.
3762
37632008-06-25 Jason Rumney <jasonr@gnu.org>
3764
3765 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3766
37672008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3768
3769 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3770
3771 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3772
37732008-06-25 Juanma Barranquero <lekktu@gmail.com>
3774
3775 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3776 <scroll-conservatively>: Fix typo in docstring.
3777
3778 * xselect.c (Fx_send_client_event): Doc fix.
3779
37802008-06-25 Kenichi Handa <handa@m17n.org>
3781
3782 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3783
3784 * font.c (font_parse_fcname): Remove unused variables.
3785 (font_sort_entites): Delete the arg SPEC. Caller changed.
3786 Fix for the case of ! best_only.
3787 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3788
3789 * lisp.h (Fstring_to_unibyte): EXFUN it.
3790
3791 * character.h (str_to_unibyte): Extern it.
3792
3793 * character.c (str_to_unibyte): New function.
3794
3795 * fns.c (Fstring_to_unibyte): New function.
3796 (syms_of_fns): Defsubr it.
3797
37982008-06-24 Kenichi Handa <handa@m17n.org>
3799
3800 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3801 DPI too.
3802 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3803
38042008-06-24 Andreas Schwab <schwab@suse.de>
3805
3806 * Makefile.in (${lispsource}loaddefs.el): Rename from
3807 ../lisp/loaddefs.el.
3808 (bootstrap-clean): Do what distclean does but don't remove
3809 Makefile.
3810 (distclean): Depend on bootstrap-clean and remove Makefile.
3811
38122008-06-24 Chong Yidong <cyd@stupidchicken.com>
3813
3814 * buffer.h (struct buffer): New member word_wrap.
3815
3816 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3817 word-wrap.
3818 (init_buffer_once): Initialize them.
3819
3820 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3821 line_wrap enum possessing three possible values.
3822
3823 * termopts.h: Replace truncate_partial_width_windows with
3824 Vtruncate_partial_width_windows.
3825
3826 * dispnew.c (direct_output_for_insert): Avoid direct output when
3827 inserting a space with word wrap on.
3828
3829 * indent.c (compute_motion): Obey integer values of
3830 truncate-partial-width-windows.
3831
3832 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3833 replacing truncate_partial_width_windows.
3834 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3835 truncate only if the window width is below that integer.
3836 (start_display, resize_mini_window, produce_stretch_glyph)
3837 (display_string, move_it_in_display_line_to): Use line_wrap.
3838 (back_to_previous_visible_line_start, reseat_1): Reset
3839 string_from_display_prop_p.
3840 (display_line): Extend default face to end of line when wrapping.
3841
38422008-06-24 Kim F. Storm <storm@cua.dk>
3843
3844 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3845 to wrap continued lines at word boundaries.
3846
38472008-06-24 Jason Rumney <jasonr@gnu.org>
3848
3849 * font.c (Ffont_face_attributes): Multiply pixel size before point
3850 conversion to avoid multiplying rounding error.
3851
38522008-06-23 Jason Rumney <jasonr@gnu.org>
3853
3854 * w32term.c (x_draw_glyph_string_background)
3855 (x_draw_glyph_string): Remove old bdf font code.
3856
3857 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3858
38592008-06-22 Kenichi Handa <handa@m17n.org>
3860
3861 * font.c (font_find_for_lface): Try the adstyle specified in
3862 the property of LFACE_FONT of LFACE (if any).
3863
38642008-06-21 Seiji Zenitani <zenitani@mac.com>
3865 Ryo Yoshitake <ryo@shiftmode.net>
3866
3867 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3868
38692008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3870
3871 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3872 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3873 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3874 (witness-emacs): Remove.
3875 (lisp, shortlisp): Move loaddefs.el earlier.
3876 (mostlyclean): Forget about witness-emacs.
3877
38782008-06-22 Glenn Morris <rgm@gnu.org>
3879
3880 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3881 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3882
38832008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3884
3885 * Makefile.in (PRECOMP): Remove.
3886 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3887 (witness-emacs): Run `compile-first'.
3888 (.el.elc): Use the new compile-onefile target.
3889
38902008-06-21 Kenichi Handa <handa@m17n.org>
3891
3892 * xftfont.c (xftfont_open): Handle QCembolden only when
3893 FC_EMBOLDEN is defined.
3894
38952008-06-21 Andreas Schwab <schwab@suse.de>
3896
3897 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3898 (.el.elc): Likewise.
3899
39002008-06-21 Miles Bader <miles@gnu.org>
3901
3902 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3903 build dir, not the lisp source dir.
3904
39052008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3906
3907 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3908 (bootstrapclean): Remove.
3909 (.el.elc): New rule.
3910 (PRECOMP): New var.
3911 (../lisp/subdirs.el): Remove.
3912 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3913 (witness-emacs): New target.
3914 (mostlyclean): Remove witness-emacs as well.
3915 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3916 Add witness-emacs dependency.
3917
39182008-06-20 Chong Yidong <cyd@stupidchicken.com>
3919
3920 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3921 defined by the font.
3922
39232008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3924
3925 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3926 (bootstrap-clean): New target that keeps TAGS around.
3927 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3928 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3929
39302008-06-20 Jason Rumney <jasonr@gnu.org>
3931
3932 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3933 Remove obsolete font code.
3934
3935 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3936 to determine language support.
3937
39382008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3939
3940 * sysdep.c (cfsetspeed): New fun extracted from the code.
3941 (cfmakeraw): Move before first use.
3942
39432008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3944
3945 * sysdep.c (cfmakeraw): Provide fallback implementation.
3946 (serial_configure): Provide fallback implementation of cfsetspeed.
3947
39482008-06-20 Kenichi Handa <handa@m17n.org>
3949
3950 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3951 the pattern.
3952
3953 * fontset.c (fontset_from_font): Copy font_spec before changing
3954 the elements.
3955
3956 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3957
39582008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3959
3960 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3961 for explicit `font' parameters.
3962
3963 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3964
39652008-06-19 Kenichi Handa <handa@m17n.org>
3966
3967 * frame.c: Include <ctype.h>.
3968 (x_set_font_backend): Allow spacing characters in the X resource
3969 for FontBackend.
3970
39712008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3972
3973 * w32fns.c, xfns.c (Qfont_param): New var.
3974 (syms_of_w32fns): Initialize it.
3975 (x_default_font_parameter): Record explicit `font' into
3976 `font-parameter'.
3977
39782008-06-18 Kenichi Handa <handa@m17n.org>
3979
3980 * font.c (font_parse_xlfd): Fix previous change.
3981 (font_parse_fcname): Don't use :fc-unknown-spec.
3982 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3983 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3984 (font_add_log): Prepend the driver name to the resulting fonts.
3985
3986 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3987 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3988 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3989
3990 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3991 (QCembolden): New variables.
3992 (syms_of_xftfont): DEFSYM them.
3993 (xftfont_open): Call XftFontMatch. Don't trust the result of
3994 XftTextExtents8 if the pixel_size is less than 5.
3995
39962008-06-18 Andreas Schwab <schwab@suse.de>
3997
3998 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3999 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4000
40012008-06-18 Jason Rumney <jasonr@gnu.org>
4002
4003 * w32font.c (w32font_list, w32font_match): Add logging.
4004
4005 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4006
40072008-06-17 Chong Yidong <cyd@stupidchicken.com>
4008
4009 * font.c (font_parse_fcname): Store divider characters for
4010 unknown-spec list. For known key symbols, intern using correct
4011 symbol name.
4012
40132008-06-17 Kenichi Handa <handa@m17n.org>
4014
4015 * xfaces.c (realize_default_face): If the frame is not on window
4016 system, set the fontset of face to nil.
4017
40182008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4019
4020 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4021
40222008-06-16 Juanma Barranquero <lekktu@gmail.com>
4023
4024 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4025 (build_font_name_from_vector): Delete externs.
4026
4027 * xfaces.c (struct font_name): Don't declare.
4028
40292008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4030
4031 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4032
40332008-06-16 Chong Yidong <cyd@stupidchicken.com>
4034
4035 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4036
40372008-06-16 Juanma Barranquero <lekktu@gmail.com>
4038
4039 * font.c (Ffont_spec): Fix usage in docstring.
4040 (Ffont_face_attributes): Doc fix.
4041
40422008-06-16 Andreas Schwab <schwab@suse.de>
4043
4044 * font.c (Ffont_face_attributes): Fix definition.
4045
40462008-06-16 Jason Rumney <jasonr@gnu.org>
4047
4048 * font.h (font_style_symbolic_from_value): Remove.
4049
4050 * font.c (font_style_symbolic_from_value): Remove.
4051 (font_style_symbolic): Revert to pre 2008-06-13 version.
4052
4053 * w32font.c (w32_to_fc_weight): New function.
4054 (w32font_full_name, logfont_to_fcname): Use it.
4055
40562008-06-16 Kenichi Handa <handa@m17n.org>
4057
4058 * font.c (font_check_object): Delete it.
4059 (font_clear_cache): Check if a font-object is alive.
4060 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4061 font-object to nil.
4062 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4063 (font_at): Don't call font_check_object.
4064 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4065
40662008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4067
4068 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4069
40702008-06-16 Chong Yidong <cyd@stupidchicken.com>
4071
4072 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4073
40742008-06-15 Chong Yidong <cyd@stupidchicken.com>
4075
4076 * font.c (font_parse_fcname): Only one decimal point.
4077 (font_unparse_fcname): Handle data in family and foundry indices
4078 as symbols, not strings.
4079 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4080
4081 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4082
4083 * font.h (font_unparse_gtkname): Add prototype.
4084
40852008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4086
4087 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4088
40892008-06-15 Andreas Schwab <schwab@suse.de>
4090
4091 * font.c (font_update_drivers): Fix crash when no drivers match.
4092
40932008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4094
4095 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4096 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4097
40982008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4099
4100 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4101
41022008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4103
4104 * process.c (Fserial_process_configure, Fprocess_send_eof):
4105 Use EQ to compare Lisp_Objects.
4106
41072008-06-13 Jason Rumney <jasonr@gnu.org>
4108
4109 * w32fns.c (Fw32_select_font): Remove old font API function.
4110
4111 * w32font.c (logfont_to_fcname): New function.
4112 (Fx_select_font): New font dialog function compatible with
4113 GTK/fontconfig version.
4114
4115 * font.c (font_style_symbolic_from_value): New function.
4116 (font_style_symbolic): Use it.
4117
4118 * font.h (font_style_symbolic_from_value): Declare new function.
4119
41202008-06-13 Juanma Barranquero <lekktu@gmail.com>
4121
4122 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4123 <font-width-table>: Fix typos in docstrings.
4124
41252008-06-13 Daniel Engeler <engeler@gmail.com>
4126
4127 These changes add serial port access.
4128 * process.c: Add HAVE_SERIAL.
4129 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4130 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4131 (list_processes_1, select_wrapper, Fstop_process)
4132 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4133 (status_notify): Modify to handle serial processes.
4134 [HAVE_SERIAL] (Fserial_process_configure)
4135 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4136 New functions.
4137 * process.h (struct Lisp_Process): Add `type'.
4138 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4139 New functions.
4140 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4141 serial ports.
4142 (serial_open, serial_configure) New functions.
4143 * w32.h: Add FILE_SERIAL.
4144 (struct _child_process): Add ovl_read, ovl_write.
4145
41462008-06-13 Kenichi Handa <handa@m17n.org>
4147
4148 * dispextern.h (enum lface_attribute_index): New member
4149 LFACE_FOUNDRY_INDEX.
4150
4151 * font.c (font_score): Delete arg alternate_families. Check only
4152 weight, slant, width, and size. Ignore the difference of alias
4153 style symbols.
4154 (font_sort_entites): Adjust for the above change. Reflect the
4155 order of font-driver to scores.
4156 (font_list_entities): Don't check alternate_familes here.
4157 (font_clear_prop): Handle foundry.
4158 (font_update_lface): Don't parse "foundry-family" form here.
4159 Handle FONT_FOUNDRY_INDEX.
4160 (font_find_for_lface): Likewise. Handle alternate families here.
4161 If registry is nil, try iso8859-1 and ascii-0.
4162 (font_open_for_lface): Pay attention to size in ENTITY.
4163 (font_open_by_name): Simplify by calling font_load_for_lface.
4164 (free_font_driver_list): Delete it.
4165 (font_update_drivers): Preserve the order of backends.
4166 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4167 of font_score and font_sort_entites.
4168 (font_update_sort_order): Likewise.
4169
4170 * xfaces.c (LFACE_FOUNDRY): New macro.
4171 (check_lface_attrs): Check foundry.
4172 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4173 (merge_face_vectors): Check foundry.
4174 (merge_face_ref): Likewise.
4175 (Finternal_set_lisp_face_attribute): Likewise.
4176 (x_update_menu_appearance): Likewise.
4177 (Finternal_get_lisp_face_attribute): Likewise.
4178 (lface_hash): Likewise.
4179 (lface_same_font_attributes_p): Likewise.
4180 (x_supports_face_attributes_p): Likewise.
4181 (tty_supports_face_attributes_p): Likewise.
4182 (Finternal_set_alternative_font_family_alist): Intern strings.
4183 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4184 (realize_default_face): Set LFACE_FOUNDRY (lface).
4185
4186 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4187 font-driver at first.
4188
4189 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4190
41912008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4192
4193 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4194
41952008-06-12 Jim Meyering <meyering@redhat.com>
4196
4197 Make unexec_free handle NULL the same way free does.
4198 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4199
42002008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4201
4202 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4203 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4204 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4205 (WEAK_ALIAS): Simplify.
4206 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4207 when searching a unibyte buffer.
4208
42092008-06-12 Chong Yidong <cyd@stupidchicken.com>
4210
4211 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4212
42132008-06-12 Juanma Barranquero <lekktu@gmail.com>
4214
4215 * w32font.c: Include ctype.h.
4216
42172008-06-11 Jason Rumney <jasonr@gnu.org>
4218
4219 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4220 misreported as space.
4221 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4222 as aliases for registry iso10646-1.
4223
42242008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4225
4226 * buffer.c (clone_per_buffer_values): Skip `name'.
4227
42282008-06-11 Chong Yidong <cyd@stupidchicken.com>
4229
4230 * font.c (font_parse_fcname): Fix last change; accept decimal
4231 points in font size.
4232
42332008-06-10 Jason Rumney <jasonr@gnu.org>
4234
4235 * w32uniscribe.c (add_opentype_font_name_to_list):
4236 Skip non unicode fonts.
4237
42382008-06-10 Chong Yidong <cyd@stupidchicken.com>
4239
4240 * xfns.c (Fx_font_dialog): New function.
4241
4242 * gtkutil.c (xg_dialog_response_cb): Rename from
4243 xg_file_response_callback.
4244 (pop_down_dialog): Rename from pop_down_file_dialog.
4245 (xg_get_file_name): Callers changed.
4246 (xg_get_font_name): New function.
4247
4248 * gtkutil.h (xg_get_font_name): Insert prototype.
4249
42502008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4251
4252 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4253 x_underline_minimum_display_offset.
4254 (syms_of_xdisp): Declare it here rather than in xterm.c.
4255 * dispextern.h (underline_minimum_offset): Declare it.
4256 * w32term.c (x_draw_glyph_string): Use it.
4257 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4258 (syms_of_xterm): Don't declare it any more.
4259 (x_draw_glyph_string): Adjust to the new name.
4260
42612008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4262
4263 * xterm.c (x_underline_minimum_display_offset): New var.
4264 (x_draw_glyph_string): Use it.
4265 (syms_of_xterm): Declare it.
4266
42672008-06-10 Chong Yidong <cyd@stupidchicken.com>
4268
4269 * font.c (font_parse_fcname): Accept GTK-style font names too.
4270
42712008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4272
4273 * dired.c (file_name_completion): Don't return t if the match is exact
4274 but with different capitalization.
4275 * minibuf.c (Ftry_completion): Simplify.
4276
4277 * window.c (Vwindow_point_insertion_type): New var.
4278 (set_window_buffer): Use it.
4279 (syms_of_window): Init and export it to Lisp.
4280
42812008-06-10 Kenichi Handa <handa@m17n.org>
4282
4283 * font.h (font_intern_prop): Prototype adjusted.
4284
4285 * font.c (font_intern_prop): New arg force_symbol.
4286 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4287 Adjust for the change of font_intern_prop.
4288
4289 * ftfont.c (ftfont_pattern_entity):
4290 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4291 (w32_registry):
4292 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4293 the change of font_intern_prop.
4294
42952008-06-09 Juanma Barranquero <lekktu@gmail.com>
4296
4297 * w32menu.c (digest_single_submenu): Declare extern.
4298
42992008-06-09 Jason Rumney <jasonr@gnu.org>
4300
4301 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4302
4303 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4304 (parse_single_submenu): Remove.
4305 (digest_single_submenu): Remove.
4306 (syms_of_w32menu): Don't initialise variables that have moved
4307 to menu.c.
4308 (set_frame_menubar): Sync with version in xmenu.c.
4309 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4310
4311 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4312 Make static again.
4313
43142008-06-09 Jason Rumney <jasonr@gnu.org>
4315
4316 Changes to w32 files related to the move of common menu code
4317 to menu.c on 2008-06-08 by Chong Yidong.
4318
4319 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4320 defs to w32gui.h.
4321 (single_keymap_panes, push_menu_item, push_menu_pane):
4322 Make globally visible.
4323
4324 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4325 (local_free, malloc_widget_value, free_widget_value)
4326 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4327 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4328 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4329 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4330 (menu_items, menu_items_allocated, menu_items_used)
4331 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4332 (init_menu_items, finish_menu_items, discard_menu_items)
4333 (grow_menu_items, push_submenu_start, push_submenu_end)
4334 (push_left_right_boundary, push_menu_pane, push_menu_item)
4335 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4336 (free_menubar_widget_tree_value, parse_single_submenu)
4337 (update_submenu_strings): Remove functions.
4338 (xmalloc_widget_value): Remove and declare extern.
4339
4340 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4341 (OBJ1): Build it.
4342
4343 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4344 (local_heap, local_alloc, local_free, malloc_widget_value)
4345 (free_widget_value): Define here.
4346
43472008-06-09 Kenichi Handa <handa@m17n.org>
4348
4349 * font.h (Qascii_0): Extern it.
4350
4351 * font.c (Qascii_0): New variable.
4352 (syms_of_font): DEFSYM it.
4353 (font_open_by_name): If the registry "iso8859-1" fails, try also
4354 "ascii-0".
4355
4356 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4357
43582008-06-08 Kenichi Handa <handa@m17n.org>
4359
4360 * .gdbinit (xfont): New command.
4361
43622008-06-08 Andreas Schwab <schwab@suse.de>
4363
4364 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4365 * Makefile.in (menu.o): Update dependencies.
4366
4367 * Makefile.in (obj): Always add menu.o.
4368 * emacs.c (main): Always call syms_of_menu.
4369 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4370
43712008-06-08 Chong Yidong <cyd@stupidchicken.com>
4372
4373 * Makefile.in: Compile menu.c.
4374
4375 * lisp.h: Declare syms_of_menu.
4376
4377 * emacs.c (main): Call syms_of_menu.
4378
4379 * keyboard.h: Relocate platform-independent menu definitions from
4380 xmenu.c.
4381
4382 * menu.c: New file. Relocate platform-independent menu
4383 definitions from xmenu.c. Suggested by Adrian Robert.
4384
4385 * xmenu.c: Remove platform-independent menu definitions.
4386 (menu_items menu_items_inuse, menu_items_allocated)
4387 (menu_items_used, menu_items_n_panes)
4388 (menu_items_submenu_depth): Move to keyboard.h.
4389 (init_menu_items, finish_menu_items, unuse_menu_items)
4390 (discard_menu_items, restore_menu_items, save_menu_items)
4391 (grow_menu_items, push_submenu_start, push_submenu_end)
4392 (push_left_right_boundary, push_menu_pane, push_menu_item)
4393 (keymap_panes, single_keymap_panes, single_menu_item)
4394 (list_of_panes, list_of_items, find_and_call_menu_selection)
4395 (xmalloc_widget_value, free_menubar_widget_value_tree)
4396 (parse_single_submenu, digest_single_submenu)
4397 (update_submenu_strings): Move to menu.c.
4398
43992008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4400
4401 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4402
44032008-06-06 Miles Bader <miles@gnu.org>
4404
4405 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4406 face, not frame default.
4407
44082008-06-05 Martin Rudalics <rudalics@gmx.at>
4409
4410 * window.c (pop_up_windows, pop_up_frames)
4411 (display_buffer_reuse_frames, Vpop_up_frame_function)
4412 (Vdisplay_buffer_function, Veven_window_heights)
4413 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4414 (Vspecial_display_function, Vsame_window_buffer_names)
4415 (Vsame_window_regexps, split_height_threshold)
4416 (Vsplit_window_preferred_function): Move those vars to window.el.
4417 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4418 (Fdisplay_buffer): Move those functions to window.el.
4419 (syms_of_window): Remove corresponding declarations.
4420 (display_buffer): New function.
4421 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4422 * dispnew.c (Flast_nonminibuf_frame): New function.
4423 * buffer.c (Fpop_to_buffer): Move to window.el.
4424
44252008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4426
4427 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4428
44292008-06-05 Kenichi Handa <handa@m17n.org>
4430
4431 * coding.c (detect_coding): Fix previous change.
4432 (detect_coding_system): Likewise.
4433
44342008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4435
4436 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4437
4438 * keymap.c (Vminibuffer_local_filename_must_match_map):
4439 Rename from Vminibuffer_local_must_match_filename_map.
4440 (syms_of_keymap):
4441 * minibuf.c (Fcompleting_read): Adjust accordingly.
4442 * commands.h: Rename declaration as well.
4443
44442008-06-05 Kenichi Handa <handa@m17n.org>
4445
4446 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4447 family name.
4448 (Ffont_put): Likewise.
4449
4450 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4451 current font-spec.
4452
4453 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4454 is unspecified.
4455
4456 * xfaces.c (realize_x_face): If the font-related face attributes
4457 are the same as those of default face, realize a new fontset from
4458 default->fontset.
4459 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4460
44612008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4462
4463 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4464 (move_it_in_display_line): New wrapper.
4465
4466 * window.c (window_scroll_pixel_based_preserve_x)
4467 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4468 (window_scroll_pixel_based, window_scroll_line_based):
4469 Use them to preserve column positions.
4470 (syms_of_window): Initialize them.
4471
4472 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4473 (HPOS . VPOS) pair.
4474
4475 * dispextern.h (move_it_in_display_line): Declare.
4476
44772008-06-05 Juanma Barranquero <lekktu@gmail.com>
4478
4479 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4480 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4481 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4482
44832008-06-04 Juanma Barranquero <lekktu@gmail.com>
4484
4485 * window.c (Fset_window_parameter): Doc fix.
4486 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4487
44882008-06-04 Joakim Verona <joakim@verona.se>
4489
4490 * window.h (struct window): Add new member window_parameters.
4491
4492 * window.c (Fwindow_parameters, Fwindow_parameter)
4493 (Fset_window_parameter): New defuns.
4494 (syms_of_window): Defsubr the new defuns.
4495 (make_window): Initialize window_parameters to nil.
4496
44972008-06-04 John Paul Wallington <jpw@pobox.com>
4498
4499 * eval.c (Fdefmacro): Doc fix.
4500
45012008-06-04 Kenichi Handa <handa@m17n.org>
4502
4503 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4504 Be sure to call setup_coding_system when we find a proper coding system.
4505 (detect_coding_system): Fix handling of coding->head_ascii.
4506
45072008-06-03 Andreas Schwab <schwab@suse.de>
4508
4509 * font.c (font_prop_validate_spacing): Fix last change.
4510
45112008-06-03 Kenichi Handa <handa@m17n.org>
4512
4513 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4514 (font_parse_fcname): Fix handling of unknown key.
4515
4516 * xfont.c (xfont_list): Try an alias.
4517
4518 * charset.c (char_charset): Return NULL if the arg charset_list is
4519 specified and C doesn't belong to any of them.
4520
45212008-06-02 Chip Coldwell <coldwell@redhat.com>
4522
4523 * font.c (font_pixel_size): Don't take cdr of an integer.
4524
45252008-06-02 Jim Meyering <meyering@redhat.com>
4526
4527 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4528 * alloc.c (xfree): Return right away for a NULL arg.
4529 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4530 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4531 * mac.c (create_apple_event_from_event_ref): Likewise.
4532 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4533 Likewise.
4534 * doprnt.c (doprnt1): Likewise.
4535 * frame.c (frame): Likewise.
4536 * keyboard.c (wipe_kboard): Likewise.
4537 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4538 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4539 * term.c (tty_default_color_capabilities, maybe_fatal)
4540 (delete_tty): Likewise.
4541 * w16select.c (string): Likewise.
4542 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4543 * w32bdf.c (w32_free_bdf_font): Likewise.
4544 * w32fns.c (w32_unload_font): Likewise.
4545 * w32font.c (w32font_close): Likewise.
4546 * window.c (size_window): Likewise.
4547 * xselect.c (receive_incremental_selection): Likewise.
4548 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4549 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4550 * w32.c (stat): Likewise.
4551
4552 Remove useless if-before-free tests.
4553 * editfns.c (Fset_time_zone_rule): Likewise.
4554 * lread.c (nosuffix): Likewise.
4555 * ralloc.c (get_bloc): Likewise.
4556 * regex.c (reg_free): Likewise.
4557 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4558 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4559 * xsmfns.c (smc_save_yourself_CB): Likewise.
4560
45612008-06-02 Kenichi Handa <handa@m17n.org>
4562
4563 * font.c (font_find_for_lface): Handle float font size.
4564 (font_open_for_lface): Likewise.
4565
4566 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4567 comparing the properties.
4568
45692008-06-01 Jason Rumney <jasonr@gnu.org>
4570
4571 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4572 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4573 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4574 Don't add empty script list.
4575 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4576
45772008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4578
4579 * Makefile.in (dot, dotdot): Remove, update users.
4580 ".." has been used elsewhere in the file for a long time.
4581 (LIBXT_STATIC): Remove conditional based on unused variable.
4582
45832008-06-01 Miles Bader <miles@gnu.org>
4584
4585 * xfaces.c (Vface_remapping_alist): New variable.
4586 (syms_of_xfaces): Initialize it.
4587 (enum named_merge_point_kind): New type.
4588 (struct named_merge_point): Add `named_merge_point_kind' field.
4589 (push_named_merge_point): Make cycle detection respect different
4590 named-merge-point kinds.
4591 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4592 Remove face-name alias resolution.
4593 (lface_from_face_name): New definition using
4594 `lface_from_face_name_no_resolve'.
4595 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4596 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4597 (get_lface_attributes): New definition that layers face-remapping on
4598 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4599 (lookup_basic_face): New function.
4600 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4601 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4602 `get_lface_attributes'.
4603 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4604 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4605 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4606
4607 * xdisp.c (init_iterator): Pass base_face_id through
4608 `lookup_basic_face' when we actually use it as a face-id.
4609 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4610 DEFAULT_FACE_ID.
4611
4612 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4613 lookup the initial face-id.
4614
4615 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4616
46172008-06-01 Juanma Barranquero <lekktu@gmail.com>
4618
4619 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4620 (Fremove_text_properties): Fix typos in docstrings.
4621
46222008-05-31 Kenichi Handa <handa@m17n.org>
4623
4624 * font.c (font_list_entities): Fix the car part of data to be
4625 stored in the cache.
4626
4627 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4628
46292008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4630
4631 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4632 Add a `test' argument so another predicate than `equal' can be used.
4633 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4634 (map_char_table): Remove unused vars `c' and `i'.
4635 * lisp.h (Foptimize_char_table): Adjust declaration.
4636 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4637
46382008-05-30 Kenichi Handa <handa@m17n.org>
4639
4640 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4641 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4642 defined.
4643
46442008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4645
4646 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4647 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4648 frame-local settings for the same variable.
4649
46502008-05-30 Kenichi Handa <handa@m17n.org>
4651
4652 * fontset.c (Ffont_info): Move to font.c.
4653 (syms_of_fontset): Delete defsubr of Sfont_info.
4654
4655 * font.c (font_style_to_value, font_score): Delete casting of the
4656 args to xstcasecmp.
4657 (register_font_driver): Increment num_font_drivers only when
4658 registering the driver globally.
4659 (Ffont_info): Move from fontset.c. Handle a font object too.
4660 (syms_of_font): Defsubr Sfont_info.
4661
46622008-05-29 Kenichi Handa <handa@m17n.org>
4663
4664 * coding.h (enum define_coding_utf8_arg_index): New enum.
4665 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4666 coding_attr_utf_bom.
4667 (enum utf_bom_type): Rename from utf_16_bom_type.
4668 (struct utf_16_spec): Adjust for the above change.
4669 (struct coding_system): Add utf_8_bom in `spec' union.
4670
4671 * coding.c (CODING_UTF_8_BOM): New macro.
4672 (enum coding_category): Delete coding_category_utf_8, add
4673 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4674 coding_category_utf_8_sig.
4675 (CATEGORY_MASK_UTF_8): Delete it.
4676 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4677 (CATEGORY_MASK_UTF_8_SIG): New macros.
4678 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4679 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4680 CATEGORY_MASK_UTF_8_SIG.
4681 (CATEGORY_MASK_UTF_8): New macro.
4682 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4683 (detect_coding_utf_8): Check BOM.
4684 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4685 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4686 (encode_coding_utf_16): Likewise.
4687 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4688 (detect_coding, detect_coding_system): Handle utf-8-auto.
4689 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4690 (syms_of_coding): Fix setting up of Vcoding_category_table.
4691
46922008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4693
4694 * process.c (Faccept_process_output): If `millisec' is non-nil,
4695 `seconds' default to 0.
4696 (wait_reading_process_output): Also return non-nil if we read output
4697 from a non-running process.
4698
46992008-05-29 Jason Rumney <jasonr@gnu.org>
4700
4701 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4702 `raster' specified.
4703 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4704 in the uniscribe backend, but disallow any font that has no
4705 unicode subrange support.
4706
47072008-05-29 Juanma Barranquero <lekktu@gmail.com>
4708
4709 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4710 Fix typos in docstrings.
4711
47122008-05-29 Kenichi Handa <handa@m17n.org>
4713
4714 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4715 (Fx_family_fonts): Set frame correctly.
4716
47172008-05-28 Jason Rumney <jasonr@gnu.org>
4718
4719 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4720
47212008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4722
4723 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4724 calling build_annotations.
4725
47262008-05-28 Juanma Barranquero <lekktu@gmail.com>
4727
4728 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4729 (Fencode_coding_string):
4730 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4731 <latin-extra-code-table>: Fix typos in docstrings.
4732 (syms_of_coding) <coding-system-alist>: Doc fix.
4733 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4734
47352008-05-28 Kenichi Handa <handa@m17n.org>
4736
4737 * fontset.c (Ffont_info): Don't call font_close_object.
4738
4739 * font.c (font_parse_family_registry): Use Ffont_put to validate
4740 foundry and family.
4741 (font_delete_unmatched): Don't check spacing.
4742 (font_list_entities): Add spacing to the spec to list fonts.
4743
4744 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4745 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4746
4747 * coding.c (encode_coding_raw_text): Fix previous change.
4748 (encode_coding_object): When the dst_object is a buffer and is
4749 different from src_object, move gap to PT.
4750
47512008-05-27 Chong Yidong <cyd@stupidchicken.com>
4752
4753 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4754
47552008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4756
4757 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4758 all branches. Compute it differently.
4759
4760 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4761
47622008-05-27 Juanma Barranquero <lekktu@gmail.com>
4763
4764 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4765 into "else if () ... else ...".
4766
47672008-05-27 Jason Rumney <jasonr@gnu.org>
4768
4769 * w32font.c (w32font_open_internal): Determine if glyph indices
4770 are likely to work here.
4771
47722008-05-27 Chong Yidong <cyd@stupidchicken.com>
4773
4774 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4775 draw overlap glyphs with appropriate highlighting.
4776
47772008-05-27 Kenichi Handa <handa@m17n.org>
4778
4779 * xfont.c (xfont_open): Fix calculation of font->average_width.
4780
47812008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4782
4783 * casefiddle.c (casify_object): Try to guess better whether the
4784 argument is a byte or a char.
4785
47862008-05-26 Andreas Schwab <schwab@suse.de>
4787
4788 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4789 Always send multiples of format size.
4790
4791 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4792
47932008-05-26 Jason Rumney <jasonr@gnu.org>
4794
4795 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4796 (compute_metrics): Don't set failure if we just cleared the cache.
4797 (w32_weight_table): Remove unused variable.
4798 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4799 backwards compatibility.
4800
48012008-05-25 Kenichi Handa <handa@m17n.org>
4802
4803 * w32term.c (x_draw_glyph_string):
4804 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4805
4806 * xfaces.c: Delete unused function prototypes.
4807 (xstrlwr, font_frame): Delete them.
4808 (clear_face_cache): Delete unused variable.
4809
4810 * xftfont.c (xftfont_open): Delete unused variable.
4811 If underline_thickness is not 1, adjust underline_position.
4812
4813 * ftxfont.c (ftxfont_open): Delete unused variable.
4814
4815 * fontset.c (face_for_char): Optimize for the case of no charset
4816 property.
4817
4818 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4819 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4820 (otf_open, font_otf_capability, generate_otf_features)
4821 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4822 Comment out by surrounding "#if 0" and "#endif" for the moment.
4823 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4824 (syms_of_font): Codes for accessing above commented out.
4825
48262008-05-24 Eli Zaretskii <eliz@gnu.org>
4827
4828 * w32proc.c: Include dispextern.h.
4829
4830 * w32.c: Include dispextern.h.
4831
48322008-05-23 Juanma Barranquero <lekktu@gmail.com>
4833
4834 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4835 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4836 Fix typos in docstrings.
4837
48382008-05-23 Jason Rumney <jasonr@gnu.org>
4839
4840 * xsmfns.c: Remove includes that are already included by config.h.
4841
48422008-05-23 Kenichi Handa <handa@m17n.org>
4843
4844 * charset.c (Qemacs, charset_emacs): New variables.
4845 (char_charset): Fix for non-Unicode characters.
4846 (syms_of_charset): Define charset_emacs.
4847
4848 * w32term.c (x_draw_glyph_string): Be sure to update
4849 s->underline_thickness and s->underline_position. Be sure to draw
4850 underline within the current line area.
4851
4852 * xterm.c (x_draw_glyph_string): Be sure to update
4853 s->underline_thickness and s->underline_position. Be sure to draw
4854 underline within the current line area.
4855
4856 * fontset.c: Delete unused variables and add casting for char *
4857 throughout the file.
4858 (fontset_font): Try the fallback fonts of the current fontset
4859 before consulting the default fontset.
4860
4861 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4862
4863 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4864
48652008-05-22 Jason Rumney <jasonr@gnu.org>
4866
4867 * font.c: Don't include strings.h.
4868
4869 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4870
4871 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4872 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4873 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4874 to call xstrcasecmp.
4875
4876 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4877
4878 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4879
4880 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4881
4882 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4883
48842008-05-22 Kenichi Handa <handa@m17n.org>
4885
4886 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4887
4888 * font.c (font_prop_validate_style): Adjust for the format
4889 change of font_style_table.
4890
4891 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4892 two args.
4893
4894 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4895 two args.
4896
48972008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4898
4899 * minibuf.c (keys_of_minibuf): Delete.
4900 * lisp.h (keys_of_minibuf): Delete.
4901 * emacs.c (main): Don't call keys_of_minibuf.
4902
49032008-05-22 Kenichi Handa <handa@m17n.org>
4904
4905 * ftfont.c (ftfont_resolve_generic_family): Rename from
4906 ftfont_list_generic_family. Return a single family for each
4907 generic family.
4908 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4909 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4910 Call font_add_log.
4911 (ftfont_match): Call font_add_log.
4912
4913 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4914 (FONT_DEBUG): Define it.
4915 (font_add_log): Extern it.
4916 (font_assert): Rename from xassert.
4917
4918 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4919 (xfont_list_family): Call font_add_log.
4920 (xfont_match): Likewise.
4921 (memq_no_quit): Delete.
4922
4923 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4924 call of Ffont_xlfd_name.
4925
4926 * xfaces.c (struct table_entry, slant_table, weight_table)
4927 (swidth_table): Move to font.c.
4928
4929 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4930 xassert are changed to font_assert. Delete many unused variables.
4931 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4932 New variables.
4933 (struct table_entry): Move from xfaces.c and modified.
4934 (weight_table, slant_table, width_table): Move from xfaces.c and
4935 contents adjusted for the change of struct table_entry.
4936 (font_style_to_value, font_style_symbolic): Adjust for the
4937 format change of font_style_table.
4938 (font_parse_family_registry): Don't overwrite existing foundry and
4939 family of font_spec.
4940 (font_score): Fix calculation of diff for sizes.
4941 (font_sort_entites): Call font_add_log.
4942 (font_delete_unmatched): Return a newly created list.
4943 (font_list_entities): Fix previous change. Call font_add_log.
4944 (font_matching_entity, font_open_entity, font_close_entity):
4945 Call font_add_log.
4946 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4947 (Finternal_set_font_style_table): Delete.
4948 (BUILD_STYLE_TABLE): New macro.
4949 (build_style_table): New function.
4950 (Vfont_log, font_log_env_checked): New variables.
4951 (font_add_log): New function.
4952 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4953 Declare Lisp variables "font-weight-table", "font-slant-table",
4954 "font-width-table", and "font-log". Initialize font_style_table.
4955
49562008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4957
4958 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4959
49602008-05-21 Seiji Zenitani <zenitani@mac.com>
4961 Ryo Yoshitake <ryo@shiftmode.net>
4962
4963 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4964 (Vframe_alpha_lower_limit): New variable.
4965 (x_set_alpha): New function.
4966
4967 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4968
4969 * xfns.c (x-create-frame, Qalpha):
4970 Initialize the frame parameter `alpha'.
4971 * xterm.c (OPAQUE, OPACITY): New.
4972 (x_set_frame_alpha): New function.
4973 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4974
4975 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4976 * w32fns.c (w32_frame_parm_handlers): Likewise.
4977
49782008-05-20 Jason Rumney <jasonr@gnu.org>
4979
4980 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4981 truetype fonts to opentype list.
4982
49832008-05-20 Juanma Barranquero <lekktu@gmail.com>
4984
4985 * fontset.c (Ffontset_info): Doc fix.
4986 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4987 <ignore-relative-composition>: Fix typos in docstrings.
4988
4989 * font.c (syms-of-font) <font-encoding-alist>:
4990 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4991 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4992 (Ffont_otf_alternates): Doc fixes.
4993
49942008-05-20 Kenichi Handa <handa@m17n.org>
4995
4996 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4997 font.h through out the file.
4998 (FONT_DRIVERS): Rename from FONTOBJ.
4999 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5000 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5001
5002 * emacs.c (main): Call syms_of_font unconditionally.
5003
5004 * font.h (find_font_encoding): Extern it.
5005
5006 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5007 fontset.c.
5008 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5009 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5010 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5011 only when HAVE_WINDOW_SYSTEM is defined.
5012 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5013 when HAVE_WINDOW_SYSTEM is defined.
5014
5015 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5016 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5017
5018 * xfaces.c: Include font.h unconditionally.
5019 (merge_face_ref, merge_face_vectors)
5020 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5021
50222008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5023
5024 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5025 indirect_variable.
5026 * eval.c (lisp_indirect_variable): New fun.
5027 (Fuser_variable_p): Use it.
5028
50292008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5030
5031 * lisp.h (indirect_variable):
5032 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5033 Use Lisp_Symbol pointers rather than Lisp_Object.
5034 Adjust callers.
5035 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5036 To this end, change calling-convention.
5037
5038 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5039 if some non-hidden buffers are selected by string&pred.
5040
50412008-05-19 Chong Yidong <cyd@stupidchicken.com>
5042
5043 * process.c (wait_reading_process_output): Always check status
5044 when in batch mode.
5045
50462008-05-19 Kenichi Handa <handa@m17n.org>
5047
5048 * font.c (font_list_entities): Fix handling of cache.
5049 (font_matching_entity): Likewise.
5050
5051 * ftfont.c (cs_iso8859_1): Delete.
5052 (ft_face_cache): New variable.
5053 (struct ftfont_info): New member fc_charset_idx.
5054 (ftfont_build_basic_charsets): Delete.
5055 (fc_charset_table): New variable.
5056 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5057 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5058 Callers changed.
5059 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5060 (ftfont_spec_pattern): New argument fc_charset_idx.
5061 Check registry more rigidly. Change callers.
5062 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5063 change of :font-entity property of the font.
5064
5065 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5066 property of the font.
5067
50682008-05-18 Juanma Barranquero <lekktu@gmail.com>
5069
5070 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5071 (Funencodable_char_position, Fcheck_coding_systems_region)
5072 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5073 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5074 (Ffind_operation_coding_system, Fset_coding_system_priority)
5075 (Fcoding_system_eol_type): Doc fixes.
5076
50772008-05-17 Glenn Morris <rgm@gnu.org>
5078
5079 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5080
50812008-05-16 Eli Zaretskii <eliz@gnu.org>
5082
5083 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5084 and st_gid.
5085
5086 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5087 HAVE_WINDOW_SYSTEM is not defined.
5088
5089 * xfaces.c (merge_face_ref, merge_face_vectors)
5090 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5091 HAVE_WINDOW_SYSTEM is defined.
5092 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5093
50942008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5095
5096 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5097
50982008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5099
5100 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5101
51022008-05-15 Kenichi Handa <handa@m17n.org>
5103
5104 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5105 preference.
5106
51072008-05-15 Glenn Morris <rgm@gnu.org>
5108
5109 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5110
51112008-05-15 Chong Yidong <cyd@stupidchicken.com>
5112
5113 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5114 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5115
5116 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5117
51182008-05-15 Kenichi Handa <handa@m17n.org>
5119
5120 * ftfont.c (ftfont_list): Downcase family name to check generic
5121 families.
5122
5123 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5124 font-spec for QCfont value.
5125
5126 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5127 buffer. Check the return value of it.
5128
51292008-05-14 Jason Rumney <jasonr@gnu.org>
5130
5131 * w32term.c (w32_get_glyph_overhangs): Remove.
5132 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5133
51342008-05-14 Kenichi Handa <handa@m17n.org>
5135
5136 * font.c (font_prop_validate): Make nil a valid value.
5137 (font_clear_cache): Check if the cached vector of entities is nil
5138 or not.
5139
51402008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5141
5142 * emacs.c (main_thread): Conditionalize on
5143 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5144 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5145
5146 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5147 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5148 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5149
51502008-05-14 Kenichi Handa <handa@m17n.org>
5151
5152 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5153 has no corresponding coding system.
5154
51552008-05-14 Jason Rumney <jasonr@gnu.org>
5156
5157 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5158
5159 * w32font.h (w32font_open_internal): Update declaration.
5160
5161 * w32font.c (w32font_open_internal): Change last argument from
5162 w32font_info struct to font object. Fill in font object from
5163 font_entity. Get Outline metrics if possible. Use them to
5164 calculate underline position and thickness. Use xlfd name as name
5165 property. Don't set codepage.
5166 (w32font_open): Pass font_object to w32font_open_internal. Don't
5167 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5168 (w32font_draw): Use s->font.
5169 (clear_cached_metrics): Don't clear non-existent blocks.
5170
5171 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5172 font was not found.
5173 (x_draw_glyph_string): Use underline position and thickness from font.
5174
5175 * w32uniscribe.c (uniscribe_open): Pass font_object to
5176 w32font_open_internal.
5177
51782008-05-14 Kenichi Handa <handa@m17n.org>
5179
5180 These changes are to delete all legacy font-handling codes, and
5181 make Emacs use only font-backends.
5182
5183 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5184 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5185
5186 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5187
5188 * charset.h (Vcharset_non_preferred_head)
5189 (Vcurrent_iso639_language): Extern them.
5190
5191 * charset.c (Vcharset_non_preferred_head): New variable.
5192 (Vcurrent_iso639_language): New variable.
5193 (syms_of_charset): Declare it as a Lisp variable.
5194 (char_charset): Don't check non preferred charsets. As a last
5195 resort, return charset_unicode.
5196 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5197
5198 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5199 conditionals. Don't check enable_font_backend. Delete all codes
5200 used only when USE_FONT_BACKEND is not defined.
5201
5202 * dispextern.h (struct glyph_string): Change type of `font' to
5203 `struct font *'.
5204 (struct glyph_string): New member underline_position and
5205 underline_thickness.
5206 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5207 (struct face): Change type of `font' to `struct font *'. Remove
5208 members `font_name', `font_info_id'.
5209 (per_char_metric, encode_char): Delete externs.
5210 (calc_pixel_width_or_height): Adjust the prototype.
5211
5212 * emacs.c (enable_font_backend): Delete extern.
5213 (main): Don't set enable_font_backend. Don't check the command
5214 line argument "-disable-font-backend".
5215
5216 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5217 (enum font_property_index): New members FONT_DPI_INDEX,
5218 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5219 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5220 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5221 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5222 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5223 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5224 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5225 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5226 (struct font_spec, struct font_entity): New structs.
5227 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5228 (struct font): Many members from old "struct font_info" moved to
5229 here. Members font and entity deleted.
5230 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5231 the new font-related objects.
5232 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5233 (CHECK_FONT_GET_OBJECT): Likewise.
5234 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5235 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5236 (struct font_driver): New members case_sensitive anc check. Type
5237 of the member list and open changed.
5238 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5239 (font_symbolic_width, font_find_object, font_get_spec)
5240 (font_set_lface_from_name): Delete extern.
5241 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5242
5243 * font.c: Include <strings.h>.
5244 (enable_font_backend): Delete it.
5245 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5246 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5247 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5248 (null_string): Delete it.
5249 (null_vector): Make it static.
5250 (font_family_alist): Delete it.
5251 (Qnormal): Extern it.
5252 (QCextra, QClanguage): Delete it.
5253 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5254 (font_make_spec, font_make_entity, font_make_object)
5255 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5256 the string. Callers changed.
5257 (font_pixel_size): Adjusted for the format change of font-related
5258 objects.
5259 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5260 (font_style_to_value, font_style_symbolic): New function.
5261 (build_font_family_alist): Delete it.
5262 (font_registry_charsets): Use Fassoc_string instead of
5263 assq_no_quit.
5264 (font_prop_validate_symbol): Don't return null_string.
5265 (font_prop_validate_style): Adjusted for the change of
5266 style-related values in a font vector.
5267 (font_property_table): Delete entries for QClanguage and
5268 QCantialias, add entries for QCavgwidth.
5269 (get_font_prop_index): Delete the 2nd argument FROM.
5270 (font_prop_validate): Arguments changed.
5271 (font_put_extra): Adjusted for the change of font-related objects.
5272 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5273 (font_parse_fcname, font_unparse_fcname)
5274 (font_prepare_composition): Likewise.
5275 (font_parse_family_registry): Renamed from font_merge_old_spec.
5276 (otf_open): Delete the 1st arg entity.
5277 (font_otf_capability): Adjusted for the above change.
5278 (font_score): New arg alternate_families. Adjusted for the change
5279 of font-related objects.
5280 (font_sort_entites): New arg best_only.
5281 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5282 Delete them.
5283 (font_match_p): Check alternate families.
5284 (font_find_object): Delete it.
5285 (font_check_object): New function.
5286 (font_clear_cache): Adjusted for the change of font-related objects.
5287 (font_delete_unmatched): New arg.
5288 (font_list_entities): Call font_driver->list with a spec that
5289 doesn't specify style-related properties.
5290 (font_matching_entity): Arguments changed. Caller changed.
5291 (font_open_entity): Adjusted for the change of font-related objects.
5292 (font_close_object, font_has_char, font_encode_char)
5293 (font_get_name, font_get_spec): Likewise.
5294 (font_spec_from_name, font_clear_prop, font_update_lface):
5295 New functions.
5296 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5297 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5298 (font_at): Adjusted for the change of font-related objects.
5299 (font_range): New function.
5300 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5301 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5302 (Fcopy_font_spec, Fmerge_font_spec): New function.
5303 (Ffont_family_list): Renamed from list-families.
5304 (Finternal_set_font_style_table): Arguments changed.
5305 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5306 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5307 change of font-related objects.
5308 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5309
5310 * fontset.h (struct font_info): Delete it. Most members go to
5311 struct font.
5312 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5313 (enum FONT_SPEC_INDEX): Delete it.
5314 (font_info, list_fonts_func, load_font_func, query_font_func)
5315 (set_frame_fontset_func, find_ccl_program_func)
5316 (get_font_repertory_func, new_fontset_from_font_name): Delete
5317 externs.
5318 (fontset_from_font_name): Extern it.
5319 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5320 (FONT_INFO_FROM_FACE): Deleted.
5321 (face_for_font): Adjust prototype.
5322
5323 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5324 conditionals. Don't check enable_font_backend. Delete all codes
5325 used only when USE_FONT_BACKEND is not defined.
5326 (get_font_info_func, list_font_func, load_font_func)
5327 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5328 (get_font_repertory_func): Delete them.
5329 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5330 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5331 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5332 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5333 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5334 (fontset_compare_rfontdef): New function.
5335 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5336 rfont-defs by qsort. Adjusted for the change of font-group vector.
5337 (load_font_get_repertory): Deleted.
5338 (fontset_find_font): Use new macros to ref/set elements of
5339 font-def and rfont-def.
5340 (fontset_font): Fix the timing of remembering that no font for C.
5341 (free_face_fontset): Do nothing if the face has no fontset.
5342 (face_suitable_for_char_p): Use new macros to ref/set elements of
5343 rfont-def.
5344 (face_for_char): Likewise. Call face_for_char with font_object.
5345 (fs_load_font): Delete. Delete #pragma surrounding it.
5346 (fs_query_fontset): Use strcasecmp instead of strcmp.
5347 (generate_ascii_font_name): Adjusted for the format change of
5348 font-spec.
5349 (Fset_fontset_font): Likewise. Use new macros to set elements of
5350 font-def.
5351 (Fnew_fontset): Use font_unparse_xlfd to generate
5352 FONTSET_ASCII (fontset).
5353 (new_fontset_from_font_name): Deleted.
5354 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5355 a fontset is already created for the font. FIx updating of
5356 Vfontset_alias_alist.
5357 (fontset_ascii_font): Deleted.
5358 (Ffont_info): Adjusted for the format change of font-spec.
5359 (Finternal_char_font): Likewise.
5360 (Ffontset_info): Likewise.
5361 (syms_of_fontset): Don't check load_font_func.
5362
5363 * fns.c (internal_equal): Handle PREV_FONT.
5364
5365 * frame.h: Delete USE_FONT_BACKEND conditional.
5366
5367 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5368 conditionals. Don't check enable_font_backend. Delete all codes
5369 used only when USE_FONT_BACKEND is not defined.
5370 (x_set_font): Call x_new_font, not x_new_fontset2.
5371 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5372 already set for the frame.
5373
5374 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5375 a font-entity by font_make_entity. Use font_intern_prop instead
5376 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5377 font property. If a font is scalable, set avgwidth property to 0.
5378 Set font-entity property by font_put_extra.
5379 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5380 (ffont_driver): Adjusted for the change of struct font_driver.
5381 (ftfont_spec_pattern): New function.
5382 (ftfont_list): Return a list, not vector.
5383 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5384 (ftfont_list_family): Don't downcase names.
5385 (ftfont_free_entity): Deleted.
5386 (ftfont_open): Return a font-object. Adjusted for the change of
5387 struct font. Get underline_thickness and underline_position from
5388 font property. Don't update dpyinfo->smallest_font_height and
5389 dpyinfo->smallest_char_width.
5390 (ftfont_close): Don't free `struct font'.
5391 (ftfont_has_char): Adjusted for the format change of font-entity.
5392 (ftfont_encode_char, ftfont_text_extents): Likewise.
5393
5394 * ftxfont.c (ftxfont_list): Return a list, not vector.
5395 (ftxfont_open): Return a font-object. Adjusted for the change of
5396 struct font. Get underline_thickness and underline_position from
5397 font property. Don't update dpyinfo->smallest_font_height and
5398 dpyinfo->smallest_char_width.
5399 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5400 (ftxfont_draw): Adjusted for the change of struct font.
5401
5402 * image.c (image_ascent): Don't include "charset.h". Include
5403 "character.h" and "font.h".
5404
5405 * lisp.h (enum pvec_type): New member PREV_FONT.
5406 (Fassoc_string): EXFUN it.
5407
5408 * print.c: Include font.h.
5409 (print_object): Handle font-related objects.
5410
5411 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5412 conditionals. Don't check enable_font_backend. Delete all codes
5413 used only when USE_FONT_BACKEND is not defined.
5414 (handle_auto_composed_prop): Do nothing if it->f is not on a
5415 window system. Check how many following characters can be
5416 displayed by the same font.
5417 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5418 'struct font *'.
5419 (get_char_face_and_encoding): Assign the whole encoding task to
5420 the `encode-char' method of a font driver.
5421 (fill_composite_glyph_string): Adjusted for the change of `struct
5422 face' and `struct glyph_string'.
5423 (fill_glyph_string): Likewise.
5424 (get_per_char_metric): Arguments changed.
5425 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5426 and `struct glyph_string'.
5427 (produce_stretch_glyph, calc_line_height_property)
5428 (x_produce_glyphs): Likewise.
5429
5430 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5431 conditionals. Don't check enable_font_backend. Delete all codes
5432 used only when USE_FONT_BACKEND is not defined. Use
5433 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5434 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5435 (Qp): Extern them.
5436 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5437 Deleted.
5438 (struct font_name): Deleted.
5439 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5440 (compare_fonts_by_sort_order): New function.
5441 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5442 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5443 Deleted.
5444 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5445 compare_fonts_by_sort_order.
5446 (Fx_font_family_list): Call Ffont_family_list.
5447 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5448 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5449 (face_symbolic_slant, face_symbolic_swidth)
5450 (split_font_name_into_vector, build_font_name_from_vector)
5451 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5452 (font_rescale_ratio, split_font_name, build_font_name)
5453 (free_font_names, sort_fonts, x_face_list_fonts)
5454 (face_font_available_p, sorted_font_list, cmp_font_names)
5455 (font_list_1, concat_font_list, font_list, remove_duplicates):
5456 Deleted.
5457 (Fx_list_fonts): Use Ffont_list.
5458 (LFACE_AVGWIDTH): Deleted.
5459 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5460 by FONTP.
5461 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5462 (set_lface_from_font_name): Delete it.
5463 (set_lface_from_font): Renamed from
5464 set_lface_from_font_and_fontset. Caller changed. Don't set
5465 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5466 for face.
5467 (merge_face_vectors): Copy font-spec if necessary.
5468 Clear properties of the font-spec if necessary.
5469 (merge_face_ref): Clear properties of the font-spec if necessary.
5470 (Finternal_set_lisp_face_attribute): Likewise.
5471 (set_font_frame_param): Use font_load_for_lface to load a
5472 font-object, and call Fmodify_frame_parameters with it.
5473 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5474 font name by Ffont_xlfd_name.
5475 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5476 QCslant, and QCwidth.
5477 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5478 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5479 Compare fonts by EQ.
5480 (lookup_non_ascii_face): Deleted.
5481 (face_for_font): The 2nd argument changed.
5482 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5483 Check atomic font properties by case insensitive.
5484 (realize_non_ascii_face): Set face->overstrike correctly.
5485 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5486 (dump_realized_face): Get font name from
5487 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5488
5489 * xfns.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.
5492 (xic_create_xfontset): Original code deleted and renamed from
5493 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5494 (x_make_gc): Don't set GCFont in GCs.
5495 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5496 opened by "fixed".
5497 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5498 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5499 get_font_repertory_func.
5500
5501 * xfont.c: Include <stdlib.h> and "ccl.h".
5502 (struct xfont_info): New structure.
5503 (xfont_query_font): Deleted.
5504 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5505 moved from xterm.c.
5506 (xfont_driver): Adjusted for the change of struct font_driver.
5507 (compare_font_names): New function.
5508 (xfont_list_pattern): Sort font names case insensitively. Make
5509 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5510 (xfont_list): Return a list, not vector.
5511 (xfont_match): If the font doesn't have QCname property, generate
5512 a name from the other font properties.
5513 (xfont_open): Return a font-object. Adjusted for the change of
5514 struct font. Get underline_thickness and underline_position from
5515 font property. Don't update dpyinfo->smallest_font_height and
5516 dpyinfo->smallest_char_width.
5517 (xfont_close): Don't free struct font.
5518 (xfont_prepare_face): Adjusted for the change of struct font.
5519 (xfont_done_face): Deleted.
5520 (xfont_has_char): Adjusted for the change of struct font.
5521 (xfont_encode_char, xfont_draw): Likewise.
5522 (xfont_check): New function.
5523
5524 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5525 callback function.
5526 (xftfont_match): Adjusted for the format change of font-entity.
5527 (xftfont_open): Adjusted for the format change of font-entity and
5528 font-object. Adjusted for the change of struct font. Return a
5529 font-object. Don't update dpyinfo->smallest_font_height and
5530 dpyinfo->smallest_char_width.
5531 (xftfont_close): Block input while calling XftFontClose.
5532 (xftfont_prepare_face): Don't block input while calling
5533 xftfont_get_colors. Adjusted for the change of struct font.
5534 (xftfont_shape): Return value of error case fixed.
5535
5536 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5537
5538 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5539 conditionals.
5540 (FONT_WIDTH): Return (f)->max_width.
5541 (struct x_display_info): Delete member `font'.
5542 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5543 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5544 (struct x_output): Change type of `font' to `struct font *'.
5545
5546 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5547 conditionals. Don't check enable_font_backend. Delete all codes
5548 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5549 (x_per_char_metric, x_encode_char): Deleted.
5550 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5551 (x_compute_glyph_string_overhangs): Adjusted for the change of
5552 `struct face'.
5553 (x_draw_glyph_string_foreground)
5554 (x_draw_composite_glyph_string_foreground): Likewise.
5555 (x_draw_glyph_string): Likewise. Use font->underline_position and
5556 font->underline_thickness.
5557 (x_new_font): Renamed from x_new_fontset2.
5558 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5559 (x_check_font): Call `check' method of a font driver.
5560 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5561 (x_query_font, x_get_font_repertory): Deleted.
5562 (x_find_ccl_program): Renamed and moved to xfont.c.
5563 (x_redisplay_interface): Adjusted for the change of `struct
5564 redisplay_interface'.
5565
5566 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5567 conditionals. Don't check enable_font_backend. Delete all codes
5568 used only when USE_FONT_BACKEND is not defined. Surround non-used
5569 code by "#ifdef OLD_FONT" and "endif".
5570 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5571
5572 * w32font.h (struct w32font_info): New member.
5573 (FONT_COMPAT): New macro.
5574 (w32font_open_internal): Prototype adjusted.
5575
5576 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5577 OLD_FONT" and "endif".
5578
5579 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5580 conditionals. Don't check enable_font_backend. Delete all codes
5581 used only when USE_FONT_BACKEND is not defined.
5582 (w32font_open): Return a font-object. Make a font-object by
5583 font_make_object. Adjusted for the change of struct w32font_info.
5584 (w32font_close): Don't free struct font. Adjusted for the change
5585 of struct w32font_info.
5586 (w32font_encode_char, w32font_text_extents, w32font_draw):
5587 Adjusted for the change of struct w32font_info.
5588 (w32font_draw): Likewise.
5589 (w32font_list_internal): Return a list, not vector.
5590 (w32font_open_internal): Change the 4th arg to font-object.
5591 Adjusted for the change of struct w32font_info and font-object format.
5592 (add_font_name_to_list): Don't downcase names.
5593 (w32_enumfont_pattern_entity): Make a font-entity by
5594 font_make_entity. Adjusted for the format change of font-entity.
5595 Use FONT_SET_STYLE to set a style-related font property. If a
5596 font is scalable, set avgwidth property to 0. Set font-entity
5597 property by font_put_extra.
5598 (font_matches_spec): Adjusted for the format change of font-entity.
5599 (w32_weight_table, w32_decode_weight): New variables.
5600 (w32_encode_weight): New function.
5601 (fill_in_logfont): Adjusted for the format change of font-spec.
5602 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5603 weight value.
5604 (w32font_driver): Adjusted for the change of struct font_driver.
5605
5606 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5607 conditionals. Don't check enable_font_backend. Surround non-used
5608 code by "#ifdef OLD_FONT" and "endif".
5609 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5610 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5611
5612 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5613 conditionals. Don't check enable_font_backend. Delete all codes
5614 used only when USE_FONT_BACKEND is not defined. Surround non-used
5615 code by "#ifdef OLD_FONT" and "endif".
5616
5617 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5618 (uniscribe_open): Return value changed to font-object.
5619 Adjusted for the format change of font-object.
5620 (uniscribe_otf_capability): Adjusted for the change of struct font.
5621 (add_opentype_font_name_to_list): Don't downcase names.
5622 (uniscribe_font_driver): Adjusted for the change of struct
5623 font_driver.
5624
56252008-05-13 Chong Yidong <cyd@stupidchicken.com>
5626
5627 * dispnew.c (update_frame_1): Check if tty output is still valid
5628 before flushing it.
5629
56302008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5631
5632 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5633 to Gtk+ menus.
5634
56352008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5636
5637 * dired.c (file_name_completion): Tweak the code so as to always do it
5638 in a single pass. Tighten the scope of some variables.
5639
5640 * dired.c (Qdefault_directory): New var.
5641 (file_name_completion): Use it instead of Fexpand_file_name.
5642 (syms_of_dired): Initialize it.
5643
56442008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5645
5646 * fileio.c (double_dollars): Remove dead code.
5647
56482008-05-10 Eli Zaretskii <eliz@gnu.org>
5649
5650 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5651 Mention w32-get-true-file-attributes in doc string.
5652
5653 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5654
56552008-05-09 Glenn Morris <rgm@gnu.org>
5656
5657 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5658 2008-04-23.
5659
56602008-05-09 Eli Zaretskii <eliz@gnu.org>
5661
5662 Support for reporting owner and group of each file on MS-Windows:
5663 * dired.c (stat_uname, stat_gname): New functions, with special
5664 implementation for w32.
5665 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5666
5667 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5668 (dflt_group_name): New static variable.
5669 (dflt_group): Rename from the_group.
5670 (init_user_info): Init dflt_group fields. Get user's group name
5671 from LookupAccountSid.
5672 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5673 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5674 New initialization states.
5675 (globals_of_w32): Initialize them to zero. Initialize the default
5676 group name to "None".
5677 (GetFileSecurity_Name): New global var, the name of the function
5678 to call for GetFileSecurity.
5679 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5680 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5681 (get_file_security, get_security_descriptor_owner)
5682 (get_security_descriptor_group, is_valid_sid)
5683 (get_file_security_desc, get_rid, get_name_and_id)
5684 (get_file_owner_and_group): New functions.
5685 (stat): Use get_file_security_desc and get_file_owner_and_group to
5686 report the owner and primary group of each file. Don't ignore the
5687 high 32 bits of file's size, now that st_size is 64-bit wide.
5688 Fix test when to get true file attributes.
5689 (init_user_info): Use get_rid instead of equivalent inline code.
5690 (fstat): Don't ignore the high 32 bits of file's size.
5691
56922008-05-09 Chong Yidong <cyd@stupidchicken.com>
5693
5694 * image.c (png_load): Use correct bit-depth for setting background
5695 color.
5696
56972008-05-08 Eli Zaretskii <eliz@gnu.org>
5698
5699 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5700 epa-hook.elc.
5701
57022008-05-08 Juanma Barranquero <lekktu@gmail.com>
5703
5704 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5705
57062008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5707
5708 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5709 because the original parameters are in pure storage now.
5710 (mac_window): Remove unused params. Update callers.
5711
57122008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5713
5714 * lread.c (substitute_object_recurse): Use lower-level primitives.
5715 Don't signal errors when traversing sub-char-tables.
5716 Don't loop over all the possible characters when traversing char-tables.
5717
5718 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5719 just like we do in print.c.
5720
57212008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5722
5723 * minibuf.c (Ftry_completion): Remove code left over from when we used
5724 scmp instead of Fcompare_strings.
5725
57262008-05-04 Juanma Barranquero <lekktu@gmail.com>
5727
5728 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5729
57302008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5731
5732 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5733 Create bitmap context in native byte order.
5734
5735 * macterm.c (XDrawLine)
5736 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5737 context in native byte order.
5738
57392008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5740
5741 * config.in: Regenerate.
5742
5743 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5744 New definitions for Image I/O support.
5745 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5746 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5747 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5748 (mac_data_provider_release_data, image_load_image_io)
5749 [USE_MAC_IMAGE_IO]: New functions.
5750 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5751 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5752 (init_image_func_pointer) [MAC_OSX]: Remove function.
5753 (image_load_quartz2d) [MAC_OSX]: Check availability of
5754 CGImageCreateWithPNGDataProvider at compile time.
5755 Use lowercase `false' for boolean constant.
5756 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5757 Use image_load_image_io.
5758 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5759 Don't check MyCGImageCreateWithPNGDataProvider.
5760 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5761 Don't call init_image_func_pointer.
5762
5763 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5764
5765 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5766 Make variable non-static.
5767 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5768 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5769
5770 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5771 (RED_FROM_ULONG): Mask off higher bits.
5772 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5773
5774 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5775 Include AvailabilityMacros.h.
5776 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5777 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5778
57792008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5780
5781 * chartab.c (Fset_char_table_range): If range is t, really set all
5782 chars to that value.
5783
57842008-05-03 Eli Zaretskii <eliz@gnu.org>
5785
5786 * dired.c (Ffile_attributes): Don't allow the device number become
5787 negative.
5788
57892008-05-02 Daiki Ueno <ueno@unixuser.org>
5790
5791 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5792
57932008-05-02 Juri Linkov <juri@jurta.org>
5794
5795 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5796 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5797 DEFAULT argument as a list of default values in docstrings.
5798
57992008-05-01 Chong Yidong <cyd@stupidchicken.com>
5800
5801 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5802
58032008-05-01 Martin Rudalics <rudalics@gmx.at>
5804
5805 * dispnew.c (change_frame_size_1): Preserve small windows when
5806 shrinking frames by calling set_window_height|width with third
5807 arg 2.
5808
5809 * window.h (struct window): Replace field too_small_ok by field
5810 resize_proportionally.
5811
5812 * window.c (make_window): Initialize resize_proportionally.
5813 (enlarge_window): Temporarily set resize_proportionally to make
5814 sure that shrink_windows does scale the window proportionally.
5815 (shrink_windows): When window has resize_proportionally set try
5816 to shrink it proportionally by stealing from other windows.
5817 (struct saved_window, Fset_window_configuration)
5818 (compare_window_configurations): Handle resize_proportionally.
5819 (WINDOW_TOTAL_SIZE): New macro.
5820 (window_min_size, shrink_windows, size_window): Use it.
5821 (check_min_window_sizes): Remove. Invalid values of
5822 window-min-height|width are handled by window_min_size_2 now.
5823 (size_window, Fsplit_window, enlarge_window)
5824 (adjust_window_trailing_edge, grow_mini_window): Don't call
5825 check_min_window_sizes.
5826 (window_min_size_2, window_min_size_1, window_min_size):
5827 New argument safe_p for retrieving "safe" minimum sizes.
5828 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5829 (adjust_window_trailing_edge, grow_mini_window):
5830 Adjust arguments of window_min_size... functions.
5831 (shrink_windows): Argument min_size removed. New argument
5832 safe_p allows shrinking windows to their safe minimum sizes.
5833 Calculate minimum size and decide whether a window shall be
5834 deleted for each window individually.
5835 (size_window): When nodelete_p equals 2, tell shrink_windows to
5836 delete windows only if their new minimum size is no more safe.
5837 (shrink_window_lowest_first): Call window_min_size_1 to make
5838 sure to preserve modeline of bottom-most window when resizing
5839 the minibuffer.
5840 (Fset_window_configuration, Fcurrent_window_configuration)
5841 (compare_window_configurations): Do not handle
5842 window-min-height|width any more.
5843 (syms_of_window): Clarify window-min-height|width doc-strings.
5844
58452008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5846
5847 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5848 some more. Copy some of the code from Ftry_completions.
5849 Remove special case code that dates back to initial revision when the
5850 slash was only added when necessary and that can't trigger nowadays.
5851
58522008-04-27 Kenichi Handa <handa@m17n.org>
5853
5854 * font.c (font_prop_validate): Signal `error' instead of `font'.
5855
58562008-04-29 Jason Rumney <jasonr@gnu.org>
5857
5858 * w32fns.c (Fw32_battery_status): New defun.
5859 (syms_of_w32fns): Defsubr it.
5860
58612008-04-28 Andreas Schwab <schwab@suse.de>
5862
5863 * dired.c (file_name_completion): Fix another mixing of encoded
5864 and decoded names.
5865
58662008-04-28 Juanma Barranquero <lekktu@gmail.com>
5867
5868 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5869
58702008-04-27 Juanma Barranquero <lekktu@gmail.com>
5871
5872 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5873
58742008-04-27 Andreas Schwab <schwab@suse.de>
5875
5876 * dired.c (file_name_completion): Fix inappropriate mixing of
5877 encoded and decoded names.
5878
5879 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5880
5881 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5882
58832008-04-26 Eli Zaretskii <eliz@gnu.org>
5884
5885 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5886 2008-03-31, it's not needed anymore with `struct stat' definition
5887 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5888 for the same reasons.
5889
58902008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5891
5892 * m/sparc.h: Additional redefinitions for GNU/Linux.
5893
58942008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5895
5896 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5897 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5898 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5899 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5900 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5901 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5902 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5903 Likewise.
5904
5905 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5906 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5907 (mac_ax_number_of_characters): Add externs.
5908 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5909 [USE_MAC_TSM]: Likewise.
5910 (mac_handle_text_input_event) [MAC_OSX]:
5911 Handle kEventTextInputOffsetToPos for no active input area case.
5912 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5913 (mac_handle_document_access_event)
5914 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5915 (install_application_handler) [MAC_OSX]: Register handlers for
5916 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5917 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5918 Register mac_handle_document_access_event.
5919
5920 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5921 Make functions non-static.
5922
59232008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5924
5925 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5926 (read_file_name_completion_ignore_case, insert_default_directory)
5927 (Qdefault_directory): Move to minibuffer.el.
5928 (Fread_file_name): Call the new `read-file-name' instead.
5929
59302008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5931
5932 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5933 Make function non-static.
5934 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5935 Remove function.
5936 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5937 Move to mactoolbox.c.
5938 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5939
5940 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5941 (mac_rect_make): New macro.
5942
5943 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5944 instead of float.
5945 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5946 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5947 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5948 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5949 CGRectMake.
5950 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5951 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5952 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5953 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5954 instead of WindowRef in argument type.
5955 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5956 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5957 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5958 instead of DISPLAY. All uses changed.
5959 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5960 (x_calc_absolute_position): Simplify so as not to use
5961 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5962
5963 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5964 instead of WindowRef in argument type.
5965 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5966 [TARGET_API_MAC_CARBON]: Remove externs.
5967 (create_apple_event, mac_event_parameters_to_lisp)
5968 [TARGET_API_MAC_CARBON]: Add externs.
5969
5970 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5971 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5972 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5973 is clicked.
5974 (x_activate_menubar): Remove extern for saved_menu_event_location.
5975 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5976 Move from mac.c.
5977
59782008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5979
5980 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5981 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5982
59832008-04-23 Jason Rumney <jasonr@gnu.org>
5984
5985 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5986 attributes only for local files.
5987
5988 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5989 default to Qlocal.
5990
59912008-04-22 Juri Linkov <juri@jurta.org>
5992
5993 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5994 read-buffer-to-switch instead of using the letter "B".
5995
59962008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5997
5998 * fileio.c (Qdefault_directory): New variable.
5999 (Fread_file_name): Use it to pass `dir' to the completion functions.
6000
60012008-04-20 Chong Yidong <cyd@stupidchicken.com>
6002
6003 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6004
60052008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6006
6007 * keyboard.c (Vpre_help_message): Remove.
6008 (show_help_echo): Remove default C code.
6009
6010 * dired.c (directory_files_internal, file_name_completion):
6011 Only call ENCODE_FILE if the string is indeed decoded.
6012
60132008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6014
6015 * Makefile.in (TOOLKIT_DEFINES): Remove.
6016 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6017
60182008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6019
6020 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6021 (mactoolbox.o): New target.
6022
6023 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6024 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6025
6026 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6027 Use mac_set_frame_window_background instead of XSetWindowBackground.
6028 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6029 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6030 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6031 instead of SetWindowTitleWithCFString.
6032 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6033 Move function to mactoolbox.c.
6034 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6035 Use mac_set_window_modified instead of SetWindowModified.
6036 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6037 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6038 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6039 FrontNonFloatingWindow. Use mac_activate_window instead of
6040 ActivateWindow. Use mac_active_non_floating_window instead of
6041 ActiveNonFloatingWindow.
6042 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6043 Use mac_show_hourglass and mac_hide_hourglass.
6044 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6045 instead of GetGlobalMouse.
6046 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6047 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6048 Use mac_bring_window_to_front instead of BringToFront.
6049 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6050 mactoolbox.c.
6051 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6052 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6053 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6054 mactoolbox.c.
6055
6056 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6057 (XtPointer): Move typedef from macmenu.c.
6058 (enum button_type): Move enum from macmenu.c.
6059 (widget_value): Move typedef from macmenu.c.
6060 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6061 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6062 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6063 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6064 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6065 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6066 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6067 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6068 (Selection): Move typedef from macselect.c.
6069 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6070 macterm.c.
6071 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6072 (mac_is_window_collapsed, mac_bring_window_to_front)
6073 (mac_send_window_behind, mac_hide_window, mac_show_window)
6074 (mac_collapse_window, mac_front_non_floating_window)
6075 (mac_active_non_floating_window, mac_activate_window)
6076 (mac_move_window_structure, mac_move_window, mac_size_window)
6077 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6078
6079 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6080 (enum mac_menu_kind): Move enum to mactoolbox.c.
6081 (min_menu_id): Move variable to mactoolbox.c.
6082 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6083 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6084 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6085 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6086 [TARGET_API_MAC_CARBON]: Likewise.
6087 (XtPointer): Move typedef to macgui.h.
6088 (enum button_type): Move enum to macgui.h.
6089 (widget_value): Move typedef to macgui.h.
6090 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6091 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6092 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6093 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6094 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6095 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6096 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6097 (popup_activated_flag): Make variable non-static.
6098 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6099 (add_menu_item, fill_menu, dispose_menus):
6100 Move functions to mactoolbox.c.
6101 (restore_show_help_function, menu_target_item_handler)
6102 (install_menu_target_item_handler, mac_handle_dialog_event)
6103 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6104 [TARGET_API_MAC_CARBON]: Likewise.
6105 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6106 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6107 (find_and_call_menu_selection, name_is_separator): Make function
6108 non-static.
6109 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6110 to mactoolbox.c.
6111 (set_frame_menubar): Don't call install_menu_quit_handler.
6112 (menu_item_selection): New variable.
6113 (mac_menu_show): Use create_and_show_popup_menu.
6114 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6115 selection but set variable menu_item_selection. All uses changed.
6116 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6117 Call install_menu_quit_handler. Move to mactoolbox.c.
6118
6119 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6120 (Selection): Move typedef to macgui.h.
6121 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6122 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6123 Make variables non-static.
6124 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6125 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6126 Make functions non-static.
6127 (Vmac_service_selection) [MAC_OSX]: Likewise.
6128 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6129 (mac_valid_selection_target_p, mac_clear_selection)
6130 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6131 (mac_put_selection_value, mac_selection_has_target_p)
6132 (mac_get_selection_value, mac_get_selection_target_list)
6133 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6134 Move functions to mactoolbox.c.
6135 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6136 Likewise.
6137 (copy_scrap_flavor_data, mac_handle_service_event)
6138 (install_service_handler) [MAC_OSX]: Likewise.
6139 (syms_of_macselect) <Vmac_dnd_known_types>:
6140 Use mac_dnd_default_known_types.
6141
6142 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6143 Move to mactoolbox.c.
6144 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6145 (Fx_selection_owner_p): Add EXFUN.
6146 (install_window_handler, remove_window_handler, XSetWindowBackground):
6147 Remove externs.
6148 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6149 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6150 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6151 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6152 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6153 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6154 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6155 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6156 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6157 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6158 (mac_valid_selection_target_p, mac_clear_selection)
6159 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6160 (mac_put_selection_value, mac_selection_has_target_p)
6161 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6162 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6163 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6164 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6165 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6166 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6167 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6168 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6169 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6170
6171 * mactoolbox.c: New file.
6172
61732008-04-18 Jason Rumney <jasonr@gnu.org>
6174
6175 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6176
61772008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6178
6179 * character.c (Fmultibyte_char_to_unibyte):
6180 Return latin1 chars unchanged.
6181
6182 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6183 relocated if it points to `name'.
6184
61852008-04-17 Kenichi Handa <handa@m17n.org>
6186
6187 * data.c (Faset): Allow setting a multibyte character in an
6188 ASCII-only unibyte string.
6189
6190 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6191
61922008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6193
6194 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6195 done in config.h.
6196
61972008-04-16 Juanma Barranquero <lekktu@gmail.com>
6198
6199 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6200 (Fchar_direction): Add usage in the docstring.
6201
62022008-04-15 Chong Yidong <cyd@stupidchicken.com>
6203
6204 * keyboard.c (read_key_sequence): Remove always-true checks.
6205
62062008-04-14 Jason Rumney <jasonr@gnu.org>
6207
6208 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6209 compatibility struct, for better underline positioning.
6210
62112008-04-13 David Hansen <david.hansen@gmx.net>
6212
6213 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6214 string.
6215
62162008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6217
6218 * m/hp800.h (XUINT, XSET): Remove.
6219
62202008-04-12 Juanma Barranquero <lekktu@gmail.com>
6221
6222 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6223 previous change.
6224
62252008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6226
6227 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6228 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6229
62302008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6231
6232 * keymap.h (map_keymap_canonical): Declare.
6233 * xmenu.c (single_keymap_panes): Use it.
6234
62352008-04-11 Glenn Morris <rgm@gnu.org>
6236
6237 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6238 set the target's value to that of the alias.
6239
62402008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6241
6242 * term.c (set_tty_color_mode): Left over typo.
6243
62442008-04-10 Michael Albinus <michael.albinus@gmx.de>
6245
6246 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6247 only after check for file name handler functions. Signal, when
6248 native functionality is not supported.
6249 (syms_of_fileio): Declare it unconditionally.
6250
62512008-04-10 Jason Rumney <jasonr@gnu.org>
6252
6253 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6254 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6255
6256 * w32.c (logon_network_drive): Also logon to remote drives that
6257 are mapped to drive letters.
6258
62592008-04-10 Glenn Morris <rgm@gnu.org>
6260
6261 * xdisp.c (truncate-partial-width-windows): Doc fix.
6262
62632008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6264
6265 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6266 Move functions to minibuffer.el.
6267 (syms_of_fileio): Don't declare them.
6268
62692008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6270
6271 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6272 (syms_of_minibuf): Remove its initialization.
6273
6274 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6275
62762008-04-09 Juanma Barranquero <lekktu@gmail.com>
6277
6278 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6279
62802008-04-09 Jason Rumney <jasonr@gnu.org>
6281
6282 * makefile.w32-in (distclean): Delete makefile too.
6283 (maintainer-clean): New target.
6284
6285 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6286
6287 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6288 for new font backend and composite cases.
6289
62902008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6291
6292 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6293 Most of the code moved to run_timers.
6294 (do_pending_atimers): Call run_timers.
6295 (run_timers): New function.
6296
6297 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6298 run atimers.
6299
6300 * process.c (wait_reading_process_output): The same as above.
6301
63022008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6303
6304 * minibuf.c (last_exact_completion): Remove variable.
6305 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6306 (complete_and_exit_1, complete_and_exit_2)
6307 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6308 (Fdisplay_completion_list, display_completion_list_1)
6309 (Fminibuffer_completion_help, Fself_insert_and_exit)
6310 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6311 minibuffer.el.
6312 (syms_of_minibuf): Remove corresponding initializations.
6313
6314 * keyboard.c (Qdeactivate_mark): New var.
6315 (command_loop_1): Use it to call `deactivate-mark'.
6316 (syms_of_keyboard): Initialize it.
6317
6318 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6319 to another frame.
6320 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6321 Don't call set_tty_color_mode.
6322 (store_frame_param): Reset previous_frame rather than call
6323 set_tty_color_mode.
6324 * term.c (set_tty_color_mode): Rewrite.
6325 * dispextern.h (set_tty_color_mode): New type.
6326 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6327
63282008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6329
6330 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6331 for generic chars, which do not exist any more in emacs-unicode.
6332
63332008-04-08 Michael Albinus <michael.albinus@gmx.de>
6334
6335 * coding.c (detect_coding_emacs_mule)
6336 (Ffind_operation_coding_system): Fix typo.
6337
63382008-04-08 Jason Rumney <jasonr@gnu.org>
6339
6340 * w32uniscribe.c (SNAME): Extract only symbol name.
6341
6342 * w32font.h (struct w32_metric_cache): New struct.
6343 (w32font_info): Use it.
6344 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6345 (CACHE_BLOCKSIZE): New constants.
6346
6347 * w32font.c (Qja, Qko, Qzh): New symbols.
6348 (syms_of_w32font): Initialise them.
6349 (font_matches_spec): Use them to filter by language.
6350 (recompute_cached_metrics): Remove function.
6351 (compute_metrics, clear_cached_metrics): New functions.
6352 (w32font_encode_char): Use them to manage metric cache.
6353 (w32font_text_extents): Cache metrics for all glyphs on demand.
6354 Delay converting glyph indices to WORD until needed.
6355 (w32font_open_internal): Initialize metric cache to empty.
6356 (registry_to_w32_charset): Charset should always be a symbol.
6357 (fill_in_logfont, list_all_matching_fonts): Family should
6358 always be a symbol.
6359
63602008-04-06 Jason Rumney <jasonr@gnu.org>
6361
6362 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6363 Give up if glyph indices not supported. Use uniscribe obtained
6364 ABC widths for individual metrics. Map glyph clusters back to
6365 characters using fClusterStart flag. Return number of glyphs
6366 produced, not chars processed.
6367 (uniscribe_shape): Map char at FROM to current glyph.
6368
63692008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6370
6371 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6372 Use SetMenuItemHierarchicalMenu.
6373
63742008-04-05 Jason Rumney <jasonr@gnu.org>
6375
6376 * image.c (pbm_load): Allow color values up to 65535.
6377 Throw an error if max_color_idx is outside the supported range.
6378 Report an error when image size is invalid.
6379 Read two bytes at a time when raw images have max_color_idx above 255.
6380
63812008-04-05 Eli Zaretskii <eliz@gnu.org>
6382
6383 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6384 cFileName a file name that includes `?' characters, use the 8+3
6385 alias in cAlternateFileName instead.
6386
63872008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6388
6389 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6390 append "CCL: Quitted" when the CCL program is quitted.
6391 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6392
6393 * ccl.h (struct ccl_program): New member quit_silently.
6394
63952008-04-05 Chong Yidong <cyd@stupidchicken.com>
6396
6397 * search.c (compile_pattern_1): Treat non-nil and non-string of
6398 search-spaces-regexp as nil.
6399
6400 * minibuf.c (Fassoc_string): Tweak docstring.
6401
64022008-04-05 Eli Zaretskii <eliz@gnu.org>
6403
6404 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6405 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6406 2008-03-14 to force inode be positive.
6407
6408 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6409 _S_* ones, since we now use our own sys/stat.h.
6410 (stat, fstat): Don't mangle the inode number.
6411 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6412
64132008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6414
6415 * frame.h (struct frame): Give one more bit to `visible' since we use
6416 values larger than 1 to indicate obscured frames on ttys.
6417
6418 * keymap.c (Qkeymap_canonicalize): New var.
6419 (Fmap_keymap_internal): New fun.
6420 (describe_map): Use keymap-canonicalize.
6421
6422 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6423 (Fundo_boundary): Set them.
6424 (syms_of_undo): Initialize them.
6425 (record_point): Use them instead of last_point_position*.
6426 (last_undo_buffer): Change type.
6427
64282008-04-04 Jason Rumney <jasonr@gnu.org>
6429
6430 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6431 (recompute_cached_metrics): Don't set ascent and descent per char.
6432
6433 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6434 (uniscribe_check_otf): Add GC protection before consing.
6435 Rearrange loop for counting features.
6436
64372008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6438
6439 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6440 buffer with byte-size of source buffer.
6441
64422008-04-03 Chong Yidong <cyd@stupidchicken.com>
6443
6444 * callint.c (Fcall_interactively): Handle temporary region even
6445 when shift-select-mode is off.
6446
64472008-04-03 Jason Rumney <jasonr@gnu.org>
6448
6449 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6450
64512008-04-03 Kenichi Handa <handa@m17n.org>
6452
6453 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6454 (CATEGORY_MASK_UTF_16): Likewise.
6455 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6456 binary file.
6457 (detect_coding): Add null-byte detection for a binary file.
6458 (detect_coding_system): Likewise.
6459
64602008-04-03 Jason Rumney <jasonr@gnu.org>
6461
6462 * w32uniscribe.c: New file.
6463
6464 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6465
6466 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6467
6468 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6469 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6470 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6471 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6472 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6473 (Qphonetic): New symbols.
6474 (syms_of_w32font): Initialize them.
6475 (font_supported_scripts): Use them.
6476 (w32font_list_family): List all charsets.
6477 (w32font_text_extents, recompute_cached_metrics): Fix metric
6478 calculations.
6479 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6480 Give opentype fonts their own format.
6481 (font_matches_spec): New arguments backend and logfont.
6482 Handle :otf spec for uniscribe backend.
6483 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6484 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6485
6486 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6487 font backend.
6488 (globals_of_w32fns): Initialize uniscribe font backend.
6489
6490 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6491 dependencies.
6492 (w32uniscribe.$(O)): New file to build.
6493 (FONT_OBJ): Include w32uniscribe.$(O).
6494 (LIBS): Add uniscribe libraries.
6495
6496 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6497
64982008-04-02 Chong Yidong <cyd@stupidchicken.com>
6499
6500 * callint.c (Vshift_select_mode): New var.
6501 (Finteractive): Document new ^ spec.
6502 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6503 is present.
6504
6505 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6506 (command_loop_1): Avoid running the direct display versions of
6507 forward-char and backward-char if shift-selection may occur.
6508 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6509 shift-translation takes place.
6510
6511 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6512 avoid clobbering by define-minor-mode.
6513
6514 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6515 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6516
6517 * syntax.c (Fforward_word): Add ^ interactive spec.
6518
6519 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6520 (Fscroll_right): Add ^ interactive spec.
6521
65222008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6523
6524 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6525
6526 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6527
6528 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6529
65302008-03-31 Juri Linkov <juri@jurta.org>
6531
6532 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6533
65342008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6535
6536 * gtkutil.c (xg_set_geometry): Fix indentation.
6537 (xg_resize_outer_widget): Remove.
6538 (x_wm_size_hint_off): Fix indentation.
6539 (xg_frame_set_char_size): Call flush_and_sync after
6540 gtk_window_resize.
6541 (x_wm_set_size_hint): Pass NULL as geometry window to
6542 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6543 Add menu bar and tool bar height to base height.
6544 (xg_update_frame_menubar, free_frame_menubar)
6545 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6546 (update_frame_tool_bar, free_frame_tool_bar):
6547 Change xg_resize_outer_widget to xg_frame_set_char_size.
6548
65492008-03-30 Michael Albinus <michael.albinus@gmx.de>
6550
6551 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6552 (Fdbus_call_method): New parameter TIMEOUT.
6553 (dbus-send-signal): Optimize UNGCPRO call.
6554
65552008-03-29 Juri Linkov <juri@jurta.org>
6556
6557 * window.c (Fdisplay_buffer): Move call to
6558 Vsplit_window_preferred_function out of conditions that check
6559 if window is eligible for vertical splitting.
6560 When Vsplit_window_preferred_function is non-nil, call it and use
6561 its non-nil return value as window. Otherwise, continue doing
6562 vertical splitting using Fsplit_window with arg horflag=nil.
6563 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6564 default value from `split-window' to nil.
6565
65662008-03-29 Juri Linkov <juri@jurta.org>
6567
6568 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6569 for interactive code letters 'b' and 'B'.
6570
65712008-03-29 Eli Zaretskii <eliz@gnu.org>
6572
6573 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6574 multibyte string.
6575
65762008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6577
6578 * keyboard.c (pending_funcalls): New var.
6579 (timer_check): Run it.
6580 (syms_of_keyboard): Initialize it.
6581 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6582 (Vdelete_terminal_functions): New vars.
6583 (syms_of_terminal): Initialize them.
6584 (Fdelete_terminal): Run delete-terminal-functions.
6585 * xdisp.c (safe_eval): Rewrite.
6586 (safe_call2): New fun.
6587 * frame.c (Qdelete_frame_functions): New var.
6588 (syms_of_frame): Initialize it.
6589 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6590 * lisp.h (safe_call2, pending_funcalls): Declare.
6591
65922008-03-28 Andreas Schwab <schwab@suse.de>
6593
6594 * indent.c (Fmove_to_column): Move declaration before statements.
6595
65962008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6597
6598 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6599 (struct frame): Use bit fields for boolean vars.
6600
6601 * process.c (server_accept_connection): Simplify naming.
6602 (emacs_get_tty_pgrp): Use SDATA.
6603
6604 * coding.c (decode_coding_object): Fix last change.
6605
66062008-03-27 Jason Rumney <jasonr@gnu.org>
6607
6608 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6609
66102008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6611
6612 * charset.c (Fdefine_charset_internal): Change the way of
6613 registering charsets in Vcharset_order_list.
6614 (syms_of_charset): Make the charset `eight-bit' supplementary.
6615
66162008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6617
6618 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6619 operations, to avoid having the difference between pointers
6620 overflow.
6621
66222008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6623
6624 * indent.c (check_display_width): New fun.
6625 (scan_for_column): Use it.
6626
6627 * data.c (syms_of_data): Mark most-positive-fixnum and
6628 most-negative-fixnum as constants.
6629
6630 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6631
6632 * indent.c (scan_for_column): Extract from current_column_1.
6633 Merge with the same code from Fmove_to_column.
6634 (current_column_1, Fmove_to_column): Use it.
6635
66362008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6637
6638 * keymap.c (map_keymap_internal): New fun.
6639 (map_keymap): Use it.
6640 (Fmap_keymap_internal): New fun.
6641 (Fmap_keymap): Remove left-out test from before make_save_value.
6642
6643 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6644
6645 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6646 Use XCAR/XCDR.
6647
6648 * process.h (struct Lisp_Process): Remove filter_multibyte.
6649 * process.c (QCfilter_multibyte): Remove.
6650 (setup_process_coding_systems): Don't use filter_multibyte.
6651 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6652 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6653 (Fset_process_filter_multibyte): Change the coding-system to
6654 approximate the previous behavior.
6655 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6656 coding-system.
6657
6658 * coding.c (decode_coding_object): When not decoding into a buffer,
6659 obey the coding system's preference of (uni|multi)byte.
6660
66612008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6662
6663 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6664 every char is changed and has a different byte-length.
6665 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6666 Fix int -> EMACS_INT.
6667
66682008-03-23 David Hansen <david.hansen@gmx.net>
6669
6670 * dbusbind.c (xd_read_message): Remove extra copying of message
6671 strings. Check for NULL `interface' or `member'.
6672
66732008-03-22 Eli Zaretskii <eliz@gnu.org>
6674
6675 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6676 cFileName a file name that includes `?' characters, use the 8+3
6677 alias in cAlternateFileName instead.
6678
66792008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6680
6681 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6682
66832008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6684
6685 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6686 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6687 work on current_buffer only instead (that was already the case
6688 for some of the code anyway).
6689 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6690 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6691 (SET_PT, SET_PT_BOTH): Adjust.
6692 * intervals.h (set_point, temp_set_point, set_point_both)
6693 (temp_set_point_both): Remove redundant declarations.
6694
66952008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6696
6697 * fileio.c (Finsert_file_contents):
6698 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6699 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6700 when buffer != current_buffer anyway.
6701
67022008-03-20 Andreas Schwab <schwab@suse.de>
6703
6704 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6705 as default.
6706
67072008-03-19 Jason Rumney <jasonr@gnu.org>
6708
6709 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6710 (syms_of_w32fns): Initialize them.
6711 (HOURGLASS_ID): New constant.
6712 (x_window_to_frame): Don't check hourglass_window.
6713 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6714 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6715 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6716 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6717 Only change the cursor if hourglass is not active.
6718 (Fx_create_frame): Initialize frame's current_cursor.
6719 (hourglass_atimer): Remove.
6720 (hourglass_started): New function.
6721 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6722 (show_hourglass): Adapt to w32, changing argument to frame.
6723
6724 * w32term.h (struct w32_output): Remove hourglass_window.
6725 Add current_cursor.
6726
6727 * eval.c (call_debugger, Fsignal):
6728 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6729 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6730 (Fexecute_extended_command, cancel_hourglass_unwind):
6731 * minibuf.c (read_minibuf):
6732 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6733
67342008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6735
6736 * window.c (run_funs): New fun.
6737 (run_window_configuration_change_hook): Use it to run the buffer-local
6738 and the global part of the hook.
6739
6740 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6741 (unwind_format_mode_line): Restore selected window.
6742 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6743
67442008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6745
6746 * editfns.c (Fchar_equal): Check they are valid characters.
6747
6748 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6749
67502008-03-17 Andreas Schwab <schwab@suse.de>
6751
6752 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6753 against a charset.
6754
6755 * lisp.h (Fbuffer_list): Declare.
6756
67572008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6758
aac0c6e3
MR
6759 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6760 handlebox_widget is != 0.
6761
67622008-03-16 Juri Linkov <juri@jurta.org>
6763
6764 * callint.c (Fcall_interactively): For interactive code letters
6765 'b' and 'B' put the buffer list into the list of default "future"
6766 values of the minibuffer.
6767
67682008-03-16 Andreas Schwab <schwab@suse.de>
6769
6770 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6771 modifiers.
6772
6773 * regex.c (re_match_2_internal): Correct matching of a charset
6774 against latin-1 characters.
6775
67762008-03-16 Kenichi Handa <handa@m17n.org>
6777
6778 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6779 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6780 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6781 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6782 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6783 CHAR_STRING_ADVANCE.
6784 (produce_chars): Fix for the case that the source and the
6785 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6786 instead of CHAR_STRING_ADVANCE.
6787 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6788 STRING_CHAR_ADVANCE.
6789
67902008-03-15 Andreas Schwab <schwab@suse.de>
6791
6792 * regex.c (re_match_2_internal): Correct matching of eight bit
6793 characters in unibyte strings.
6794
67952008-03-15 Martin Rudalics <rudalics@gmx.at>
6796
6797 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6798 at end of range when it coincides with the end of the buffer.
6799
68002008-03-14 Eli Zaretskii <eliz@gnu.org>
6801
6802 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6803
6804 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6805
68062008-03-14 Jason Rumney <jasonr@gnu.org>
6807
6808 * editfns.c (initial_tz): New variable.
6809 (syms_of_editfns): Initialize it.
6810 (Fset_time_zone_rule): Set it when first called.
6811 Use it when TZSTRING is nil.
6812
6813 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6814 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6815 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6816 (globals_of_w32fns): Initialize them.
6817 (compute_tip_xy): Use them to position tooltips.
6818
68192008-03-14 Glenn Morris <rgm@gnu.org>
6820
6821 * emacs.c (main): Revert previous change.
6822 (standard_args): Revert -internal-script back to -scriptload,
6823 and remove the long-option form.
6824
68252008-03-13 Glenn Morris <rgm@gnu.org>
6826
6827 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6828 Remove option -enable-font-backend.
6829
68302008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6831
6832 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6833
68342008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6835
6836 * xterm.c (x_connection_closed): For GTK: If this is the last
6837 terminal just exit without closing the display.
6838
68392008-03-11 Jason Rumney <jasonr@gnu.org>
6840
6841 * w32font.c (w32font_full_name): Use floor to round.
6842
68432008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6844
6845 * sound.c (alsa_configure): Declare vol at beginning of block.
6846
6847 * fontset.c (Ffontset_info): Remove extra semicolon.
6848
68492008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6850
6851 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6852 size of resulting string.
6853
68542008-03-10 Jason Rumney <jasonr@gnu.org>
6855
6856 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6857
68582008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6859
6860 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6861 Don't pretend as if characters with display property haven't been
6862 consumed for string-replacing-string case.
6863
68642008-03-08 Kim F. Storm <storm@cua.dk>
6865
6866 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6867 (get_next_display_element, next_element_from_string)
6868 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6869
68702008-03-08 Andreas Schwab <schwab@suse.de>
6871
6872 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6873
68742008-03-06 Jason Rumney <jasonr@gnu.org>
6875
6876 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6877 when charset not specified. Only translate ANSI to unicode when
6878 font_type is truetype.
6879 (w32font_coverage_ok): New function.
6880 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6881
68822008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6883
6884 * lread.c (Fread_char): Resolve modifiers.
6885 (Fread_char_exclusive): Likewise.
6886
6887 * character.c (char_resolve_modifier_mask): New function.
6888 (char_string): Use char_resolve_modifier_mask.
6889 (Fchar_resolve_modifiers): New function.
6890 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6891 function.
6892
68932008-03-04 Jason Rumney <jasonr@gnu.org>
6894
6895 * makefile.w32-in: Always include w32font.c in the build.
6896 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6897
68982008-03-04 Andreas Schwab <schwab@suse.de>
6899
6900 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6901 (versionclean): Likewise.
6902
69032008-03-04 Juanma Barranquero <lekktu@gmail.com>
6904
6905 * .cvsignore: Add oo.
6906
69072008-03-03 Andreas Schwab <schwab@suse.de>
6908
6909 * coding.c (decode_coding_object): Inhibit gap shrinking while
6910 decoding in place.
6911
69122008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6913
6914 * w32term.c: Remove unused include "gnu.h".
6915 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6916
6917 * gnu.h: Rename to ...
6918 * emacs-icon.h: ... this.
6919 * xterm.c: Use emacs-icon.h instead of gnu.h.
6920 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6921
69222008-03-03 Juanma Barranquero <lekktu@gmail.com>
6923
6924 * w32font.c: Include math.h.
6925
69262008-03-03 Jason Rumney <jasonr@gnu.org>
6927
6928 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6929 Compute options separately.
6930 (w32font_open_internal): Set glyph_idx before caching metrics.
6931
6932 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6933 Define if system headers don't.
6934 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6935 (w32font_encode_char): Don't declare here.
6936
6937 * w32font.c (Quniscribe, QCformat): New symbols.
6938 (syms_of_w32font): Define them.
6939 (w32font_has_char): Indicate uncertainty.
6940 (w32font_encode_char): Encode as glyph point. Make static.
6941 (recompute_cached_metrics): New function.
6942 (w32font_open_internal): Use it. Set font to use glyph points
6943 initially. Set format based on type of font.
6944 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6945 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6946 on it. Set format based on information available here.
6947 (add_font_entity_to_list): Identify backend based on opentype_only.
6948
69492008-03-02 Andreas Schwab <schwab@suse.de>
6950
6951 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6952
6953 * coding.c (decode_coding_big5, produce_chars):
6954 Fix typos in last change.
6955
69562008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6957
6958 * gnu.h: New icon.
6959
69602008-03-02 Kenichi Handa <handa@m17n.org>
6961
6962 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6963 `dos', don't decode '\r' if that is the last in the source.
6964 (decode_coding_utf_16, decode_coding_emacs_mule)
6965 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6966 (decode_coding_raw_text, decode_coding_charset): Likewise.
6967 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6968
69692008-03-01 Jason Rumney <jasonr@gnu.org>
6970
6971 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6972
69732008-03-01 Kim F. Storm <storm@cua.dk>
6974
6975 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6976
69772008-03-01 Jason Rumney <jasonr@gnu.org>
6978
6979 * w32font.c (w32font_full_name): New function.
6980 (w32font_open_internal): Use it.
6981
69822008-03-01 Kim F. Storm <storm@cua.dk>
6983
6984 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6985
69862008-03-01 Jason Rumney <jasonr@gnu.org>
6987
6988 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6989
69902008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6991
6992 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6993 xg_frame_resized when the event is for the edit widget.
6994
6995 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6996
6997 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6998 set_char_size.
6999 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7000 operations on widgets here. Just set frame size if needed.
7001 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7002 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7003 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7004 the whole frame.
7005 (xg_create_tool_bar): Move attachment of the tool bar to
7006 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7007 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7008
70092008-03-01 Jason Rumney <jasonr@gnu.org>
7010
7011 * w32fns.c (w32_msg_pump): Disable debug code.
7012
70132008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7014
7015 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7016
70172008-02-29 Chong Yidong <cyd@stupidchicken.com>
7018
7019 * xdisp.c (next_overlay_string): Don't set
7020 overlay_strings_at_end_processed_p if we're currently reading from
7021 a display string.
7022
70232008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7024
7025 * xdisp.c (get_overlay_strings_1): Fix typo.
7026
70272008-02-29 Chong Yidong <cyd@stupidchicken.com>
7028
7029 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7030
70312008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7032
7033 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7034
7035 * xdisp.c (display_mode_element): Cancel the previous change.
7036 (decode_mode_spec): Likewise.
7037 (handle_auto_composed_prop): Don't make composition if it->string
7038 is a string.
7039
70402008-02-27 Kim F. Storm <storm@cua.dk>
7041
7042 * lisp.h (GLYPH): Change type from int to struct with separate char
7043 and face_id members.
7044 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7045 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7046 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7047 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7048 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7049 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7050 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7051 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7052 handle new Lisp glyph code encoding, either an integer or a cons.
7053
7054 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7055 (GLYPH_ALIAS): Delete.
7056 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7057 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7058 (GLYPH_FROM_CHAR): Replace macro by ...
7059 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7060
7061 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7062 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7063 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7064 (GLYPH_INVALID_P): New macro.
7065 (spec_glyph_lookup_face): Update prototype.
7066
7067 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7068 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7069 new glyph code encoding.
7070 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7071 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7072
7073 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7074 Adapt to new glyph type and new glyph code encoding.
7075
7076 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7077
7078 * indent.c (current_column, current_column_1, Fmove_to_column)
7079 (compute_motion): Adapt to new glyph code encoding.
7080
7081 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7082
70832008-02-27 Chong Yidong <cyd@stupidchicken.com>
7084
7085 * process.c (wait_reading_process_output): Check for window
7086 changes caused by timers.
7087 Suggested by Johan Bockgård.
7088
70892008-02-27 Glenn Morris <rgm@gnu.org>
7090
7091 * emacs.c (USAGE1): Add `--disable-font-backend'.
7092
70932008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7094
7095 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7096 is made to the buffer.
7097
70982008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7099
7100 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7101 (face_at_string_position):
7102 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7103 (face_at_string_position):
7104 * xdisp.c (display_string, next_overlay_change):
7105 * buffer.h (overlays_at):
7106 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7107 Update callers.
7108
71092008-02-26 Chong Yidong <cyd@stupidchicken.com>
7110
7111 * editfns.c (Fformat): Doc fix.
7112
71132008-02-26 Juanma Barranquero <lekktu@gmail.com>
7114
7115 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7116 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7117 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7118
71192008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7120
7121 * buffer.c (Fbuffer_swap_text): New function.
7122 (syms_of_buffer): Defsubr it.
7123
71242008-02-25 Chong Yidong <cyd@stupidchicken.com>
7125
7126 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7127
71282008-02-25 Jason Rumney <jasonr@gnu.org>
7129
7130 * w32font.c (w32font_draw): Draw one character at a time when padding.
7131
71322008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7133
7134 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7135 Handle a nil arg. Use run_window_configuration_change_hook.
7136 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7137 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7138 Use run_window_configuration_change_hook.
7139
71402008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7141
7142 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7143 1-pixel width.
7144
71452008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7146
7147 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7148 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7149 if the glyph in the font is zero pixel with.
7150
7151 * dispextern.h (struct glyph_string): New member padding_p.
7152
7153 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7154
7155 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7156
7157 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7158
7159 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7160
7161 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7162
71632008-02-25 Jason Rumney <jasonr@gnu.org>
7164
7165 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7166
71672008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7168
7169 Allow fine-grained image-cache flushing.
7170 * dispextern.h (struct image): Add `dependencies' field.
7171 (clear_image_caches): Change arg to Lisp_Object.
7172 * image.c (make_image): Initialize `dependencies' field.
7173 (clear_image_cache): Change arg to allow fine-grained flushing.
7174 Perform the flush even if image-cache-eviction-delay is nil.
7175 (clear_image_caches): Change arg to Lisp_Object.
7176 (Fclear_image_cache): Expand meaning of the argument.
7177 (mark_image): Mark `dependencies' field.
7178 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7179 (lface_hash): Use XHASH rather than XFASTINT.
7180 (face_at_buffer_position): Fix int -> EMACS_INT position.
7181 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7182 (select_frame_for_redisplay): Remove code duplication.
7183 (redisplay_internal): Adapt arg to call to clear_image_caches.
7184
71852008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7186
7187 * s/vms4-0.h:
7188 * s/vms4-2.h:
7189 * s/vms4-4.h:
7190 * s/vms5-5.h: Remove, unused.
7191
7192 * s/irix5-2.h:
7193 * s/irix6-0.h:
7194 * s/riscos5.h:
7195 * s/mach-bsd4-3.h:
7196 * m/mips4.h: Remove files for obsolete systems.
7197
7198 * Makefile.in:
7199 * filelock.c:
7200 * unexmips.c:
7201 * m/hp9000s300.h:
7202 * m/iris4d.h:
7203 * s/aix3-1.h:
7204 * s/hpux.h:
7205 * s/msdos.h:
7206 * s/usg5-0.h:
7207 * s/usg5-2-2.h:
7208 * s/usg5-2.h:
7209 * s/usg5-3.h: Remove references to obsolete variables.
7210
7211 * s/irix5-0.h: Remove, move all the contents ...
7212 * s/irix6-5.h: ... here. Simplify.
7213 * config.in: Regenerate.
7214
72152008-02-24 Jason Rumney <jasonr@gnu.org>
7216
7217 * w32term.c (x_draw_glyph_string_background): Clear the background
7218 manually when cleartype is in use.
7219 (x_draw_glyph_string_foreground): Draw text transparently when
7220 cleartype is in use.
7221
7222 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7223 a font into it unless we have to.
7224
72252008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7226
7227 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7228 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7229
aac0c6e3
MR
72302008-02-18 Jason Rumney <jasonr@gnu.org>
7231
7232 * w32fns.c (Fw32_shell_execute): Encode parameters.
7233
72342008-02-09 Eli Zaretskii <eliz@gnu.org>
7235
7236 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7237
72382008-02-05 Juanma Barranquero <lekktu@gmail.com>
7239
7240 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7241
72422008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7243
7244 * xterm.c (x_set_offset): Don't change the gravity if
7245 CHANGE_GRAVITY is -1.
7246
72472008-02-23 Chong Yidong <cyd@stupidchicken.com>
7248
7249 * fileio.c (auto_save_error_occurred): New var.
7250 (auto_save_error): Set it.
7251 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7252 error occurred.
7253
72542008-02-23 Eli Zaretskii <eliz@gnu.org>
7255
7256 * w32.c (globals_of_w32): Add initializations for
7257 g_b_init_get_sid_sub_authority and
7258 g_b_init_get_sid_sub_authority_count.
7259
72602008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7261
7262 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7263 (font_parse_xlfd): Use them for sanity check.
7264 (Finternal_set_font_style_table): Make sure the table is bijective.
7265
7266 Consolidate the image_cache to the terminal struct.
7267 * termhooks.h (P_): Remove redundant def.
7268 (struct terminal): New field `image_cache'.
7269 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7270 of FRAME_X_IMAGE_CACHE.
7271 * xterm.h (struct x_display_info): Remove image_cache field.
7272 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7273 * w32term.h (struct w32_display_info): Remove image_cache field.
7274 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7275 * macterm.h (struct mac_display_info): Remove image_cache field.
7276 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7277 * xterm.c (x_term_init):
7278 * w32term.c (w32_term_init):
7279 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7280 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7281 Remove declarations.
7282 (clear_image_caches, mark_image_cache): New declarations.
7283 * xfaces.c (clear_face_cache):
7284 * xdisp.c (redisplay_internal): Use clear_image_caches.
7285 * image.c (clear_image_cache): Don't check that a frame is on
7286 a window-system before checking if it shares the same cache.
7287 (clear_image_caches): New function.
7288 (Fclear_image_cache): Use it.
7289 (mark_image): Move from allo.c.
7290 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7291 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7292 (mark_object): Don't call mark_image_cache for frames.
7293 (mark_terminals): Call mark_image_cache.
7294
7295 * lisp.h (Fdelete_terminal): Declare.
7296
7297 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7298 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7299 wrong_type_argument.
7300
73012008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7302
7303 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7304 malayalam.el, and tamil.el. Add sinhala.el.
7305
73062008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7307
7308 * xterm.c (x_connection_closed): Consolidate identical tests.
7309 (x_delete_terminal): Don't crash if called via x_connection_closed.
7310
73112008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7312
7313 * xdisp.c (decode_mode_spec): New arg string.
7314 (display_mode_element): Adjust for the above change.
7315
73162008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7317
7318 * callint.c (Fcall_interactively): Use AREF.
7319
73202008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7321
7322 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7323
73242008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7325
7326 * xfns.c (Fx_show_tip): Set string to " " if empty.
7327
73282008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7329
7330 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7331 with Qt.
7332
73332008-02-17 Kenichi Handa <handa@m17n.org>
7334
7335 * ftfont.c (ftfont_shape): Return Lispy number.
7336
7337 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7338 for GCs.
7339 (Finternal_set_font_selection_order): Call font_update_sort_order
7340 only when enable_font_backend is set.
7341 (realize_x_face): Set face->font_info to that of default face only
7342 when enable_font_backend is set.
7343
7344 * xdisp.c (handle_composition_prop): Set it->c to the fist
7345 character of the composed region.
7346 (fill_composite_glyph_string): Set base_face->font_info to
7347 s->font_info. Get a face for ascii from base_face->ascii_face.
7348 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7349 with a face already decided.
7350 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7351 non-negative.
7352 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7353 call font_prepare_composition unconditionally.
7354
7355 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7356
7357 * xterm.h (struct x_display_info): New member font.
7358
7359 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7360 (x_set_mouse_face_gc, x_new_font): Likewise.
7361 (x_term_init): Setup display_info->font.
7362 (x_delete_terminal): Free display_info->font.
7363
7364 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7365
7366 * ftxfont.c (ftxfont_default_fid): Delete it.
7367 (ftxfont_open): Set xfont->fid to 0.
7368 (ftxfont_end_for_frame): Clear data specific to the frame and the
7369 font-driver.
7370
7371 * xftfont.c (xftfont_default_fid): Delete it.
7372 (xftfont_open): Set xfont->fid to 0.
7373
7374 * fontset.c (FONTSET_OBJLIST): New macro.
7375 (fontset_find_font): Update font-object list of the fontset.
7376 (free_realized_fontset): New function.
7377 (free_face_fontset): Call free_realized_fontset.
7378 (Ffont_info): Call font_close_object only when enable_font_backend
7379 is set.
7380
7381 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7382 [HAVE_NTGUI]: Include w32term.h.
7383 [MAC_OS]: Include macterm.ch.
7384 (font_otf_ValueRecord): Use make_number.
7385 (font_finish_cache): Fix handling of reference count.
7386 (font_clear_cache): Update num_fonts.
7387 (font_open_entity): Update smallest_char_width and
7388 smallest_font_height of the frame.
7389 (font_close_object): Update num_fonts.
7390 (Fclear_font_cache): Fix finding the target cache data.
7391
73922008-02-16 Glenn Morris <rgm@gnu.org>
7393
7394 * fontset.c (Finternal_char_font): Fix compilation warning.
7395
73962008-02-16 Eli Zaretskii <eliz@gnu.org>
7397
7398 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7399 instead of char arrays. Enlarge the size of array passed to
7400 get_token_information.
7401
7402 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7403 warnings.
7404
74052008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7406
7407 * .gdbinit: Don't set `args', it breaks gdb --args.
7408
74092008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7410
7411 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7412 within a narrowed buffer.
7413
74142008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7415
7416 * coding.c (decode_coding_object, encode_coding_object):
7417 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7418
74192008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7420
7421 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7422 hardcoding 1.
7423 (detect_coding_system):
7424 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7425 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7426 * insdel.c (insert_from_gap):
7427 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7428 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7429 (string_to_multibyte):
7430 * character.c (chars_in_text, multibyte_chars_in_text):
7431 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7432
7433 * character.h (FETCH_STRING_CHAR_ADVANCE)
7434 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7435 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7436 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7437
7438 * casefiddle.c (casify_region): Only call after-change and composition
7439 functions on the part of the region that was changed.
7440
7441 * keyboard.c (read_avail_input):
7442 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7443
74442008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7445
7446 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7447 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7448
74492008-02-11 Juanma Barranquero <lekktu@gmail.com>
7450
7451 * w32menu.c (push_submenu_start, push_submenu_end)
7452 (push_left_right_boundary, push_menu_pane, push_menu_item):
7453 * keyboard.c (read_key_sequence): Don't pass args with side effects
7454 to AREF, it fails when compiling with -DENABLE_CHECKING.
7455
74562008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7457
7458 * Makefile.in (${lispsource}international/charprop.el):
7459 Delete this target.
7460
7461 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7462 emacs-unicode-2.
7463
74642008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7465
7466 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7467
74682008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7469
7470 * frame.c (Qnoelisp): New symbol.
7471 (syms_of_frame): Initialize it.
7472 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7473 harmless Elisp code, from a strong `force' from x_connection_closed.
7474 * frame.h (Qnoelisp): Declare.
7475 * xterm.c (x_connection_closed): Pass `noelisp'.
7476
7477 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7478 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7479 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7480 rather than `int' for the type of `type'.
7481
74822008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7483
7484 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7485
7486 * Makefile.in (GNUC): Remove support for gcc-1.x.
7487
74882008-02-10 Richard Stallman <rms@gnu.org>
7489
7490 * lisp.h (ASET): Use AREF, not ASLOT.
7491
74922008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7493
7494 * lisp.h (ASET): Check bounds.
7495
74962008-02-10 Glenn Morris <rgm@gnu.org>
7497
7498 * buffer.c (mode-name): Doc fix.
7499
75002008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7501
7502 * Makefile.in:
7503 * emacs.c:
7504 * gmalloc.c:
7505 * keyboard.c:
7506 * lisp.h:
7507 * m/ibm370aix.h:
7508 * process.c:
7509 * regex.c:
7510 * s/hpux.h:
7511 * sysdep.c:
7512 * sysselect.h:
7513 * systty.h:
7514 * unexec.c:
7515 * w32term.c:
7516 * xsmfns.c:
7517 * xterm.c: Remove code that deals with obsolete variables.
7518
7519 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7520
7521 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7522 nothing else needs it anymore.
7523
75242008-02-09 Eli Zaretskii <eliz@gnu.org>
7525
7526 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7527 instead of unibyte_char_to_multibyte.
7528
75292008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7530
7531 * s/gnu-linux.h: Remove commented out code.
7532
7533 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7534
7535 * Makefile.in: Update what RMS says about using autoconf.
7536 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7537 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7538 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7539 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7540
75412008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7542
7543 * keymap.c (Fkey_description): Move side effect outside of macro call.
7544
7545 * xfaces.c (Finternal_make_lisp_face):
7546 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7547
7548 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7549 (syms_of_fontset): Use ASET.
7550
7551 * fns.c (concat): Move side effect outside of macro call.
7552 (hash_clear): Use ASET.
7553
75542008-02-08 Richard Stallman <rms@gnu.org>
7555
7556 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7557 If FORCE, and frame has a surrogate minibuffer for another frame,
7558 delete the other frame first.
7559
75602008-02-07 Timo Savola <timo.savola@iki.fi>
7561
7562 * xterm.c (x_detect_focus_change): Handle embed client message.
7563 (handle_one_xevent): Ditto.
7564 (handle_one_xevent): If embedded and we get a button press/release,
7565 request focus.
7566 (xembed_set_info, xembed_send_message): New functions.
7567 (x_make_frame_visible): Call xembed_set_info if embedded.
7568 (x_make_frame_invisible): Call xembed_set_info if embedded.
7569 (x_term_init): Initialize Xatom_XEMBED.
7570 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7571 (x_iconify_frame): Ditto.
7572
7573 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7574 (enum xembed_info, enum xembed_message, enum xembed_focus)
7575 (enum xembed_modifier, enum xembed_accelerator): New.
7576 (xembed_set_info, xembed_send_message): Declare.
7577 (FRAME_X_EMBEDDED_P): New.
7578
7579 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7580 gtk_plug_new.
7581
7582 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7583 window ID of a frame.
7584 (x_window): Reparent frame if embedded.
7585 (Fx_create_frame): Don't set border width if embedded.
7586
7587 * emacs.c (USAGE3): Add --parent-id.
7588 (standard_args): Ditto.
7589
75902008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7591
7592 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7593
75942008-02-07 Jim Meyering <meyering@redhat.com>
7595
7596 Use "do...while (0)", not "if (1)...else" in macro definitions.
7597 The latter provokes a warning from gcc about the empty else, when
7598 followed by ";". Also, without that trailing semicolon, it would
7599 silently swallow up any following statement.
7600 * syntax.h (SETUP_SYNTAX_TABLE)
7601 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7602 * buffer.h (DECODE_POSITION): Likewise.
7603 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7604 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7605 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7606 (FETCH_CHAR_ADVANCE): Likewise.
7607 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7608
76092008-02-07 Jim Meyering <meyering@redhat.com>
7610
7611 * lread.c [lint]: Don't include <sys/inode.h>.
7612
76132008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7614
7615 * xselect.c (x_handle_dnd_message):
7616 * xmenu.c (digest_single_submenu, xmenu_show):
7617 * xdisp.c (with_echo_area_buffer_unwind_data)
7618 (format_mode_line_unwind_data, unwind_format_mode_line)
7619 (display_menu_bar):
7620 * eval.c (Ffetch_bytecode):
7621 * doc.c (store_function_docstring):
7622 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7623 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7624 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7625
76262008-02-07 Kenichi Handa <handa@m17n.org>
7627
7628 * ftxfont.c (ftxfont_open): Don't set
7629 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7630
7631 * ftfont.c (ftfont_open): Fix previous change.
7632
76332008-02-06 Jason Rumney <jasonr@gnu.org>
7634
7635 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7636 Use cached metrics for ASCII characters.
7637 (w32font_open_internal): Don't set font's owning_frame.
7638 Cache metrics for ASCII characters.
7639
7640 * w32font.h (struct w32font_info): Add ascii_metrics.
7641 Remove owning_frame.
7642
76432008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7644
7645 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7646 to negative value.
7647
7648 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7649
7650 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7651
7652 * charset.c (syms_of_charset): Set QCtest and Qeq.
7653
76542008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7655
7656 * process.c (Fstart_process):
7657 * callproc.c (Fcall_process): Handle the case where
7658 Funhandled_file_name_directory returns nil.
7659
7660 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7661 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7662 * font.c (check_gstring): Use them and AREF to access the vector before
7663 we know it's really a gstring.
7664 (Ffont_shape_text): Fix typo.
7665 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7666
7667 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7668 Declare.
7669
7670 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7671
76722008-02-05 Jason Rumney <jasonr@gnu.org>
7673
7674 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7675 Set smallest_font_height and smallest_char_width in display info.
7676
76772008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7678
7679 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7680
76812008-02-05 Miles Bader <miles@gnu.org>
7682
7683 * xfaces.c (get_lface_attributes, merge_named_face)
7684 (lookup_named_face, lookup_derived_face, realize_named_face):
7685 Revert 2008-02-01 change by cyd@stupidchicken.com.
7686
76872008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7688
7689 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7690 fallback fonts.
7691 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7692
76932008-02-04 Jason Rumney <jasonr@gnu.org>
7694
7695 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7696 set full_name.
7697 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7698
76992008-02-03 Jason Rumney <jasonr@gnu.org>
7700
7701 * makefile.w32-in (OBJ1): Include font.o here.
7702 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7703
77042008-02-02 Jason Rumney <jasonr@gnu.org>
7705
7706 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7707
77082008-02-01 Jason Rumney <jasonr@gnu.org>
7709
7710 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7711
7712 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7713
77142008-02-01 Andreas Schwab <schwab@suse.de>
7715
7716 * Makefile.in (shortlisp, lisp): Update for rename of
7717 ../lisp/language/myanmar.el.
7718
77192008-02-01 Chong Yidong <cyd@stupidchicken.com>
7720
7721 * xfaces.c (get_lface_attributes): Delete function.
7722 (merge_named_face, lookup_named_face, lookup_derived_face)
7723 (realize_named_face): Call lface_from_face_name directly, and use
7724 the fact that merge_face_vectors does not alter its FROM argument.
7725
77262008-02-01 Jason Rumney <jasonr@gnu.org>
7727
7728 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7729 input in the default locale. Handle non-Unicode multibyte input.
7730
77312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7732
7733 * fontset.c (reorder_font_vector): Exclude nil elements from the
7734 font group. Don't try multiple fonts.
7735 (fontset_font): Adjust for the above change.
7736 (Finternal_char_font): Return nil if the found font doesn't
7737 contain the character ch.
7738
7739 * Makefile.in (lisp, shortlisp): Add cham.el.
7740
77412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7742
7743 * font.h (FONTP): Make it return 1 also for a font-object.
7744
7745 * .gdbinit (xfontset): New function.
7746
7747 * font.c (font_find_for_lface): Check if the character C is
7748 supported or not only for the first font.
7749
7750 * fontset.c (reorder_font_vector): Fix typo.
7751 (fontset_find_font): Don't add a font-spec specifying a script.
7752 Use 0 (not Qt) for the indication of empty font-group. Change the
7753 format of RFONT-DEF. Return Qt if no font in the font-group
7754 support the character.
7755 (fontset_font): Adjust for the above change. If no font was
7756 found the character, remember that.
7757 (face_for_char): Adjust for the change of RFONT-DEF.
7758 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7759 no font for the target.
7760 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7761
77622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7763
7764 * font.c (font_load_for_face): Handle the case that the font in
7765 face->lface is a string.
7766
77672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7768
7769 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7770
77712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7772
7773 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7774 Fix previous change. If the frame is not on a window system,
7775 signal an error.
7776
77772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7778
7779 * coding.c (decode_coding_object, encode_coding_object): Adjust
7780 marker positions after conversion.
7781
7782 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7783
77842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7785
7786 * font.c (font_find_for_lface): Fix the handling of the return
7787 value of font_has_char.
7788 (Ffont_shape_text): Fix previous change.
7789
7790 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7791 (fontset_ref_and_range): Delete it.
7792 (fontset_find_font): Call char_table_ref_and_range instead of
7793 FONTSET_REF_AND_RANGE.
7794 (make_fontset): Don't setup font groups of Latin here.
7795 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7796 (new_fontset_from_font): Make the specified font the default for
7797 all Latin characters.
7798
77992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7800
7801 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7802 is on a window system before accessing the fontset of the frame.
7803
78042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7805
7806 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7807
7808 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7809 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7810
7811 * font.c (Ffont_shape_text): If the font driver doesn't have a
7812 shaper function, make zero-width glyphs to have at least one-pixel
7813 width. Fix setting of `to' field of glyphs.
7814
78152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7816
7817 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7818 glyphs.
7819
7820 * font.h (struct font_driver): Improve docstring of member `shape'.
7821
78222008-02-01 Kenichi Handa <handa@m17n.org>
7823
7824 * composite.c (syms_of_composite): Fix docstring of
7825 auto-composition-function.
7826
7827 * font.h (LGLYPH_SIZE): New macro.
7828
7829 * font.c (Ffont_fill_gstring): Stop filling when a character not
7830 supported by the font is found.
7831 (Ffont_shape_text): When a shape callback function returns nil,
7832 try at most two more times with larger gstring.
7833 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7834
7835 * xdisp.c (handle_auto_composed_prop): Change the argument to
7836 auto-composition-function.
7837
7838 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7839 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7840 Lispy glyph and store it in the lgstring.
7841
7842 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7843
7844 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7845
78462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7847
7848 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7849
7850 * fontset.c (Vfont_encoding_charset_alist): New variable.
7851 (syms_of_fontset): DEFVAR it.
7852 (reorder_font_vector, fontset_find_font): Optimize for the case of
7853 no need of reordering.
7854 (face_for_char): Map the charset property by
7855 Vfont_encoding_charset_alist.
7856
78572008-02-01 Jason Rumney <jasonr@gnu.org>
7858
7859 * w32font.c (logfonts_match): Don't check adstyle here.
7860 (font_matches_spec): Check here against physical font instead.
7861 (add_font_entity_to_list): Avoid some substitutions.
7862
7863 * font.c (font_parse_fcname): Default weight and slant to normal.
7864 (font_score): Prefer normal fonts if weight or slant unspecified.
7865 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7866 match freetype scores.
7867
78682008-02-01 Jason Rumney <jasonr@gnu.org>
7869
7870 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7871 font, as it may have been deleted.
7872 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7873 most common hyphenless variation.
7874 (logfonts_match): Check generic family.
7875 (font_matches_spec): Don't check generic family here.
7876 (fill_in_logfont): Set generic family based on adstyle.
7877
7878 * w32font.h (w32font_get_cache): Update declaration.
7879
78802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7881
7882 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7883
7884 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7885 If none of the new drivers are available, call font_update_drivers
7886 with the old drivers.
7887
7888 * w32font.c (w32font_get_cache): Adjust the argument type.
7889
7890 * xfont.c (xfont_get_cache): Adjust the argument type.
7891
7892 * font.h (struct font_driver): Change argument type of get_cache.
7893
7894 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7895
7896 * font.c (Ffont_get): Fix arguments to Fassoc.
7897 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7898 (font_clear_cache): New function.
7899 (font_list_entities, font_matching_entity): Use font_get_cache.
7900 (font_update_drivers): Call font_clear_cache when finishing a driver.
7901
7902 * fontset.c (fontset_find_font): Fix previous change.
7903
79042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7905
7906 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7907 dpyinfo->font_table.
7908 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7909 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7910
7911 * font.c (font_at): Handle the case that the arg C is negative.
7912 Handle the unibyte case.
7913 (Ffont_at): Call font_at with the arg C -1.
7914
7915 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7916 the position here, and call font_at with the arg C -1.
7917 Don't check the range of the existing composition at the point.
7918
79192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7920
7921 * fontset.c (fontset_add): New args charset_id and family.
7922 Change caller.
7923 (load_font_get_repertory, fontset_find_font): Assume that
7924 font_spec is always a font-spec object.
7925 (Fset_fontset_font): Always store a font-spec object in a fontset.
7926
7927 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7928 instead of get_property_and_range.
7929
79302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7931
7932 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7933 (xftfont_open): Don't keep locking face.
7934 (xftfont_close): Don't unlock face.
7935 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7936
7937 * fontset.c (fontset_find_font): Don't prefer a font of
7938 supplementary charset.
7939
79402008-02-01 Kenichi Handa <handa@m17n.org>
7941
7942 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7943 script, langsys_tag to langsys, new member script.
7944 (OTF_TAG_STR): Terminate by '\0'.
7945 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7946 listing to the script specified in that property. Fix arg to
7947 OTF_check_features.
7948
79492008-02-01 Jason Rumney <jasonr@gnu.org>
7950
7951 * w32font.h: New file.
7952
7953 * w32font.c: Include it.
7954 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7955 (w32font_open): Set owning_frame.
7956 (w32font_text_extents): Use owning_frame.
7957 (struct font_callback_data): Add opentype_only field.
7958 (add_font_entity_to_list): Use it to filter fonts.
7959 Don't check against full name.
7960 (w32font_list_internal): New function.
7961 (w32font_list): Use it.
7962 (w32font_match_internal): New function.
7963 (w32font_match): Use it.
7964 (w32font_open_internal): New function.
7965 (w32font_open): Use it.
7966 (w32font_get_cache, w32font_close, w32font_has_char)
7967 (w32font_encode_char, w32font_text_extents, w32font_draw):
7968 Make non-static.
7969
7970 * makefile.w32-in (w32font.o): Depend on w32font.h.
7971
79722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7973
7974 * charset.c (Fdefine_charset_internal): Record a supplementary
7975 charset at the tail of Vcharset_order_list.
7976
7977 * font.c (Ffont_shape_text): Fix the return value.
7978
7979 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7980
7981 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7982
79832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7984
7985 * ftfont.c (struct OpenTypeSpec): New struct.
7986 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7987 (ftfont_get_open_type_spec): New function.
7988 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7989
7990 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7991
79922008-02-01 Jason Rumney <jasonr@gnu.org>
7993
7994 * w32font.c (add_font_entity_to_list): Compare only the beginning
7995 of full name.
7996
79972008-02-01 Kenichi Handa <handa@m17n.org>
7998
7999 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8000 Never return HANDLED_RECOMPUTE_PROPS.
8001
80022008-02-01 Kenichi Handa <handa@m17n.org>
8003
8004 * font.c (font_gstring_produce): Delete it.
8005
8006 * composite.h (COMPOSITION_METHOD):
8007 Handle COMPOSITION_WITH_GLYPH_STRING.
8008
80092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8010
8011 * xfont.c (Qx): Delete.
8012 (syms_of_xfont): Don't initialize Qx.
8013
8014 * composite.h (enum composition_method):
8015 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8016
80172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8018
8019 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8020 (choose_face_font): Accept new form of font-spec.
8021
8022 * frame.h (font_driver_list): Declare it unconditionally.
8023 (struct frame): Define members font_driver_list and font_data_list
8024 unconditionally.
8025
8026 * fontset.c: Include "font.h" unconditionally.
8027 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8028 (Fset_fontset_font): Accept a font-spec object.
8029
8030 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8031 PIXEL_SIZE part a wild card.
8032
8033 * dispextern.h (struct glyph_string): Define members clip and
8034 num_clips unconditionally.
8035 (struct face): Define members font_info and extra unconditionally.
8036
8037 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8038 ftfont_info only when HAVE_LIBOTF is defined.
8039
80402008-02-01 Andreas Schwab <schwab@suse.de>
8041
8042 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8043 and end.
8044
80452008-02-01 Jason Rumney <jasonr@gnu.org>
8046
8047 * w32font.c (w32font_driver): Add new fields.
8048
80492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8050
8051 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8052 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8053 (LIBES): Add @M17N_FLT_CFLAGS@.
8054
8055 * composite.c (compose_text): Don't treat the new style
8056 composition specially.
8057
8058 * emacs.c (main): Call syms_of_font unconditionally.
8059
8060 * font.h (FONT_ENTITY_NOT_LOADABLE)
8061 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8062 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8063 (struct font_driver): New member shape.
8064 (font_registry_charsets): Extern it.
8065 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8066 (font_otf_capability, font_drive_otf): Delete their externs.
8067
8068 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8069 (font_charset_alist, font_registry_charsets): Move from xfont.c
8070 and rename.
8071 (font_prop_validate_otf): New function.
8072 (font_property_table): Register it for QCotf.
8073 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8074 (font_drive_otf): Delete.
8075 (font_prepare_composition): New arg F. Adjust for the change of
8076 lispy gstring.
8077 (font_find_for_lface): New arg C.
8078 (font_load_for_face): Adjust for the change of font_find_for_lface.
8079 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8080 lispy gstring.
8081 (Ffont_shape_text): New function.
8082 (Fopen_font): If the font size is not given, use 12-pixel.
8083 (Ffont_at): New arg STRING.
8084 (syms_of_font): Initalize font_charset_alist.
8085 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8086 conditionally.
8087
8088 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8089 fonts of the same font-spec. Change the format of RFONT-DEF.
8090 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8091 Adjust for the change of RFONT-DEF.
8092 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8093
8094 * ftfont.h: New file.
8095
8096 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8097 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8098 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8099 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8100 font_otf_capability and font_drive_otf, set ftfont_shape.
8101 (ftfont_list): Adjust for the change of :otf property value.
8102 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8103 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8104 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8105 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8106 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8107 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8108
8109 * w32term.c (x_draw_composite_glyph_string_foreground):
8110 Adjust for the change of lispy gstring.
8111
8112 * xdisp.c (handle_composition_prop): Adjust for the change of
8113 lispy gstring. Call a function for auto-composition with the
8114 third arg it->window.
8115 (fill_composite_glyph_string): Adjust for the change of lispy string.
8116 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8117
8118 * xfaces.c (set_font_frame_param): Adjust for the change of
8119 font_find_for_lface.
8120
8121 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8122 (xfont_registry_charsets): Likewise. Change caller.
8123 (syms_of_xfont): Don't handle x_font_charset_alist.
8124
8125 * xftfont.c: Include "ftfont.h".
8126 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8127 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8128 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8129 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8130 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8131 Set xftfont_driver.shape to xftfont_shape.
8132
8133 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8134 the change of lispy gstring.
8135
81362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8137
8138 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8139
81402008-02-01 Jason Rumney <jasonr@gnu.org>
8141
8142 * w32font.c (w32font_draw): Fill background manually.
8143
81442008-02-01 Jason Rumney <jasonr@gnu.org>
8145
8146 * font.c (Qfontp): Remove unused symbol.
8147 (QCantialias): New symbol.
8148 (syms_of_font): Define it.
8149 (font_property_table): Set a validator for QCantialias.
8150
8151 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8152 Define if not already.
8153 (QCfamily): Share with xfaces.c.
8154 (Qstandard, Qsubpixel, Qnatural): New symbols.
8155 (syms_of_w32font): Define them. Don't define QCfamily here.
8156 (w32_antialias_type, lispy_antialias_type): New functions.
8157 (w32_enumfont_pattern_entity): New arg requested_font.
8158 Set antialias parameter if non-default was requested.
8159 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8160
81612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8162
8163 * lread.c (read1): Undo the previous change.
8164
81652008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8166
8167 * frame.c (Fdelete_frame): Call font_update_drivers only when
8168 USE_FONT_BACKEND is defined.
8169
81702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8171
8172 * font.h (struct font_bitmap): New member bits_per_pixel.
8173 (struct font_driver): New members start_for_frame and end_for_frame.
8174 (struct font_data_list): New struct.
8175 (font_put_frame_data, font_get_frame_data): Extern them.
8176
8177 * frame.h (struct frame): New member font_data_list.
8178
8179 * font.c (font_update_drivers): Call driver->start_for_frame and
8180 driver->end_for_frame at proper timings.
8181 (font_put_frame_data, font_get_frame_data): New functions.
8182 (Ffont_spec): Add usage in the docstring.
8183
8184 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8185 (Fdelete_frame): Call font_update_drivers.
8186
8187 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8188 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8189 (xftfont_get_xft_draw): New function.
8190 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8191 (xftfont_end_for_frame): New function.
8192 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8193
8194 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8195 Change argument. Cache GCs in the per-frame data.
8196 (struct ftxfont_frame_data): New struct.
8197 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8198 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8199 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8200 (ftxfont_end_for_frame): New function.
8201 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8202
8203 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8204
82052008-02-01 Kenichi Handa <handa@m17n.org>
8206
8207 * xselect.c (Vselection_coding_system)
8208 (Vnext_selection_coding_system): Delete them.
8209 (syms_of_xselect): Don't declare selection-coding-system and
8210 next-selection-coding-system. They are declared in select.el.
8211
82122008-02-01 Jason Rumney <jasonr@gnu.org>
8213
8214 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8215
8216 * w32fns.c: Include imm.h.
8217 (get_composition_string_fn, get_ime_context_fn): New optional
8218 system functions.
8219 (globals_of_w32fns): Load them from imm32.dll.
8220 (ignore_ime_char): New flag.
8221 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8222 WM_IME_ENDCOMPOSITION messages.
8223
8224 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8225 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8226
82272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8228
8229 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8230 (READCHAR_REPORT_MULTIBYTE): New macro.
8231 (readchar): New 2nd arg MULTIBYTE.
8232 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8233 Make symbol's name multibyte according to the multibyteness of the
8234 source.
8235
82362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8237
8238 * xfaces.c (face_for_overlay_string): Call lookup_face with
8239 correct arguments (fix of synching with the trunk).
8240
82412008-02-01 Kenichi Handa <handa@m17n.org>
8242
8243 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8244 (font_prop_validate_non_neg, font_prop_validate_spacing):
8245 Delete argument prop_index.
8246 (font_property_table): Change arguments to validater. Change Callers.
8247 (font_lispy_object): Delete.
8248 (font_at): Use font_find_object instead fo font_lispy_object.
8249
82502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8251
8252 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8253 and file names.
8254
82552008-02-01 Jason Rumney <jasonr@gnu.org>
8256
8257 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8258 (font_matches_spec): Remove debug output.
8259 (add_font_entity_to_list): Avoid using substituted fonts.
8260
82612008-02-01 Jason Rumney <jasonr@gnu.org>
8262
8263 * doc.c (Fsnarf_documentation):
8264 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8265
82662008-02-01 Miles Bader <miles@gnu.org>
8267
8268 * dispextern.h (struct glyph_row): Only define "clip" field if
8269 HAVE_WINDOW_SYSTEM is defined.
8270
82712008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8272
8273 Fix up multi-tty merge.
8274
8275 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8276 and indentation.
8277
8278 * xfaces.c (free_realized_face, clear_face_gcs):
8279 Include font_done_for_face in the input_blocked section, just in case.
8280
8281 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8282 (get_char_face_and_encoding): Undo last change and remove the *other*
8283 duplicate definition (i.e. keep the one that's better scoped and that
8284 includes code for the font-backend).
8285
8286 * terminal.c (create_terminal): Default keyboard_coding to
8287 `no-conversion' and terminal_coding to `undecided'.
8288
8289 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8290
8291 * fontset.c (free_realized_fontsets): Check that the table entry does
8292 contain a fontset before trying to compare it to `base'.
8293
8294 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8295 syms_of_charset, and syms_of_coding earlier because init_window_once
8296 now needs Vcoding_system_hash_table to be setup.
8297
8298 * coding.h (default_buffer_file_coding): Remove.
8299
8300 * coding.c (default_buffer_file_coding): Remove.
8301 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8302 than ->symbol, and use the terminal-local coding system.
8303 (syms_of_coding): Don't setup the coding-systems that are not
8304 terminal-local.
8305 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8306
8307 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8308 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8309
8310 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8311 in chartab.c and were re-added here by mistake.
8312 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8313
8314 * doc.c (Fsnarf_documentation):
8315 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8316 src to etc.
8317
8318 * ChangeLog.10: Add mistakenly removed entry.
8319
83202008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8321
8322 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8323
83242008-02-01 Miles Bader <miles@gnu.org>
8325
8326 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8327 Add extra args to FACE_FOR_CHAR.
8328
83292008-02-01 Kenichi Handa <handa@m17n.org>
8330
8331 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8332 in sequence.
8333
8334 * chartab.c (map_sub_char_table, map_char_table): If the range
8335 contains just one character, call the function with that character
8336 even if the depth is not 3.
8337
83382008-02-01 Jason Rumney <jasonr@gnu.org>
8339
8340 * w32font.c (w32font_text_extents): Calculate metrics for the
8341 whole string.
8342
83432008-02-01 Jason Rumney <jasonr@gnu.org>
8344
8345 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8346
83472008-02-01 Jason Rumney <jasonr@gnu.org>
8348
8349 * w32term.c (x_set_glyph_string_clipping): Use
8350 get_glyph_string_clip_rects.
8351 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8352 Adjust for the change of struct glyph_string.
8353
8354 * w32font.c (w32font_draw): Do clipping here.
8355
83562008-02-01 Kenichi Handa <handa@m17n.org>
8357
8358 * xftfont.c (xftfont_draw): Adjust for the change of struct
8359 glyph_string.
8360
8361 * xterm.c (x_set_glyph_string_clipping): Use
8362 get_glyph_string_clip_rects.
8363 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8364 Adjust for the change of struct glyph_string.
8365
8366 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8367 the resulting clip(s}.
8368 (expose_overlaps): Add arg r. Change callers. Set it to
8369 row->clip temporarily.
8370 (expose_window): Redraw rows overlapping the exposed area.
8371
8372 * dispextern.h (struct glyph_row): New member clip.
8373 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8374 clip_height, new member clip, and num_clips.
8375
83762008-02-01 Kenichi Handa <handa@m17n.org>
8377
8378 * data.c (Fchar_or_string_p): Fix docstring.
8379
83802008-02-01 Kenichi Handa <handa@m17n.org>
8381
8382 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8383 create a temporary XftDraw object.
8384
83852008-02-01 Kenichi Handa <handa@m17n.org>
8386
8387 * font.c (Ffontp): Fix docstring.
8388
8389 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8390 strong evidence of ISO-2022.
8391
83922008-02-01 Kenichi Handa <handa@m17n.org>
8393
8394 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8395 SYNTAX_ENTRY_FOLLOW_PARENT.
8396
83972008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8398
8399 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8400 its type.
8401 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8402 Update to the new type of weak_hash_tables and next_weak.
8403
8404 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8405 a plain C pointer to Lisp_Hash_Table.
8406
8407 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8408 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8409 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8410 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8411 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8412 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8413 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8414 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8415 (GC_EQ): Remove since they've been identical to their non-GC_
8416 alter-egos ever since the markbit was eradicated.
8417
8418 * alloc.c:
8419 * buffer.c:
8420 * buffer.h:
8421 * data.c:
8422 * fileio.c:
8423 * filelock.c:
8424 * fns.c:
8425 * frame.h:
8426 * lisp.h:
8427 * macterm.c:
8428 * print.c:
8429 * process.c:
8430 * w32fns.c:
8431 * w32menu.c:
8432 * w32term.c:
8433 * xfns.c:
8434 * xmenu.c:
8435 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8436
84372008-02-01 Kenichi Handa <handa@m17n.org>
8438
8439 * chartab.c (map_sub_char_table): Make it work for the top-level
8440 char-table. Fix handling of parent char-table.
8441 (map_char_table): Adjust for the above change.
8442
84432008-02-01 Jason Rumney <jasonr@gnu.org>
8444
8445 * w32font.c (Qgdi): Rename from Qw32.
8446
84472008-02-01 Jason Rumney <jasonr@gnu.org>
8448
8449 * w32bdf.c (get_quoted_string): Make function static.
8450
84512008-02-01 Kenichi Handa <handa@m17n.org>
8452
8453 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8454 bigger ascent and descent than those of the font, use them as
8455 font's ascent and descent.
8456
84572008-02-01 Kenichi Handa <handa@m17n.org>
8458
8459 * Makefile.in (${lispsource}international/charprop.el): Move this
8460 target within "#ifdef HAVE_UNIDATA" and "#endif".
8461
84622008-02-01 Kenichi Handa <handa@m17n.org>
8463
8464 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8465 (shortlisp): Add ../lisp/language/tai-viet.el.
8466
84672008-02-01 Ulrich Mueller <ulm@gentoo.org>
8468
8469 * Makefile.in (${lispsource}international/charprop.el): Depend on
8470 temacs${EXEEXT}.
8471
84722008-02-01 Jason Rumney <jasonr@gnu.org>
8473
8474 * w32font.c (w32font_close): Delete the GDI font object.
8475
8476 * w32menu.c: Include character.h.
8477
8478 * w32proc.c: Likewise.
8479
8480 * w32select.c: Likewise.
8481
8482 * makefile.w32-in (w32proc.o): Depend on character.h.
8483
84842008-02-01 Jason Rumney <jasonr@gnu.org>
8485
8486 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8487
8488 * w32menu.c (syms_of_w32menu): Likewise.
8489
8490 * w32proc.c (syms_of_ntproc): Likewise.
8491
8492 * w32select.c (syms_of_w32select): Likewise.
8493
8494 * w32term.c (syms_of_w32term): Likewise.
8495
84962008-02-01 Jason Rumney <jasonr@gnu.org>
8497
8498 * w32font.c (w32font_draw): Delete brush after using it.
8499
85002008-02-01 Jason Rumney <jasonr@gnu.org>
8501
8502 * w32font.c (w32font_open): Don't set font_idx.
8503 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8504 to font settings.
8505 (w32font_draw): Fill background explicitly.
8506
85072008-02-01 Jason Rumney <jasonr@gnu.org>
8508
8509 * w32term.c (w32_initialize): Don't call w32font_initialize.
8510
8511 * w32font.c (w32font_info): Remove subranges.
8512 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8513 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8514 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8515 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8516 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8517 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8518 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8519 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8520 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8521 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8522 New symbols.
8523 (font_callback_data): New struct.
8524 (w32font_list, w32font_match): Use it.
8525 (w32font_open): Don't populate subranges.
8526 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8527 (w32font_encode_char): Always return unicode code-point as-is.
8528 (w32font_text_extents): Supply a transformation matrix to
8529 GetGlyphOutline. Never look up by glyph index. Avoid looping
8530 twice. Use unicode version of GetTexExtentPoint32 instead of
8531 glyph index version.
8532 (set_fonts_frame): Remove.
8533 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8534 set frame parameter. Use backward compatible fake foundries.
8535 Save generic family in extra slot under QCfamily. Make width slot
8536 constant. Save QCspacing value. Save list of scripts instead of
8537 binary subranges.
8538 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8539 (add_font_entity_to_list): Use font_callback_data struct. Filter
8540 unwanted fonts.
8541 (add_one_font_entity_to_list): Use font_callback_data struct.
8542 (w32_registry): Default to iso10646_1.
8543 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8544 string font registries. Don't fill in font name if it is a generic
8545 family name, fill family instead. Use spacing, family and script
8546 extra info to fill pitch, family and charset fields.
8547 (list_all_matching_fonts): Use font_callback_data struct.
8548 (unicode_range_for_char): Remove.
8549 (font_supported_scripts): New function.
8550 (w32font_initialize): Remove.
8551 (syms_of_w32font): Update which symbols are defined.
8552
85532008-02-01 Jason Rumney <jasonr@gnu.org>
8554
8555 * font.c (font_pixel_size): Reverse assq_no_quit args.
8556
8557 * w32term.h (FONT_WIDTH): Report max width, not average.
8558 (FONT_MAX_WIDTH): Remove.
8559 (FONT_AVG_WIDTH): New macro.
8560
8561 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8562 redefinition of FONT_WIDTH.
8563
8564 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8565 (w32_cache_char_metrics): Use FONT_WIDTH.
8566
8567 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8568
85692008-02-01 Jason Rumney <jasonr@gnu.org>
8570
8571 * w32font.c (w32font_open): Make lfHeight negative.
8572
8573 * w32fns.c (x_default_font_parameter): Use new style font name.
8574 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8575
85762008-02-01 Jason Rumney <jasonr@gnu.org>
8577
8578 * w32font.c (QCsubranges): New symbol.
8579 (w32font_open, w32font_has_char): Get subranges from subproperty
8580 of extra.
8581 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8582 (syms_of_w32font): Define :subranges symbol.
8583
8584 * font.c (font_put_extra): Expose externally.
8585
8586 * font.h (font_put_extra): Move declaration from font.c.
8587
8588 * font.c (Ffont_get): Use font driver to determine otf capability.
8589 (adjust_anchor): Check if driver defines anchor_point before using.
8590
8591 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8592 (w32font_draw): Use options.
8593 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8594 Fix detection of truetype fonts.
8595 (registry_to_w32_charset): Handle charsets other than iso8859-1
8596 expressed as lisp symbols.
8597 (w32_registry): Express charset as lisp symbol.
8598 (fill_in_logfont): Reverse pixel and point height logic.
8599 Don't set width here. Set quality to default.
8600
8601 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8602 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8603
8604 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8605 Remove redundant loop and allocation.
8606
8607 * makefile.w32-in (font.o, w32font.o): New objects.
8608 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8609 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8610
8611 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8612 STORE_XCHARB a valid l-value.
8613
8614 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8615 calculations for non-Truetype fonts.
8616 (x_draw_glyph_string): Sync with xterm.c.
8617 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8618 Remove redundant code.
8619 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8620
8621 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8622 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8623
8624 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8625 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8626
8627 * w32font.c: New file for w32 font backend.
8628
86292008-02-01 Kenichi Handa <handa@m17n.org>
8630
8631 * term.c: Don't include "buffer.h" twice.
8632
86332008-02-01 Kenichi Handa <handa@m17n.org>
8634
8635 * character.c (Funibyte_string): New function.
8636 (syms_of_character): Defsubr it.
8637
86382008-02-01 Jason Rumney <jasonr@gnu.org>
8639
8640 * w32term.c [USE_FONT_BACKEND]:
8641 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8642 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8643 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8644 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8645 (x_free_frame_resources): Sync with xterm.c.
8646
86472008-02-01 Andreas Schwab <schwab@suse.de>
8648
8649 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8650 char-table size.
8651
86522008-02-01 Kenichi Handa <handa@m17n.org>
8653
8654 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8655
86562008-02-01 Kenichi Handa <handa@m17n.org>
8657
8658 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8659 font_otf_gpos, add font_drive_otf.
8660
8661 * fontset.c (fontset_find_font): Pay attention to font size
8662 specified for a font.
8663 (reorder_font_vector): Check contents of font_def.
8664
8665 * font.c (struct otf_list): Delete it.
8666 (otf_list): Make it a lisp variable.
8667 (otf_open): Use lispy otf_list.
8668 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8669 (check_otf_features): New function.
8670 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8671 New functions.
8672 (font_drive_otf): New function merging font_otf_gsub and
8673 font_otf_gpos.
8674 (font_open_for_lface): New arg spec. Change argument order.
8675 (font_load_for_face): Adjust for the change of font_open_for_lface.
8676 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8677 Ffont_otf_gpos.
8678 (syms_of_font): Staticpro otf_list. Delete defsubr of
8679 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8680
8681 * xfaces.c (set_font_frame_param): Adjust for the change of
8682 font_open_for_lface.
8683
8684 * font.h (font_open_for_lface): Adjust prototype.
8685 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8686 member otf_drive.
8687 (font_otf_gsub, font_otf_gpos): Delete externs.
8688 (font_drive_otf): Extern it.
8689
86902008-02-01 Kenichi Handa <handa@m17n.org>
8691
8692 * font.c (font_at): If the window W is not on a window system,
8693 return Qnil.
8694
8695 * coding.c (produce_chars, encode_coding): Don't call
8696 insert_from_gap if no characters to produce.
8697
86982008-02-01 Kenichi Handa <handa@m17n.org>
8699
8700 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8701 Fclear_face_cache.
8702
8703 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8704
87052008-02-01 Miles Bader <miles@gnu.org>
8706
8707 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8708 Parse "--disable-font-backend" option.
8709 (standard_args): Add "--disable-font-backend" option.
8710
87112008-02-01 Kenichi Handa <handa@m17n.org>
8712
8713 * fontset.c (fontset_find_font): New function.
8714 (fontset_font): Use fontset_find_font.
8715 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8716 Register the specified font for all Latin characters.
8717 (new_fontset_from_font): Register the specified font for all Latin
8718 characters.
8719 (dump_fontset): For a realized fontset, include the base fontset
8720 name in the returned vector.
8721
87222008-02-01 Kenichi Handa <handa@m17n.org>
8723
8724 * character.h (CHAR_STRING): Cast C to unsigned on calling
8725 char_string.
8726
8727 * character.c (char_string): Type of arg C changed to unsigned.
8728 Signal an error if C is an invalid character code.
8729
8730 * editfns.c (general_insert_function, Fchar_to_string):
8731 Use CHARACTERP, not INTEGERP.
8732
87332008-02-01 Kenichi Handa <handa@m17n.org>
8734
8735 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8736 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8737
8738 * regex.c (analyse_first): Fix for multibyte characters in "case
8739 charset:" and "case categoryspec:".
8740
87412008-02-01 Andreas Schwab <schwab@suse.de>
8742
8743 * Makefile.in (LIBES): Move standard libraries to the end.
8744
87452008-02-01 Kenichi Handa <handa@m17n.org>
8746
8747 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8748 nonzero, don't shrink the buffer nextb.
8749
8750 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8751
8752 * coding.c (coding_alloc_by_making_gap): New arg offset.
8753 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8754 offset.
8755 (decode_coding_iso_2022): Update coding->safe_charsets.
8756 (decode_coding_gap): Temporarily set
8757 current_buffer->text->inhibit_shrinking to 1.
8758
87592008-02-01 Kenichi Handa <handa@m17n.org>
8760
8761 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8762 indexing into elements of s->cmp and s->char2b.
8763
87642008-02-01 Juanma Barranquero <lekktu@gmail.com>
8765
8766 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8767
87682008-02-01 Kenichi Handa <handa@m17n.org>
8769
8770 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8771 target_multibyte instead of multibyte.
8772 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8773 (bcmp_translate): Change the argument name from multibyte to
8774 target_multibyte.
8775
87762008-02-01 Kenichi Handa <handa@m17n.org>
8777
8778 These changes are to compile a regexp into a pattern that can be
8779 used both for multibyte and unibyte targets.
8780
8781 * Makefile.in (search.o): Depend on charset.h.
8782
8783 * character.c (multibyte_char_to_unibyte_safe): New function.
8784
8785 * search.c: Include "charset.h".
8786 (compile_pattern_1): Delete argument multibyte. Don't set
8787 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8788 (compile_pattern): Don't compare cp->buf.target_multibyte.
8789 Compare cp->buf.charset_unibyte.
8790 (compile_pattern): Set cp->buf.target_multibyte.
8791
8792 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8793
8794 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8795
8796 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8797 multibyte. Change callers.
8798 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8799 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8800 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8801 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8802 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8803 (regex_compile): Make the compiled pattern usable both for
8804 multibyte and unibyte targets.
8805 (analyse_first): Make the fastmap usable both for multibyte and
8806 unibyte targets.
8807 (TRANSLATE_VIA_MULTIBYTE): Delete.
8808 (re_match_2_internal): Pay attention to the case that the
8809 multibyteness of bufp and target may be different.
8810
88112008-02-01 Kenichi Handa <handa@m17n.org>
8812
8813 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8814 empty box occupy at least one column width.
8815
88162008-02-01 Miles Bader <miles@gnu.org>
8817
8818 * Makefile.in: Remove redundant HAVE_XFT clause.
8819
88202008-02-01 Kenichi Handa <handa@m17n.org>
8821
8822 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8823
88242008-02-01 Kenichi Handa <handa@m17n.org>
8825
8826 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8827 being nil.
8828
88292008-02-01 Kenichi Handa <handa@m17n.org>
8830
8831 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8832
88332008-02-01 Kenichi Handa <handa@m17n.org>
8834
8835 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8836
88372008-02-01 Kenichi Handa <handa@m17n.org>
8838
8839 * search.c (simple_search): Fix previous change.
8840
88412008-02-01 Kenichi Handa <handa@m17n.org>
8842
8843 * xftfont.c (ftfont_font_format): Extern declaration.
8844
8845 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8846
8847 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8848 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8849
8850 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8851 (ftfont_font_format): Fix previous change.
8852
8853 * font.h (Ffont_xlfd_name): EXFUN it.
8854
8855 * font.c (font_parse_xlfd): Fix the array size of `f'.
8856 (register_font_driver): Use EQ to compare driver->type.
8857
8858 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8859 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8860 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8861
88622008-02-01 Kenichi Handa <handa@m17n.org>
8863
8864 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8865 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8866
88672008-02-01 Kenichi Handa <handa@m17n.org>
8868
8869 * xfont.c (xfont_open): Set font->format.
8870
8871 * xftfont.c (xftfont_open): Set font->format.
8872
8873 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8874 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8875 (ftfont_open): Set font->format.
8876 (ftfont_font_format): New function.
8877
8878 * font.h (struct font): New member format.
8879
8880 * font.c (Qopentype): New variable.
8881 (syms_of_font): Defsym it.
8882 (Fquery_font): Change the format of the last element of the return
8883 value.
8884
88852008-02-01 Kenichi Handa <handa@m17n.org>
8886
8887 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8888 last resort.
8889
88902008-02-01 Kenichi Handa <handa@m17n.org>
8891
8892 * coding.c (detect_coding_charset): Fix detection of multi-byte
8893 charset.
8894
88952008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8896
8897 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8898
88992008-02-01 Kenichi Handa <handa@m17n.org>
8900
8901 * xdisp.c (get_next_display_element): Set it->face_id for the
8902 first component of a composition.
8903 (x_produce_glyphs): Check if the font is changed or not for composition.
8904
89052008-02-01 Kenichi Handa <handa@m17n.org>
8906
8907 * fontset.c (Qlatin): New variable.
8908 (syms_of_fontset): Define it as a lisp symbol.
8909 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8910
89112008-02-01 Kenichi Handa <handa@m17n.org>
8912
8913 * font.c (font_unparse_fcname): Pay attention to the case that
8914 some of font property is a null string.
8915
89162008-02-01 Kenichi Handa <handa@m17n.org>
8917
8918 * term.c: Include "composite.h".
8919 (encode_terminal_code): Output all components of composition.
8920 Check the size of encode_terminal_src.
8921 (produce_glyphs): For composition, call produce_composite_glyph.
8922 (append_composite_glyph, produce_composite_glyph): New functions.
8923
8924 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8925 is not found, get font_info from the current ascii face.
8926
89272008-02-01 Kenichi Handa <handa@m17n.org>
8928
8929 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8930 buffer-file-name to Qnil before calling insert_from_buffer.
8931
8932 * font.c (font_unparse_fcname): Pay attention to the case that
8933 foundry is a null string.
8934
89352008-02-01 Kenichi Handa <handa@m17n.org>
8936
8937 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8938
8939 * font.c (Qunicode_sip): New variable.
8940 (syms_of_font): Declare it as a Lisp symbol.
8941
8942 * font.h (Qunicode_sip): Extern it.
8943
89442008-02-01 Kenichi Handa <handa@m17n.org>
8945
8946 * composite.c (get_composition_id): Pay attention to TAB component.
8947
8948 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8949 TAB. Adjust for the change of s->char2b which always points to
8950 the first element of allocated memory.
8951
8952 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8953
8954 * xdisp.c (handle_composition_prop): Set it->c to the first
8955 non-TAB component.
8956 (fill_composite_glyph_string): Change argument.
8957 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8958 (x_produce_glyphs): Fix handling of left/right padding.
8959
89602008-02-01 Kenichi Handa <handa@m17n.org>
8961
8962 * coding.c (detect_coding_system): Fix for handling off
8963 inhibit_iso_escape_detection. Fix for the case that no coding
8964 system is defined for a specific coding category.
8965
89662008-02-01 Kenichi Handa <handa@m17n.org>
8967
8968 * font.c (font_matching_entity): Delete unused local var.
8969
8970 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8971 opening a font.
8972
8973 * fileio.c (Finsert_file_contents): On recovering a file, assume
8974 Unix-like eol.
8975 (choose_write_coding_system): On auto-saving a file, force
8976 Unix-like eol.
8977
8978 * coding.c (setup_coding_system): Fix setting of
8979 coding->common_flags based on eol_type.
8980 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8981 inherit from it.
8982
89832008-02-01 Kenichi Handa <handa@m17n.org>
8984
8985 * alloc.c (NSTATICS): Increas to 0x600.
8986
89872008-02-01 Kenichi Handa <handa@m17n.org>
8988
8989 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8990 (ftfont_list): Don't check :name property.
8991 (ftfont_match): New function.
8992 (ftfont_pattern_entity): If the pattern doesn't contain
8993 FC_SPACING, don't assume FC_MONO.
8994
8995 * font.h (struct font_driver): New member `match'.
8996 (font_update_drivers): Adjust prototype.
8997
8998 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8999 property of FONT.
9000 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9001 them unconditionally.
9002 (font_matching_entity): New function.
9003 (font_open_by_name): Try font_matching_entity if exact match is
9004 not found.
9005 (font_update_drivers): Delete the arg FONT. Return a list of
9006 actually used backends. Don't free faces, font caches here.
9007 Don't store data in frame parameters. Don't call x_set_font.
9008 (Ffont_spec): Store :name property as is.
9009 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9010 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9011 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9012 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9013 Call font->driver->otf_gsub instead of font_otf_gsub.
9014
9015 * frame.c (x_set_font_backend): Do more works that were done in
9016 font_update_drivers before.
9017
9018 * xfont.c (xfont_match): New function.
9019 (xfont_driver): Set xfont_driver.match to xfont_match.
9020 (xfont_draw): Set font in GC if necessary.
9021
9022 * ftxfont.c (ftxfont_match): New function.
9023 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9024
9025 * xftfont.c (xftfont_match): New function.
9026 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9027
90282008-02-01 Kenichi Handa <handa@m17n.org>
9029
9030 * font.h (struct font): New member scalable.
9031 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9032 (font_otf_gsub): Adjust prototype.
9033
9034 * font.c (font_otf_capability): Fix handling of the default langsys.
9035 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9036 Check the contents of SPEC.
9037 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9038 (check_gstring): New function.
9039 (REPLACEMENT_CHARACTER): New macro.
9040 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9041 glyph codes of GSTRING.
9042 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9043 (font_prepare_composition): Set cmp->glyph_len.
9044 (font_open_entity): Set font->scalable.
9045 (Ffont_get): Handle :otf property.
9046 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9047 functions.
9048 (Fquery_font): Use font->font.full_name.
9049 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9050 Sfont_otf_alternates.
9051
9052 * ftfont.c (ftfont_open): Set font->font.full_name and
9053 font->font.name properly. Fix calculation of font->font.height
9054 and font->min_width.
9055
9056 * ftxfont.c (ftxfont_create_gcs): New function.
9057 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9058 (ftxfont_draw_backgrond): Fix filling region.
9059 (ftxfont_default_fid): New function.
9060 (ftxfont_open): Set xfont->fid to the return value of
9061 ftxfont_default_fid.
9062 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9063 (ftxfont_done_face): Free only GCs that are created by
9064 ftxfont_create_gcs.
9065 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9066
9067 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9068 Clip to src->width, etc (not src->clip_XXX).
9069
9070 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9071 FontBackend frame parameter.
9072
90732008-02-01 Kenichi Handa <handa@m17n.org>
9074
9075 * font.h (struct font_driver_list): New member `on'.
9076 (Fclear_font_cache): EXFUN it.
9077 (font_update_drivers): Extern it.
9078
9079 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9080 (font_list_entities): Check driver_list->on.
9081 (register_font_driver): Initalize `on' member to 0.
9082 (font_update_drivers): New function.
9083 (Fclear_font_cache): Check driver_list->on.
9084
9085 * frame.h (Qfont_backend): Extern it.
9086 (x_set_font_backend): Extern it.
9087
9088 * frame.c (Qfont_backend): New variable.
9089 (frame_parms): New element for font-backend.
9090 (x_set_font_backend): New function.
9091
9092 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9093 FontBackend frame parameter.
9094 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9095 x_set_font_backend.
9096
9097 * xfont.c (xfont_list): Don't try listing by :name property if the
9098 name is not for XLFD.
9099
91002008-02-01 Kenichi Handa <handa@m17n.org>
9101
9102 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9103 (LGLYPH_SET_TO): New macros.
9104 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9105 element of G is vector or not.
9106 (font_at): Extern it.
9107
9108 * font.c: Include window.h.
9109 (font_lispy_object): New function.
9110 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9111 end of valid glyph.
9112 (font_close_object): Fix getting (struct font *).
9113 (font_at): New function.
9114 (Ffont_get): If FONT is a font-object, get entity from it.
9115 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9116 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9117 range check.
9118 (Ffont_at): New function.
9119 (syms_of_font): Defsubr Sfont_at.
9120
9121 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9122 before the entry for Qcomposition.
9123 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9124 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9125 the font in gstring.
9126 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9127 LGLYPH_FORM (g) to detect the end of valid glyph.
9128 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9129 we are composing with gstring.
9130
9131 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9132 Check if adjustment is vector or not.
9133
9134 * Makefile.in (font.o): Make it depends on window.h.
9135
91362008-02-01 Kenichi Handa <handa@m17n.org>
9137
9138 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9139 adjustment is vector or not.
9140
91412008-02-01 Miles Bader <miles@gnu.org>
9142
9143 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9144
91452008-02-01 Kenichi Handa <handa@m17n.org>
9146
9147 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9148 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9149 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9150
9151 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9152 (DEVICE_DELTA): Fix typo.
9153 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9154 LGLYPH format.
9155
9156 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9157 the change of LGLYPH format.
9158
91592008-02-01 Kenichi Handa <handa@m17n.org>
9160
9161 * ftfont.c (ftfont_list): Fix typo.
9162 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9163
91642008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9165
9166 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9167
9168 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9169 xftface_info is non-NULL.
9170
91712008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9172
9173 * ftfont.c (ftfont_list): Move misplaced #endif.
9174
91752008-02-01 Kenichi Handa <handa@m17n.org>
9176
9177 * ftfont.c (ftfont_list): Pay attention to the case that
9178 FC_CAPABILITY is not defined.
9179
91802008-02-01 Kenichi Handa <handa@m17n.org>
9181
9182 * xftfont.c (xftfont_open): Set charset related members to -1.
9183
9184 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9185 QCname.
9186 (ftfont_open): Set charset related members to -1.
9187
9188 * fontset.c (Votf_script_alist): New variable.
9189 (syms_of_fontset): Initialize it.
9190 (fontset_font): Delete unused variable.
9191
9192 * fontset.h (Votf_script_alist): Extern it.
9193
9194 * font.c (font_find_for_lface): Optimize code.
9195
9196 * font.h (font_close_object, font_merge_old_spec): Extern them.
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9201 (syms_of_font): Initialize them.
9202 (font_pixel_size): Allow float value in dpi.
9203 (font_prop_validate_type): Delete.
9204 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9205 Change caller.
9206 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9207 (font_prop_validate_extra): Delete.
9208 (font_prop_validate_spacing): New function.
9209 (font_property_table): Add elements for all known properties.
9210 (get_font_prop_index): Rename from check_font_prop_name. New
9211 argument FROM. Change caller.
9212 (font_prop_validate): Validate all known properties.
9213 (font_put_extra): Delete argument force. Change caller.
9214 (font_expand_wildcards): Make it static. Fix the way of shrinking
9215 the possible range.
9216 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9217 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9218 Change caller.
9219 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9220 (font_parse_fcname): Delete argument merge. Fix parsing of point
9221 size. Don't validate properties values here. Change caller.
9222 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9223 (font_open_by_name): Delete unused variable.
9224 (Ffont_spec): Likewise. Validate property values.
9225 (Ffont_match_p): New function.
9226
9227 * font.h (QCscalable): Extern it.
9228 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9229
9230 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9231
9232 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9233 (xfont_list_pattern): New function.
9234 (xfont_list): Use xfont_list_pattern.
9235
92362008-02-01 Kenichi Handa <handa@m17n.org>
9237
9238 * font.h (Flist_fonts): EXFUN it.
9239
92402008-02-01 Jason Rumney <jasonr@gnu.org>
9241
9242 * w32term.c (w32_initialize): Add back smoothing_type and
9243 smoothing_enabled definitions.
9244
92452008-02-01 Kenichi Handa <handa@m17n.org>
9246
9247 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9248 s->face->font on determining underline position.
9249
92502008-02-01 Kenichi Handa <handa@m17n.org>
9251
9252 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9253 (font_has_char): Accept font-object too.
9254 (font_find_for_lface): Try at first with a size specified in face.
9255
92562008-02-01 Kenichi Handa <handa@m17n.org>
9257
9258 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9259 font_open_by_name.
9260
92612008-02-01 Kenichi Handa <handa@m17n.org>
9262
9263 * font.h (QCspacing, QCdpi): Extern them.
9264 (enum font_spacing): New enum.
9265 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9266
9267 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9268 (QCspacing, QCdpi): New variables.
9269 (syms_of_font): Initialize them.
9270 (font_pixel_size): New function.
9271 (font_put_extra): New function.
9272 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9273 in FONT_EXTRA.
9274 (font_parse_fcname): Handle enumerated values (e.g. bold).
9275 Fix handling font size. Add QCname property that contains only
9276 unknown properties.
9277 (font_score): Change argument. Change caller. Pay attention to
9278 FONT_PIXEL_SIZE_QUANTUM.
9279 (font_sort_entites, font_list_entities, font_find_for_lface)
9280 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9281 (Ffont_spec): Add QCname property that contains only unknown properties.
9282
9283 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9284 include weight in listing pattern, instead check weight of each
9285 listed font. Don't include scalable in pattern. Pay attention to
9286 FONT_PIXEL_SIZE_QUANTUM.
9287
92882008-02-01 Kenichi Handa <handa@m17n.org>
9289
9290 * font.c (font_parse_fcname): Fix parsing of point-size.
9291 (font_unparse_fcname): Produce symbolic names for style properties.
9292 (font_list_entities): Handle float size correctly.
9293 (font_open_by_name): Prefer `normal' property values if the name
9294 doesn't specify them.
9295
9296 * fontset.c (Finternal_char_font): Use font_get_name, not
9297 Ffont_xlfd_name.
9298
9299 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9300 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9301 pattern. Don't force scalable.
9302
9303 * xftfont.c (xftfont_open): For generating a name, start from
9304 96-byte buffer.
9305
93062008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9307
9308 * frame.h (x_new_fontset2): Fix prototype.
9309
93102008-02-01 Kenichi Handa <handa@m17n.org>
9311
9312 * font.h (struct font_driver): Delete member parse_name.
9313 (font_match_p, font_get_spec, font_parse_fcname)
9314 (font_unparse_fcname): Extern them.
9315 (font_get_name): Adjust prototype.
9316
9317 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9318 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9319 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9320 unnecessary checks for weight, slant, and swidth.
9321 (font_parse_fcname): New function.
9322 (font_unparse_fcname): New function.
9323 (font_parse_name): New function.
9324 (font_match_p): New function.
9325 (font_get_name): Change return value to Lisp string.
9326 (font_get_spec): New function.
9327 (Qunspecified, Qignore_defface): Don't extern them.
9328 (font_find_for_lface): Assume that LFACE is fully specified.
9329 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9330 object, use it for FACE.
9331 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9332 driver->parse_name.
9333 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9334
9335 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9336 prototype.
9337
9338 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9339 argument F. Don't call Fnew_fontset. Instead, directly call
9340 make_fontset.
9341
9342 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9343
9344 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9345 of x_new_fontset2.
9346
9347 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9348 (Qsans__serif): New variables.
9349 (ftfont_generic_family_list): New variable.
9350 (syms_of_ftfont): Initialize the above variables.
9351 (ftfont_pattern_entity): Delete argument NAME.
9352 (ftfont_list_generic_family): New function.
9353 (ftfont_parse_name): Delete this function.
9354 (ftfont_list): Try generic family only when FcFontList found no font.
9355 (ftfont_list_family): Fix args to FcObjectSetBuild.
9356
9357 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9358 object in attrs[LFACE_FONT_INDEX].
9359 (set_lface_from_font_name): Cancel all changes for font-backend.
9360 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9361 function.
9362 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9363 font object in QCfont attribute.
9364 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9365 (realize_default_face) [USE_FONT_BACKEND]: Call
9366 set_lface_from_font_and_fontset.
9367
9368 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9369 "fixed", and signal error here if no suitable font was found.
9370
9371 * xfont.c (xfont_parse_name): Delete this function.
9372
9373 * xftfont.c (xftfont_open): Change coding style of error
9374 handling. Generate fontconfig's fontname pattern.
9375
9376 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9377 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9378
9379 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9380 Both args FONTSET and FONT_OBJECT must be existing ones.
9381
93822008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9383
9384 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9385
93862008-02-01 Kenichi Handa <handa@m17n.org>
9387
9388 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9389
9390 * font.h (struct font): Fix typo.
9391
9392 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9393 XLFD_XXX_INDEX.
9394 (enum xlfd_field_mask): New enum.
9395 (intern_font_field): Changed argument. Change caller. If digits
9396 are followed by non-digits, return a symbol.
9397 (font_expand_wildcards): New function.
9398 (font_parse_xlfd): Fix wildcard handling.
9399 (Ffont_spec): If :name is specified, reflect the info in the other
9400 properties.
9401
9402 * ftfont.c (ftfont_pattern_entity): Fix typo.
9403 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9404 locale.
9405
94062008-02-01 Kenichi Handa <handa@m17n.org>
9407
9408 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9409
9410 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9411 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9412 registry doesn't specify encoding part.
9413 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9414 (font_open_by_name): At first try parsing the name.
9415 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9416 as Lisp symbols.
9417
9418 * fontset.c (reorder_font_vector): Pay attention to the case that
9419 the 3rd element of font_def is nil.
9420 (fontset_font): For the default fontset, append one more fontset
9421 elements for a script-based font specification. Don't add script
9422 attribute on finding a font.
9423 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9424 font name.
9425 (fontset_ascii_font): If a font can't be opened, return nil.
9426
9427 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9428 (ftfont_pattern_entity): New function.
9429 (ftfont_get_cache): Assume that freetype_font_cache is already
9430 initialized.
9431 (ftfont_list): Handle the case that a file is specified in font
9432 name. Use ftfont_pattern_entity to generate entities.
9433 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9434 (syms_of_ftfont): Initialize freetype_font_cache.
9435
9436 * xftfont.c (xftfont_open): Make the font name fontconfig's
9437 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9438 (xftfont_close): Free font->font.name if not NULL.
9439
9440 * xfont.c (xfont_list): If script is specified for a font, return
9441 null_vector.
9442 (xfont_list_family): Declare argument type.
9443
9444 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9445 name, set LFACE_FONT (lface) to nil.
9446
9447 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9448 return Qnil.
9449
94502008-02-01 Kenichi Handa <handa@m17n.org>
9451
9452 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9453 (standard_args): Add "-enable-font-backend".
9454
94552008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9458 (struct xftdraw_list, xftdraw_list): Delete them.
9459 (register_xftdraw, check_xftdraw): Delete them.
9460 (xftfont_prepare_face): Don't call register_xftdraw.
9461 (xftfont_done_face): Don't call check_xftdraw.
9462 (xftfont_draw): Get background color only when with_background is
9463 nonzero.
9464
9465 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9466
94672008-02-01 Kenichi Handa <handa@m17n.org>
9468
9469 These changes are for the new font handling codes.
9470
9471 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9472 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9473 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9474 (FONTSRC, FONTOBJ): New variables.
9475 (obj): Add $(FONTOBJ).
9476 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9477 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9478 @LIBOTF_LIBS@.
9479 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9480 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9481
9482 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9483
9484 * character.h (Vscript_representative_chars): Extern it.
9485
9486 * character.c (Vscript_representative_chars): New variable.
9487 (syms_of_character): Declare it as a Lisp variable.
9488
9489 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9490 enable_font_backend is nonzero, accept the composition method
9491 COMPOSITION_WITH_GLYPH_STRING.
9492
9493 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9494 enumeration COMPOSITION_WITH_GLYPH_STRING.
9495
9496 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9497 members clip_x, clip_y, clip_width, and clip_height.
9498 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9499
9500 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9501 --enable-font-backend. Call syms_of_font.
9502
9503 * fns.c (assoc_no_quit): New function.
9504
9505 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9506 (face_for_font, new_fontset_from_font)
9507 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9508
9509 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9510 (fontset_font, fontset_ascii, face_for_char)
9511 (make_fontset_for_ascii_face, Ffont_info)
9512 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9513 is nonzero, use font-backend mechanism.
9514 (find_font_encoding): Make it non-static.
9515 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9516 New functions.
9517
9518 * frame.h (struct frame): New members resx and resy.
9519 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9520 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9521
9522 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9523 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9524
9525 * lisp.h (assoc_no_quit): Extern it.
9526
9527 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9528 Through out the file, use FONT_INFO_FROM_FACE instead of
9529 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9530 rif->per_char_metric.
9531 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9532 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9533 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9534 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9535 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9536 nonzero, use font-backend mechanism.
9537 (get_per_char_metric): New function.
9538
9539 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9540 (set_lface_from_font_name)
9541 (set_font_frame_param, free_realized_face)
9542 (prepare_face_for_display, clear_face_gcs)
9543 (Finternal_set_font_selection_order, realize_x_face)
9544 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9545 font-backend mechanism.
9546 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9547 (load_face_font) [USE_FONT_BACKEND]: Abort.
9548 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9549 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9550
9551 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9552 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9553 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9554 nonzero, register all available font drivers. Call
9555 x_default_font_parameter for deciding a font.
9556 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9557
9558 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9559 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9560 (x_set_glyph_string_clipping_exactly)
9561 (x_compute_glyph_string_overhangs)
9562 (x_draw_glyph_string_foreground)
9563 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9564 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9565 enable_font_backend is nonzero, use font-backend mechanism.
9566 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9567
95682008-02-01 Kenichi Handa <handa@m17n.org>
9569
9570 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9571 system_eol_type.
9572 (syms_of_coding): Initialize system_eol_type.
9573
9574 * process.c (Fset_process_coding_system): Inherit system's eol
9575 format if necessary.
9576
95772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9578
9579 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9580
95812008-02-01 Kenichi Handa <handa@m17n.org>
9582
9583 * coding.c (decode_eol): Pay attention to buffer relocation in
9584 del_range_2.
9585 (decode_coding): Call decode_eol before restoring undo_list.
9586
95872008-02-01 Kenichi Handa <handa@m17n.org>
9588
9589 * charset.c (Fdefine_charset_internal): Fix setting of
9590 emacs_mule_bytes.
9591
95922008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * keyboard.c (read_char): Check if C is a character or not before
9595 looking up Vkeyboard_translate_table.
9596
95972008-02-01 Kenichi Handa <handa@m17n.org>
9598
9599 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9600 condition to terminate the loop.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * coding.c (produce_composition): Compare charbuf[i] instead of
9605 args[i] against 0.
9606 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9607
96082008-02-01 Kenichi Handa <handa@m17n.org>
9609
9610 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9611 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9612 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9613 detect_coding.
9614 (emacs_mule_char): Handle old style (Emacs 20) component character
9615 of a composition.
9616 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9617 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9618 composition rule.
9619 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9620
96212008-02-01 Kenichi Handa <handa@m17n.org>
9622
9623 * coding.c (encode_coding_ccl): Allocate destination dynamically
9624 when necessary.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9629 the loop. When quitted, show a proper error message.
9630
96312008-02-01 Kenichi Handa <handa@m17n.org>
9632
9633 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9634 src->clip_head and src->clip_tail temporarily instead of src->hl.
9635
9636 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9637 character sequence.
9638 (Fccl_execute_on_string): Use ASET, not XSET.
9639
96402008-02-01 Kenichi Handa <handa@m17n.org>
9641
9642 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9643
96442008-02-01 Kenichi Handa <handa@m17n.org>
9645
9646 * coding.c (decode_coding): Fix the condition of terminating the
9647 decoding loop.
9648
96492008-02-01 Kenichi Handa <handa@m17n.org>
9650
9651 * data.c (Faset): On setting a character bigger than 255 in a
9652 unibyte string, signal an error instead of make the string multibyte.
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9657 made by a mapping table.
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9662 not.
9663 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9664 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9665
9666 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9667 s->face is NULL or not.
9668
96692008-02-01 Kenichi Handa <handa@m17n.org>
9670
9671 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9672 (x_draw_glyph_string): Fix drawing of right_overhang and
9673 left_overhang around/on cursor.
9674
9675 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9676
96772008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9680
96812008-02-01 Kenichi Handa <handa@m17n.org>
9682
9683 * coding.c (Fdefine_coding_system_internal)
9684 (Fdefine_coding_system_alias): Avoid a duplicated element in
9685 Vcoding_system_alist.
9686
96872008-02-01 Kenichi Handa <handa@m17n.org>
9688
9689 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9690
9691 * coding.c (Qcoding_system_define_form): New variable.
9692 (syms_of_coding): Intern and staticpro it.
9693 (Fcoding_system_p): Check Qcoding_system_define_form.
9694 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9695
9696 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9697 Fcoding_system_p.
9698 (CHECK_CODING_SYSTEM): If ID is not available, call
9699 Fcheck_coding_system.
9700 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9701 Try also Fcheck_coding_system.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * coding.c (code_conversion_restore): GCPRO arg.
9706
97072008-02-01 Kenichi Handa <handa@m17n.org>
9708
9709 * character.c (lisp_string_width): Check multibyteness of STRING.
9710
97112008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9712
9713 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9714 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9715 (decode_mac_font_name): Use decode_coding_c_string instead of
9716 decode_coding.
9717 (x_load_font): Initialize fontp->fontset to -1. Set
9718 fontp->encoding_type.
9719
97202008-02-01 Kenichi Handa <handa@m17n.org>
9721
9722 * search.c (search_buffer): Give up BM search on case-fold-search
9723 if one of a target character has a case-equivalence of different
9724 byte length even if that target charcter is an ASCII.
9725 (simple_search): Fix calculation of byte length of matched text.
9726 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9727
97282008-02-01 Kenichi Handa <handa@m17n.org>
9729
9730 * coding.c (decode_coding): Fix handling of invalid bytes.
9731
97322008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9735 Unicode characters.
9736
97372008-02-01 Kenichi Handa <handa@m17n.org>
9738
9739 * coding.c (encode_coding_object): If a pre-write-conversion
9740 function makes a new buffer, kill it.
9741
97422008-02-01 Kenichi Handa <handa@m17n.org>
9743
9744 * coding.c (QCascii_compatible_p): New variable.
9745 (syms_of_coding): Initialize it.
9746 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9747 calling string_char.
9748 (record_conversion_result): Add `default:' case.
9749 (coding_charset_list): Delete unused variable `coding_type'.
9750 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9751 property in the plist of the coding system.
9752 (Fcoding_system_put): Check QCascii_compatible_p.
9753
97542008-02-01 Miles Bader <miles@gnu.org>
9755
9756 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9757 removed calculation of frame `f', as it's now used.
9758
97592008-02-01 Kenichi Handa <handa@m17n.org>
9760
9761 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9762 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9763 (UNIDATA): New variable.
9764 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9765 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9766 $(RUN_TEMACS) unconditionally.
9767
97682008-02-01 Kenichi Handa <handa@m17n.org>
9769
9770 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9771 (admindir): New variable.
9772 ($(lispsource)international/charprop.el): New target.
9773
97742008-02-01 Miles Bader <miles@gnu.org>
9775
9776 * character.c (chars-in-region): Remove obsolete function.
9777 (syms_of_character): Remove its initialization.
9778
97792008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9780
9781 * w32select.c (validate_coding_system)
9782 (setup_windows_coding_system): New functions.
9783 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9784 setup_windows_coding_system.
9785 (setup_config, Fw32_get_clipboard_data): Use
9786 validate_coding_system.
9787 (Fx_selection_exists): Move call to setup_config to a place
9788 where signals are allowed.
9789
9790 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9791 (Fcheck_coding_system): Add declarations.
9792
97932008-02-01 Kenichi Handa <handa@m17n.org>
9794
9795 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9796
97972008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9798
9799 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9800 string as the second argument for x_new_fontset.
9801
98022008-02-01 Kenichi Handa <handa@m17n.org>
9803
9804 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9805 (encode_coding_object): Use safe_call instead of call2.
9806
98072008-02-01 Kenichi Handa <handa@m17n.org>
9808
9809 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9810
9811 * Makefile.in (lisp): Include charprop.el.
9812
98132008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9814
9815 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9816 Not sure if it's unnecessary.
9817
98182008-02-01 Steven Tamm <steventamm@mac.com>
9819
9820 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9821 some possibly unnecessary fontset checking code that crashed
9822 when creating a new frame.
9823
98242008-02-01 Kenichi Handa <handa@m17n.org>
9825
9826 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9827 lookup_face.
9828
9829 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9830
9831 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9836 (coding_charset_list): New function.
9837
9838 * coding.h (coding_charset_list): Extern it.
9839
98402008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9843 concatenation of family and registry.
9844
98452008-02-01 Kenichi Handa <handa@m17n.org>
9846
9847 * character.h (BYTE8_STRING): Fix typo.
9848
9849 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9850 string to multibyte (sync to HEAD).
9851
9852 * casefiddle.c (casify_region): Handle changes in byte-length
9853 using replace_range_2 (sync to HEAD).
9854
98552008-02-01 Andreas Schwab <schwab@suse.de>
9856
9857 * chartab.c (map_char_table): GCPRO table and arg.
9858
98592008-02-01 Kenichi Handa <handa@m17n.org>
9860
9861 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9862 already at limit.
9863
98642008-02-01 Kenichi Handa <handa@m17n.org>
9865
9866 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9867 instead of fast_c_string_match_ignore_case.
9868 (find_font_encoding): Change argument to Lisp_Object. Use
9869 fast_string_match_ignore_case instead of
9870 fast_c_string_match_ignore_case. Change caller.
9871
98722008-02-01 Kenichi Handa <handa@m17n.org>
9873
9874 * xdisp.c (get_next_display_element): In unibyte case, decide to
9875 display in octal form by checking a character by
9876 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9877
9878 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9879
9880 * character.c (unibyte_has_multibyte_table): New variable.
9881
9882 * character.h (unibyte_has_multibyte_table): Extern it.
9883 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9884
98852008-02-01 Kenichi Handa <handa@m17n.org>
9886
9887 * coding.c (encode_coding_iso_2022): Fix handling of charset
9888 annotation.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * coding.c (setup_coding_system): If coding_system is nil, use
9893 Qundecided.
9894 (Fterminal_coding_system): Return nil if terminal coding system is
9895 `undecided'.
9896 (syms_of_coding): Define coding-system `undecided' here. Setup
9897 terminal_coding as `undecided'.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * xdisp.c (message_dolog, set_message_1): Call
9902 unibyte_char_to_multibyte with arg type int.
9903
9904 * lread.c (read1): Fix reading of a char-table.
9905
9906 * print.c (print_object): Include sub char-table in circularities
9907 detection.
9908
99092008-02-01 Kenichi Handa <handa@m17n.org>
9910
9911 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9912 Append the found sequences in car of ARGS instead of prepending.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * fileio.c (report_file_error): Make a unibyte string from
9917 strerror (errorno).
9918 (Fsubstitute_in_file_name): Fix the arg to
9919 unibyte_char_to_multibyte. It is evaluated twice.
9920
99212008-02-01 Kenichi Handa <handa@m17n.org>
9922
9923 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9928 BOM is not found.
9929 (detect_coding, detect_coding_system): Optimization for ISO-2022
9930 when no 8-bit data is found.
9931
99322008-02-01 Jason Rumney <jasonr@gnu.org>
9933
9934 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9935
99362008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9939 CHARS.
9940
99412008-02-01 Steven Tamm <steventamm@mac.com>
9942
9943 * macterm.c (mac_encode_char): Add charset argument and update
9944 to use encoding_type.
9945 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9946 switch to pure fontset.
9947 (decode_mac_font_name): Temporarily remove decoding.
9948 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9949 (x_load_font): Temporarily remove encoding.
9950
99512008-02-01 Kenichi Handa <handa@m17n.org>
9952
9953 * xfaces.c (Fface_font): If frame is not on a window system,
9954 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9955 refer to face->font.
9956 (split_font_name_into_vector, build_font_name_from_vector)
9957 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9958 when HAVE_WINDOW_SYSTEM is defined.
9959
99602008-02-01 Kenichi Handa <handa@m17n.org>
9961
9962 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9963 (x_produce_glyphs): Fix setting of members of cmp in case
9964 cmp->glyph_len is zero.
9965
9966 * fontset.c (Fset_fontset_font): Fix docstring.
9967 (Ffontset_info): Make it backward compatible. New arg ALL.
9968
99692008-02-01 Kim F. Storm <storm@cua.dk>
9970
9971 * process.c (read_process_output): Grow decoding_buf when needed;
9972 this could cause a crash in allocate_string and compact_small_strings.
9973
99742008-02-01 Kenichi Handa <handa@m17n.org>
9975
9976 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * coding.c (setup_coding_system): Set coding->common_flags
9981 correctly for raw-text.
9982 (consume_chars): On encoding unibyte text by raw-text, don't check
9983 multibyte form.
9984 (encode_coding): On encoding by raw-text, never use translation tables.
9985
9986 * fileio.c (e_write): Short cut for the case of no encoding.
9987
99882008-02-01 Kenichi Handa <handa@m17n.org>
9989
9990 * coding.c (detect_coding, detect_coding_system): Delete unused
9991 variables.
9992
99932008-02-01 Kenichi Handa <handa@m17n.org>
9994
9995 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9996 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9997
99982008-02-01 Kenichi Handa <handa@m17n.org>
9999
10000 * coding.c (Ffind_coding_systems_region_internal): Include
10001 raw-text and no-conversion in the result.
10002
100032008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10006 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10007 FONT_DEF.
10008 (font_def_arg, add_arg, from_arg, to_arg): New args.
10009 (set_fontset_font): Change argument.
10010 (Fset_fontset_font): Fix for the case that TARGET is a script
10011 name and charset name.
10012 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10013
100142008-02-01 Kenichi Handa <handa@m17n.org>
10015
10016 * fontset.c (fontset_font): Rename from fontset_face. Change return
10017 value.
10018 (face_suitable_for_char_p, face_for_char): Adjust for the change
10019 of fontset_font.
10020 (make_fontset_for_ascii_face): Fix setting of the fontset element
10021 for ASCII.
10022 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10023 to get a font name.
10024 (Ffontset_info): Adjust for the change of fontset_font.
10025
10026 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10027
10028 * character.h (LEADING_CODE_LATIN_1_MIN)
10029 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10030
100312008-02-01 Kenichi Handa <handa@m17n.org>
10032
10033 * editfns.c (check_translation): New function.
10034 (Ftranslate_region_internal): Handle M:N mapping.
10035
100362008-02-01 Kenichi Handa <handa@m17n.org>
10037
10038 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10039
100402008-02-01 Kenichi Handa <handa@m17n.org>
10041
10042 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10043 goto invalid_code.
10044 (decode_coding_iso_2022): Fix handling of invalid designation.
10045
10046 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10047 after calling code_conversion_save.
10048
100492008-02-01 Kenichi Handa <handa@m17n.org>
10050
10051 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10052
10053 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10054
10055 * fontset.c: Include "intervals.h".
10056 (fontset_face): Fix comparing of Lisp_Objects.
10057 (free_face_fontset, new_fontset_from_font_name): Fix
10058 Lisp_Object/int mixup.
10059
10060 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10061
10062 * coding.c: Add many prototypes for static functions.
10063 (get_translation_table): Allow max_lookup to be NULL.
10064 (decode_coding, Ffind_coding_systems_region_internal)
10065 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10066 get_translation_table with max_lookup NULL.
10067
100682008-02-01 Kenichi Handa <handa@m17n.org>
10069
10070 * coding.c (get_translation_table): Declare it as Lisp_Object.
10071 (LOOKUP_TRANSLATION_TABLE): New macro.
10072 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10073 instead of CHAR_TABLE_REF.
10074
100752008-02-01 Kenichi Handa <handa@m17n.org>
10076
10077 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10078 annotation data format.
10079 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10080 Change arguments FROM and TO to single argument NCHARS. Change caller.
10081 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10082 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10083 (decode_coding_ccl, decode_coding_charset): Pay attention to
10084 coding->charbuf_used.
10085 (get_translation): New function.
10086 (produce_chars): New arguments translation_table and last_block.
10087 Translate characters here. Return number of carryover chars.
10088 Change caller.
10089 (produce_composition): New argument pos. Change caller.
10090 Adjust for the change of annotation data format.
10091 (produce_charset, produce_annotation): Likewise.
10092 (decode_coding, encode_coding): Don't call translate_chars.
10093 (consume_chars): New arg translation_table. Change caller.
10094 (translate_chars): Delete.
10095 (syms_of_coding): Make translation-table's number of extra slots 2.
10096
100972008-02-01 Kenichi Handa <handa@m17n.org>
10098
10099 * search.c (simple_search): Fix setting this_pos_byte in backward
10100 search.
10101
10102 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10103 byte sequence.
10104 (detect_coding_ccl): Fix setting of the variable valids.
10105
101062008-02-01 Kenichi Handa <handa@m17n.org>
10107
10108 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10109
10110 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10111
10112 * editfns.c (Ftranslate_region_internal): Rename from
10113 Ftranslate_region. Accept a char-table in TABLE.
10114 (syms_of_editfns): Defsubr Stranslate_region_internal.
10115
10116 * xfaces.c (set_lface_from_font_name): If a font is specified for
10117 a frame, generate a fontset from the font.
10118 (build_scalable_font_name): If the scalable font is requested for
10119 a specific size, don't change that size.
10120 (try_font_list): Try a scalable font also in the case that a
10121 pattern string is specified.
10122
101232008-02-01 Kenichi Handa <handa@m17n.org>
10124
10125 * xfaces.c (Fface_font): New optional arg CHARACTER.
10126
101272008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * charset.h (CHARSET_OFFSET): New macro.
10130
101312008-02-01 Kenichi Handa <handa@m17n.org>
10132
10133 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10134
10135 * fontset.c (fontset_face): Handle the case that repertory is a
10136 char-table.
10137 (find_font_encoding): Return nil for unknown encoding.
10138 (Fset_fontset_font): Ignore a font of unknown encoding.
10139
101402008-02-01 Kenichi Handa <handa@m17n.org>
10141
10142 * keymap.c (describe_vector): Handle default value of a char table.
10143
10144 * fontset.c (fontset_face): Handle fallback fonts correctly.
10145 (Ffontset_info): Return infomation about fallback fonts.
10146
101472008-02-01 Kenichi Handa <handa@m17n.org>
10148
10149 * fontset.c (FONTSET_DEFAULT): New macro.
10150 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10151 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10152 the case that it is nil.
10153 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10154 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10155
10156 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10157 subset or superset.
10158
101592008-02-01 Kenichi Handa <handa@m17n.org>
10160
10161 * emacs.c (main): Call init_charset after syms_of_XXX.
10162
10163 * charset.c (Vcharset_map_directory): Delete.
10164 (Vcharset_map_path): New variable.
10165 (load_charset_map_from_file): Use Vcharset_map_path instead.
10166 (init_charset): Initialize Vcharset_map_path.
10167 (syms_of_charset): Delete declaration of "charset-map-directory",
10168 add declaration of "charset-map-path".
10169
101702008-02-01 Kenichi Handa <handa@m17n.org>
10171
10172 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10173 ASCII only string.
10174
10175 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10176
10177 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10178 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10183
10184 * coding.c (QCmnemonic, QCdefalut_char)
10185 (QCdecode_translation_table, QCencode_translation_table)
10186 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10187 (get_translation_table): Return a list of translation tables if
10188 necessary.
10189 (decode_coding): Call get_translation_table with ENCODEP 0.
10190 (char_encodable_p): If translation_table is non-nil, always call
10191 translate_char.
10192 (Fdefine_coding_system_internal): Accept list of translation
10193 tables as :encode-translation-table and :decode-translation-table.
10194 (Fcoding_system_put): New function.
10195 (syms_of_coding): Declare new symbols. Defsubr
10196 Scoding_system_put.
10197 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10198 typically JISX0212.
10199
10200 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10201 when the charset is superset type.
10202
10203 * character.c (translate_char): Accept list of translation tables.
10204
102052008-02-01 Kenichi Handa <handa@m17n.org>
10206
10207 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10208 (CODING_ATTR_TRANS_TBL): New macro.
10209
10210 * coding.c (get_translation_table): New function.
10211 (translate_chars): Fix the bug of skipping annotation data.
10212 (decode_coding, encode_coding): Utilize get_translation_table.
10213 (char_encodable_p, Funencodable_char_position): Translate char if
10214 necessary.
10215 (Ffind_coding_systems_region_internal)
10216 (Fcheck_coding_systems_region): Setup translation table for encode
10217 in a coding system attribute vector in advance.
10218 (Fdefine_coding_system_internal): Allow a symbol as translation
10219 table. For shift-jis type coding system, allow 4th charset.
10220
102212008-02-01 Kenichi Handa <handa@m17n.org>
10222
10223 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10224
10225 * xdisp.c (get_next_display_element): Pass -1 as POS to
10226 FACE_FOR_CHAR if displaying a C-string.
10227
102282008-02-01 Kenichi Handa <handa@m17n.org>
10229
10230 * composite.c (get_composition_id): Handle xoff and yoff in a
10231 composition rule.
10232
10233 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10234 (struct composition): New member lbearing and rbearing.
10235
10236 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10237 (x_get_glyph_overhangs): Handle a composition glyph.
10238 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10239
10240 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10241 composition glyph.
10242
102432008-02-01 Kenichi Handa <handa@m17n.org>
10244
10245 * print.c: Include charset.h.
10246 (Vprint_charset_text_property): New variable.
10247 (Qdefault): Extern it.
10248 (PRINT_STRING_NON_CHARSET_FOUND)
10249 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10250 (print_check_string_result): New variable.
10251 (print_check_string_charset_prop): New function.
10252 (print_prune_charset_plist): New variable.
10253 (print_prune_string_charset): New function.
10254 (print_object): Call print_prune_string_charset if
10255 Vprint_charset_text_property is not t.
10256 (print_interval): Print nothing if interval->plist is nil.
10257 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10258 variable. Init and staticpro print_prune_charset_plist.
10259
102602008-02-01 Kenichi Handa <handa@m17n.org>
10261
10262 * fontset.c (new_fontset_from_font_name): Use the specified font
10263 for all characters in the new fontset.
10264
10265 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10266 OBJECT args.
10267
10268 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10269 OBJECT args for composition too.
10270
10271 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10272 OBJECT args.
10273
102742008-02-01 Kenichi Handa <handa@m17n.org>
10275
10276 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10277
10278 * fontset.c (reorder_font_vector): Adjust for the change of
10279 FONT_DEF format.
10280 (fontset_face): New arg id. Change caller.
10281 (face_for_char): New args pos and object.
10282 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10283 (fs_query_fontset): Check NAME by Fassoc too.
10284 (Fset_fontset_font): Allow non-XLFD font name.
10285 (Ffontset_info): Adjust for the change of FONT_DEF format.
10286
10287 * fontset.h (face_for_char): Adjust prototype.
10288
10289 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10290 (append_space, extend_face_to_end_of_line)
10291 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10292 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10293
10294 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10295 POS and OBJECT args.
10296
10297 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10298 POS and OBJECT args.
10299
103002008-02-01 Jason Rumney <jasonr@gnu.org>
10301
10302 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10303 of GlobalAlloc'ed memory.
10304
103052008-02-01 Kenichi Handa <handa@m17n.org>
10306
10307 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10308
10309 * charset.h (charset_table_used): Delete extern.
10310
10311 * charset.c (charset_table_used): Make it static.
10312 (map_charset_chars): Fix args to c_function with.
10313
10314 * chartab.c (map_sub_char_table_for_charset): Fix args to
10315 c_function with.
10316
10317 * coding.h (enum coding_result_code): Delete
10318 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10319
10320 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10321 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10322 (Vlast_code_conversion_error): New variables.
10323 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10324 (ONE_MORE_BYTE): Record error if any instead of signaling an
10325 error. If non-ASCII multibyte char is found, return the negative
10326 value of the code. All callers changed to check it.
10327 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10328 (record_conversion_result): New function. Change all codes setting
10329 coding->result to call this function.
10330 (detect_coding_utf_8, decode_coding_utf_8)
10331 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10332 Don't use the local variable incomplete.
10333 (emacs_mule_char): Change the second arg to `const'.
10334 (decode_coding): Fix of flushing out unprocessed data.
10335 (make_conversion_work_buffer): Fix making of a work buffer.
10336 (decode_coding_object): Return coding->dst_object.
10337
10338 * fontset.c (set_fontset_font): Fix args.
10339
10340 * lisp.h (CHARACTERBITS): Define as 22.
10341
10342 * process.c (send_process): Be sure to set coding->src_multibyte.
10343
10344 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10345
103462008-02-01 Kenichi Handa <handa@m17n.org>
10347
10348 * xdisp.c (handle_auto_composed_prop): Give limit to
10349 Fnext_single_char_property_change.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * composite.c (syms_of_composite): Don't make the composition hash
10354 table weak.
10355
10356 * fontset.c (Fset_fontset_font): Fix docstring.
10357
10358 * lisp.h (detect_coding_system): Adjust prototype.
10359
10360 * fileio.c (kill_workbuf_unwind): Delete this function.
10361 (Finsert_file_contents): Adjust the call of detect_coding_system.
10362 Get conversion_buffer by code_conversion_save. Use the macro
10363 CODING_MAY_REQUIRE_DECODING. After decoding, update
10364 coding_system.
10365
10366 * coding.h (make_conversion_work_buffer): Delete extern.
10367 (code_conversion_save): Extern it.
10368
10369 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10370 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10371 (decode_coding_utf_8): Don't do eol converion.
10372 (detect_coding_utf_16): Check coding->src_chars, not
10373 coding->src_bytes. Add heuristics for those that have no signature.
10374 (decode_coding_emacs_mule, decode_coding_iso_2022)
10375 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10376 Don't do eol converion.
10377 (adjust_coding_eol_type): Return a new coding system.
10378 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10379 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10380 each change.
10381 (decode_coding): Pay attention to undo_list. Do eol conversion for
10382 all types of coding-systems (if necessary).
10383 (Vcode_conversion_work_buf_list): Delete it.
10384 (Vcode_conversion_reused_workbuf): Rename from
10385 Vcode_conversion_reused_work_buf.
10386 (Vcode_conversion_workbuf_name): New variable.
10387 (reused_workbuf_in_use): New variable.
10388 (make_conversion_work_buffer): Delete the arg DEPTH.
10389 (code_conversion_restore): Change argument to cons.
10390 (code_conversion_save): Delete the argument BUFFER. Change callers.
10391 (detect_coding_system): New argument src_chars. Change callers.
10392 Fix for utf-16 detection.
10393 (init_coding_once): Don't use ISO_carriage_return.
10394 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10395 reused_workbuf_in_use.
10396
103972008-02-01 Kenichi Handa <handa@m17n.org>
10398
10399 * keymap.c (store_in_keymap): Pay attention to the case that idx
10400 is a cons specifying a character range.
10401
104022008-02-01 Kenichi Handa <handa@m17n.org>
10403
10404 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10405 HANDLED_RECOMPUTE_PROPS.
10406
10407 * coding.c (Fdefine_coding_system_internal): Fix checking of
10408 ascii compatibility.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * charset.c (find_charsets_in_text): Delete unused locale variable.
10413 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10414
10415 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10416 Resync charset_list to Vemacs_mule_charset_list.
10417
10418 * keymap.c (store_in_keymap): Pay attention to the case that idx
10419 is a cons specifying a character range.
10420
104212008-02-01 Kenichi Handa <handa@m17n.org>
10422
10423 * composite.c (update_compositions): Bind inhibit-read-only, etc
10424 to t before calling remove-list-of-text-properties.
10425
10426 * print.c (print_object): Always print ASCII chars as is.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10431
10432 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10433 is a char table.
10434
104352008-02-01 Kenichi Handa <handa@m17n.org>
10436
10437 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10438
104392008-02-01 Kenichi Handa <handa@m17n.org>
10440
10441 * xfaces.c (set_lface_from_font_name): Fix for the case that
10442 FONTNAME is not fontset name.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * fns.c (base64_encode_1): Fix previous change.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * fontset.c (set_fontset_font): New function.
10451 (Fset_fontset_font): If a font is specified for a charset, use
10452 map_charset_chars to store the font spec in a fontset.
10453
104542008-02-01 Kenichi Handa <handa@m17n.org>
10455
10456 * fontset.c (fontset_face): Create a fallback fontset on demand.
10457 (make_fontset): Don't create a fallback fontset here.
10458 (free_face_fontset): Free a fallback fontset (if any) too.
10459 (n_auto_fontsets): Delete this variable.
10460 (auto_fontset_alist): New variable.
10461 (new_fontset_from_font_name): Check auto_fontset_alist.
10462 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10463 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10464 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10465 Defsubr Sfontset_list_all.
10466
104672008-02-01 Kenichi Handa <handa@m17n.org>
10468
10469 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10470
104712008-02-01 Kenichi Handa <handa@m17n.org>
10472
10473 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10474
104752008-02-01 Kenichi Handa <handa@m17n.org>
10476
10477 * editfns.c (Fgoto_char): Fix docstring.
10478
104792008-02-01 Kenichi Handa <handa@m17n.org>
10480
10481 * insdel.c (insert_from_gap): Adjust intervals correctly.
10482
104832008-02-01 Jason Rumney <jasonr@gnu.org>
10484
10485 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10486 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10487 (w32_initialize): Try to load it.
10488 (x_get_font_repertory): Use it if available.
10489 (w32_encode_char): Add shortcut for unicode output.
10490
10491 * w32fns.c (w32_load_system_font): Default charset to -1.
10492 (x_to_w32_charset): Match all fonts for unicode.
10493 (w32_to_x_charset): New parameter matching. Don't return partial
10494 or wildcard charsets.
10495 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10496 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10497 (w32_to_x_font): Match charset to real charset.
10498 (enum_font_cb2): Always list unicode versions.
10499
10500 * makefile.w32-in (temacs): Increase EMHEAP.
10501
105022008-02-01 Jason Rumney <jasonr@gnu.org>
10503
10504 * w32term.c (w32_encode_char): New charset parameter.
10505 font_info.encoding becomes encoding_type.
10506 (x_get_font_repertory): New function. Warning: stub only!
10507 (x_new_font): Return quickly if font already set.
10508 (x_new_fontset): fontsetname parameter is Lisp_Object.
10509 Use new fs_query_fontset. Try new_fontset_from_font_name.
10510 Use fontset_name for return value.
10511
10512 * w32term.h: Declare x_get_font_repertory.
10513
10514 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10515 place of find_charset_in_text. Use encode_coding_object in place
10516 of encode_coding.
10517 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10518 decode_coding.
10519
10520 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10521 of x_new_fontset.
10522 (w32_load_system_font): Initialize charset as unicode.
10523 font_info.encoding becomes encoding_type.
10524 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10525 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10526 (syms_of_w32fns): Set get_font_repertory_func.
10527
10528 * w32console.c: Include character.h. Use terminal_encode_buffer
10529 from term.c.
10530 (write_glyphs): Use new version of encode_terminal_code. Use
10531 encode_coding_object in place of encode_coding.
10532
10533 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10534 encoding becomes encoding_type.
10535
10536 * term.c (terminal_encode_buffer): Make externally visible.
10537
10538 * makefile.w32-in: Add character.h dependancies.
10539 (character.o, chartab.o): New targets.
10540
105412008-02-01 Kenichi Handa <handa@m17n.org>
10542
10543 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10544 CODING_ID_EOL_TYPE.
10545
105462008-02-01 Andreas Schwab <schwab@suse.de>
10547
10548 * coding.c (produce_chars): Revert last change.
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * charset.h (charset_unicode): Extern it.
10553
10554 * charset.c (string_xstring_p): Check by (C >= 0x100).
10555 (find_charsets_in_text): Change format of the arc CHARSETS. New
10556 arg MULTIBYTE.
10557 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10558 change of find_charsets_in_text.
10559 (Fsplit_char): Fix doc. Never return unknown.
10560
10561 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10562
10563 * coding.c (Fdefine_coding_system_alias): Update
10564 Vcoding_system_list.
10565
10566 * fontset.c (load_font_get_repertory): Pay attention to the case
10567 that ENCODING of a font is specified by a char-table.
10568
10569 * xterm.c (x_get_font_repertory): Handle the case that the
10570 encoding of font is other than Unicode.
10571
105722008-02-01 Kenichi Handa <handa@m17n.org>
10573
10574 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10575 if a character is encodable by the terminal coding system. If
10576 not, produces proper number of `?'s. Update
10577 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10578 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10579
105802008-02-01 Kenichi Handa <handa@m17n.org>
10581
10582 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10583 variables.
10584 (encode_terminal_code): Change argument. Encode multiple
10585 characters at once. Store the result of encoding in
10586 terminal_encode_buffer.
10587 (write_glyphs, insert_glyphs): Adjust for the change of
10588 encode_terminal_code.
10589 (term_init): Initialize terminal_encode_buffer and
10590 terminal_encode_buf_size.
10591
10592 * coding.c (consume_chars): If coding->src_object is nil, don't
10593 check annotation.
10594
105952008-02-01 Kenichi Handa <handa@m17n.org>
10596
10597 * character.c (char_string): Use ASCII_CHAR_P instead of
10598 SINGLE_BYTE_CHAR_P.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * xdisp.c (handle_auto_composed_prop): Check if the last
10603 characters of auto-composed region is newly composed with the
10604 following characters.
10605 (handle_composition_prop): Fix checking of point being inside
10606 composition.
10607
106082008-02-01 Kenichi Handa <handa@m17n.org>
10609
10610 * fns.c (concat): Don't change multibyteness of the result by
10611 concatenating an 8-bit character.
10612
10613 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10614 multibyteness of the result when newelt is an 8-bit character.
10615
106162008-02-01 Dave Love <fx@gnu.org>
10617
10618 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10619 EMACS_INT.
10620
10621 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10622
10623 * xfaces.c (face_numeric_value): Declare dim size_t.
10624 (Finternal_lisp_face_equal_p): Remove unused f.
10625
10626 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10627 (MATRIX_ROW): Remove unused vars.
10628 (draw_glyphs, x_insert_glyphs, fast_find_position)
10629 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10630 byte/char counts.
10631
10632 * regex.c (regex_compile): Remove unused var.
10633
10634 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10635
10636 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10637 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10638
10639 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10640
10641 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10642
10643 * fileio.c (Fwrite_region): Remove unused var.
10644
10645 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10646 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10647
10648 * composite.c (Fremove_list_of_text_properties): Declare.
10649
10650 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10651 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10652 (coding_inherit_eol_type): Remove unused attrs.
10653 (detect_coding): Cast arg of detect_eol.
10654
10655 * charset.c (syms_of_charset): Remove unused var p.
10656 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10657 byte/char counts.
10658
10659 * casetab.c (set_case_table): Remove unused var.
10660
10661 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10662 unused vars.
10663
106642008-02-01 Dave Love <fx@gnu.org>
10665
10666 * xterm.c (x_bitmap_mask): Declare.
10667
106682008-02-01 Dave Love <fx@gnu.org>
10669
10670 * xterm.c (x_term_init): Fix type error.
10671
10672 * lisp.h: Add Funibyte_char_to_multibyte.
10673
10674 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10675 (Fset_coding_system_priority): Doc fix.
10676
10677 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10678
10679 * indent.c (check_composition): Make start and end EMACS_INT.
10680
10681 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10682
10683 * xdisp.c (handle_composition_prop, check_point_in_composition):
10684 Make buffer positions EMACS_INT.
10685
10686 * composite.c (find_composition, run_composition_function)
10687 (update_compositions, Ffind_composition_internal): Make buffer
10688 positions EMACS_INT.
10689
10690 * composite.h (find_composition, update_compositions): Make
10691 position args EMACS_INT.
10692
10693 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10694
10695 * intervals.c (get_property_and_range):
10696 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10697
10698 * unexalpha.c: Don't include varargs.h.
10699
107002008-02-01 Dave Love <fx@gnu.org>
10701
10702 * coding.h (ENCODE_UTF_8): New.
10703
10704 * Makefile.in (gtkutil.o): Depend on coding.h.
10705
10706 * coding.c (Fset_coding_system_priority): Doc fix.
10707
107082008-02-01 Kenichi Handa <handa@m17n.org>
10709
10710 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10711 the case of auto saving.
10712
107132008-02-01 Andreas Schwab <schwab@suse.de>
10714
10715 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10716 `range' from GC.
10717
107182008-02-01 Kenichi Handa <handa@m17n.org>
10719
10720 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10721
107222008-02-01 Kenichi Handa <handa@m17n.org>
10723
10724 * fileio.c (choose_write_coding_system): Return a decided coding system.
10725 (Fwrite_region): Set Vlast_coding_system_used to the return value
10726 of choose_write_coding_system.
10727
107282008-02-01 Kenichi Handa <handa@m17n.org>
10729
10730 * charset.c (Fset_charset_priority): Pay attention to duplicated
10731 arguments.
10732
10733 * coding.c (QCcategory): New variable.
10734 (syms_of_coding): Defsym it. Set all elements of
10735 Vcoding_category_table and their symbol values.
10736 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10737 coding-category-XXX, and coding-category-list.
10738 (Fdefine_coding_system_internal): Add category in the plist.
10739
107402008-02-01 Kenichi Handa <handa@m17n.org>
10741
10742 * callproc.c (Fcall_process): Handle carryover correctly.
10743
10744 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10745 (raw_text_coding_system): Check NILP (coding_system).
10746 (coding_inherit_eol_type): Check NILP (coding_system) and
10747 NILP (parent).
10748 (consume_chars): Fix for the case of raw-text.
10749
10750 * process.c (read_process_output): Handle carryover correctly.
10751
107522008-02-01 Dave Love <fx@gnu.org>
10753
10754 * regex.c (re_search_2): Fix last change.
10755
107562008-02-01 Kenichi Handa <handa@m17n.org>
10757
10758 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10759 target_multibyte. Even in a unibyte case, return a converted
10760 multibyte char.
10761 (GET_CHAR_AFTER): New macro.
10762 (PATFETCH): Translate via multibyte char.
10763 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10764 (SETUP_MULTIBYTE_RANGE): New macro.
10765 (regex_compile): Setup compiled code so that its multibyteness
10766 matches that of a target. Fix the handling of "[X-YZ]" using
10767 SETUP_MULTIBYTE_RANGE.
10768 (analyse_first) <charset>: For filling fastmap for all multibyte
10769 characters, don't check by BASE_LEADING_CODE_P.
10770 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10771 the same as RE_MULTIBYTE_P (bufp) now.
10772 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10773 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10774 (TRANSLATE_VIA_MULTIBYTE): New macro.
10775 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10776 It is the same as RE_MULTIBYTE_P (bufp) now.
10777 <exactn>: Translate via multibyte.
10778 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10779 translate it.
10780 <charset, charset_not>: Fetch a character by
10781 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10782 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10783 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10784 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10785 by GET_CHAR_AFTER.
10786 (bcmp_translate): Likewise.
10787
10788 * search.c (compile_pattern): Check the member target_multibyte,
10789 not the member multibyte of buf.
10790
10791 * lread.c (read1): While reading a string, set force_singlebyte
10792 and force_multibyte correctly.
10793
10794 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10795 up of unibyte_to_multibyte_table.
10796
107972008-02-01 Kenichi Handa <handa@m17n.org>
10798
10799 * coding.c (setup_coding_system): If coding has
10800 post-read-conversion or pre-write-conversion, set
10801 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10802 respectively.
10803 (decode_coding_gap): Run post-read-conversion if any.
10804
10805 * fileio.c (Finsert_file_contents): Even if we read into a
10806 unibyte buffer, check if we must decode the result or not.
10807
108082008-02-01 Kenichi Handa <handa@m17n.org>
10809
10810 * coding.c (make_conversion_work_buffer): Change the work buffer
10811 name to the same one as that of Emacs 21.
10812
108132008-02-01 Kenichi Handa <handa@m17n.org>
10814
10815 * coding.h (make_conversion_work_buffer): Adjust prototype.
10816 (code_conversion_restore): Don't extern it.
10817
10818 * coding.c (detected_mask): Delete unused variable.
10819 (decode_coding_iso_2022): Pay attention to the byte sequence of
10820 CTEXT extended segment, and retain those bytes as is.
10821 (decode_coding_ccl): Delete unused variable `valids'.
10822 (setup_coding_system): Delete unused variable `category'.
10823 (consume_chars): Delete unused variable `category'. Make it work
10824 for non-multibyte case.
10825 (make_conversion_work_buffer): Change argument.
10826 (saved_coding): Delete unused variable.
10827 (code_conversion_restore): Don't check saved_coding->destination.
10828 (code_conversion_save): New function.
10829 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10830 instead of record_unwind_protect.
10831 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10832 (detect_coding_system): Delete unused variable `mask'.
10833 (Fdefine_coding_system_internal): Delete unused variable id.
10834
10835 * fileio.c (kill_workbuf_unwind): New function.
10836 (Finsert_file_contents): On replacing, call
10837 make_conversion_work_buffer with correct args, and call
10838 record_unwind_protect with the first arg kill_workbuf_unwind.
10839
10840 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10841
108422008-02-01 Kenichi Handa <handa@m17n.org>
10843
10844 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10845 (fontset_add): Fix for the case that TO is less than TO1.
10846 (Ffontset_info): Don't use fallback fontset on checking the
10847 default fontset.
10848 (dump_fontset): New function for debugging.
10849
10850 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10851 coding_type is Qcharset.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10856 (map_char_table): Don't inherit the value from the parent on
10857 initializing VAL. Adjust for the above change.
10858
108592008-02-01 Kenichi Handa <handa@m17n.org>
10860
10861 * coding.c (Qsignature, Qendian): Delete these variables.
10862 (syms_of_coding): Don't initialize them.
10863 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10864 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10865 detect_info->found.
10866 (decode_coding_utf_16): Don't detect BOM here.
10867 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10868 is NOT utf_16_without_bom.
10869 (setup_coding_system): For a coding system of type utf-16, check
10870 if the attribute :endian is Qbig or not (not nil or not), and set
10871 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10872 (detect_coding): If coding type is utf-16 and BOM detection is
10873 required, detect it.
10874 (Fdefine_coding_system_internal): For a coding system of type
10875 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10876
108772008-02-01 Kenichi Handa <handa@m17n.org>
10878
10879 * coding.c (coding_set_source): Fix for the case that the current
10880 buffer is different from coding->src_object.
10881 (decode_coding_object): Don't use the conversion work buffer if
10882 DST_OBJECT is a buffer.
10883
108842008-02-01 Dave Love <fx@gnu.org>
10885
10886 * lread.c (read_emacs_mule_char) [len==2]: Index
10887 emacs_mule_charset correctly.
10888
108892008-02-01 Dave Love <fx@gnu.org>
10890
10891 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10892 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10893 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10894 treated specially.)
10895 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10896 (detected_mask): Remove Big5 bits.
10897
108982008-02-01 Kenichi Handa <handa@m17n.org>
10899
10900 The following changes are to make the font rescaling facility
10901 compatible with Emacs 21.
10902
10903 * xfaces.c (Vface_font_rescale_alist): Rename from
10904 Vface_resizing_fonts.
10905 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10906 (font_rescale_ratio): Rename from font_resizing_ratio.
10907 (split_font_name): Set font->rescale_ratio.
10908 (better_font_p): Pay attention to font->rescale_ratio.
10909 (build_scalable_font_name): Likewise. Change RESX, and RESY
10910 fields.
10911 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10912
109132008-02-01 Kenichi Handa <handa@m17n.org>
10914
10915 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10916 (Qutf_16_le): Remove these variables.
10917 (syms_of_coding): Don't DEFSYM them.
10918 (decode_coding_utf_16): Fix handling of BOM.
10919 (encode_coding_utf_16): Fix handling of BOM.
10920
109212008-02-01 Kenichi Handa <handa@m17n.org>
10922
10923 * fileio.c (Finsert_file_contents): On replacing, before decoding
10924 the file into the work buffer, set point of the work buffer to the end.
10925
109262008-02-01 Dave Love <fx@gnu.org>
10927
10928 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10929
109302008-02-01 Dave Love <fx@gnu.org>
10931
10932 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10933 and fix C types.
10934
109352008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * xdisp.c (SKIP_GLYPHS): New macro.
10938 (set_cursor_from_row): Pay attention to string display properties.
10939
10940 * category.c (copy_category_entry): Fix for the case that RANGE
10941 is an integer.
10942
10943 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10944
10945 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10946
109472008-02-01 Kenichi Handa <handa@m17n.org>
10948
10949 * charset.c (Fcharset_id_internal): New function.
10950 (syms_of_charset): Defsubr it.
10951
10952 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10953 with the last arg charset_list acquired from coding.
10954 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10955 the attribute coding_attr_ccl_valids.
10956
10957 * coding.h (enum define_coding_ccl_arg_index): Set the first
10958 member coding_arg_ccl_decoder to coding_arg_max.
10959
10960 * ccl.h (ccl_driver): Adjust prototype.
10961
10962 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10963 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10964 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10965 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10966 last arg Qnil.
10967
109682008-02-01 Kenichi Handa <handa@m17n.org>
10969
10970 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10971 call encode_char.
10972
10973 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10974
109752008-02-01 Dave Love <fx@gnu.org>
10976
10977 * composite.c (syms_of_composite): Make composition_hash_table weak.
10978
109792008-02-01 Kenichi Handa <handa@m17n.org>
10980
10981 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10982 (font_name_registry): Don't extern them.
10983 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10984
10985 * fontset.h (Qfontset): Don't extern it.
10986 (new_fontset_from_font_name): Extern it.
10987
10988 * fontset.c: Give 8 extra slots to fontset objects.
10989 (Qfontset_info): New variable.
10990 (syms_of_fontset): Defsym it.
10991 (FONTSET_FALLBACK): New macro.
10992 (fontset_face): Try also the default fontset.
10993 (make_fontset): Realize a fallback fontset from the default fontset.
10994 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10995 using split_font_name_into_vector and build_font_name_from_vector.
10996 (Fset_fontset_font): Access the elements of font_spec by enum
10997 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10998 name by using split_font_name_into_vector.
10999 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11000 generate a proper font name from the fontset name. Update
11001 Vfontset_alias_alist.
11002 (n_auto_fontsets): New variable.
11003 (new_fontset_from_font_name): New function.
11004 (Ffont_info): Store the information about fonts generated from the
11005 default fontset in the first extra slot of the returned char-table.
11006
11007 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11008 (font_name_registry): Delete function.
11009 (split_font_name_into_vector): New function.
11010 (build_font_name_from_vector): New function.
11011 (font_list): The argument REGISTRY is now a list of registry names.
11012 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11013 specifies an explicit font name, return the name as is. Make a
11014 list of registy names.
11015
11016 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11017 of x_new_fontset.
11018 (Fx_create_frame): Don't call x_new_fontset here. Just use
11019 x_list_fonts to check the existence of fonts.
11020
11021 * xterm.h (x_new_fontset): Adjust prototype.
11022
11023 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11024 string. Use new_fontset_from_font_name to create a fontset from a
11025 font name.
11026
110272008-02-01 Kenichi Handa <handa@m17n.org>
11028
11029 * syntax.c (Vfind_word_boundary_function_table): New name for
11030 Vnext_word_boundary_function_table.
11031 (find-word-boundary-function-table): New name for
11032 next-word-boundary-function-table.
11033
110342008-02-01 Dave Love <fx@gnu.org>
11035
11036 * Makefile.in: Fix some dependencies.
11037
11038 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11039 set it to nil before returning.
11040
11041 * composite.c (update_compositions): Fix type error.
11042
11043 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11044
110452008-02-01 Kenichi Handa <handa@m17n.org>
11046
11047 * xterm.c (x_new_font): Optimize for the case that the font is
11048 already set for the frame.
11049
110502008-02-01 Kenichi Handa <handa@m17n.org>
11051
11052 * chartab.c (char_table_ascii): Check if the char table contents
11053 is sub-char-table or not.
11054 (char_table_set, char_table_set_range): Fix argument to
11055 char_table_ascii.
11056
11057 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11058 (detect_coding_utf_8, detect_coding_utf_16)
11059 (detect_coding_emacs_mule, detect_coding_iso_2022)
11060 (detect_coding_sjis, detect_coding_big5)
11061 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11062 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11063 sequence is valid in this coding system. Change callers.
11064 (MAX_ANNOTATION_LENGTH): New macro.
11065 (ADD_ANNOTATION_DATA): New macro.
11066 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11067 ADD_ANNOTATION_DATA. Change the format of annotation data.
11068 (ADD_CHARSET_DATA): New macro.
11069 (emacs_mule_char): New argument ID. Change callers.
11070 (decode_coding_emacs_mule, decode_coding_iso_2022)
11071 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11072 Produce charset annotation data in coding->charbuf.
11073 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11074 to charset annotation data in coding->charbuf.
11075 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11076 coding->common_flags if the coding system is iso-2022 based and
11077 uses designation.
11078 (produce_composition): Adjust for the new annotation data format.
11079 (produce_charset): New function.
11080 (produce_annotation): Handle charset annotation.
11081 (handle_composition_annotation, handle_charset_annotation): New
11082 functions.
11083 (consume_chars): Handle charset annotation. Utilize the above two
11084 functions.
11085 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11086 buffer, get the deleted text as a string and set
11087 coding->src_object to that string.
11088 (detect_coding, detect_coding_system): Use the new struct
11089 coding_detection_info.
11090
11091 * coding.h (struct coding_detection_info): New structure.
11092 (struct coding_system): Adjust prototype of the member `detector'.
11093 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11094
110952008-02-01 Kenichi Handa <handa@m17n.org>
11096
11097 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11098
110992008-02-01 Dave Love <fx@gnu.org>
11100
11101 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11102 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11103 to new local and nullify apropos_accumulate before returning.
11104 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11109 correctly.
11110
111112008-02-01 Dave Love <fx@gnu.org>
11112
11113 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 The following changes are to make character composition happen
11118 automatically on displaying.
11119
11120 * Makefile.in (lisp, shortlisp): Add composite.elc.
11121
11122 * composite.h (Qauto_composed, Vauto_composition_function)
11123 (Qauto_composition_function): Extern them.
11124
11125 * composite.c (Vcomposition_function_table)
11126 (Qcomposition_function_table): Delete variables.
11127 (Qauto_composed, Vauto_composition_function)
11128 (Qauto_composition_function): New variables.
11129 (run_composition_function): Don't call
11130 compose-chars-after-function.
11131 (update_compositions): Clear `auto-composed' text property.
11132 (compose_chars_in_text): Delete this function.
11133 (syms_of_composite): Staticpro Qauto_composed and
11134 Qauto_composition_function. Declare Vauto_composition_function as
11135 a Lisp variable.
11136
11137 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11138
11139 * xdisp.c (it_props): Add an entry for Qauto_composed.
11140 (handle_auto_composed_prop): New function.
11141
11142 * xselect.c (selection_data_to_lisp_data): Don't call
11143 compose_chars_in_text.
11144
111452008-02-01 Dave Love <fx@gnu.org>
11146
11147 * keyboard.c (read_char): Modify checking around use of
11148 Vkeyboard_translate_table.
11149
11150 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11151 and fix C types.
11152
111532008-02-01 Kenichi Handa <handa@m17n.org>
11154
11155 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11156 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11157 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11158 the case that the last byte is '\r' correctly.
11159 (decode_coding): Flush out the unprocessed data correctly.
11160 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11161
111622008-02-01 Dave Love <fx@gnu.org>
11163
11164 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11165 Add XK_ISO... case.
11166 (xaw_scroll_callback): Revert last change.
11167
111682008-02-01 Kenichi Handa <handa@m17n.org>
11169
11170 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11171
111722008-02-01 Kenichi Handa <handa@m17n.org>
11173
11174 * xfaces.c (Vface_resizing_fonts): New variable.
11175 (struct font_name): New member `resizing_ratio'.
11176 (font_resizing_ratio): New function.
11177 (split_font_name): Set font->resizing_ratio.
11178 (better_font_p): Pay attention to font->resizing_ratio.
11179 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11180 RESX, and RESY fields.
11181 (try_alternative_families): Try scalable fonts if
11182 Vscalable_fonts_allowed is not Qt.
11183 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11184
111852008-02-01 Dave Love <fx@gnu.org>
11186
11187 * xterm.c (xaw_scroll_callback): Cast correctly.
11188
111892008-02-01 Dave Love <fx@gnu.org>
11190
11191 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11192 (lispy_kana_keys): Comment out.
11193 (make_lispy_event) [XK_kana_A]: Comment out.
11194
11195 * xterm.c (xaw_scroll_callback): Cast call_data.
11196 (XTread_socket): Deal with ASCII keysyms.
11197 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11198
111992008-02-01 Dave Love <fx@gnu.org>
11200
11201 * xterm.c (Vx_keysym_table): New.
11202 (syms_of_xterm): Initialize it.
11203 (XTread_socket): Use it.
11204 From head: Eliminate incorrect optimization that tried to avoid
11205 decoding the output of X*LookupString.
11206 (x_get_font_repertory): Delete charset declaration.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11211 return 0.
11212 (Fdefine_coding_system_internal): Setup
11213 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11214
112152008-02-01 Dave Love <fx@gnu.org>
11216
11217 * coding.c (Fcheck_coding_system): Doc fix.
11218
11219 * editfns.c (Finsert_byte): Return a proper value.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 * coding.c (decode_coding): Fix args to translate_chars. Pay
11224 attention to Vstandard_translation_table_for_decode.
11225 (encode_coding): Fix args to translate_chars. Pay attention to
11226 Vstandard_translation_table_for_encode.
11227
11228 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11229 SINGLE_BYTE_CHAR_P.
11230
11231 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11232 not by SINGLE_BYTE_CHAR_P.
11233
11234 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11235 SINGLE_BYTE_CHAR_P.
11236
11237 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11238 SINGLE_BYTE_CHAR_P.
11239
11240 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11241 by SINGLE_BYTE_CHAR_P.
11242
11243 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11244 SINGLE_BYTE_CHAR_P.
11245
112462008-02-01 Dave Love <fx@gnu.org>
11247
11248 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11249
112502008-02-01 Dave Love <fx@gnu.org>
11251
11252 * fns.c (Flanginfo): Fix typo.
11253
11254 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11255
112562008-02-01 Kenichi Handa <handa@m17n.org>
11257
11258 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11259 (detect_coding_emacs_mule, detect_coding_iso_2022)
11260 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11261 incomplete byte sequence. Don't update *mask when correctly detected.
11262 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11263 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11264 (detect_coding, detect_coding_system): Adjust for the changes above.
11265
112662008-02-01 Kenichi Handa <handa@m17n.org>
11267
11268 * character.c (char_string): Rename from
11269 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11270 (string_char): Rename from string_char.
11271
11272 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11273 if C is greater than MAX_3_BYTE_CHAR.
11274 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11275 string_char instead of string_char_with_unification.
11276
112772008-02-01 Dave Love <fx@gnu.org>
11278
11279 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11280
112812008-02-01 Kenichi Handa <handa@m17n.org>
11282
11283 * keymap.c (push_key_description): Pay attention to force_multibyte.
11284
11285 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11286
112872008-02-01 Dave Love <fx@gnu.org>
11288
11289 * charset.c (define_charset_internal): Rename `supprementary'.
11290
11291 * Makefile.in (lisp, shortlisp): Remove latin-N.
11292
112932008-02-01 Dave Love <fx@gnu.org>
11294
11295 * xfns.c (x_window, x_window): Use use_xim.
11296
11297 * xterm.c (use_xim): Initialize.
11298 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11299 (x_term_init): Maybe set use_xim.
11300
11301 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11302
113032008-02-01 Kenichi Handa <handa@m17n.org>
11304
11305 * search.c (search_buffer): Fix case-fold-search of multibyte
11306 characters.
11307 (boyer_moore): Rename the last argument to char_high_bits.
11308
113092008-02-01 Kenichi Handa <handa@m17n.org>
11310
11311 * xdisp.c (display_string): Fix for the case of zero width glyph.
11312
11313 * xfns.c (x_set_font): Change the error message of the case that
11314 x_new_fontset returns Qt.
11315
11316 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11317 (Finternal_set_lisp_face_attribute): Use signal_error for the
11318 error of invalid fontset.
11319
11320 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11321 fontset, return Qt.
11322
113232008-02-01 Dave Love <fx@gnu.org>
11324
11325 * unexelf.c (unexec): Make .got handling not SGI-specific.
11326
11327 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11328
11329 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11330
11331 * keyboard.c (read_key_sequence): Fix type error.
11332
11333 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11334 type error.
11335
11336 * fontset.c (fontset_add): Return Lisp_Object.
11337
113382008-02-01 Dave Love <fx@gnu.org>
11339
11340 * charset.h (charset_ordered_list_tick): Declare extern.
11341
113422008-02-01 Kenichi Handa <handa@m17n.org>
11343
11344 The following changes (and some of 2008-02-01 changes of mine) are
11345 for handling syntax, category, and case conversion for unibyte
11346 characters by converting them to multibyte on the fly. With these
11347 changes, we don't have to setup syntax and case tables for unibyte
11348 characters in each language environment.
11349
11350 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11351 multibyte if necessary.
11352
11353 * bytecode.c (Fbyte_code): Likewise.
11354
11355 * character.h (LEADING_CODE_LATIN_1_MIN)
11356 (LEADING_CODE_LATIN_1_MAX): New macros.
11357 (unibyte_to_multibyte_table): Extern it.
11358 (unibyte_char_to_multibyte): New macro.
11359 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11360 (CHAR_LEADING_CODE): New macro.
11361 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11362
11363 * character.c (unibyte_to_multibyte_table): New variable.
11364 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11365 (multibyte_char_to_unibyte): If C is an eight-bit character,
11366 convert it to the corresponding byte value.
11367
11368 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11369 not 1, signals an error. Update the elements of
11370 unibyte_to_multibyte_table.
11371 (init_charset_once): Initialize unibyte_to_multibyte_table.
11372 (syms_of_charset): Define the charset `iso-8859-1'.
11373
11374 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11375 as is without converting it to unibyte. In a unibyte buffer,
11376 convert C to multibyte before checking the syntax.
11377
11378 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11379
11380 * minibuf.c (Fminibuffer_complete_word): Use the macro
11381 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11382
11383 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11384
11385 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11386 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11387 that is zero, convert an eight-bit char to multibyte.
11388 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11389 non-emacs case.
11390 (PATFETCH): Convert an eight-bit char to multibyte.
11391 (HANDLE_UNIBYTE_RANGE): New macro.
11392 (regex_compile): Setup the compiled pattern for multibyte chars
11393 even if the given regex string is unibyte. Use PATFETCH_RAW
11394 instead of PATFETCH in many places. To handle `charset'
11395 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11396 only for ASCII chars.
11397 (analyse_first) <exactn>: Simplify because the compiled pattern
11398 is multibyte.
11399 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11400 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11401 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11402 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11403 multibyte always 1.
11404 (re_search_2): In emacs, set the locale variable multibyte to 1,
11405 otherwise to 0. New local variable target_multibyte. Check it
11406 to decide the multibyteness of STR1 and STR2. If
11407 target_multibyte is zero, convert unibyte chars to multibyte
11408 before translating and checking fastmap.
11409 (TARGET_CHAR_AND_LENGTH): New macro.
11410 (re_match_2_internal): In emacs, set the locale variable multibyte
11411 to 1, otherwise to 0. New local variable target_multibyte. Check
11412 it to decide the multibyteness of STR1 and STR2. Use
11413 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11414 <charset, charset_not>: If multibyte is nonzero, check fastmap
11415 only for ASCII chars. Call bcmp_translate with
11416 target_multibyte, not with multibyte.
11417 <begline>: Declare the local variable C as `unsigned'.
11418 (bcmp_translate): Change the last arg name to target_multibyte.
11419
11420 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11421 the regexp pattern and the matching target. Set cp->buf.multibyte
11422 to the multibyteness of the regexp pattern. Set
11423 cp->but.target_multibyte to the multibyteness of the matching target.
11424 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11425 FETCH_STRING_CHAR_ADVANCE.
11426 (Freplace_match): Convert unibyte chars to multibyte.
11427
11428 * syntax.c (char_quoted, back_comment, scan_words)
11429 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11430 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11431 unibyte chars to multibyte.
11432 (skip_chars): Delete the arg syntaxp, and move the code for
11433 handling syntaxes to skip_syntaxes. Change callers.
11434 Fix the case that the multibyteness of STRING and the current
11435 buffer doesn't match.
11436 (skip_syntaxes): New function.
11437 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11438 SINGLE_BYTE_CHAR_P.
11439
114402008-02-01 Kenichi Handa <handa@m17n.org>
11441
11442 * xfaces.c (QCfontset): New variable.
11443 (LFACE_FONTSET): New macro.
11444 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11445 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11446 (Finternal_set_lisp_face_attribute)
11447 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11448 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11449 check also LFACE_FONTSET_INDEX.
11450 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11451 attrs[LFACE_FONT_INDEX].
11452 (syms_of_xfaces): Intern and staticpro QCfontset.
11453
11454 * dispextern.h (enum lface_attribute_index): New member
11455 LFACE_FONTSET_INDEX.
11456
11457 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11458
114592008-02-01 Kenichi Handa <handa@m17n.org>
11460
11461 * coding.c (coding_set_destination): Fix coding->destination for
11462 the case converting a region.
11463 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11464 (encode_coding_object): Fix coding->dst_pos and
11465 coding->dst_pos_byte for the case converting a region.
11466
11467 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11468
11469 * character.h (BYTE8_STRING): New macro.
11470
11471 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11472
114732008-02-01 Kenichi Handa <handa@m17n.org>
11474
11475 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11476 characters by octal form.
11477
11478 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11479
11480 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11481 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11482 _fetch_multibyte_char_len.
11483 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11484
11485 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11486
11487 * casefiddle.c (casify_object): Simplify. Handle the case that
11488 the case conversion change the byte length.
11489 (casify_region): Likewise.
11490
11491 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11492
11493 * character.c (_fetch_multibyte_char_len): Delete this variable.
11494 (syms_of_character): Setup Vprintable_chars.
11495
11496 * editfns.c (Fchar_equal): Fix for the unibyte case.
11497 (Finsert_byte): New function.
11498 (syms_of_editfns): Defsubr it.
11499
11500 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11501 of direct code 0x3ffff.
11502
11503 * search.c (Freplace_match): Fix for the unibyte case.
11504
115052008-02-01 Kenichi Handa <handa@m17n.org>
11506
11507 * lread.c (safe_to_load_p): Fix the logic.
11508
11509 * syntax.c (scan_words): Don't treat characters belonging to
11510 different scripts as constituting a word.
11511
11512 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11513
11514 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11515
11516 * emacs.c (main): In the case of --unibyte, instead of aborting on
11517 finding non-empty buffer, make it unibyte.
11518
115192008-02-01 Kenichi Handa <handa@m17n.org>
11520
11521 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11522 to create a fontset.
11523
115242008-02-01 Dave Love <fx@gnu.org>
11525
11526 * character.c (Funibyte_char_to_multibyte): Doc fix.
11527
11528 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11529
115302008-02-01 Kenichi Handa <handa@m17n.org>
11531
11532 * fontset.c (fontset_add): Make the type `int'.
11533 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11534
11535 * character.c (unibyte_char_to_multibyte)
11536 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11537 charset_unibyte, not charset_primary.
11538
11539 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11540
11541 * charset.c (charset_unibyte): Rename from charset_primary.
11542 (Funibyte_charset): Rename from Fprimary_charset.
11543 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11544 (syms_of_charset): Adjust for the above changes.
11545
11546 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11547 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11548 it->multibyte_p is zero.
11549
11550 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11551 Delete extern.
11552
115532008-02-01 Kenichi Handa <handa@m17n.org>
11554
11555 * coding.c (Fdefine_coding_system_internal): Fix category setting
11556 for a coding system of type iso-2022.
11557
115582008-02-01 Kenichi Handa <handa@m17n.org>
11559
11560 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11561
115622008-02-01 Kenichi Handa <handa@m17n.org>
11563
11564 * syntax.c (Vnext_word_boundary_function_table): New variable.
11565 (next-word-boundary-function-table): Declare it as a Lisp variable
11566 in syms_of_syntax.
11567 (scan_words): Call functions in Vnext_word_boundary_function_table
11568 if any.
11569
11570 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11571
11572 * fontset.c (fs_load_font): If fontp->charset is not negative,
11573 return fontp without setting its members.
11574
115752008-02-01 Dave Love <fx@gnu.org>
11576
11577 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11578
11579 * m/sparc.h (HAVE_ALLOCA): Delete.
11580
11581 * s/irix6-5.h: Don't include strings.h.
11582 (bcopy, bzero, bcmp): Don't undef.
11583
11584 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11585
11586 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11587 (TIOCSIGSEND): Don't test IRIX6.
11588 (bcopy, bzero, bcmp): Define conditionally.
11589
115902008-02-01 Kenichi Handa <handa@m17n.org>
11591
11592 * buffer.c (Qas, Qmake, Qto): New variables.
11593 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11594 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11595
11596 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11597 we are inserting a process output into a multibyte buffer.
11598
11599 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11600 multibyte_char_to_unibyte.
11601
11602 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11603 by the primary charset, make it eight-bit char.
11604 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11605
11606 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11607 (charset_8_bit__control, charset_8_bit_graphic)
11608 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11609 (define_charset_internal): New function.
11610 (syms_of_charset): Call define_charset_internal for pre-defined
11611 charsets.
11612
11613 * charset.h (charset_8_bit): Extern it.
11614
11615 * coding.c (make_conversion_work_buffer): Adjust for the change
11616 of Fset_buffer_multibyte.
11617 (encode_coding_raw_text): Increment p0 in the loop.
11618
11619 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11620
11621 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11622 for the change of Fset_buffer_multibyte.
11623
11624 * fns.c (Fstring_to_multibyte): New function.
11625 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11626
116272008-02-01 Dave Love <fx@gnu.org>
11628
11629 * xfns.c (x_put_x_image): Declare args.
11630
11631 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11632 (try_font_list): Declare an arg.
11633
11634 * xdisp.c (message2_nolog, set_message): Declare an arg.
11635
11636 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11637
11638 * syntax.c (scan_sexps_forward): Declare an arg.
11639
11640 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11641 Declare an arg.
11642
11643 * lisp.h (Fnew_fontset): Declare.
11644
11645 * keymap.c (push_key_description): Call CHARACTERP correctly.
11646
11647 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11648 (face_for_char): Delete unused vars.
11649 (Fset_fontset_font): Doc fix. Delete unused vars.
11650
11651 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11652
11653 * composite.c (update_compositions): Declare arg.
11654
11655 * cm.c (calccost, cmgoto): Declare args.
11656
11657 * charset.c: Remove `emacs' conditional. Doc fixes.
11658 (map_char_table_for_charset): Declare.
11659
11660 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11661
11662 * ccl.c: Remove `emacs' conditional.
11663
116642008-02-01 Kenichi Handa <handa@m17n.org>
11665
11666 The following changes are to allow specifying multiple font
11667 patterns for a character range (specified by script or charset).
11668
11669 * Makefile.in (abbrev.o): Depend on syntax.h.
11670 (xfaces.o): Depend on charset.h.
11671
11672 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11673 SINGLE_BYTE_CHAR_P.
11674
11675 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11676
11677 * character.h (Vchar_script_table): Extern it.
11678
11679 * character.c (Vscript_alist): Delete.
11680 (Vchar_script_table, Qchar_script_table): New variable.
11681 (syms_of_character): Declare Vchar_script_table as a lisp variable
11682 and initialize it.
11683
11684 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11685 have property char-table-extra-slots, make no extra slot.
11686
11687 * dispextern.h (struct face): Delete member `charset'.
11688 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11689 SINGLE_BYTE_CHAR_P.
11690 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11691 Add prototypes.
11692 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11693 (generate_ascii_font_name): Rename from generate_ascii_font.
11694
11695 * fontset.h (get_font_repertory_func): New prototype.
11696 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11697 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11698
11699 * fontset.c (Qprepend, Qappend): New variables.
11700 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11701 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11702 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11703 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11704 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11705 (load_font_get_repertory): New functions.
11706 (fontset_set): Delete.
11707 (fontset_face): New arg FACE. Return face ID, not face.
11708 Complete re-write to handle new fontset structure. Change caller.
11709 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11710 (face_for_char): Don't call lookup_face.
11711 (make_fontset_for_ascii_face): New arg FACE.
11712 (fs_load_font): New arg CHARSET_ID. Don't check
11713 Vfont_encoding_alist here.
11714 (find_font_encoding): New function.
11715 (list_fontsets): Use STRINGP, not ! NILP.
11716 (accumulate_script_ranges): New function.
11717 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11718 re-written to handle new fontset structure.
11719 (Ffontset_font): Return a copy of element.
11720 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11721 docstring of font-encoding-alist.
11722
11723 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11724 (Fset_fotset_font): Fix arguments to 5.
11725
11726 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11727
11728 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11729 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11730 (highlight_trailing_whitespace): Adjust for the change of
11731 lookup_named_face.
11732
11733 * xfaces.c: Include charset.h.
11734 (load_face_font): Delete argument C. Change caller.
11735 (generate_ascii_font_name): Rename from generate_ascii_font.
11736 (font_name_registry): New function.
11737 (cache_face): Store ascii faces before non-ascii faces in buckets.
11738 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11739 Lookup only ascii faces.
11740 (lookup_non_ascii_face): New function.
11741 (lookup_named_face): Delete argument C. Change caller.
11742 (lookup_derived_face): Delete argument C. Change caller.
11743 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11744 a string, just call font_list with it.
11745 (choose_face_font): Delete arguments FACE and C. New arg
11746 FONT_SPEC. Change caller.
11747 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11748 Change caller.
11749 (realize_non_ascii_face): New function.
11750 (realize_x_face): Call load_face_font here.
11751 (realize_tty_face): Delete argument C. Change caller.
11752 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11753 get a face ID.
11754 (dump_realized_face): Don't print charset of FACE.
11755
11756 * xfns.c (x_set_font): Always call x_new_fontset and
11757 store_frame_parameter.
11758 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11759 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11760
11761 * xterm.h (x_get_font_repertory): Extern it.
11762
11763 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11764 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11765 it->multibyte_p is zero.
11766 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11767 (x_new_fontset): If FONTSETNAME doesn't match any existing
11768 fontsets, create a new one.
11769 (x_get_font_repertory): New function.
11770
117712008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * coding.c (Ffind_coding_systems_region_internal): Detect an
11774 ASCII only string correctly.
11775
11776 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11777 version is 0.
11778
117792008-02-01 Kenichi Handa <handa@m17n.org>
11780
11781 * lread.c: Include "coding.h".
11782 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11783 (load_each_byte, unread_char): New variables.
11784 (readchar_backlog): Delete.
11785 (readchar): Return a character unless load_each_byte is nonzero.
11786 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11787 cons. If unread_char is not -1, simply return it.
11788 (unreadchar): Handle the case that readcharfun is
11789 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11790 (read_multibyte): Delete.
11791 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11792 (read_emacs_mule_char): New functions.
11793 (Fload): Even if the file doesn't have the extension ".elc", if
11794 safe_to_load_p returns a positive version number, assume that the
11795 file contains bytecompiled code. If the version is less than 22,
11796 load the file while decoding multibyte sequences by emacs-mule.
11797 (readevalloop): Don't use readchar_backlog.
11798 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11799 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11800 (read_escape): Delete the arg BYTEREP.
11801 (read1): Set load_each_byte to 1 temporarily while handling
11802 #@NUMBER. Don't call read_multibyte.
11803 (read_vector): Call Fread with a cons. If readcharfun is
11804 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11805 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11806 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11807 and Qload_force_doc_strings.
11808
118092008-02-01 Kenichi Handa <handa@m17n.org>
11810
11811 * xdisp.c (face_before_or_after_it_pos): Call
11812 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * character.h (TRAILING_CODE_P): New macro.
11817 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11818 (string_char_with_unification): Fix prototype.
11819 (Vscript_alist): Extern it.
11820
11821 * character.c (Vscript_alist): New variable.
11822 (string_char_with_unification, str_as_unibyte)
11823 (string_escape_byte8): Add `const' to local variables.
11824 (syms_of_character): Declare script-alist as a Lisp variable.
11825
11826 * charset.h (Vcharset_ordered_list): Extern it.
11827 (charset_ordered_list_tick): Extern it.
11828 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11829 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11830 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11831 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11832 (Funify_charset): Adjust for the change of Funify_charset.
11833
11834 * charset.c (charset_ordered_list_tick): New variable.
11835 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11836 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11837 deunify intead of unify a charset.
11838 (string_xstring_p): Add `const' to local variables.
11839 (find_charsets_in_text): Add `const' to arguments and local variables.
11840 (encode_char): Adjust for the change of Funify_charset. Fix
11841 detecting of invalid code.
11842 (Fset_charset_priority): Increment charset_ordered_list_tick.
11843 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11844 and TO_CODE.
11845
11846 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11847 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11848 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11849 (decode_coding_ccl, consume_chars)
11850 (Ffind_coding_systems_region_internal)
11851 (Fcheck_coding_systems_region): Add `const' to local variables.
11852
11853 * print.c (print_object): Use octal form for printing the
11854 contents of a bool vector.
11855
118562008-02-01 Dave Love <fx@gnu.org>
11857
11858 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11859 <version == 20>: Refuse to load.
11860
118612008-02-01 Dave Love <fx@gnu.org>
11862
11863 * fns.c: Move coding.h.
11864 (Qcodeset, Qdays, Qmonths): New.
11865 (concat): Use CHARACTERP instead of INTEGERP.
11866 (Flocale_codeset): Delete.
11867 (Flanginfo): New function.
11868 (syms_of_fns): Change accordingly.
11869
11870 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11871
118722008-02-01 Dave Love <fx@gnu.org>
11873
11874 * casetab.c (init_casetab_once, init_casetab_once): Fix
11875 CHAR_TABLE_SET call.
11876
11877 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11878
11879 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11880
11881 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11882 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11883 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11884
11885 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11886
11887 * coding.c (ENCODE_DESIGNATION, decode_eol)
11888 (make_conversion_work_buffer, code_conversion_restore)
11889 (Fdefine_coding_system_internal): Convert Lisp types.
11890 (code_conversion_restore): Use EQ, not ==.
11891 (Fencode_coding_string): Fix code_convert_string call.
11892
11893 * coding.h (code_convert_region): Fix prototype.
11894
11895 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11896
11897 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11898 (Ffontset_info): Convert Lisp types.
11899
11900 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11901
11902 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11903
11904 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11905
11906 * chartab.c: Include "...h", not <...h> in some cases.
11907
11908 * callproc.c (Fcall_process): Remove unused variables.
11909
119102008-02-01 Dave Love <fx@gnu.org>
11911
11912 * coding.c (Fset_coding_system_priority): Allow null arg list.
11913
119142008-02-01 Dave Love <fx@gnu.org>
11915
11916 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11917 (Fself_insert_and_exit): Use CHARACTERP.
11918
11919 * callproc.c (Fcall_process): Remove unused vars.
11920
11921 * xterm.c (XTread_socket): Add extra dead keysyms.
11922
11923 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11924
11925 * dispextern.h: Remove prototypes for redraw_frame,
11926 redraw_garbaged_frames.
11927
11928 * cmds.c (Fself_insert_command): Use CHARACTERP.
11929
11930 * chartab.c (make_sub_char_table): Remove unused var.
11931 (Fset_char_table_default, Fmap_char_table): Doc fix.
11932
11933 * keymap.c (access_keymap): Remove generic char code.
11934 (push_key_description): Use CHARACTERP.
11935
119362008-02-01 Dave Love <fx@gnu.org>
11937
11938 * charset.c: Doc fixes.
11939 (Funify_charset): Extra checking.
11940
119412008-02-01 Dave Love <fx@gnu.org>
11942
11943 * lread.c: Remove some unused variables.
11944 (safe_to_load_p): If safe, return the magic number version byte.
11945 (Fload): Maybe use load-with-code-conversion.
11946
119472008-02-01 Kenichi Handa <handa@m17n.org>
11948
11949 * category.c (Fmodify_category_entry): Don't modify the contents
11950 of category_set for characters out of the range. Avoid
11951 unnecessary modification.
11952
11953 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11954 Vchar_unify_table. The default value of the table is now nil.
11955
11956 * character.c (syms_of_character): Setup Vchar_width_table for
11957 eight-bit-control and raw-byte chars.
11958
11959 * charset.h (enum define_charset_arg_index): Delete
11960 charset_arg_parents and add charset_arg_subset and
11961 charset_arg_superset.
11962 (enum charset_attr_index): Delete charset_parents and add
11963 charset_subset and charset_superset.
11964 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11965 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11966 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11967 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11968 (CHARSET_SUPERSET): New macros.
11969 (charset_work): Extern it.
11970 (ENCODE_CHAR): Use charset_work.
11971 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11972 (map_charset_chars): Extern it.
11973
11974 * charset.c (load_charset_map): Set the default value of encoder
11975 and deunifier char-tables to nil.
11976 (map_charset_chars): Change argument. Change callers. Use
11977 map_char_table_for_charset instead of map_char_table.
11978 (Fmap_charset_chars): New optional args from_code and to_code.
11979 (Fdefine_charset_internal): Adjust for the change of
11980 `define-charset' (:parents -> :subset or :superset).
11981 (charset_work): New variable.
11982 (encode_char, syms_of_charset): Adjust for the change of
11983 Fdefine_charset_internal.
11984 (Ffind_charset_string): Setup the vector `charsets' correctly.
11985
11986 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11987 the previous change.
11988 (char_table_ref_and_range): Adjust for the above change.
11989 (map_sub_char_table_for_charset): New function.
11990 (map_char_table_for_charset): New function.
11991
11992 * keymap.c (describe_vector): Handle a char-table directly here.
11993 (describe_char_table): Delete.
11994
11995 * lisp.h (map_charset_chars): Delete.
11996
119972008-02-01 Dave Love <fx@gnu.org>
11998
11999 * fns.c (count_combining): Comment out (unused).
12000 (Flocale_codeset): New.
12001 (syms_of_fns): Defsubr it.
12002
12003 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12004 (size_t): Remove.
12005
120062008-02-01 Dave Love <fx@gnu.org>
12007
12008 * Makefile.in (chartab.o): Depend on charset.h.
12009
120102008-02-01 Kenichi Handa <handa@m17n.org>
12011
12012 * character.c (syms_of_character): Set the default value of
12013 Vprintable_chars to Qnil.
12014
120152008-02-01 Dave Love <fx@gnu.org>
12016
12017 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12018
120192008-02-01 Kenichi Handa <handa@m17n.org>
12020
12021 * charset.c (load_charset_map): Handle the case that from < to
12022 correctly.
12023
12024 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12025 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12026 Pay attention to raw-8-bit chars.
12027
120282008-02-01 Kenichi Handa <handa@m17n.org>
12029
12030 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12031 It is not bytecompiled now.
12032
12033 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12034 (charset_jisx0208): New variables.
12035 (Fdefine_charset_internal): Setup them if appropriate.
12036 (init_charset_once): Initialize them to -1.
12037
12038 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12039 (charset_jisx0208): Extern them.
12040
12041 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12042 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12043 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12044 (setup_iso_safe_charsets): Fix arguments to Fassq.
12045 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12046 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12047 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12048 (encode_coding_iso_2022): Change the 1st arg to
12049 ENCODE_ISO_CHARACTER to a variable.
12050
120512008-02-01 Kenichi Handa <handa@m17n.org>
12052
12053 * charset.h (enum define_charset_arg_index): New enums
12054 charset_arg_min_code and charset_arg_max_code.
12055 (struct charset): New member char_index_offset.
12056
12057 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12058 Take charset->char_index_offset into account.
12059 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12060 args[charset_arg_max_code]. Setup charset.char_index_offset.
12061 (syms_of_charset): Fix args to Fdefine_charset_internal.
12062
120632008-02-01 Dave Love <fx@gnu.org>
12064
12065 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12066
120672008-02-01 Dave Love <fx@gnu.org>
12068
12069 * coding.c: Doc fixes.
12070 (Fcoding_system_aliases): Fix return value.
12071 (Qmac): Remove (duplicated) definition.
12072
120732008-02-01 Dave Love <fx@gnu.org>
12074
12075 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12076 functions.
12077
12078 * character.c (Fstring): Doc fix.
12079
12080 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12081
12082 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12083 ids.
12084 (font-encoding-alist): Doc fix.
12085
120862008-02-01 Dave Love <fx@gnu.org>
12087
12088 * term.c (costs_set): Declare static, non-initialized for pcc.
12089 (encode_terminal_code): Remove unused var.
12090
12091 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12092 for K&R.
12093
12094 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12095
12096 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12097 (suffixes): Move out of make_subsidiaries for K&R.
12098
12099 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12100
12101 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12102
121032008-02-01 Dave Love <fx@gnu.org>
12104
12105 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12106
12107 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12108
121092008-02-01 Yong Lu <lyongu@asia-infonet.com>
12110
12111 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12112
12113 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12114
121152008-02-01 Kenichi Handa <handa@m17n.org>
12116
12117 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12118 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12119
121202008-02-01 Kenichi Handa <handa@m17n.org>
12121
12122 * coding.c (decode_coding_charset): Adjust for the change of
12123 Fdefine_coding_system_internal.
12124 (Fdefine_coding_system_internal): For a coding system of
12125 `charset' type, store a list of charset IDs in
12126 `charset_attr_charset_valids' element of coding attributes.
12127
121282008-02-01 Kenichi Handa <handa@m17n.org>
12129
12130 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12131 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12132 caller. Handle 2-byte and 3-byte charsets correctly.
12133 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12134 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12135 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12136 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12137 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12138 sequence.
12139 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12140 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12141 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12142 and alt&rule composition.
12143 (decode_coding_iso_2022): Handle composition correctly.
12144 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12145
12146 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12147 re-defining a charset. If the charset has :emacs-mule-id, setup
12148 emacs_mule_bytes.
12149 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12150
121512008-02-01 Kenichi Handa <handa@m17n.org>
12152
12153 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12154 (encode_coding_big5, encode_coding_charset): If coding requires safe
12155 encoding, produce a character specified by
12156 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12157
121582008-02-01 Dave Love <fx@gnu.org>
12159
12160 * xterm.c (XSetIMValues): Declare.
12161
12162 * process.c: Conditionally include sys/wait.h, pty.h.
12163
12164 * print.c (print_object): Fix print format for 64-bit systems.
12165
12166 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12167
12168 * buffer.c (emacs_strerror): Declare.
12169
12170 * fontset.c (Fclear_face_cache): Declare.
12171 (accumulate_font_info): Comment-out (unused).
12172 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12173 variables.
12174
12175 * character.h (string_escape_byte8): Declare.
12176
12177 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12178 unused vars.
12179 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12180 (Fmap_charset_chars): Doc fix.
12181
12182 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12183 (Fset_coding_system_priority, Fset_coding_system_priority)
12184 (Fdefine_coding_system_internal): Doc fix.
12185
121862008-02-01 Dave Love <fx@gnu.org>
12187
12188 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12189
121902008-02-01 Kenichi Handa <handa@m17n.org>
12191
12192 * character.c (string_escape_byte8): Make multibyte string with
12193 correct size.
12194
12195 * charset.c (Fmake_char): Delete unnecessary code.
12196
121972008-02-01 Kenichi Handa <handa@m17n.org>
12198
12199 * xfns.c (x_encode_text): Allocate coding.destination here, and
12200 call encode_coding_object with dst_object Qnil.
12201
12202 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12203 multibyte form correctly.
12204
12205 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12206 against Vfont_encoding_alist.
12207
12208 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12209 handling of charset list.
12210 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12211 (decode_coding_object): Move point to coding->dst_pos before
12212 calling post-read-conversion function.
12213 (encode_coding_object): Give correct arguments to
12214 pre-write-conversion. Ignore the return value of
12215 pre-write-conversion function. Pay attention to the case that
12216 pre-write-conversion changes the current buffer. If dst_object is
12217 Qt, even if coding->src_bytes is zero, allocate at least one byte
12218 to coding->destination.
12219
12220 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12221
12222 * charset.c (Fmake_char): Make it more backward compatible.
12223 (Fmap_charset_chars): Fix docstring.
12224
122252008-02-01 Dave Love <fx@gnu.org>
12226
12227 * coding.c: Doc fixes.
12228 (Fdefine_coding_system_alias): Use names, not symbols, in
12229 coding-system-alist.
12230
122312008-02-01 Kenichi Handa <handa@m17n.org>
12232
12233 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12234 of calling free_realized_face.
12235
122362008-02-01 Yong Lu <lyongu@asia-infonet.com>
12237
12238 * charset.c (read_hex): Don't treat SPC as a comment starter.
12239 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12240 (Fdecode_char): Fix typo.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * charset.h (struct charset): New member `code_space_mask'.
12245
12246 * coding.c (coding_set_source): Delete the local variable beg_byte.
12247 (encode_coding_charset, Fdefine_coding_system_internal):
12248 Delete the local variable charset.
12249 (Fdefine_coding_system_internal): Setup
12250 attrs[coding_attr_charset_valids] correctly.
12251
12252 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12253 member to check if CODE is valid or not.
12254 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12255 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12256 is within the range of charset->min_code and carset->max_code.
12257
122582008-02-01 Dave Love <fx@gnu.org>
12259
12260 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12261
12262 * dispextern.h (generate_ascii_font): Fix return type.
12263
12264 * xfaces.c (generate_ascii_font): Fix arg declaration.
12265
12266 * coding.c (coding_inherit_eol_type)
12267 (Fset_terminal_coding_system_internal)
12268 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12269
122702008-02-01 Kenichi Handa <handa@m17n.org>
12271
12272 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12273 multiple charsets correctly.
12274
122752008-02-01 Kenichi Handa <handa@m17n.org>
12276
12277 * search.c (boyer_moore): Fix handling of multibyte character
12278 translation.
12279
12280 * xdisp.c (display_mode_element): When the variable `elt' is
12281 changed, update `this' and `lisp_string'.
12282
122832008-02-01 Kenichi Handa <handa@m17n.org>
12284
12285 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12286
12287 * callproc.c (Fcall_process): Be sure to give the current buffer
12288 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12289
12290 * charset.c (struct charset_map_entries): New struct.
12291 (load_charset_map): Rename from parse_charset_map. New args
12292 entries and n_entries. Change caller.
12293 (load_charset_map_from_file): Rename from load_charset_map.
12294 Change caller. New arg control_flag. Call load_charset_map at
12295 the tail.
12296 (load_charset_map_from_vector): New function.
12297 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12298 (encode_char): If the charset is compact, change a character index
12299 to a code point.
12300
12301 * coding.c (coding_alloc_by_making_gap): Check the case that the
12302 source and destination are the same correctly.
12303 (decode_coding_raw_text): Set coding->consumed_char and
12304 coding->consumed to 0.
12305 (produce_chars): If coding->chars_at_source is nonzero, update
12306 coding->consumed_char and coding->consumed before calling
12307 alloc_destination.
12308 (Fdefine_coding_system_alias): Register ALIAS in
12309 Vcoding_system_alist.
12310 (syms_of_coding): Define `no-conversion' coding system at the tail.
12311
12312 * fileio.c (Finsert_file_contents): Set coding_system instead of
12313 val. If the current buffer is multibyte, always call
12314 decode_coding_gap.
12315
12316 * xfaces.c (try_font_list): Give higher priority to fontset's
12317 family than face's family.
12318
123192008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 * callproc.c (Fcall_process): Be sure to give the current buffer
12322 to decode_coding_c_string.
12323
12324 * xfaces.c (try_font_list): Give a family specified in a fontset
12325 higher priority than a family specified in a face.
12326
123272008-02-01 Kenichi Handa <handa@m17n.org>
12328
12329 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12330 Fix arguments to insert_from_buffer.
12331
12332 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12333
123342008-02-01 Kenichi Handa <handa@m17n.org>
12335
12336 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12337 (decode_coding_gap): Set coding->dst_multibyte correctly.
12338
123392008-02-01 Kenichi Handa <handa@m17n.org>
12340
12341 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12342 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12343 (encode_coding_utf_16): Substitute coding->default_char for
12344 non-Unicode characters.
12345 (decode_coding): Don't call record_insert here.
12346 (setup_coding_system): Initialize `surrogate' of
12347 coding->spec.utf_16 to 0.
12348 (EMIT_ONE_BYTE): Fix for multibyte case.
12349
12350 * insdel.c (insert_from_gap): Call record_insert.
12351
123522008-02-01 Kenichi Handa <handa@m17n.org>
12353
12354 * casefiddle.c (casify_region): Fix multibyte case.
12355
12356 * character.c (c_string_width): Add return type `int'.
12357 (char_string_with_unification): Delete arg ADVANCED.
12358
12359 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12360 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12361 (CHAR_STRING_ADVANCE): Make it do-while statement.
12362
12363 * chartab.c (sub_char_table_set_range): Optimize for the case
12364 DEPTH == 3. Add workaround code for a GCC optimization bug.
12365
12366 * charset.c (parse_charset_map): Remove an unused variable.
12367
12368 * coding.c: Delete unused variables.
12369
12370 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12371 earlier. If inserted is zero and the coding system doesn't
12372 require flushing, don't call decode_coding_gap.
12373
12374 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12375
123762008-02-01 Kenichi Handa <handa@m17n.org>
12377
12378 The following changes are for using Unicode as an internal
12379 character model, and use UTF-8 format for buffer/string
12380 representation.
12381
12382 * .gdbinit (xchartable): Adjust for the change of char table structure.
12383 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12384
12385 * Makefile.in (obj): Add character.o and chartab.o.
12386 (lisp, shortlisp): Remove utf-8.elc.
12387 (*.o): For many files, change dependency on charset.h to
12388 character.h, and add dependency on character.h.
12389 (character.o, chartab.o): New targets.
12390
12391 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12392 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12393 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12394 of "charset.h".
12395
12396 * dired.c, filelock.c: Include "character.h".
12397
12398 * alloc.c: Include "character.h" instead of "charset.h".
12399 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12400 (syms_of_alloc): Remove defsubr for Smake_char_table.
12401
12402 * buffer.c: Include "character.h" instead of "charset.h", don't
12403 include "coding.h".
12404 (Fset_buffer_multibyte): Adjust for UTF-8.
12405
12406 * buffer.h: EXFUN Fbuffer_live_p.
12407
12408 * callproc.c: Include "character.h" instead of "charset.h".
12409 (Fcall_process): Big change for the new code-conversion APIs.
12410
12411 * casetab.c: Include "character.h" instead of "charset.h".
12412 (set_canon, set_identity, shuffle): Adjust for the new
12413 map_char_table spec.
12414 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12415 accessing the char table structure.
12416
12417 * chartab.c: New file that implements char table.
12418
12419 * category.c: Include "character.h".
12420 (copy_category_entry): New function.
12421 (copy_category_table): Call map_char_table and copy_category_entry.
12422 (Fmake_category_table): Initialize all top-level slots.
12423 (char_category_set): New function.
12424 (modify_lower_category_set): Delete.
12425 (Fmodify_category_entry): Call char_table_ref_and_range.
12426
12427 * category.h (CATEGORY_SET): Just call char_category_set.
12428
12429 * ccl.c: Include "character.h".
12430 (Qccl, Qcclp): New variables.
12431 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12432 it's less than 256.
12433 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12434 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12435 and DST type.
12436 (ccl_driver): Change types of argument, adjust code accordingly.
12437 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12438 ccl_driver.
12439 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12440
12441 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12442 New members src_multibyte, dst_multibyte, consumed, and produced.
12443 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12444 (CODING_SPEC_CCL_PROGRAM): New macro.
12445 (ccl_driver): Update prototype.
12446 (Qccl, Qcclp, Fccl_program_p): Extern them.
12447 (CHECK_CCL_PROGRAM): New macro.
12448
12449 * character.c, character.h, chartab.c: New files.
12450
12451 * charset.c: Mostly re-written. Move character and multibyte sequence
12452 handling codes to character.c.
12453
12454 * charset.h: Mostly re-written. Move character and multibyte sequence
12455 handling codes to character.h.
12456
12457 * coding.c, coding.h: Mostly re-written.
12458
12459 * composite.c: Include "character.h" instead of "charset.h".
12460 (CHAR_WIDTH): Move to character.h.
12461 (HASH_KEY, HASH_VALUE): Delete.
12462
12463 * composite.h (enum composition_method): Change order of enumeration
12464 symbols.
12465
12466 * data.c: Include "character.h" instead of "charset.h".
12467 (Faref): Call CHAR_TABLE_REF for a char table.
12468 (Faset): Call CHAR_TABLE_SET for a char table.
12469
12470 * dispextern.h (free_realized_face, check_face_attribytes)
12471 (generate_ascii_font): Extern them.
12472 (free_realized_multibyte_face): Delete extern.
12473
12474 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12475 table structure.
12476
12477 * editfns.c: Include "character.h" instead of "charset.h".
12478 (Fchar_to_string): Always call CHAR_STRING.
12479
12480 * emacs.c (main): Call init_charset_once, init_charset,
12481 syms_of_chartab, and syms_of_character.
12482
12483 * fileio.c: Include "character.h" instead of "charset.h".
12484 (Finsert_file_contents): Big change for the new code-conversion API.
12485 (choose_write_coding_system, Fwrite_region): Likewise.
12486 (build_annotations_2): Delete.
12487 (e_write): Big change for the new code-conversion API.
12488
12489 * fns.c: Include "character.h" instead of "charset.h".
12490 (copy_sub_char_table): Move to chartab.c.
12491 (Fcopy_sequence): Call copy_char_table for a char table.
12492 (concat): Delete codes calling count_multibyte.
12493 (string_char_to_byte, string_byte_to_char): Adjust for the new
12494 multibyte form.
12495 (internal_equal): Adjust for the change of char table structure.
12496 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12497 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12498 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12499 (char_table_translate, optimize_sub_char_table)
12500 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12501 chartab.c.
12502 (char_table_ref_and_index): Delete.
12503 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12504 (Fmd5): Call preferred_coding_system instead of accessing
12505 Vcoding_category_list. Adjust for the new code-conversion API.
12506 (syms_of_fns): Move defsubr for char table related functions to
12507 chartab.c.
12508
12509 * fontset.c: Mostly re-written.
12510
12511 * fontset.h (struct font_info): Change type of the member encoding_type.
12512 (enum FONT_SPEC_INDEX): New enum.
12513 (fontset_font_pattern, fs_load_font): Update prototype.
12514 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12515
12516 * indent.c: Include "character.h" instead of "charset.h".
12517 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12518
12519 * insdel.c: Include "character.h" instead of "charset.h".
12520 (copy_text): Don't refer to Vnonascii_translation_table.
12521 (insert_from_gap): New function.
12522
12523 * keyboard.c: Include "character.h" instead of "charset.h".
12524 (command_loop_1): Never call direct_output_forward_char before
12525 a non-ASCII character.
12526 (read_char): If Vkeyboard_translate_table is a char table, always
12527 translate a character.
12528
12529 * keymap.c: Include "character.h".
12530 (store_in_keymap): Handle the case that IDX is a cons.
12531 (Fdefine_key): Handle the case that KEY is a cons and the car part
12532 is also a cons (range).
12533 (push_key_description): Adjust for the new character code.
12534 (describe_vector): Call describe_char_table for a char table.
12535 (describe_char_table): New function.
12536
12537 * keymap.h (describe_char_table): Extern it.
12538
12539 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12540 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12541 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12542 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12543 Delete.
12544 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12545 structure.
12546 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12547 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12548 (CHARTAB_SIZE_BITS_3): New macros.
12549 (chartab_size): Extern it.
12550 (struct Lisp_Char_Table): Re-design.
12551 (struct Lisp_Sub_Char_Table): New structure.
12552 (HASH_KEY, HASH_VALUE): Move from fns.c.
12553 (CHARACTERBITS): Define as 22.
12554 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12555 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12556 (GC_SUB_CHAR_TABLE_P): New macro.
12557 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12558 (code_convert_string_norecord): Deleted extern.
12559 (init_character_once, syms_of_character, init_charset)
12560 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12561
12562 * lread.c: Include "character.h".
12563 (read_multibyte): New arg NBYTES.
12564 (read_escape): Change the meaning of returned *BYTEREP.
12565 (to_multibyte): Delete.
12566 (read1): Adjust the handling of char table and string.
12567
12568 * print.c: Include "character.h" instead of "charset.h".
12569 (print_string): Convert 8-bit raw bytes to octal form by
12570 string_escape_byte8.
12571 (print_object): Adjust for the new multibyte form. Print 8-bit
12572 raw bytes always in octal form. Handle sub char table correctly.
12573
12574 * process.c: Include "character.h" instead of "charset.h".
12575 (read_process_output, send_process): Adjust for the new
12576 code-conversion API.
12577
12578 * puresize.h (BASE_PURESIZE): Increase.
12579
12580 * regex.c: Include "character.h" instead of "charset.h".
12581 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12582 (regex_compile): Accept a range whose starting and ending
12583 character have different leading bytes.
12584 (analyse_first): Adjust for the above change.
12585
12586 * search.c: Include "character.h" instead of "charset.h".
12587 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12588 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12589
12590 * syntax.c: Include "character.h" instead of "charset.h".
12591 (syntax_parent_lookup): Delete.
12592 (Fmodify_syntax_entry): Accept a cons as CHAR.
12593 (skip_chars): Adjust for the new multibyte form.
12594 (init_syntax_once): Call char_table_set_range instead of directly
12595 accessing the structure of a char table.
12596
12597 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12598 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12599 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12600 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12601
12602 * term.c: Include "buffer.h" and "character.h".
12603 (encode_terminal_code, write_glyphs): Adjust for the new
12604 code-conversion API.
12605 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12606
12607 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12608
12609 * xdisp.c: Include "character.h".
12610 (get_next_display_element): Adjust for the new multibyte form.
12611 (disp_char_vector): Adjust for the new char table structure.
12612 (decode_mode_spec_coding): Adjust for the new structure of
12613 coding system.
12614 (decode_mode_spec): Adjust for the new code-conversion API.
12615
12616 * xfaces.c: Include "character.h" instead of "charset.h".
12617 (load_face_font): Adjust for the change of choose_face_font and
12618 FS_LOAD_FONT.
12619 (generate_ascii_font): New function.
12620 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12621 (set_font_frame_param): Adjust for the change of choose_face_font.
12622 (free_realized_face): Make it public.
12623 (free_realized_faces_for_fontset): Rename from
12624 free_realized_multibyte_face. Free also faces realized for ASCII.
12625 (choose_face_font): Change arguments. Adjust for the change of
12626 fontset_font_pattern and FS_LOAD_FONT.
12627
12628 * xfns.c: Include "character.h".
12629 (x_encode_text): Adjust for the new code-conversion API.
12630
12631 * xselect.c: Don't include "charset.h".
12632 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12633
12634 * xterm.c: Include "character.h".
12635 (x_encode_char): New argument CHARSET. Change caller.
12636 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12637 Call ENCODE_CHAR instead of SPLIT_CHAR.
12638 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12639 CHAR_WIDTH instead of CHARSET_WIDTH.
12640 (XTread_socket): Adjust for the new code-conversion API.
12641 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12642 (x_load_font): Adjust for the change of struct font.
12643
126442008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12645
12646 * xfaces.c (face_at_buffer_position): Remove unused vars.
12647
126482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12649
12650 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12651 Fix overflow checking.
12652
126532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12654
12655 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12656 Cancel previous change.
12657
126582008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12659
12660 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12661 ccl->eight_bit_control. Fix check for buffer overflow.
12662 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12663 (ccl_driver): Initialize extra_bytes to 0.
12664
126652008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12666
12667 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12668 return it ORed with ctrl_modifier.
12669
126702008-01-29 Miles Bader <miles@gnu.org>
12671
12672 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12673
126742008-01-28 Jason Rumney <jasonr@gnu.org>
12675
12676 * w32.c (stat): Don't double check for networked drive.
12677
126782008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12679
12680 * window.c (run_window_configuration_change_hook): New function.
12681 Code extracted from set_window_buffer. Set the selected frame.
12682 (set_window_buffer): Use it.
12683 * window.h (run_window_configuration_change_hook): Declare.
12684 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12685
12686 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12687
126882008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12689
12690 * Makefile.in: Remove references to unused macros.
12691
126922008-01-26 Eli Zaretskii <eliz@gnu.org>
12693
12694 * w32.c (g_b_init_get_sid_sub_authority)
12695 (g_b_init_get_sid_sub_authority_count): New static variables.
12696 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12697 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12698 (init_user_info): Use them to retrieve uid and gid.
12699 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12700 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12701 st_uid and st_gid of the file.
12702
127032008-01-26 Jason Rumney <jasonr@gnu.org>
12704
12705 * w32.c (logon_network_drive): New function.
12706 (stat): Use it.
12707
127082008-01-26 Chong Yidong <cyd@stupidchicken.com>
12709
12710 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12711 invisible text covered with an ellipsis.
12712
127132008-01-25 Richard Stallman <rms@gnu.org>
12714
12715 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12716 jump back to beginning. Move some other initializations after that.
12717 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12718 New variables.
12719 (syms_of_xdisp): Init them.
12720
12721 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12722
12723 * buffer.c (reset_buffer_local_variables):
12724 Implement `permanent-local-hook'.
12725 (Qpermanent_local_hook): New variable.
12726 (syms_of_buffer): Init and staticpro it.
12727
127282008-01-25 Michael Albinus <michael.albinus@gmx.de>
12729
12730 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12731
127322008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12733
12734 * fns.c (Fclrhash): Return TABLE.
12735
127362008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12737
12738 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12739 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12740 is set even without positional changes.
12741 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12742
12743 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12744
127452008-01-23 Jason Rumney <jasonr@gnu.org>
12746
12747 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12748
12749 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12750 the unicode range available in MULE by locale-coding-system.
12751 Improve dbcs lead byte detection. Set event timestamp and modifiers
12752 earlier.
12753
127542008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12755
12756 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12757 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12758 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12759 when used on child processes.
12760
127612008-01-21 Michael Albinus <michael.albinus@gmx.de>
12762
12763 * dbusbind.c (Fdbus_method_return_internal): Rename from
12764 Fdbus_method_return.
12765 (Fdbus_unregister_object): Move to dbus.el.
12766 (Fdbus_call_method, Fdbus_method_return_internal)
12767 (Fdbus_send_signal): Improve debug messages.
12768
127692008-01-20 Martin Rudalics <rudalics@gmx.at>
12770
12771 * undo.c (undo_inhibit_record_point): New variable.
12772 (syms_of_undo): Initialize it.
12773 (record_point): Don't record point when undo_inhibit_record_point
12774 is set.
12775
127762008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12777
12778 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12779
12780 * xdisp.c (Qauto_hscroll_mode): New var.
12781 (syms_of_xdisp): Initialize it.
12782 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12783 window's buffer.
12784 (hscroll_windows): Don't check automatic_hscrolling_p here.
12785
12786 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12787 vscroll if we're setting window-buffer to the value it already has.
12788
127892008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12790
12791 * m/intel386.h: Remove references to XENIX.
12792
127932008-01-17 Andreas Schwab <schwab@suse.de>
12794
12795 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12796 instead of HAVE_X86_64_LIB64_DIR.
12797 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12798
127992008-01-17 Glenn Morris <rgm@gnu.org>
12800
12801 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12802 to HAVE_X86_64_LIB64_DIR.
12803
128042008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12805
12806 * s/irix3-3.h:
12807 * s/irix4-0.h:
12808 * s/386-ix.h:
12809 * s/domain.h:
12810 * s/hpux9-x11r4.h:
12811 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12812
12813 * sysdep.c: Remove code containing references to symbols defined
12814 by unsupported systems.
12815
128162008-01-16 Glenn Morris <rgm@gnu.org>
12817
12818 * coding.c (select-safe-coding-system-function): Doc fix.
12819
128202008-01-15 Glenn Morris <rgm@gnu.org>
12821
12822 * config.in: Revert 2008-01-13 change: this is a generated file.
12823
128242008-01-13 Tom Tromey <tromey@redhat.com>
12825
12826 * lisp.h: Fix typo.
12827
128282008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12829
12830 * m/sequent-ptx.h:
12831 * m/sequent.h:
12832 * s/ptx.h:
12833 * s/ptx4-2.h:
12834 * s/ptx4.h: Remove files for systems no longer supported.
12835
12836 * callproc.c (Fcall_process): Fix previous change.
12837
128382008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12839
12840 * unexsunos4.c: Remove file, system not supported anymore.
12841
12842 * m/mips.h:
12843 * m/intel386.h:
12844 * callproc.c:
12845 * config.in:
12846 * ecrt0.c:
12847 * emacs.c:
12848 * fileio.c:
12849 * frame.c:
12850 * getpagesize.h:
12851 * keyboard.c:
12852 * lread.c:
12853 * process.c:
12854 * puresize.h:
12855 * sysdep.c:
12856 * systty.h:
12857 * syswait.h:
12858 * unexec.c:
12859 * xdisp.c:
12860 * alloc.c: Remove code containing references to symbols defined by
12861 unsupported systems.
12862
128632008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12864
12865 * coding.c (detect_coding_mask): Fix previous change.
12866
128672008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12868
12869 * coding.c (detect_coding_iso2022): New arg
12870 latin_extra_code_state. Allow Latin extra codes only
12871 when *latin_extra_code_state is nonzero.
12872 (detect_coding_mask): If there is a NULL byte, detect the encoding
12873 as UTF-16 or binary. If Latin extra codes exist, detect the
12874 encoding as ISO-2022 only when there's no other proper encoding is
12875 found.
12876
128772008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12878
12879 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12880 #ifdef MAC_OS.
12881
128822008-01-08 Richard Stallman <rms@gnu.org>
12883
12884 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12885
128862008-01-06 Nick Roberts <nickrob@snap.net.nz>
12887
12888 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12889 menu bar in parentheses.
12890
128912008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12892
12893 * m/7300.h:
12894 * m/acorn.h:
12895 * m/alliant-2800.h:
12896 * m/alliant.h:
12897 * m/alliant1.h:
12898 * m/alliant4.h:
12899 * m/altos.h:
12900 * m/amdahl.h:
12901 * m/apollo.h:
12902 * m/att3b.h:
12903 * m/aviion-intel.h:
12904 * m/aviion.h:
12905 * m/celerity.h:
12906 * m/clipper.h:
12907 * m/cnvrgnt.h:
12908 * m/convex.h:
12909 * m/cydra5.h:
12910 * m/delta88k.h:
12911 * m/dpx2.h:
12912 * m/dual.h:
12913 * m/elxsi.h:
12914 * m/f301.h:
12915 * m/gould-np1.h:
12916 * m/gould.h:
12917 * m/i860.h:
12918 * m/ibmps2-aix.h:
12919 * m/ibmrt-aix.h:
12920 * m/ibmrt.h:
12921 * m/irist.h:
12922 * m/is386.h:
12923 * m/isi-ov.h:
12924 * m/mega68.h:
12925 * m/mg1.h:
12926 * m/news-r6.h:
12927 * m/news-risc.h:
12928 * m/news.h:
12929 * m/nh3000.h:
12930 * m/nh4000.h:
12931 * m/ns16000.h:
12932 * m/ns32000.h:
12933 * m/nu.h:
12934 * m/orion.h:
12935 * m/orion105.h:
12936 * m/paragon.h:
12937 * m/pfa50.h:
12938 * m/plexus.h:
12939 * m/pyramid.h:
12940 * m/pyrmips.h:
12941 * m/sh3el.h:
12942 * m/sps7.h:
12943 * m/sr2k.h:
12944 * m/stride.h:
12945 * m/sun1.h:
12946 * m/sun2.h:
12947 * m/sun3-68881.h:
12948 * m/sun3-fpa.h:
12949 * m/sun3-soft.h:
12950 * m/sun3.h:
12951 * m/sun386.h:
12952 * m/symmetry.h:
12953 * m/tad68k.h:
12954 * m/tahoe.h:
12955 * m/targon31.h:
12956 * m/tek4300.h:
12957 * m/tekxd88.h:
12958 * m/tower32.h:
12959 * m/tower32v3.h:
12960 * m/ustation.h:
12961 * m/wicat.h:
12962 * m/xps100.h:
12963 * s/cxux.h:
12964 * s/cxux7.h:
12965 * s/dgux.h:
12966 * s/dgux4.h:
12967 * s/dgux5-4-3.h:
12968 * s/dgux5-4r2.h:
12969 * s/esix.h:
12970 * s/esix5r4.h:
12971 * s/hiuxmpp.h:
12972 * s/hiuxwe2.h:
12973 * s/iris3-5.h:
12974 * s/iris3-6.h:
12975 * s/isc2-2.h:
12976 * s/isc3-0.h:
12977 * s/isc4-0.h:
12978 * s/isc4-1.h:
12979 * s/newsos5.h:
12980 * s/newsos6.h:
12981 * s/osf1.h:
12982 * s/osf5-0.h:
12983 * s/riscix1-1.h:
12984 * s/riscix12.h:
12985 * s/sco4.h:
12986 * s/sco5.h:
12987 * s/sunos4-0.h:
12988 * s/sunos4-1.h:
12989 * s/sunos413.h:
12990 * s/sunos4shr.h:
12991 * s/umax.h:
12992 * s/unipl5-2.h:
12993 * s/xenix.h:
12994 * cxux-crt0.s:
12995 * unexapollo.c:
12996 * unexconvex.c:
12997 * unexenix.c:
12998 * unexsni.c: Remove files for systems no longer supported.
12999
13000 * m/intel386.h: Remove references to unsupported systems.
13001
13002 * w32.c (get_emacs_configuration): Remove reference to i860.
13003
13004 * sysdep.c: Remove dead code.
13005
130062008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13007
13008 * s/rtu.h:
13009 * m/masscomp.h: Remove files. Platform is obsolete.
13010
130112008-01-04 Michael Albinus <michael.albinus@gmx.de>
13012
13013 * dbusbind.c (Fdbus_method_return): New function.
13014 (xd_read_message): Add the serial number to the event.
13015 (Fdbus_register_method): Activate the function.
13016
130172008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13018
13019 * keyboard.c (read_key_sequence): Fix typo.
13020
130212008-01-03 Michael Albinus <michael.albinus@gmx.de>
13022
13023 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13024 (xd_signature, xd_append_arg): Handle element type detection for
13025 empty arrays.
13026 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13027 SDATA () calls; this must be solved more general.
13028 (Fdbus_register_signal): Use SBYTES instead of strlen.
13029
130302008-01-03 Magnus Henoch <magnus@zemdatav>
13031
13032 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13033 unsigned int for byte values (necessary for big-endian platform).
13034 (Fdbus_call_method): Handle the case of no returned arguments.
13035
130362007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13037
13038 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13039
130402007-12-31 Magnus Henoch <mange@freemail.hu>
13041
13042 * dbusbind.c (xd_signature): Signature of variant is just "v".
13043
130442007-12-30 Michael Albinus <michael.albinus@gmx.de>
13045
13046 * dbusbind.c: Fix several errors and compiler warnings.
13047 Reported by Tom Tromey <tromey@redhat.com>.
13048 (XD_ERROR, XD_DEBUG_MESSAGE)
13049 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13050 (xd_append_arg): Part for basic D-Bus types rewritten.
13051 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13052 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13053 appropriate.
13054 (xd_read_message): Return Qnil. Don't signal an error; it is not
13055 useful during event reading.
13056 (Fdbus_register_signal): Signal an error if the check for
13057 FUNCTIONP fails.
13058 (Fdbus_register_method): New function. The implementation is not
13059 complete, the call of the function signals an error therefore.
13060 (Fdbus_unregister_object): New function, renamed from
13061 Fdbus_unregister_signal. The initial check signals an error, if
13062 the object is not well formed.
13063
130642007-12-30 Richard Stallman <rms@gnu.org>
13065
13066 * textprop.c (get_char_property_and_overlay):
13067 Signal error if POSITION is out of range in a buffer.
13068
130692007-12-29 Martin Rudalics <rudalics@gmx.at>
13070
13071 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13072 because the original parameters are in pure storage now.
13073
130742007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13075
13076 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13077
130782007-12-22 Eli Zaretskii <eliz@gnu.org>
13079
13080 * callint.c (syms_of_callint) <command-history>: Add reference to
13081 history-length in the doc string.
13082
130832007-12-17 Jason Rumney <jasonr@gnu.org>
13084
13085 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13086 before passing as wParam.
13087
130882007-12-22 Michael Albinus <michael.albinus@gmx.de>
13089
13090 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13091 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13092 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13093 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13094 as number.
13095 (Fdbus_call_method): Fix docstring.
13096
130972007-12-21 Michael Albinus <michael.albinus@gmx.de>
13098
13099 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13100 New macros.
13101 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13102 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13103 Simplify.
13104 (xd_signature): New function.
13105 (xd_append_arg): Compute also signatures. Major rewrite.
13106 (xd_retrieve_arg): Make debug messages friendly.
13107 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13108 Check for signatures of arguments.
13109
131102007-12-19 Michael Albinus <michael.albinus@gmx.de>
13111
13112 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13113 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13114 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13115 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13116 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13117 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13118 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13119 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13120 (xd_retrieve_value): Remove. Functionality included in ...
13121 (xd_append_arg): New function.
13122 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13123
131242007-12-16 Michael Albinus <michael.albinus@gmx.de>
13125
13126 * dbusbind.c (top): Include <stdio.h>.
13127 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13128 dbus_message_new_method_call and dbus_message_new_signal.
13129 (Fdbus_register_signal): Rename unique_name to uname.
13130 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13131 non-existing unique name. Fix typos in matching rule. Return an
13132 object which is useful in Fdbus_unregister_signal.
13133 (Fdbus_unregister_signal): Reimplementation, in order to remove
13134 only the corresponding entry.
13135 (Vdbus_registered_functions_table): Change the order of entries.
13136 Apply these changes in xd_read_message and Fdbus_register_signal.
13137
131382007-12-16 Andreas Schwab <schwab@suse.de>
13139
13140 * fileio.c (Finsert_file_contents): Fix overflow check to not
13141 depend on undefined integer overflow.
13142
131432007-12-14 Jason Rumney <jasonr@gnu.org>
13144
13145 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13146 for characters above 127.
13147
131482007-12-13 Jason Rumney <jasonr@gnu.org>
13149
13150 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13151 before dereferencing array.
13152 (lookup_vk_code): Remove zero comparison.
13153
131542007-12-14 Michael Albinus <michael.albinus@gmx.de>
13155
13156 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13157 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13158 Use `unsigned int' instead of `uint'.
13159 (xd_read_message, Fdbus_register_signal): Split expressions into
13160 multiple lines before operators "&&" and "||", according to the
13161 GNU Coding Standards.
13162
131632007-12-14 Eli Zaretskii <eliz@gnu.org>
13164
13165 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13166
131672007-12-12 Juri Linkov <juri@jurta.org>
13168
13169 * buffer.c (Frename_buffer): In interactive spec replace
13170 `read-buffer' with `read-string' that uses `buffer-name-history'
13171 as history, and the current buffer's name as default.
13172
131732007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13174
13175 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13176 manipulating the backtrace manually.
13177 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13178 (struct backtrace, backtrace_list): Remove.
13179 (command_loop_1): Remove dead var `no_direct'.
13180
13181 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13182 preserve non-built-in buffer-local variables.
13183 (Fkill_all_local_variables): Don't re-create&re-set permanent
13184 buffer-local variables.
13185
131862007-12-09 Juri Linkov <juri@jurta.org>
13187
13188 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13189 Lisp code that uses `read-buffer' with current buffer as default.
13190
131912007-12-08 Michael Albinus <michael.albinus@gmx.de>
13192
13193 * dbusbind.c (xd_read_message): Generate an event for every
13194 registered handler. There might be several handlers registered
13195 for the same signal.
13196 (Fdbus_register_signal): Don't overwrite a registration for the
13197 same signal. Add a new registration if handlers are different.
13198 (Vdbus_registered_functions_table): Rework doc string.
13199
132002007-12-07 Michael Albinus <michael.albinus@gmx.de>
13201
13202 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13203 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13204 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13205 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13206 Unify argument lists.
13207 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13208 arguments and hash table keys. Use unique name for service.
13209 (Fdbus_unregister_signal): Remove checks.
13210 (Vdbus_registered_functions_table): Fix doc string.
13211
132122007-12-05 Magnus Henoch <mange@freemail.hu>
13213
13214 * process.c (make_process): Initialize pty_flag to 0.
13215
132162007-12-05 Jason Rumney <jasonr@gnu.org>
13217
13218 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13219 specified XBMs.
13220
132212007-12-05 Richard Stallman <rms@gnu.org>
13222
13223 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13224
132252007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13226
13227 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13228 New variable.
13229 (mac_try_close_socket) [MAC_OSX]: New function.
13230 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13231 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13232
13233 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13234 Use mac_try_close_socket.
13235
132362007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13237
13238 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13239 reloc_base.
13240 (copy_dysymtab): Compute relocation base here.
13241 (rebase_reloc_address) [__ppc64__]: New function.
13242 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13243 changed.
13244
132452007-12-05 Jason Rumney <jasonr@gnu.org>
13246
13247 * w32proc.c (sys_spawnve): Quote args with wildcards.
13248
132492007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13250
13251 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13252 __objc_* sections.
13253 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13254
132552007-12-05 Michael Albinus <michael.albinus@gmx.de>
13256
13257 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13258 Move check for Vdbus_registered_functions_table to
13259 xd_read_queued_messages.
13260 (xd_read_queued_messages): Protect xd_read_message calls by
13261 internal_condition_case_1.
13262
132632007-12-04 Michael Albinus <michael.albinus@gmx.de>
13264
13265 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13266 Qdbus_system_bus and Qdbus_session_bus, respectively.
13267 (Vdbus_intern_symbols): Remove.
13268 (Vdbus_registered_functions_table): New hash table.
13269 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13270 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13271 Rewrite in order to manage registered functions by hash table
13272 Vdbus_registered_functions_table.
13273
132742007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13275
13276 * xterm.c: Update URL to Window Manager Specification in comment.
13277
132782007-12-02 Michael Albinus <michael.albinus@gmx.de>
13279
13280 * config.in (HAVE_DBUS): Add.
13281
13282 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13283 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13284 (obj): Add $(DBUS_OBJ).
13285 (LIBES): Add $(DBUS_LIBS).
13286 (dbusbind.o): New target.
13287
13288 * dbusbind.c: New file.
13289
13290 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13291
13292 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13293 (Qdbus_event): New Lisp symbol.
13294 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13295 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13296 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13297
13298 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13299
133002007-12-01 Richard Stallman <rms@gnu.org>
13301
13302 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13303
133042007-11-30 Jason Rumney <jasonr@gnu.org>
13305
13306 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13307 (w32con_reset_terminal_modes): Clear screen buffer.
13308 (w32_face_attributes): Don't use color indexes that are out of range.
13309 Only reverse the default colors.
13310
13311 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13312 WINDOWSNT.
13313
13314 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13315
133162007-11-29 Jason Rumney <jasonr@gnu.org>
13317
13318 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13319 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13320 if the terminal colors are initialized.
13321 (unspecified_fg, unspecified_bg): Remove unused declarations.
13322
133232007-11-29 Andreas Schwab <schwab@suse.de>
13324
13325 * keyboard.c (apply_modifiers): Fix typo.
13326
133272007-11-29 Richard Stallman <rms@gnu.org>
13328
13329 * keymap.c (Fcurrent_local_map): Doc fix.
13330
133312007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13332
13333 * s/gnu-kfreebsd.h: New file.
13334
133352007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13336
13337 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13338 Don't cast redundantly.
13339
13340 * keyboard.c (KEY_TO_CHAR): New macro.
13341 (parse_modifiers, apply_modifiers): Accept integer arguments.
13342 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13343 for chars and symbol keys.
13344 After doing such remapping, apply function-key-map again.
13345
133462007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13347
13348 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13349 compiled anymore.
13350
133512007-11-26 Andreas Schwab <schwab@suse.de>
13352
13353 * process.c (list_processes_1): Fix indentation level of the
13354 command column.
13355
133562007-11-23 Andreas Schwab <schwab@suse.de>
13357
13358 * editfns.c (Fformat): Handle %c specially since it requires the
13359 argument to be of type int.
13360
133612007-11-23 Markus Triska <markus.triska@gmx.at>
13362
13363 * emacs.c (main): Call init_editfns before init_process, since
13364 init_process sets Vprocess_connection_type depending on OS release.
13365
133662007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13367
13368 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13369 (find_symbol_value): Use do_symval_forwarding.
13370
13371 * data.c (set_internal): Set the value in the `cons-cell' (for
13372 Buffer_Local_values) not only for frame-local variables.
13373
133742007-11-22 Andreas Schwab <schwab@suse.de>
13375
13376 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13377 values to sprintf.
13378 * keymap.c (Fsingle_key_description): Likewise.
13379 * print.c (print_object): Likewise.
13380
133812007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13382
13383 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13384 file for image is nil.
13385
133862007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13387
13388 * term.c: Include stdarg.h.
13389 (fatal): Implement using varargs.
13390 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13391
133922007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13393
13394 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13395 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13396 Update call to buffer_slot_type_mismatch.
13397 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13398 (buffer_slot_type_mismatch): Update.
13399 * buffer.c (buffer_local_types): Remove.
13400 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13401 (defvar_per_buffer): Set the type in the buffer_objfwd.
13402
134032007-11-21 Jason Rumney <jasonr@gnu.org>
13404
13405 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13406 CreateFileMapping returns NULL on failure.
13407
134082007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13409
13410 * search.c (Fset_match_data): Remove the `evaporate' feature.
13411 (unwind_set_match_data): Don't use the `evaporate' feature.
13412
134132007-11-21 Jason Rumney <jasonr@gnu.org>
13414
13415 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13416
13417 * w32console.c (w32con_write_glyphs): Remove unused variables.
13418
134192007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13420
13421 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13422
13423 * s/darwin.h (MULTI_KBOARD): Remove.
13424
13425 * macfns.c (x_create_tip_frame, Fx_create_frame)
13426 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13427
134282007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13429
13430 * buffer.c (Fbuffer_local_value): Remove redundant test.
13431 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13432 than in `current-buffer' to match the comment.
13433 Do the swap using swap_in_global_binding.
13434
13435 * data.c (store_symval_forwarding, set_internal):
13436 * eval.c (specbind): Remove dead code.
13437
13438 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13439 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13440 Since we do not want to see internal Lisp_*fwd objects here.
13441
134422007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13443
13444 * sysdep.c (init_system_name): Use getaddrinfo if available.
13445
13446 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13447 (x_scroll_bar_note_movement): start, end, with, height in struct
13448 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13449
134502007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13451
13452 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13453
134542007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13455
13456 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13457 This undoes Richard's change of 14-Oct-2002.
13458
13459 * alloc.c (allocate_other_vector):
13460 * lisp.h (allocate_other_vector): Remove.
13461
13462 * window.c (struct save_window_data): Move non-lisp data to the end
13463 and make it `int' rather than Lisp_Object.
13464 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13465 Done wrap/unwrap integer values.
13466 (Fset_window_configuration, compare_window_configurations):
13467 Update use of fields to their new types.
13468
13469 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13470 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13471 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13472 (SET_SCROLL_BAR_X_WINDOW): Remove.
13473 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13474 Access the new x_window field directly.
13475 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13476 Don't wrap/unwrap integers into Lisp_Objects.
13477 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13478 (x_scroll_bar_report_motion):
13479 Don't wrap/unwrap integers into Lisp_Objects.
13480 (x_term_init): Use SDATA.
13481 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13482 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13483 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13484 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13485 * xfns.c (x_set_background_color):
13486 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13487 Access the new x_window field directly.
13488
13489 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13490 (allocate_pseudovector): Make non-static.
13491
13492 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13493 (allocate_pseudovector): Declare.
13494 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13495
134962007-11-15 Andreas Schwab <schwab@suse.de>
13497
13498 * editfns.c (Fformat): Correctly format EMACS_INT values.
13499 Also take precision into account when formatting an integer.
13500
13501 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13502
135032007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13504
13505 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13506 (syms_of_keyboard): Defsubr it.
13507
13508 * data.c (swap_in_global_binding): Fix longstanding bug where
13509 store_symval_forwarding was not called with the right second argument,
13510 thus causing objfwd-ing from being dropped.
13511
135122007-11-14 Juanma Barranquero <lekktu@gmail.com>
13513
13514 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13515 (Fx_display_pixel_height, Fx_display_planes)
13516 (Fx_display_color_cells, Fx_server_max_request_size)
13517 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13518 (Fx_display_visual_class, Fx_display_save_under):
13519 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13520 (Fx_display_pixel_height, Fx_display_planes)
13521 (Fx_display_color_cells, Fx_server_max_request_size)
13522 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13523 (Fx_display_mm_height, Fx_display_mm_width)
13524 (Fx_display_backing_store, Fx_display_visual_class)
13525 (Fw32_select_font, Fx_display_save_under):
13526 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13527 (Fx_display_pixel_height, Fx_display_planes)
13528 (Fx_display_color_cells, Fx_server_max_request_size)
13529 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13530 (Fx_display_save_under): Fix typos in docstrings.
13531
135322007-11-14 Juanma Barranquero <lekktu@gmail.com>
13533
13534 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13535 corresponding to deleted entries; they are an implementation detail.
13536 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13537 Remove variables.
13538 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13539 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13540 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13541 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13542 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13543 (Fw32_define_rgb_color, Fw32_load_color_file)
13544 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13545 Fix typos in docstrings.
13546 (Fx_server_version): Reflow docstring.
13547 (Fw32_shell_execute): Doc fixes.
13548
135492007-11-13 Juanma Barranquero <lekktu@gmail.com>
13550
13551 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13552 if w32_parse_hot_key returned nil.
13553
135542007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13555
13556 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13557
135582007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13559
aac0c6e3
MR
13560 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13561
13562 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13563
13564 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13565 Remove W32_SCROLL_BAR_CLICK_EVENT.
13566
13567 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13568 Add MULTIMEDIA_KEY_EVENT.
13569
13570 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13571 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13572 (make_lispy_event) [WINDOWSNT]: Use it to translate
13573 MULTIMEDIA_KEY_EVENT.
13574
13575 * w32term.h (WM_APPCOMMAND): Define if not already.
13576 (GET_APPCOMMAND_LPARAM): Likewise.
13577
13578 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13579 WM_APPCOMMAND.
13580
13581 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13582 (syms_of_w32fns): Export and initialize it.
13583 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13584
135852007-11-09 Chong Yidong <cyd@stupidchicken.com>
13586
13587 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13588 twice.
13589
13590 * xdisp.c (handle_face_prop): Fix last change.
13591
135922007-11-09 Richard Stallman <rms@gnu.org>
13593
13594 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13595 not just for after-strings and before-strings.
13596 Call face_for_overlay_string and pass the overlay to it.
13597 (handle_display_prop): Determine whether property came from an overlay.
13598 Pass OVERLAY arg to handle_single_display_spec.
13599 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13600 (load_overlay_strings): Fill in it->string_overlays.
13601 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13602
13603 * xfaces.c (face_for_overlay_string): Function renamed from
13604 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13605
13606 * dispextern.h (struct it): New elt string_overlays.
13607 New elt from_overlay, also in stack.
13608 Rearrange a few elements.
13609 (face_for_overlay_string): Decl renamed from
13610 face_at_buffer_position_no_overlays, and add argument.
13611
136122007-11-09 Richard Stallman <rms@gnu.org>
13613
13614 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13615 to get the base face for an overlay string.
13616
13617 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13618
13619 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13620
13621 * xdisp.c (handle_stop): Move some code out of loop.
13622
136232007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13624
13625 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13626 Fix conversion from Lisp object to ATSUFontID.
13627
136282007-11-09 Jason Rumney <jasonr@gnu.org>
13629
13630 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13631
136322007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13633
13634 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13635 Don't assume regions are aligned to page boundary.
13636 (print_load_command_name): Add LC_UUID if defined.
13637
136382007-11-09 Richard Stallman <rms@gnu.org>
13639
13640 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13641
136422007-11-07 Jason Rumney <jasonr@gnu.org>
13643
13644 * s/windows95.h: Remove.
13645
136462007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13647
13648 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13649 abort with a message on unhandled store_type values.
13650
136512007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13652
13653 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13654 Remove HAVE_X11R5 and HAVE_X11R4.
13655
136562007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13657
13658 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13659
136602007-11-01 Johan Bockgård <bojohan@gnu.org>
13661
13662 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13663 Don't set s->stippled_p here, since it has already been set by
13664 x_set_glyph_string_gc from x_draw_glyph_string.
13665
136662007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13667
13668 * sunfns.c: Remove file.
13669
13670 * m/sun386.h:
13671 * m/sun2.h:
13672 * m/sparc.h: Remove Sun windows code.
13673
136742007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13675
13676 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13677 (init_keyboard): Set current_kboard's window-system to nil.
13678 (tty_read_avail_input): Typo.
13679 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13680
136812007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13682
13683 * s/usg5-4.h:
13684 * s/usg5-3.h:
13685 * s/ptx.h:
13686 * m/is386.h:
13687 * m/ibmps2-aix.h:
13688 * Makefile.in: Remove all mentions of X10.
13689
13690 * dispnew.c (syms_of_display): Don't mention version 10.
13691
136922007-10-28 Juanma Barranquero <lekktu@gmail.com>
13693
13694 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13695 ($(BLD)/abbrev.$(O)): Remove.
13696
136972007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13698
13699 Rewrite abbrev.c in Elisp.
13700 * image.c (Qcount): Don't declare as extern.
13701 (syms_of_image): Initialize and staticpro `Qcount'.
13702 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13703 * emacs.c (main): Don't call syms_of_abbrev.
13704 * Makefile.in (obj): Remove abbrev.o.
13705 (abbrev.o): Remove.
13706 * abbrev.c: Remove.
13707
137082007-10-26 Martin Rudalics <rudalics@gmx.at>
13709
13710 * window.c (window_min_size_2): Don't count header-line.
13711
137122007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13713
13714 * frame.h (struct frame): Move all bit fields after the first bit
13715 field to take advantage of the available space. Group all the
13716 chars together to reduce wasted space due to padding.
13717
137182007-10-26 Juanma Barranquero <lekktu@gmail.com>
13719
13720 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13721
13722 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13723 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13724 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13725 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13726 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13727 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13728 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13729 (last_marked, mark_object_loop_halt): Make static.
13730
13731 * frame.c (syms_of_frame) <delete-frame-functions>:
13732 Fix typo in docstring.
13733
137342007-10-25 Juanma Barranquero <lekktu@gmail.com>
13735
13736 * w32.c (init_environment): Fix tiny memory leak.
13737 (w32_get_resource): Remove unused variable `ok'.
13738
137392007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13740
13741 Make `window-system' into a keyboard-local variable (rather than
13742 frame-local as done originally by multi-tty).
13743
13744 * keyboard.h (struct kboard): Add Vwindow_system.
13745 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13746 (mark_kboards): Mark Vwindow_system.
13747
13748 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13749 (init_display): Don't set the obsolete `window-system' frame-param.
13750
13751 * xterm.c (x_term_init):
13752 * w32term.c (w32_create_terminal):
13753 * term.c (init_tty): Set Vwindow_system.
13754 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13755 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13756
13757 * xfns.c (Fx_create_frame, x_create_tip_frame):
13758 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13759 * macfns.c (Fx_create_frame):
13760 Don't set the obsolete `window-system' frame-param.
13761
13762 * frame.h (Qwindow_system): Remove.
13763 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13764 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13765
137662007-10-24 Richard Stallman <rms@gnu.org>
13767
13768 * frame.c (x_figure_window_size): For fullscreen case,
13769 set USPosition | PPosition without clobbering rest of window_prompting.
13770
13771 * keyboard.c (Fcurrent_idle_time): Doc fix.
13772
13773 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13774
137752007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13776
13777 * process.c (unwind_request_sigio): Only define if __ultrix__.
13778
13779 * callproc.c (child_setup): Remove spurious *.
13780
13781 * lisp.h (Fget_text_property): Declare.
13782 (have_menus_p): Declare it here rather than in sys-dep header files.
13783 * macterm.h (have_menus_p):
13784 * msdos.h (have_menus_p):
13785 * xterm.h (have_menus_p): Remove.
13786
13787 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13788 (Fmake_variable_frame_local): Just check the variable's const-ness
13789 rather than checking nil or t.
13790
137912007-10-22 Jason Rumney <jasonr@gnu.org>
13792
13793 * w32fns.c: Include math.h.
13794 (w32_abort): Declaration moved to nt/config.nt.
13795
13796 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13797 (abort): Redefinition moved to nt/config.nt.
13798
13799 * m/windowsnt.h: Remove.
13800
138012007-10-22 Juanma Barranquero <lekktu@gmail.com>
13802
13803 * emacs.c (Fdump_emacs): Fix typo in message.
13804 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13805 <installation-directory>: Reflow docstring.
13806
138072007-10-22 Juri Linkov <juri@jurta.org>
13808
13809 * minibuf.c: Allow minibuffer default to be a list of default values.
13810 With empty input use the first element of this list as returned default.
13811 (string_to_object)
13812 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13813 (read_minibuf): If defalt is cons, set histstring to its car.
13814 (Fread_string): If default_value is cons, set val to its car.
13815 (Fread_buffer): If def is cons, use its car.
13816 (Fcompleting_read): If defalt is cons, set val to its car.
13817
138182007-10-21 Michael Albinus <michael.albinus@gmx.de>
13819
13820 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13821
138222007-10-20 Juanma Barranquero <lekktu@gmail.com>
13823
13824 * doc.c (Fdocumentation): Check for advice in all cases.
13825
138262007-10-19 Chong Yidong <cyd@stupidchicken.com>
13827
13828 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13829
138302007-10-19 Richard Stallman <rms@gnu.org>
13831
13832 * doc.c (Fdocumentation): Check for and handle an advised function.
13833
138342007-10-19 Juanma Barranquero <lekktu@gmail.com>
13835
13836 * process.c (Fset_process_filter): Doc fix.
13837
138382007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13839
13840 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13841 which caused key-translation-map to applied repeatedly (thus breaking
13842 double-mode).
13843
138442007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13845
13846 * xselect.c (x_own_selection, x_handle_selection_clear)
13847 (x_clear_frame_selections):
13848 * w32menu.c (list_of_panes, list_of_items):
13849 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13850 * textprop.c (validate_plist, interval_has_all_properties)
13851 (interval_has_some_properties, interval_has_some_properties_list)
13852 (add_properties, text_property_list):
13853 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13854 * minibuf.c (Fassoc_string):
13855 * macselect.c (x_own_selection, x_clear_frame_selections)
13856 (Fx_disown_selection_internal):
13857 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13858 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13859
138602007-10-17 Chong Yidong <cyd@stupidchicken.com>
13861
13862 * process.c: Link to libs for calling res_init() if available.
13863 (Fmake_network_process): Call res_init() before getaddrinfo or
13864 gethostbyname, if possible.
13865
138662007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13867
13868 * lread.c (read1): Set pvectype for char_tables.
13869
13870 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13871 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13872 Add type checks.
13873 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13874
13875 * alloc.c (free_misc): Use XMISCTYPE.
13876 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13877
138782007-10-17 Glenn Morris <rgm@gnu.org>
13879
13880 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13881 (syms_of_minibuf): Add Qcompletion_ignore_case.
13882 * dired.c (Qcompletion_ignore_case): Change to external.
13883 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13884 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13885 (Fread_file_name): Use it rather than intern'ing.
13886
13887 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13888 (Fread_coding_system): Ignore case of user input.
13889
138902007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13891
13892 * xdisp.c (handle_display_prop): Ignore display specs after
13893 replacing one when string text is being replaced.
13894 (handle_single_display_spec): Pretend as if characters with display
13895 property haven't been consumed only when buffer text is being replaced.
13896
138972007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13898
13899 * xfns.c (Fx_create_frame, Fx_display_list):
13900 * window.c (window_fixed_size_p, enlarge_window)
13901 (shrink_window_lowest_first):
13902 * macterm.c (init_font_name_table):
13903 * macfns.c (Fx_create_frame, Fx_display_list):
13904 * lread.c (close_load_descs):
13905 * keyboard.c (read_char_x_menu_prompt):
13906 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13907 * coding.c (code_convert_region_unwind): Test the type of an object
13908 rather than just !NILP before extracting data from it.
13909
13910 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13911
13912 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13913 (XMISCANY): New macro.
13914 (XMISCTYPE): Use it.
13915 (struct Lisp_Misc_Any): New type.
13916 (union Lisp_Misc): Use it.
13917 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13918 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13919 (find_symbol_value, set_internal, default_value, Fset_default)
13920 (Fmake_variable_buffer_local, Fmake_local_variable)
13921 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13922 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13923 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13924 * alloc.c (allocate_buffer): Set the size and tag.
13925 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13926 Use XMISCANY.
13927 (die): Follow the GNU convention for error messages.
13928 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13929 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13930 tag any more.
13931 (set_buffer_internal_1):
13932 * frame.c (store_frame_param):
13933 * eval.c (specbind):
13934 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13935
13936 * doc.c (Fsnarf_documentation): Simplify.
13937
139382007-10-14 Juanma Barranquero <lekktu@gmail.com>
13939
13940 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13941 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13942
139432007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13944
13945 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13946
139472007-10-14 Juanma Barranquero <lekktu@gmail.com>
13948
13949 * eval.c (do_autoload): Don't save autoloads.
13950
13951 * data.c (Ffset): Save autoload of the function being set.
13952
139532007-10-07 John Paul Wallington <jpw@pobox.com>
13954
13955 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13956 parameter before setting up faces.
13957
139582007-10-13 Eli Zaretskii <eliz@gnu.org>
13959
13960 * ccl.c (Fregister_code_conversion_map):
13961 * keyboard.c (append_tool_bar_item): Reformat last change.
13962
13963 * lisp.h (eabs): Rename from `abs'. All callers changed.
13964
139652007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13966
13967 * buffer.c (add_overlay_mod_hooklist):
13968 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13969 * fontset.c (make_fontset):
13970 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13971 (append_tool_bar_item):
13972 * macmenu.c (grow_menu_items):
13973 * w32menu.c (grow_menu_items):
13974 * xmenu.c (grow_menu_items): Use larger_vector.
13975
139762007-10-13 Eli Zaretskii <eliz@gnu.org>
13977
13978 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13979 selected frame'' on MSDOS).
13980
139812007-10-12 Martin Rudalics <rudalics@gmx.at>
13982
13983 * frame.c (Qexplicit_name): New variable.
13984 (x_report_frame_params): Report it in parameter alist.
13985 (syms_of_frame): Intern and staticpro it.
13986
139872007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13988
13989 * macfns.c (x_create_tip_frame): Set terminal for frame.
13990
139912007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13992
13993 * frame.c (Qenvironment): Remove.
13994 (syms_of_frame) <Qenvironment>: Don't initialize.
13995 (Fdelete_frame): Don't treat the `environment' param specially.
13996 * frame.h (Qenvironment): Don't declare.
13997 * callproc.c (set_initial_environment): Don't set unused frame param.
13998
13999 * frame.c (Fframe_with_environment): Remove.
14000 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14001
14002 * lisp.h (Fframe_with_environment): Don't declare.
14003
140042007-10-10 Juanma Barranquero <lekktu@gmail.com>
14005
14006 * indent.c (indent_tabs_mode, last_known_column)
14007 (last_known_column_modified): Make static.
14008 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14009
140102007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14011
14012 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14013
140142007-10-09 Jason Rumney <jasonr@gnu.org>
14015
14016 * w32term.c (x_set_window_size): Disable code that attempts to tell
14017 Lisp code about a size change before it actually happens.
14018
140192007-10-09 Richard Stallman <rms@gnu.org>
14020
14021 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14022 return HANDLED_RETURN.
14023
140242007-10-08 Martin Rudalics <rudalics@gmx.at>
14025
14026 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14027 when there's an unread command event.
14028
14029 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14030 window autoselection act appropriately when leaving selected frame.
14031 (syms_of_frame): Initialize focus_follows_mouse.
14032 * frame.h (focus_follows_mouse): Extern it.
14033 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14034 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14035 * msdos.c (dos_rawgetc): Likewise.
14036 * w32term.c (w32_read_socket): Likewise.
14037 * xterm.c (handle_one_xevent): Likewise.
14038 * xdisp.c (syms_of_xdisp): In doc-string of
14039 mouse-autoselect-window mention focus-follows-mouse.
14040
140412007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14042
14043 * macterm.c (mac_load_query_font): Fix missing return value.
14044 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14045 Add BLOCK_INPUT.
14046
140472007-10-08 Richard Stallman <rms@gnu.org>
14048
14049 * xdisp.c (get_window_cursor_type): Implement documented behavior
14050 for cursor-in-non-selected-windows = t.
14051
140522007-10-08 Jason Rumney <jasonr@gnu.org>
14053
14054 * w32.c (w32_get_resource): Always close registry keys.
14055
140562007-10-08 Jason Rumney <jasonr@gnu.org>
14057
14058 * makefile.w32-in (LIBS): Add COMCTL32.
14059
14060 * w32fns.c (globals_of_w32fns): Init common controls.
14061
140622007-10-08 Richard Stallman <rms@gnu.org>
14063
14064 * image.c (our_memory_buffer): Rename from omfib_buffer.
14065
140662007-10-08 Richard Stallman <rms@gnu.org>
14067
14068 * buffer.c (Foverlays_at): Doc fix.
14069
140702007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14071
14072 * fns.c (Fplist_put): Preserve uneven tail data.
14073
140742007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14075
14076 * termhooks.h (enum event_kind): Remove trailing comma.
14077
14078 * frame.h (enum): Remove trailing comma.
14079
140802007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14081
14082 * w32proc.c (delete_child): Don't terminate threads of zombies.
14083
140842007-10-08 Martin Rudalics <rudalics@gmx.at>
14085
14086 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14087
14088 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14089 last-repeatable-command.
14090 (init_kboard): Initialize Vlast_repeatable_command.
14091 (command_loop_1): Set it to real_this_command unless that was
14092 bound to an input event.
14093 (mark_kboards): Mark it.
14094
140952007-10-08 Richard Stallman <rms@gnu.org>
14096
14097 * eval.c (condition-case): Doc fix.
14098
140992007-10-08 Masatake YAMATO <jet@gyve.org>
14100
14101 * xfaces.c (tty_supports_face_attributes_p): Fix code
14102 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14103 was copied and not edited.
14104
141052007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14106
14107 Add new `input-decode-map' keymap and use it for terminal
14108 escape sequences.
14109 * keyboard.h (struct kboard): Add Vinput_decode_map.
14110 Remove Vlocal_key_translation_map.
14111 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14112 (init_kboard): Init input-decode-map.
14113 Replace local-key-translation-map back with key-translation-map.
14114 (syms_of_keyboard): Declare input-decode-map.
14115 Remove local-key-translation-map. Update docstrings.
14116 (mark_kboards): Mark Vinput_decode_map.
14117 Don't mark Vlocal_key_translation_map.
14118 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14119 Replace local-key-translation-map back with key-translation-map.
14120 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14121 Bind in input-decode-map rather than function-key-map.
14122
14123 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14124 This was made redundant by the previous introduction of XSETPVECTYPE.
14125
141262007-10-09 Richard Stallman <rms@gnu.org>
14127
14128 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14129
141302007-09-29 Richard Stallman <rms@gnu.org>
14131
14132 * eval.c (internal_condition_case_2, internal_condition_case_1)
14133 (internal_condition_case): Reenable abort if x_catching_errors ()
14134 to see if that really happens and why.
14135
141362007-10-06 Andreas Schwab <schwab@suse.de>
14137
14138 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14139
141402007-10-04 Juanma Barranquero <lekktu@gmail.com>
14141
14142 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14143
141442007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14145
14146 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14147
141482007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14149
14150 * window.h (struct window):
14151 * window.c (struct save_window_data, struct saved_window):
14152 * termhooks.h (struct terminal):
14153 * process.h (struct Lisp_Process):
14154 * frame.h (struct frame):
14155 * buffer.h (struct buffer):
14156 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14157 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14158 The size field of (pseudo)vectors is now unsigned.
14159 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14160
14161 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14162 Turn `count' into an integer.
14163
14164 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14165 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14166 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14167 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14168 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14169
14170 * alloc.c (allocate_pseudovector): New fun.
14171 (ALLOCATE_PSEUDOVECTOR): New macro.
14172 (allocate_window, allocate_terminal, allocate_frame)
14173 (allocate_process): Use it.
14174 (mark_vectorlike): New function.
14175 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14176 (mark_terminals): Use it.
14177 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14178 (Fmake_byte_code): Use XSETPVECTYPE.
14179
14180 * frame.c (Fframe_parameters): Minor simplification.
14181
14182 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14183
14184 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14185
14186 * buffer.c (Fget_buffer_create, init_buffer_once):
14187 * lread.c (defsubr):
14188 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14189
14190 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14191 defined differently in the m/*.h files.
14192 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14193 (XSETPVECTYPE): New macro.
14194 (XSETPSEUDOVECTOR): Use it.
14195
14196 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14197 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14198
14199 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14200 * lread.c (defvar_per_buffer):
14201 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14202
14203 * window.c (candidate_window_p): Only consider as visible frames that
14204 are on the same terminal.
14205
14206 * m/ibms390x.h (MARKBIT): Remove unused macro.
14207
142082007-10-01 Juanma Barranquero <lekktu@gmail.com>
14209
14210 * lread.c (Fload): Fix typo in docstring.
14211
142122007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14213
14214 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14215 of a non-zero value can't yield zero.
14216
142172007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14218
14219 * term.c (term_clear_mouse_face, term_mouse_highlight)
14220 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14221
14222 * print.c (safe_debug_print): Use XHASH.
14223
14224 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14225 Lisp elements such as tags.
14226 (XHASH): New macro.
14227 (EQ): Use it.
14228 (SREF, SSET, STRING_COPYIN): Use SDATA.
14229 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14230
14231 * alloc.c (mark_terminal): Remove left-over declaration.
14232 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14233 (allocate_vectorlike): Remove type argument. Adjust callers.
14234 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14235 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14236
14237 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14238 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14239 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14240 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14241 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14242 Use them.
14243
14244 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14245 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14246 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14247
142482007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14249
14250 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14251 loaded by default.
14252
142532007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14254
14255 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14256 on this tty.
14257 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14258
14259 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14260 Update all users.
14261 (handle_one_term_event): Use Gpm_DrawPointer.
14262 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14263 Signal errors instead of returning nil. Always return nil.
14264 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14265 Make it a noop if gpm-mouse was not activated.
14266 (syms_of_term): Update names.
14267
142682007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14269
14270 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14271 (init_sys_modes): Check that gpm_tty is the current tty.
14272
14273 * alloc.c (allocate_terminal): Set the vector size to only count the
14274 lisp fields. Initialize those to nil.
14275 (mark_object): Don't treat terminals specially.
14276 (mark_terminal): Remove.
14277 (mark_terminals): Use mark_object instead.
14278
14279 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14280 the GC to the beginning.
14281
14282 * indent.h:
14283 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14284
14285 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14286
142872007-09-25 Jason Rumney <jasonr@gnu.org>
14288
14289 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14290
14291 * w32console.c (create_w32cons_output): Remove.
14292
14293 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14294
14295 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14296 (reset_sys_modes): Use reset_terminal_modes_hook.
14297
142982007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14299
14300 * eval.c (do_autoload): Don't output any message.
14301
143022007-09-24 Juri Linkov <juri@jurta.org>
14303
14304 * emacs.c (standard_args): Change priority of "--no-splash"
14305 from 40 to 3. Add "--no-desktop" with the same priority.
14306
143072007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14308
14309 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14310 and optimize the case where they are all 1.
14311
143122007-09-23 Johannes Weiner <hannes@saeurebad.de>
14313
14314 * lisp.h (abs): Define if not defined.
14315 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14316 Don't define `abs', since it's defined in lisp.h.
14317
143182007-09-22 Eli Zaretskii <eliz@gnu.org>
14319
14320 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14321 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14322 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14323 (init_tty): Use DEV_TTY instead of "/dev/tty".
14324 [WINDOWSNT]: No need to protect from NAME arg being null.
14325
143262007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14327
14328 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14329 up the tty state.
14330
143312007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14332
14333 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14334 (gpm_tty): Change its type.
14335 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14336 (gpm_tty): Change its type and initialize it.
14337 (Fterm_open_connection): Check the frame is indeed a tty.
14338 Use the new gpm_tty.
14339 (Fterm_close_connection): Use the new gpm_tty.
14340 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14341 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14342
143432007-09-21 Juanma Barranquero <lekktu@gmail.com>
14344
14345 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14346 underline_color, to draw strike-through.
14347
143482007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14349
14350 * lisp.h (allocate_terminal): Declare.
14351
14352 * window.c (candidate_window_p): Consider frames that are being placed
14353 by the user as somewhere between visible and iconified.
14354 (window_loop): Prefer windows on the current frame.
14355 (Fselect_window): Move the use of select-frame to the beginning so we
14356 can just delegate all the work (it'll call us back anyway).
14357
14358 * frame.c (Qdisplay_environment_variable):
14359 * frame.h (Qdisplay_environment_variable): Delete.
14360
14361 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14362 of the first arg, since that value may be a union.
14363
14364 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14365 parameter rather than Qdisplay_environment_variable. If all else
14366 fails, look for DISPLAY in initial-environment.
14367
143682007-09-21 Glenn Morris <rgm@gnu.org>
14369
14370 * Makefile.in (emacstool): Remove target.
14371 (lisp, shortlisp): Remove termdev.elc.
14372
143732007-09-21 Markus Triska <markus.triska@gmx.at>
14374
14375 * xterm.c (x_delete_display): Compile session management conditionally.
14376
143772007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14378
14379 * callproc.c (getenv_internal_1): New function.
14380 (getenv_internal): Use it.
14381 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14382
14383 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14384 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14385 (Fset_terminal_parameter): Work with dead terminals as well.
14386 (Fmodify_terminal_parameters): Remove.
14387
14388 * terminal.c (get_terminal): Handle terminals.
14389 Make sure the terminal returned is live.
14390 (create_terminal): Use allocate_terminal.
14391 (mark_terminals): Move to alloc.c.
14392 (delete_terminal): Use terminal->name as liveness status.
14393 NULL out fields after freeing their contents.
14394 Don't deallocate the object.
14395 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14396 rather than an int.
14397 (Fterminal_live_p): Accept non-integer arguments.
14398 (Fterminal_list): Return terminal objects rather than an ints.
14399
14400 * alloc.c (enum mem_type): New member for `terminal' objects.
14401 (allocate_terminal): New function.
14402 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14403 Handle terminals.
14404 (mark_terminal): New fun.
14405 (mark_terminals): Move from terminal.c.
14406
14407 * term.c (get_tty_terminal): Don't treat output_initial specially.
14408 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14409 (delete_tty): Use terminal->name as liveness status.
14410
14411 * termhooks.h (struct terminal): Make it into a pseudovector.
14412 Remove `deleted' replaced by checking `name's nullness.
14413
14414 * print.c (print_object): Handle terminals.
14415
14416 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14417 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14418
14419 * frame.c (make_terminal_frame):
14420 * keyboard.c (tty_read_avail_input):
14421 * w32term.c (x_delete_terminal):
14422 * xfns.c (Fx_create_frame, x_create_tip_frame):
14423 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14424
144252007-09-20 Glenn Morris <rgm@gnu.org>
14426
14427 * process.c (Fmake_network_process): Doc fix.
14428
144292007-09-19 Jason Rumney <jasonr@gnu.org>
14430
14431 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14432
144332007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14434
14435 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14436 Fix a C warning regarding variable constness.
14437
14438 * xterm.c (handle_one_xevent): Fix a C warning.
14439
144402007-09-18 Jason Rumney <jasonr@gnu.org>
14441
14442 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14443
144442007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14445
14446 * gtkutil.c (gdpy_def): New variable.
14447 (xg_initialize): Initialize gdpy_def.
14448 (xg_display_close): If no other display exists, set gdpy_def to a
14449 new connection.
14450
144512007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14452
14453 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14454 when we have no file name for the icon.
14455 (xg_tool_bar_expose_callback): Remove.
14456 (xg_create_tool_bar): Don't connect expose signal to
14457 xg_tool_bar_expose_callback.
14458 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14459
144602007-09-16 Andreas Schwab <schwab@suse.de>
14461
14462 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14463 values instead of zapping them.
14464
144652007-09-14 Glenn Morris <rgm@gnu.org>
14466
14467 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14468 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14469 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14470 scope and rename to omfib_buffer for clarity.
14471 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14472
144732007-09-14 Kenichi Handa <handa@m17n.org>
14474
14475 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14476
144772007-09-13 Jason Rumney <jasonr@gnu.org>
14478
14479 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14480
14481 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14482
14483 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14484 (mac_term_init): Call here instead, passing rif.
14485
144862007-09-13 Glenn Morris <rgm@gnu.org>
14487
14488 * s/hpux.h: No longer define `static' as nothing.
14489
144902007-09-13 Johan Bockgård <bojohan@gnu.org>
14491
14492 * callint.c (Fcall_interactively): Remove unused var `fun'.
14493
144942007-09-12 Romain Francoise <romain@orebokech.com>
14495
14496 * window.c (prefer_window_split_horizontally, display_buffer):
14497 Revert 2007-09-08 change.
14498
144992007-09-12 Glenn Morris <rgm@gnu.org>
14500
14501 * alloca.c: Remove file.
14502 * Makefile.in (alloca): Do not undef.
14503 (allocaobj, alloca.o): Remove.
14504 (otherobj): Remove allocaobj.
14505 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14506 * regex.c (C_ALLOCA): Remove all references and code that was only
14507 used when this was defined.
14508 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14509 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14510 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14511
14512 * Makefile.in (SOURCES, unlock, relock): Delete.
14513
14514 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14515 (menu_grab_callback): All uses changed.
14516
14517 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14518 (x_reply_selection_request): All uses changed.
14519
145202007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14521
14522 * lread.c (load_warn_old_style_backquotes): Change message to look
14523 better when it appears in the middle of byte-compiler messages.
14524
145252007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14526
14527 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14528
14529 * xterm.c (x_create_terminal): Add comment.
14530
14531 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14532
145332007-09-10 Richard Stallman <rms@gnu.org>
14534
14535 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14536
145372007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14538
14539 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14540 (DEFUN): Document `intspec', use it instead of `prompt'.
14541
14542 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14543
14544 * data.c (Finteractive_form): If the interactive specification starts
14545 with a `(', use it as a Lisp form.
14546
14547 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14548 name and file modes.
14549
14550 * callint.c (Fcall_interactively): Comment fixes.
14551
145522007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14553
14554 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14555 and compiled functions.
14556
145572007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14558
14559 * window.c (prefer_window_split_horizontally): New variable.
14560 (display_buffer): Consider splitting window horizontally depending
14561 on prefer_window_split_horizontally.
14562
145632007-09-08 Eli Zaretskii <eliz@gnu.org>
14564
14565 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14566
145672007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14568
14569 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14570
14571 * frame.c (x_set_frame_parameters): Check number is positive before
14572 using XFASTINT.
14573
14574 * window.c (freeze_window_start): Don't presume selected_window holds
14575 a window object.
14576 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14577
145782007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14579
14580 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14581
145822007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14583
14584 * window.c (Vsplit_window_preferred_function): New var.
14585 (Fdisplay_buffer): Use it.
14586 (syms_of_window): Export, and initialize it.
14587
145882007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14589
14590 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14591
145922007-09-06 Glenn Morris <rgm@gnu.org>
14593
14594 * gtkutil.c (menu_grab_callback) <cnt>:
14595 * xselect.c (x_reply_selection_request) <cnt>: Move static
14596 variable to file scope.
14597
145982007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14599
14600 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14601 consistent values of selected_frame and selected_window.
14602
146032007-09-04 Jason Rumney <jasonr@gnu.org>
14604
14605 * w32console.c (initialize_w32_display): Zero unused hooks.
14606
146072007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14608
14609 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14610 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14611
146122007-09-04 Jason Rumney <jasonr@gnu.org>
14613
14614 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14615 in w32console.c. Set up input. Remove XXX comments that have been
14616 confirmed as correct.
14617
14618 * s/ms-w32.h (MULTI_KBOARD): Define.
14619
14620 * w32console.c (one_and_only_w32cons): Remove.
14621 (initialize_w32_display): Take terminal argument.
14622
14623 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14624 initialize_w32_display.
14625 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14626
14627 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14628
14629 * keyboard.c (discard_mouse_events): Discard it.
14630 (make_lispy_event): Translate it to a lisp event.
14631 (lispy_wheel_names): Add wheel-left and right events.
14632 (syms_of_keyboard): Enlarge wheel_syms.
14633
14634 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14635 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14636
14637 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14638
14639 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14640 from WM_MOUSEHWHEEL.
14641 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14642
14643 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14644 terminal.
14645
14646 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14647 keyboard for the terminal.
14648
146492007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14650
14651 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14652 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14653 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14654 and resume-tty-function to resume-tty-hook.
14655 (Fsuspend_tty, Fresume_tty): Use new names.
14656
146572007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14658
14659 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14660 if it starts with "n:".
14661
146622007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14663
14664 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14665
146662007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14667
14668 * frame.h:
14669 * frame.c (Qterm_environment_variable): Remove.
14670 (syms_of_frame): Don't init and staticpro it.
14671
14672 * callproc.c (getenv_internal): Remove special case for $TERM.
14673
14674 * callproc.c (Vinitial_environment): New variable.
14675 (set_initial_environment): Initialize it.
14676 (syms_of_callproc): Declare it.
14677 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14678 TERM under which a process runs is never related to the TERM in which
14679 Emacs is running.
14680
146812007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14682
14683 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14684 * s/darwin.h: ... do it here.
14685
146862007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14687
14688 * lisp.h (set_initial_environment): Rename from set_global_environment.
14689
14690 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14691 removed by mistake on the multi-tty branch.
14692
14693 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14694 (Fmodify_frame_parameters): Return a value.
14695
14696 * image.c (png_load): Comment-out var only used in commented-out code.
14697
14698 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14699 before passing it to mark_object.
14700
14701 * xfaces.c (internal_resolve_face_name): Return a value.
14702 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14703
14704 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14705 (x_icon): Comment-out var only used in commented-out code.
14706
147072007-08-29 Romain Francoise <romain@orebokech.com>
14708
14709 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14710 QUIT hasn't been provided.
14711
147122007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14713
14714 * callproc.c (child_setup, getenv_internal): Use the
14715 display-environment-variable and term-environment-variable frame params.
14716 (set_initial_environment): Initialise Vprocess_environment.
14717
14718 * config.in: Disable multi-keyboard support on a mac.
14719
14720 * frame.c (Qterm_environment_variable)
14721 (Qdisplay_environment_variable): New variables.
14722 (syms_of_frame): Intern and staticpro them.
14723 (Fmake_terminal_frame): Disable output method test.
14724
14725 * frame.h: Declare them here.
14726
14727 * macfns.c (x_set_mouse_color): Get rif from the frame.
14728 (x_set_tool_bar_lines): Don't use updating_frame.
14729 (mac_window): Add 2 new parameters for consistency with other systems.
14730 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14731 frame parameters following what is done in X11 and w32. Don't use
14732 FRAME_MAC_DISPLAY_INFO.
14733 (Fx_open_connection, start_hourglass): Remove window-system check.
14734 (x_create_tip_frame): Get the keyboard from the terminal.
14735
14736 * macmenu.c: Reorder includes.
14737 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14738
14739 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14740 terminal parameter.
14741 (x_clear_frame): Add a frame parameter.
14742 (note_mouse_movement): Get rif from the frame.
14743 (mac_term_init): Initialize the terminal.
14744 (mac_initialize): Make static and move terminal initialization ...
14745 (mac_create_terminal): ... to this new function.
14746
14747 * macterm.h (struct mac_display_info): Add terminal.
14748 (mac_initialize): Delete declaration.
14749
14750 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14751
14752 * sysdep.c: Comment out text after #endif.
14753
14754 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14755 is defined. Better initialize ttys in windows. Use terminal
14756 specific mouse_position_hook.
14757
14758 * termhooks.h (union display_info): Add mac_display_info.
14759
14760 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14761 Set the default minibuffer frame, window_system and the rest of the
14762 frame parameters following what is done in X11.
14763
14764 * w32term.c (w32_initialize): Make static.
14765
14766 * xselect.c (x_handle_selection_clear): Only access
14767 terminal->kboard when MULTI_KBOARD is defined.
14768
14769 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14770 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14771
147722007-08-29 Jason Rumney <jasonr@gnu.org>
14773
14774 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14775 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14776
14777 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14778 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14779
14780 * keyboard.c (restore_kboard_configuration): Only define when
14781 MULTI_KBOARD defined.
14782
14783 * makefile.w32-in: Update dependancies from Makefile.in.
14784 (OBJ1): Add terminal.$(O)
14785
14786 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14787 Don't define function body.
14788 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14789
14790 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14791
14792 * w32.c (request_sigio, unrequest_sigio): Remove.
14793
14794 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14795 (w32con_clear_frame, w32con_clear_end_of_line)
14796 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14797 (w32con_delete_glyphs, w32con_set_terminal_window)
14798 (scroll_line, w32_sys_ring_bell): Add frame arg.
14799 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14800 Add terminal arg.
14801 (PICK_FRAME): Remove.
14802 (w32con_write_glyphs): Use frame specific terminal coding.
14803 (one_and_only_w32cons): New global variable.
14804 (initialize_w32_display): Use it for storing hooks.
14805 (create_w32cons_output): New function.
14806
14807 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14808 arg a frame.
14809
14810 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14811 Set window_system.
14812 (x_set_tool_bar_lines): Don't use updating_frame.
14813 (Fx_create_frame): Set terminal and ref count.
14814 (Fx_open_connection): Remove window-system check.
14815
14816 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14817
14818 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14819 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14820 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14821 Add frame arg.
14822 (x_delete_terminal, w32_create_terminal): New functions.
14823 (w32_term_init): Create a terminal.
14824 (w32_initialize): Move terminal specific initialization to
14825 w32_create_terminal.
14826
14827 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14828 (w32_clear_rect, w32_clear_area): Use background from frame.
14829 (w32_display_info): Add terminal.
14830 (w32_sys_ring_bell, x_delete_display): Declare here.
14831
14832 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14833
14834 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14835
148362007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14837
14838 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14839 Fix get_named_tty calls for the controlling tty.
14840
148412007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14842
14843 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14844
148452007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14846
14847 * term.c (tty_insert_glyphs): Add missing first parameter.
14848
148492007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14850
14851 * buffer.c (Fbuffer_list, Fbury_buffer):
14852 Take frame->buried_buffer_list into account.
14853
14854 * cm.c (current_tty): New variable, for cmputc().
14855 (cmputc): Use it.
14856 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14857 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14858 (cmgoto): Add tty parameter. Pass it on to calccost().
14859 Use emacs_tputs() instead of tputs().
14860
14861 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14862 tputs().
14863 (current_tty): New variable, for cmputc().
14864 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14865
14866 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14867 (internal_condition_case, internal_condition_case_1)
14868 (internal_condition_case_2): Don't abort when x_catching_errors.
14869
14870 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14871 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14872 prevent crashes caused by bogus longjmps in read_char.
14873
14874 * keymap.h (Fset_keymap_parent): Add EXFUN.
14875
14876 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14877 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14878 Remove redundant definition.
14879
14880 * macfns.c (x_set_mouse_color, x_make_gc):
14881 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14882
14883 * w32term.c (x_free_frame_resources):
14884 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14885 (w32_initialize): Use the accessor macros for terminal characteristics.
14886
14887 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14888 Use the accessor macros for terminal characteristics.
14889 * msdos.c (internal_terminal_init): Use the accessor macros for
14890 terminal characteristics.
14891 (ScreenVisualBell, internal_terminal_init):
14892 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14893
14894 * termopts.h (no_redraw_on_reenter): Declare.
14895
14896 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14897 (mark_terminals, mark_ttys): Declare.
14898 (Fgarbage_collect): Call them.
14899 (mark_object): Mark buried_buffer_list.
14900
14901 * prefix-args.c: Include stdlib.h for exit.
14902
14903 * syssignal.h: Add comment.
14904
14905 * indent.c: Include stdio.h.
14906
14907 * window.h (Vinitial_window_system): Declare.
14908 (Vwindow_system): Delete declaration.
14909
14910 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14911
14912 * image.c (lookup_image): Don't initialize `c' until the xasserts
14913 have been run.
14914
14915 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14916 FRAME_FOREGROUND_PIXEL.
14917
14918 * print.c (print_preprocess): Don't lose print_depth levels while
14919 iterating.
14920
14921 * widget.c (update_from_various_frame_slots):
14922 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14923
14924 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14925 frames.
14926 (window_internal_height): Remove bogus make_number call.
14927 (init_window_once): Call make_terminal_frame with two zero parameters.
14928
14929 * fileio.c (Fread_file_name): Update comment.
14930
14931 * callint.c (Fcall_interactively):
14932 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14933 Make sure it is correctly unwound.
14934
14935 * xsmfns.c (x_session_close): New function.
14936
14937 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14938 Delete declarations.
14939
14940 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14941 (x_output): Remove background_pixel and foreground_pixel fields.
14942 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14943 (x_delete_device, x_session_close): Declare.
14944
14945 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14946 (read_filtered_event): Call `read_char' with a local
14947 `wrong_kboard_jmpbuf'.
14948
14949 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14950 Don't call single_kboard_state. Use FRAME_RIF.
14951
14952 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14953 systems.
14954
14955 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14956 (Fframe_with_environment, Fset_input_meta_mode)
14957 (Fset_quit_char): EXFUN.
14958 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14959 (init_sys_modes, reset_sys_modes): Update prototypes.
14960 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14961
14962 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14963 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14964 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14965 Delete declarations.
14966 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14967 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14968 New declarations.
14969
14970 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14971 already does that during init_display(). Call syms_of_keymap
14972 before syms_of_keyboard. Call `syms_of_terminal'.
14973 Call set_initial_environment, not set_process_environment.
14974 (shut_down_emacs): Call reset_all_sys_modes() instead of
14975 reset_sys_modes().
14976
14977 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14978 (internal_resolve_face_name, resolve_face_name_error): New functions.
14979 (resolve_face_name): Protect against loops and errors thrown by Fget.
14980 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14981 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14982
14983 * scroll.c: Replace CURTTY() with local variables throughout the
14984 file (where applicable).
14985 (calculate_scrolling, calculate_direct_scrolling)
14986 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14987 characteristics.
14988
14989 * keymap.c (Vfunction_key_map): Remove.
14990 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14991 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14992 (Vkey_translation_map): Remove.
14993 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14994 (Fdescribe_buffer_bindings)
14995 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14996 Update for terminal-local key-translation-map.
14997
14998 * Makefile.in (callproc.o): Update dependencies.
14999 (lisp, shortlisp): Add termdev.elc.
15000 (obj): Add terminal.o.
15001 (terminal.o): Add dependencies.
15002 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15003 (data.o, fns.o): Add termhooks.h dependency.
15004 (SOME_MACHINE_LISP): Add dnd.elc.
15005 (minibuf.o): Fix typo.
15006 Update dependencies.
15007
15008 * data.c (do_symval_forwarding, store_symval_forwarding)
15009 (find_symbol_value): Use the selected frame's keyboard, not
15010 current_kboard.
15011
15012 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15013 Vwindow_system.
15014
15015 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15016 Fmenu_bar_open.
15017 (syms_of_xmenu): Update defsubr.
15018 (mouse_position_for_popup, Fx_popup_menu)
15019 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15020 (set_frame_menubar, free_frame_menubar)
b97439ce 15021 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15022 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15023 an X frame.
15024
15025 * xselect.c (x_own_selection): Abort if not an X frame.
15026 (some_frame_on_display): Check if it is an X frame.
15027 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15028
15029 * coding.c: Include frame.h and termhooks.h.
15030 (terminal_coding, keyboard_coding): Delete.
15031 (Fset_terminal_coding_system_internal)
15032 (Fset_keyboard_coding_system_internal)
15033 (Fkeyboard_coding_system)
15034 (Fterminal_coding_system): Add a terminal parameter.
15035 Get terminal_coding from the terminal.
15036 (init_coding_once): Don't call setup_coding_system here.
15037
15038 * dispextern.h (set_scroll_region, turn_off_insert)
15039 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15040 (tty_clear_end_of_line, tty_setup_colors)
15041 (delete_tty, updating_frame)
15042 (produce_special_glyphs, produce_glyphs, write_glyphs)
15043 (insert_glyphs): Remove.
15044 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15045 (tty_turn_off_highlight, get_tty_size): Add declaration.
15046 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15047
15048 * frame.h (enum output_method): Add output_initial.
15049 (struct x_output): Delete.
15050 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15051 Access foreground_pixel and background_pixel directly from the frame.
15052 (tty_display): Delete.
15053 (struct frame): Add buried_buffer_list, foreground_pixel,
15054 background_pixel and terminal. Delete kboard.
15055 (union output_data): Add tty.
15056 (FRAME_KBOARD): Get the kboard from the terminal.
15057 (FRAME_INITIAL_P): New macro.
15058 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15059 (Qterm_environment_variable, Qdisplay_environment_variable)
15060 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15061 New declarations.
15062
15063 * termchar.h (tty_output, tty_display_info): New structures.
15064 (tty_list): Declare.
15065 (FRAME_TTY, CURTTY): New macros.
15066 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15067 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15068 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15069 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15070
15071 * callproc.c: Include frame.h and termhooks.h, for terminal
15072 parameters.
15073 (add_env): New function.
15074 (child_setup): Use it.
15075 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15076 (getenv_internal): Fix get_terminal_param call.
15077 (Fgetenv_internal, egetenv): Update doc.
15078 (syms_of_callproc): Initialize Vprocess_environment to nil.
15079 Register and initialize them. Remove obsolete defvars. Update doc
15080 strings.
15081 (child_setup): Handle Vlocal_environment_variables.
15082 (getenv_internal): Add terminal parameter.
15083 Handle Vlocal_environment_variables.
15084 (Fgetenv_internal): Add terminal parameter.
15085 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15086 environment in a frame (not terminal) parameter. Update doc strings.
15087 (set_initial_environment): Rename from set_global_environment.
15088 Store Emacs environment in initial frame parameter.
15089
15090 * xdisp.c (redisplay_internal): Update references to
15091 `previous_terminal_frame'.
15092 (display_mode_line, Fformat_mode_line): Replace calls to
15093 `push_frame_kboard' with `push_kboard'.
15094 (get_glyph_string_clip_rects): Add extra parentheses and
15095 braces to prevent compiler warnings.
15096 (calc_pixel_width_or_height): Add xassert to check that the
15097 frame is alive. Don't call `lookup_image' on a termcap frame.
15098 (message2_nolog, message3_nolog, redisplay_internal)
15099 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15100 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15101 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15102 (Fx_display_pixel_width, Fx_display_pixel_height)
15103 (Fx_display_planes, Fx_display_color_cells)
15104 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15105 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15106 (Fx_display_backing_store, Fx_display_visual_class)
15107 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15108 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15109
15110 * xfns.c (x_set_foreground_color x_set_background_color)
15111 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15112 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15113 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15114 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15115 terminal that is being deleted.
15116 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15117 frame parameter, and make sure it overrides any user-supplied setting.
15118 (Fx_close_connection, Fx_synchronize): Unify argument names with
15119 the rest of the DEFUNs.
15120
15121 * dispnew.c (Fsend_string_to_terminal): Update call to
15122 `get_tty_terminal'.
15123 (Fredraw_frame, Fsend_string_to_terminal)
15124 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15125 FRAME_TERMCAP_P and FRAME_TTY.
15126 (window_change_signal): Don't believe width/height values that are
15127 impossibly small.
15128 (Vinitial_window_system): Rename from Vwindow_system.
15129 (termscript, Wcm, rif): Delete.
15130
15131 * termhooks.h (struct terminal): New struct containing the
15132 previously global text display hooks and new members NAME,
15133 DELETED and PARAM_ALIST.
15134 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15135 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15136 (FRAME_RIF): New macros.
15137 (get_terminal_param, get_device): New declarations.
15138 (termscript): Delete declaration.
15139
15140 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15141 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15142 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15143 FRAME_FOREGROUND_PIXEL.
15144 (x_fully_uncatch_errors): Disable definition.
15145 (x_scroll_bar_expose): Fix reference to foreground pixel.
15146 (XTread_socket): Disable loop on all X displays.
15147 (x_delete_terminal): Don't set terminal->deleted and let
15148 delete_terminal delete the frames on the terminal.
15149 (x_delete_display): Doc update to reflect changes in
15150 delete_terminal.
15151 (x_display_info) <terminal>: Move member earlier in the struct.
15152 (deleting_tty): Remove old variable.
15153 (Fsuspend_tty): Call clear_tty_hooks.
15154 (Fresume_tty, init_tty): Call set_tty_hooks.
15155 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15156 errors on X frames.
15157 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15158 (handle_one_xevent): Initialize `f' to NULL.
15159 (x_delete_terminal, x_create_terminal): New functions.
15160 (XTset_terminal_modes, XTreset_terminal_modes)
15161 (XTread_socket, x_connection_closed, x_term_init)
15162 (x_term_init, x_delete_display): Add terminal parameter.
15163 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15164 X connections.
15165
15166 * frame.c: Include termchar.h.
15167 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15168 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15169 (Qdisplay_environment_variable): New vars.
15170 (Fframep): Deal with output_initial.
15171 (Fframe-live-p): Doc fix.
15172 (Fwindow-system): New function.
15173 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15174 (make_terminal_frame): Don't create frames on a terminal that is
15175 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15176 (store_frame_param): Check for found_for_frame before calling XFRAME.
15177 (Fmake_terminal_frame): Handle NULL tty names correctly.
15178 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15179 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15180 frames to refer to a deleted frame in their 'environment parameter.
15181 (Fframe_with_environment): New function.
15182 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15183 (get_future_frame_param): New function.
15184 (Fmake_terminal_frame): Use it.
15185 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15186
15187 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15188 * sysdep.c (reset_sys_modes): Update for renames.
15189
15190 * keyboard.c (tty_read_avail_input): New function.
15191 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15192 (syms_of_keyboard): Defsubr them.
15193 (Fset_input_meta_mode, Fset_quit_char): New functions.
15194 (Fset_input_mode): Split to above functions.
15195 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15196 parameter. Use it in call to `read_char'.
15197 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15198 Set wrong_kboard_jmpbuf correctly in recursive calls.
15199 Use current_kboard to access Vkeyboard_translate_table.
15200 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15201 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15202 Update longjmp invocations. Remember the original current_kboard,
15203 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15204 changes it. Comment out unnecessary calls to
15205 `record_single_kboard_state' and `any_kboard_state'.
15206 Update recursive calls.
15207 (wrong_kboard_jmpbuf): Remove global variable.
15208 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15209 Handle deleted interrupted_kboards correctly; that is a legal
15210 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15211 and read_char calls. Abort if interrupted_kboard died in read_char.
15212 (any_kboard_state, single_kboard_state)
15213 (push_frame_kboard): Remove function.
15214 (pop_kboard): Switch out of single_kboard mode if the kboard has
15215 been deleted. Remove unused variable. Help debugging by not
15216 changing current_kboard unnecessarily. Set current_kboard to the
15217 kboard of the selected frame when the stored kboard object has
15218 been deleted before pop_kboard.
15219 (temporarily_switch_to_single_kboard): Change first parameter to a
15220 frame pointer. Throw an error when caller wants to change kboards
15221 while in single_kboard mode. Don't push_kboard if we weren't in
15222 single kboard state. Don't pop_kboard if we popped into any
15223 kboard state.
15224 (restore_kboard_configuration): Abort if pop_kboard changed the
15225 kboard in single_kboard mode. Call pop_kboard only after setting
15226 up single_kboard mode.
15227 (Frecursive_edit): Switch to single_kboard mode only in nested
15228 command loops.
15229 (cmd_error, command_loop, command_loop_1, timer_check):
15230 Comment out unnecessary call to `any_kboard_state' and
15231 `record_single_kboard_state'.
15232 (delete_kboard): Exit single_kboard mode if we have just deleted
15233 that kboard. Use FRAME_KBOARD.
15234 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15235 `fatal_error_signal'.
15236 (record_single_kboard_state): Don't push_kboard if we weren't in
15237 single kboard state. Don't pop_kboard if we popped into any
15238 kboard state.
15239 (push_frame_kboard): Rename to push_kboard.
15240 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15241 (read_avail_input): Read input from all terminals.
15242 (mark_kboards): Also mark Vkeyboard_translate_table.
15243 (kbd_buffer_store_event_hold): Simplify condition.
15244 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15245 (Vkeyboard_translate_table): Move to struct kboard.
15246 (init_kboard): Initialize Vkeyboard_translate_table.
15247 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15248 Vkeyboard_translate_table. Update doc strings. Update docs of
15249 local-function-key-map and function-key-map.
15250
15251 * terminal.c: New file.
15252
15253 * term.c: Include errno.h.
15254 (Vring_bell_function, device_list, initial_device)
15255 (next_device_id, ring_bell, update_begin, update_end)
15256 (set_terminal_window, cursor_to, raw_cursor_to)
15257 (clear_to_end, clear_frame, clear_end_of_line)
15258 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15259 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15260 (syms_of_term): Move their initialization to terminal.c.
15261 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15262 (Ftty_display_color_cells)
15263 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15264 (clear_tty_hooks, set_tty_hooks)
15265 (init_tty, maybe_fatal): New functions.
15266 (Ftty_type): Return nil if terminal is not on a tty instead of
15267 throwing an error. Doc update.
15268 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15269 Doc update. Initialize new subrs and variables.
15270 (delete_tty): Use terminal->deleted.
15271 (tty_set_terminal_modes): Rename from set_terminal_modes.
15272 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15273 (set_scroll_region): Rename to `tty_set_scroll_region'.
15274 (turn_on_insert): Rename to `tty_turn_on_insert'.
15275 (turn_off_insert): Rename to `tty_turn_off_insert'.
15276 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15277 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15278 (toggle_highligh): Rename to `tty_toggle_highlight'.
15279 (background_highlight): Rename to `tty_background_highlight'.
15280 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15281 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15282 (tty_set_scroll_region, tty_background_highlight)
15283 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15284 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15285 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15286 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15287 Add static modifier.
15288 (tty_reset_terminal_modes, tty_set_terminal_window)
15289 (tty_set_scroll_region, tty_background_highlight)
15290 (tty_highlight_if_desired, tty_cursor_to)
15291 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15292 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15293 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15294 renames.
15295
152962007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15297
15298 * keyboard.c: Qrtl is new.
15299 (parse_tool_bar_item): Handle :rtl keyword.
15300 (syms_of_keyboard): Intern :rtl keyword.
15301
15302 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15303
15304 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15305 so no Lisp code is executed.
15306 (file_for_image, find_rtl_image): New functions.
15307 (xg_get_image_for_pixmap): Use file_for_image.
15308 (update_frame_tool_bar): If direction is RTL, use RTL image if
15309 defined. Use Gtk stock images if defined.
15310
153112007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15312
15313 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15314 for nonexistent or zero-width glyph in composition glyph.
15315
153162007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15317
15318 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15319
15320 * xdisp.c (Finvisible_p): New function.
15321 (syms_of_xdisp): defsubr it.
15322
153232007-08-24 Juanma Barranquero <lekktu@gmail.com>
15324
15325 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15326 Doc fixes.
15327
153282007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15329
15330 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15331
153322007-08-24 Martin Rudalics <rudalics@gmx.at>
15333
15334 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15335 whether decoding has modified buffer contents.
15336
153372007-08-24 Jason Rumney <jasonr@gnu.org>
15338
15339 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15340 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15341 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15342 (init_svg_functions) [HAVE_NTGUI]: New function.
15343 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15344 (svg_load_image): Use them.
15345 (svg_load_image) [HAVE_NTGUI]: Implement background.
15346
153472007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15348
15349 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15350 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15351 (LIBX): Remove @RSVG_LIBS@.
15352 (LIBES): Add $(RSVG_LIBS).
15353
15354 * image.c (svg_load_image): Blend with specified background if exists.
15355 Use IMAGE_BACKGROUND. Add Mac OS Support.
15356
15357 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15358 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15359 Remove macros.
15360 [MAC_OSX] (socket_callback): Do nothing.
15361 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15362 ReceiveNextEvent.
15363 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15364 socket_callback.
15365 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15366
153672007-08-22 Glenn Morris <rgm@gnu.org>
15368
15369 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15370
153712007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15372
15373 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15374
15375 * image.c: Add support for SVG images. Some additional comments
15376 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15377 (svg_image_p): New function to test for SVG image.
15378 (svg_load): New function to load SVG image.
15379 (svg_load_image): New function, helper for svg_load.
15380 (Qsvg): New Lisp_object.
15381 (svg_keyword_index): New enum.
15382 (svg_format): New static `image_keyword' struct.
15383 (svg_type): New static `image_type' struct.
15384 (librsvg/rsvg.h): Include it.
15385
153862007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15387
15388 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15389
153902007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15391
15392 * lread.c (Qold_style_backquotes): New var.
15393 (syms_of_lread): Init and staticpro it.
15394 (load_warn_old_style_backquotes): New fun.
15395 (Fload): Use them to warn about old style backquotes.
15396 (end_of_file_error, Fload): Remove unused vars.
15397
15398 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15399
15400 * lread.c (Vold_style_backquotes): New var.
15401 (syms_of_lread): Init and export it to Elisp.
15402 (read1): Set it when we find an old-style (back)quote.
15403
154042007-08-22 Jason Rumney <jasonr@gnu.org>
15405
15406 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15407
154082007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15409
15410 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15411
154122007-08-19 Richard Stallman <rms@gnu.org>
15413
15414 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15415
154162007-08-19 Andreas Schwab <schwab@suse.de>
15417
15418 * alloc.c (pure): Round PURESIZE up.
15419
154202007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15421
15422 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15423 active frame.
15424
154252007-08-16 Richard Stallman <rms@gnu.org>
15426
15427 * eval.c (Fcommandp): Add parens to clarify.
15428
15429 * minibuf.c (Fall_completions): Use enum for type of table.
15430
15431 * emacs.c (USAGE2): Improve text.
15432
154332007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15434
15435 * term.c (tty_default_color_capabilities): Declare static
15436 variables in file scope, to avoid HPUX compiler problem.
15437
154382007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15439
15440 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15441 to gtk_toolbar_insert.
15442
154432007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15444
15445 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15446
15447 * insdel.c (reset_var_on_error): New fun.
15448 (signal_before_change, signal_after_change):
15449 Use it to reset (after|before)-change-functions to nil in case of error.
15450 Bind inhibit-modification-hooks to t.
15451 Don't bind (after|before)-change-functions to nil while they run.
15452
154532007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15454
15455 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15456 filling pixmap with stippled background.
15457
154582007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15459
15460 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15461 Don't use invisible frame as parent window for repositioning.
15462
154632007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15464
15465 * print.c (new_backquote_output): Rename from old_backquote_output.
15466 (print): Inverse its logic (according to its name) so as to match the
15467 behavior of new_backquote_flag in lread.c.
15468
154692007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15470
15471 * gmalloc.c (posix_memalign): New function.
15472
15473 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15474 ActivateControl/DeactivateControl here.
15475 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15476 frame-notice-user-settings is non-nil.
15477 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15478 for kEventParamFMFontStyle.
15479 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15480 mac_pass_command_to_system and mac_pass_control_to_system here.
15481 (XTread_socket): Call ActivateControl/DeactivateControl here.
15482 (XTread_socket) [TARGET_API_MAC_CARBON]:
15483 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15484 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15485 for window repositioning.
15486
154872007-08-08 Glenn Morris <rgm@gnu.org>
15488
15489 * Replace `iff' in doc-strings and comments.
15490
154912007-08-07 Chong Yidong <cyd@stupidchicken.com>
15492
15493 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15494
154952007-08-07 Martin Rudalics <rudalics@gmx.at>
15496
15497 * fileio.c (Finsert_file_contents): Run format-decode and
15498 after_insert_file_functions on entire buffer when REPLACE is
15499 non-nil and inhibit modification_hooks and point_motion_hooks.
15500 For consistency, run after_insert_file_functions iff something
15501 got inserted. Move signal_after_change and update_compositions
15502 after code running after_insert_file_functions. Make sure that
15503 undo_list doesn't record intermediate steps of the decoding process.
15504
155052007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15506
15507 * emacs.c (main)
15508 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15509 Call malloc_enable_thread on interactive startup.
15510
15511 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15512 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15513 [USE_PTHREAD]: Conditionalize with it.
15514 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15515 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15516 New functions.
15517
155182007-08-06 Chong Yidong <cyd@stupidchicken.com>
15519
15520 * xdisp.c (redisplay_window): When restoring original buffer
15521 position, make sure it is still valid.
15522
15523 * image.c (png_load): Ignore png-supplied background color.
15524
155252007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15526
15527 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15528 Use kCFAbsoluteTimeIntervalSince1970.
15529
15530 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15531 New variable.
15532 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15533 event loop should be quit.
15534 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15535 Quit dialog event loop if quit_dialog_event_loop is set.
15536
15537 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15538 (Selection): New typedef. Use instead of ScrapRef.
15539 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15540 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15541 (mac_clear_selection): Rename from clear_scrap.
15542 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15543 scrap_has_target_type. All uses changed.
15544 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15545 (mac_selection_has_target_p): New functions.
15546 (mac_put_selection_value): Rename from put_scrap_string.
15547 (mac_get_selection_value): Rename from get_scrap_string.
15548 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15549 (put_scrap_private_timestamp, scrap_has_target_type)
15550 (get_scrap_private_timestamp): Remove functions.
15551 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15552 (x_own_selection, x_get_local_selection):
15553 Use mac_valid_selection_value_p.
15554 (x_own_selection): Don't use put_scrap_private_timestamp.
15555 Record OWNERSHIP-INFO into Vselection_alist instead.
15556 (x_get_local_selection): Don't check type if request is local.
15557 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15558 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15559
155602007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15561
15562 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15563 add comment explaining why.
15564
155652007-08-03 Richard Stallman <rms@gnu.org>
15566
15567 * fileio.c (Fvisited_file_modtime): Use make_time.
15568
155692007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15570
15571 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15572 build.
15573
155742007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15575
15576 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15577
155782007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15579
15580 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15581
155822007-07-30 Richard Stallman <rms@gnu.org>
15583
15584 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15585
155862007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15587
15588 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15589
155902007-07-28 Nick Roberts <nickrob@snap.net.nz>
15591
15592 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15593 remote default-directory.
15594
15595 * buffer.c (mode-line-format): Update doc string.
15596
155972007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15598
15599 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15600 scroll bar gap.
15601 (x_scroll_bar_create): Set bar->fringe_extended_p.
15602 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15603 on frame edge. Check fringe background extension. Don't clear
15604 extended fringe background area.
15605
15606 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15607 (w32_fill_area): Enclose multiple statements with do ... while (0).
15608
15609 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15610 Extend fringe background to scroll bar gap.
15611 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15612 Set bar->fringe_extended_p.
15613 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15614 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15615 background extension. Don't clear extended fringe background area.
15616
15617 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15618 New member fringe_extended_p.
15619
156202007-07-25 Glenn Morris <rgm@gnu.org>
15621
15622 * Relicense all FSF files to GPLv3 or later.
15623
15624 * COPYING: Switch to GPLv3.
15625
156262007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15627
15628 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15629
15630 * data.c (Finteractive_form): Check for the presence of an
15631 `interactive-form' symbol property more thoroughly.
15632
15633 * data.c (Finteractive_form): Use an `interactive-form' property if
15634 present, analogous to the function-documentation property.
15635
156362007-07-24 Jason Rumney <jasonr@gnu.org>
15637
15638 * w32fns.c (x_real_positions): Get real position from OS instead of
15639 calculating it.
15640
156412007-07-23 Jason Rumney <jasonr@gnu.org>
15642
15643 * filelock.c (current_lock_owner): Allow for @ sign in username.
15644
156452007-07-22 Nick Roberts <nickrob@snap.net.nz>
15646
15647 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15648 remote default-directory.
15649
15650 * buffer.c (mode-line-format): Describe above case in doc string.
15651
156522007-07-20 Eli Zaretskii <eliz@gnu.org>
15653
15654 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15655 Define if not defined.
15656
156572007-07-18 Jason Rumney <jasonr@gnu.org>
15658
15659 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15660
156612007-07-18 Richard Stallman <rms@gnu.org>
15662
15663 * data.c (Fsetq_default): Doc fix.
15664
15665 * eval.c (Fsetq): Doc fix.
15666
156672007-07-18 Juanma Barranquero <lekktu@gmail.com>
15668
15669 * coding.c (Ffind_operation_coding_system):
15670 * eval.c (For, Fand): Doc fixes.
15671 Reported by Johan Bockgård.
15672
156732007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15674
15675 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15676
15677 * xterm.h: Declare x_ewmh_activate_frame.
15678
15679 * xterm.c (x_ewmh_activate_frame): New function.
15680 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15681
156822007-07-17 Martin Rudalics <rudalics@gmx.at>
15683
15684 * window.c (Fdisplay_buffer): If largest or LRU window is the
15685 only window, split it even if it is not eligible for splitting.
15686 This restores the original behavior broken by the 2007-07-15
15687 change.
15688
156892007-07-17 Glenn Morris <rgm@gnu.org>
15690
15691 * abbrev.c (abbrev_check_chars): New function.
15692 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15693 Call abbrev_check_chars to check abbrev characters are word
15694 constituents. Doc fix.
15695
156962007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15697
15698 * process.c (Fstart_process, Fmake_network_process)
15699 (read_process_output): Fix up last changes.
15700
157012007-07-16 Eli Zaretskii <eliz@gnu.org>
15702
15703 * makefile.w32-in (clean): Don't delete *~.
15704
157052007-07-16 Andreas Schwab <schwab@suse.de>
15706
15707 * window.c (Fdisplay_buffer): Use NILP.
15708 (Fset_window_scroll_bars): Likewise.
15709
157102007-07-15 Martin Rudalics <rudalics@gmx.at>
15711
15712 * window.c (window_min_size_2): New function.
15713 (window_min_size_1, size_window, Fdisplay_buffer)
15714 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15715 windows without mode- or header-lines when window-min-height is
15716 too small.
15717 (size_window): Reset nodelete_p after testing it, following an
15718 earlier note by Kim F. Storm.
15719 (display_buffer): Do not set split_height_threshold to twice the
15720 value of window_min_height to avoid changing the value of a
15721 customizable variable. Rather explicitly check whether the
15722 height of the window that shall be splitted is at least as large
15723 as split_height_threshold.
15724 (Fwindow_full_width_p): New defun.
15725 (syms_of_window): Defsubr it.
15726
15727 * window.h: Add EXFUN for Fwindow_full_width_p.
15728
157292007-07-14 Jason Rumney <jasonr@gnu.org>
15730
15731 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15732
157332007-07-14 Richard Stallman <rms@gnu.org>
15734
15735 * eval.c (maybe_call_debugger): New function.
15736 (find_handler_clause): Use maybe_call_debugger.
15737 Call it when the handler says `debug'.
15738 Eliminate DEBUGGER_VALUE_PTR.
15739 (Fsignal): Eliminate debugger_value.
15740 (Qdebug): New variable.
15741 (syms_of_eval): Initialize it.
15742
157432007-07-14 Juanma Barranquero <lekktu@gmail.com>
15744
15745 * eval.c (Fprogn):
15746 * keyboard.c (Ftrack_mouse):
15747 * print.c (Fwith_output_to_temp_buffer):
15748 * window.c (Fsave_window_excursion): Doc fix.
15749
157502007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15751
15752 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15753
157542007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15755
15756 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15757 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15758 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15759 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15760 Remove unused encoding_carryover.
15761 * process.c: Adjust all functions accordingly.
15762
157632007-07-12 Richard Stallman <rms@gnu.org>
15764
15765 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15766
157672007-07-11 Jason Rumney <jasonr@gnu.org>
15768
15769 * makefile.w32-in (LIBS): Include OLE32.
15770
15771 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15772 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15773
157742007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15775
15776 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15777 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15778 from a Lisp_Object into a bare pointer.
15779 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15780 Adjust the code correspondingly.
15781
15782 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15783
15784 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15785 (term_show_mouse_face): Remove unused var `j'.
15786 (handle_one_term_event): Remove unused vars `i' and `j'.
15787 Don't cast return value of ttyname since it's not necessary.
15788
157892007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15790
15791 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15792 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15793
15794 * fns.c (map_char_table): Use an array of int for `indices' rather than
15795 an array of Lisp_Objects (which are only ever integers anyway).
15796 (Fmap_char_table): Update caller.
15797 * lisp.h: Update prototype.
15798 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15799 * fontset.c (Ffontset_info):
15800 * casetab.c (set_case_table): Update callers.
15801
15802 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15803
15804 * keymap.c (struct accessible_keymaps_data)
15805 (struct where_is_internal_data): New structures.
15806 (accessible_keymaps_1, where_is_internal_1): Use them to change
15807 interface to adhere to the one used by map_keymap.
15808 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15809 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15810
15811 * keymap.h (map_keymap_function_t): More informative prototype.
15812
158132007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15814
15815 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15816 (looking_at_1): Don't change search_regs and last_thing_searched
15817 if `inhibit-changing-match-data' is non-nil.
15818 (string_match_1, search_buffer, set_search_regs): Likewise.
15819 (syms_of_search): Add Lisp level definition for
15820 `inhibit-changing-match-data' and set it to nil.
15821 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15822 start and end of the match, instead of using values in search_regs.
15823
158242007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15825
15826 * minibuf.c (Fcompleting_read): New value `confirm-only'
15827 for `require-match'.
15828
158292007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15830
15831 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15832 part of the 2007-06-27 change to syms_of_fileio.
15833
158342007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15835
15836 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15837 Check WINDOWP before using XWINDOW. Consolidate return statements.
15838
158392007-06-27 Richard Stallman <rms@gnu.org>
15840
15841 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15842
158432007-06-27 Juanma Barranquero <lekktu@gmail.com>
15844
15845 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15846
158472007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15848
15849 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15850 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15851 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15852 (_free_internal, memalign): Use them.
15853 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15854 Initialize to PTHREAD_MUTEX_INITIALIZER.
15855 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15856 (morecore_nolock): Rename from morecore. All uses changed.
15857 Use only nolock versions of internal allocation functions.
15858 (_malloc_internal_nolock, _realloc_internal_nolock)
15859 (_free_internal_nolock): New functions created from
15860 _malloc_internal, _realloc_internal, and _free_internal.
15861 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15862 Copy hook value to automatic variable before its use.
15863 (memalign): Copy hook value to automatic variable before its use.
15864
158652007-06-26 Kenichi Handa <handa@m17n.org>
15866
15867 * coding.c (Ffind_operation_coding_system): Docstring improved.
15868 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15869
158702007-06-25 David Kastrup <dak@gnu.org>
15871
15872 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15873 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15874 cater for additional parameter.
15875
15876 * keymap.h: Adjust number of parameters to `current-active-maps'.
15877
15878 * doc.c (Fsubstitute_command_keys): Adjust call of
15879 `current-active-maps'.
15880
158812007-06-25 David Kastrup <dak@gnu.org>
15882
15883 * callint.c (Fcall_interactively): Make the parsing of interactive
15884 specs somewhat more readable.
15885
158862007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15887
15888 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15889 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15890 if extended background has already been filled.
15891
158922007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15893
15894 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15895 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15896
15897 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15898 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15899 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15900 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15901 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15902 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15903 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15904 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15905 Run timers during dialog popup.
15906 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15907
159082007-06-21 Jason Rumney <jasonr@gnu.org>
15909
15910 * image.c (convert_mono_to_color_image): Swap fore and background.
15911
159122007-06-20 Jason Rumney <jasonr@gnu.org>
15913
15914 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15915 (w32_free_bdf_font): Unmap memory not handle.
15916
159172007-06-20 Sam Steingold <sds@gnu.org>
15918
15919 * gmalloc.c (__morecore): Fix the declaration to comply with the
15920 definition.
15921
159222007-06-20 Juanma Barranquero <lekktu@gmail.com>
15923
15924 * w32term.c (w32_delete_display): Remove leftover declaration.
15925 (w32_define_cursor, w32_initialize): Make static.
15926
15927 * w32.c (_wsa_errlist): Fix typo in error message.
15928 (init_environment): Ignore any environment variable from the
15929 registry having a null value.
15930
159312007-06-20 Glenn Morris <rgm@gnu.org>
15932
15933 * Makefile.in (LIBGIF): Default to -lgif.
15934
159352007-06-17 Jason Rumney <jasonr@gnu.org>
15936
15937 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15938 unicode strings.
15939
159402007-06-16 Juanma Barranquero <lekktu@gmail.com>
15941
15942 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15943 Fix typo in docstring.
15944
159452007-06-16 Eli Zaretskii <eliz@gnu.org>
15946
15947 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15948 and their keybindings.
15949
159502007-06-15 Chong Yidong <cyd@stupidchicken.com>
15951
15952 * composite.c (update_compositions): Fix last fix.
15953
159542007-06-14 Jason Rumney <jasonr@gnu.org>
15955
15956 * w32.c (get_process_times_fn): New function pointer.
15957 (globals_of_w32): Intialize it if present in kernel32.dll.
15958 (w32_get_internal_run_time): New function.
15959
15960 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15961
159622007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15963
15964 * composite.c (update_compositions): Check the validness of
15965 compositions.
15966
159672007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15968
15969 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15970 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15971
15972 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15973 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15974
15975 * macgui.h (USE_MAC_TOOLBAR): New define.
15976
15977 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15978 Return immediately unless popup is activated.
15979
15980 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15981 background to scroll bar gap.
15982 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15983 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15984 scroll bars on frame edge. Check fringe background extension.
15985 Don't clear extended fringe background area.
15986 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15987 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15988 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15989 [USE_MAC_TOOLBAR]: New macros.
15990 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15991 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15992 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15993 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15994 [USE_MAC_TOOLBAR]: New functions.
15995 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15996 manually if previous repositioning has failed.
15997 (mac_handle_keyboard_event): Use precomputed event kind.
15998 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15999 as tool bar item click. Handle mouse movement over tool bar items.
16000
16001 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16002 toolbar_win_gravity.
16003 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16004 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16005 Add externs.
16006
16007 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16008 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16009
160102007-06-14 Chong Yidong <cyd@stupidchicken.com>
16011
16012 * image.c (search_image_cache): Remove unused variable.
16013
160142007-06-13 Chong Yidong <cyd@stupidchicken.com>
16015
16016 * xfns.c, xmenu.c: Link to xaw3d if available.
16017
160182007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16019
16020 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16021 frame_foreground and frame_background.
16022
16023 * image.c (lookup_image): Save frame foreground and background colors.
16024 (search_image_cache): Check if saved and current frame colors match.
16025
160262007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16027
16028 * regex.c (regex_compile): Remove the `regnum' counter.
16029 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16030
160312007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16032
16033 * term.c: Include intervals.h to declare Fget_text_property.
16034
160352007-06-10 Jason Rumney <jasonr@gnu.org>
16036
16037 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16038
160392007-06-08 Juanma Barranquero <lekktu@gmail.com>
16040
16041 * callint.c (Fcall_interactively):
16042 * editfns.c (Fdelete_and_extract_region):
16043 * fileio.c (Fread_file_name):
16044 * fns.c (Fmapconcat):
16045 * keyboard.c (cmd_error_internal):
16046 * keymap.c (Fkey_description):
16047 * lread.c (openp):
16048 * minibuf.c (read_minibuf):
16049 * search.c (wordify):
16050 * sunfns.c (sel_read):
16051 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16052 * xfns.c (x_default_scroll_bar_color_parameter):
16053 * xmenu.c (menu_help_callback):
16054 * xselect.c (Fx_get_atom_name):
16055 * xterm.c (x_term_init): Use empty_unibyte_string.
16056
160572007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16058
16059 * alloc.c (init_strings): Initialize canonical empty strings.
16060 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16061 canonical empty string when the requested size is 0.
16062
16063 * emacs.c (empty_unibyte_string): Rename from empty_string.
16064 (empty_multibyte_string): New canonical empty string.
16065 (syms_of_emacs): Don't initialize empty_string.
16066
16067 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16068 string, if appropriate.
16069 (empty_unibyte_string, empty_multibyte_string): New externs.
16070 (empty_string): Remove extern.
16071
16072 * lread.c (syms_of_lread): Use empty_unibyte_string.
16073
160742007-06-07 Jason Rumney <jasonr@gnu.org>
16075
16076 * s/ms-w32.h: Don't define HAVE_TZNAME.
16077
16078 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16079
160802007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16081
16082 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16083
16084 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16085 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16086
16087 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16088 Don't call next handler.
16089 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16090 Remove argument. Install handler to application.
16091 (set_frame_menubar): Don't change deep_p.
16092 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16093 FRAME_OUTER_TO_INNER_DIFF_Y.
16094 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16095 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16096 [HAVE_DIALOGS]: New macros.
16097 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16098 Use them.
16099 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16100
16101 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16102 init_service_handler. All callers changed. Return OSStatus value.
16103
16104 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16105 All callers changed so as not to call SetPortWindowPort.
16106 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16107 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16108 mac_draw_string_common.
16109 (mac_draw_image_string_qd): Likewise.
16110 (mac_draw_string_common): Use them. Add INLINE.
16111 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16112 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16113 GetGlobalMouse.
16114 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16115 and FRAME_OUTER_TO_INNER_DIFF_Y.
16116 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16117 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16118 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16119 repositioning window to mac_handle_window_event.
16120 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16121 saving window location to mac_handle_window_event
16122 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16123 (install_menu_target_item_handler): Remove argument in extern.
16124 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16125 Also accept command events.
16126 (do_keystroke): New function created from XTread_socket.
16127 (init_command_handler): Remove functions.
16128 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16129 and save window location by kEventWindowShowing and kEventWindowHiding
16130 handlers here. Don't call next handler for window state change and
16131 focus events.
16132 (mac_handle_application_event, mac_handle_keyboard_event)
16133 [TARGET_API_MAC_CARBON]: New functions.
16134 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16135 kEventWindowShowing and kEventWindowHiding events. Move installation
16136 of mouse, font, text input and menu target item handlers to
16137 install_application_handler.
16138 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16139 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16140 New function.
16141 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16142 Register it.
16143 (XTread_socket) [TARGET_API_MAC_CARBON]:
16144 Consolidate SendEventToEventTarget calls.
16145 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16146 Move application activation handler to mac_handle_application_event.
16147 Move keyboard handler to mac_handle_keyboard_event.
16148 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16149 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16150 init_command_handler. Call install_application_handler.
16151
16152 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16153 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16154
161552007-06-07 Glenn Morris <rgm@gnu.org>
16156
16157 * emacs.c (main): Use `emacs-copyright' in --version output.
16158
161592007-06-06 Chong Yidong <cyd@stupidchicken.com>
16160
16161 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16162
161632007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16164
16165 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16166
16167 * macgui.h: Replace WindowPtr with WindowRef.
16168
16169 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16170 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16171 Replace ControlHandle with ControlRef.
16172 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16173
16174 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16175 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16176 Replace ControlHandle with ControlRef.
16177 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16178 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16179
16180 * macterm.h (struct scroll_bar): Rename member control_handle_low
16181 and control_handle_high to control_ref_low and control_ref_high.
16182 All uses changed.
16183 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16184 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16185 respectively. All uses changed.
16186 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16187 (install_window_handler, remove_window_handler): Replace WindowPtr
16188 with WindowRef in externs.
16189
161902007-06-05 Juanma Barranquero <lekktu@gmail.com>
16191
16192 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16193
161942007-06-03 Nick Roberts <nickrob@snap.net.nz>
16195
16196 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16197
16198 * frame.c (Fmouse_position, Fmouse_pixel_position):
16199 Condition on HAVE_GPM too.
16200
16201 * term.c (term_mouse_highlight): Remove unused variables.
16202 (Fterm_open_connection): Set gpm_zerobased to 1.
16203 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16204 Use zero based co-ordinates.
16205 (handle_one_term_event): Report a drag as mouse movement too.
16206
16207 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16208
162092007-06-03 Chong Yidong <cyd@stupidchicken.com>
16210
16211 * image.c (search_image_cache): New function. Require background
16212 color match if background color is unspecified in the image spec.
16213 (uncache_image, lookup_image): Use it.
16214
162152007-06-01 Juanma Barranquero <lekktu@gmail.com>
16216
16217 * window.c (Fshrink_window): Reflow docstring.
16218
162192007-06-02 Chong Yidong <cyd@stupidchicken.com>
16220
16221 * Version 22.1 released.
16222
162232007-06-01 Richard Stallman <rms@gnu.org>
16224
16225 * xfns.c (x_encode_text): Add GCPRO.
16226
162272007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16228
16229 * xfns.c (x_set_name_internal): Save encoded name before
16230 x_encode_text in case string data is relocated.
16231
162322007-05-31 Richard Stallman <rms@gnu.org>
16233
16234 * buffer.c (syms_of_buffer): Doc fix.
16235
162362007-05-30 Nick Roberts <nickrob@snap.net.nz>
16237
16238 * sysdep.c (init_sys_modes): Add rather than replace with
16239 O_NONBLOCK.
16240
16241 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16242 term_mouse_moveto.
16243
16244 * termhooks.h (term_mouse_moveto): New extern.
16245
16246 * term.c (mouse_face_window): Rename...
16247 (Qmouse_face_window): ...to this.
16248 (term_show_mouse_face, term_clear_mouse_face)
16249 (term_mouse_highlight): Use Qmouse_face_window.
16250 (term_mouse_moveto): New function.
16251 (term_mouse_position): Make it work.
16252 (syms_of_term): Uncomment assignment to mouse_position_hook.
16253 Staticpro Qmouse_face_window.
16254
162552007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16256
16257 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16258 around current_column call.
16259
162602007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16261
16262 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16263 * xdisp.c (next_element_from_buffer):
16264 * window.c (delete_window):
16265 * term.c (term_mouse_highlight):
16266 * msdos.c (getdefdir):
16267 * macterm.c (mac_create_bitmap_from_bitmap_data)
16268 (init_font_name_table):
16269 * fns.c (Fsxhash):
16270 * data.c (Fmake_local_variable):
16271 * ccl.c (ccl_driver): Likewise.
16272
162732007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16274
16275 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16276 Call mac_wakeup_from_rne on window size change.
16277
162782007-05-25 Chong Yidong <cyd@stupidchicken.com>
16279
16280 * image.c (uncache_image): Fix typo.
16281
162822007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16283
16284 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16285
162862007-05-22 Richard Stallman <rms@gnu.org>
16287
16288 * xterm.c (x_connection_closed): Remove NO_RETURN.
16289
162902007-05-22 Martin Rudalics <rudalics@gmx.at>
16291
16292 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16293
162942007-05-21 Chong Yidong <cyd@stupidchicken.com>
16295
16296 * image.c (uncache_image): New function.
16297 (Fimage_refresh): New function.
16298
162992007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16300
16301 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16302
163032007-05-20 Nick Roberts <nickrob@snap.net.nz>
16304
16305 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16306 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16307
163082007-05-20 Nick Roberts <nickrob@snap.net.nz>
16309
16310 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16311 conditional on [HAVE_GPM_H].
16312
163132007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16314
16315 * syntax.c (skip_chars): Update syntax-table only after we checked that
16316 the new location is valid.
16317
163182007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16319
16320 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16321 mac_get_window_bounds.
16322
163232007-05-20 Nick Roberts <nickrob@snap.net.nz>
16324
16325 * Makefile.in (LIBGPM): Allow it to be set from configure.
16326 If set then link Emacs with it.
16327
16328 * config.in: Regenerate.
16329
16330 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16331 New externs.
16332
16333 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16334 Include gpm.h.
16335 (handle_one_term_event, term_gpm): New externs.
16336
16337 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16338 and allow it to be interrupted by SIGIO.
16339
16340 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16341 (wait_reading_process_output): Wait on gpm_fd too.
16342 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16343 (add_gpm_wait_descriptor_called_flag): New variable.
16344 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16345
16346 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16347 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16348 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16349 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16350 (make_lispy_event): Add case GPM_CLICK_EVENT.
16351 (read_avail_input): Handle mouse input.
16352
16353 * term.c (write_glyphs_with_face): New function.
16354 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16355 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16356 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16357 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16358 (last_mouse_x, last_mouse_y): New variables.
16359 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16360 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16361 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16362 (Fterm_close_connection): New functions.
16363 (term_init): Initialise mouse_face_window.
16364
163652007-05-19 Chong Yidong <cyd@stupidchicken.com>
16366
16367 * xdisp.c (redisplay_window): If first window line is a
16368 continuation line, recompute the new window start instead of
16369 recentering.
16370
163712007-05-18 Glenn Morris <rgm@gnu.org>
16372
16373 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16374 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16375
163762007-05-17 Glenn Morris <rgm@gnu.org>
16377
16378 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16379
163802007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16381
16382 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16383 dead key repeat and up events.
16384
163852007-05-14 Chong Yidong <cyd@stupidchicken.com>
16386
16387 * image.c (pbm_load): Check image size for monochrome pbm.
16388
163892007-05-13 Chong Yidong <cyd@stupidchicken.com>
16390
16391 * xterm.c (XTread_socket): Revert last change.
16392
163932007-05-12 Chong Yidong <cyd@stupidchicken.com>
16394
16395 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16396
16397 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16398
163992007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16400
16401 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16402 mixup (YAILOM).
16403
164042007-05-07 Andreas Schwab <schwab@suse.de>
16405
16406 * keymap.c (Flookup_key): Fix typo in last change.
16407
164082007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16409
16410 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16411 mapping for unibyte strings.
16412
164132007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16414
16415 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16416 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16417
164182007-04-29 Richard Stallman <rms@gnu.org>
16419
16420 * insdel.c (replace_range): For undo, record insertion first.
16421
164222007-04-29 Andreas Schwab <schwab@suse.de>
16423
16424 * lisp.h (VECSIZE): Use OFFSETOF.
16425
164262007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16427
16428 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16429 disabled lines.
16430
164312007-04-28 Richard Stallman <rms@gnu.org>
16432
16433 * lread.c (read_escape): In a string, \s is always space.
16434
164352007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16436
16437 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16438
16439 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16440 submenu for menu bar items.
16441
16442See ChangeLog.10 for earlier changes.
16443
16444;; Local Variables:
16445;; coding: utf-8
16446;; add-log-time-zone-rule: t
16447;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16448;; End:
16449
16450 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16451
16452 This file is part of GNU Emacs.
16453
16454 GNU Emacs is free software: you can redistribute it and/or modify
16455 it under the terms of the GNU General Public License as published by
16456 the Free Software Foundation, either version 3 of the License, or
16457 (at your option) any later version.
16458
16459 GNU Emacs is distributed in the hope that it will be useful,
16460 but WITHOUT ANY WARRANTY; without even the implied warranty of
16461 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16462 GNU General Public License for more details.
16463
16464 You should have received a copy of the GNU General Public License
16465 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16466
16467;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40