Include <darpa/inet.h>.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
63c125ab
DN
12008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
4
5 * character.c (c_string_width): Specify the type for LEN.
6
3a8406e1
KH
72008-12-03 Kenichi Handa <handa@m17n.org>
8
9 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base
10 to 0.
453b38f0 11 (decode_coding_utf_8): Likewise.
4533845d
KH
12 (detect_coding_system): Initialize utf_16_le_eol to -1, val to
13 Qnil.
14 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 15
651df7d9
CY
162008-12-02 Chong Yidong <cyd@stupidchicken.com>
17
18 * keyboard.c (make_lispy_position): Only use PT if the selected
19 window is current.
20
1f625c6c
AS
212008-12-02 Andreas Schwab <schwab@suse.de>
22
f7741ce9
AS
23 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
24
1f625c6c
AS
25 * doprnt.c (doprnt1): Fix size of charbuf.
26
92bc2678
CY
272008-12-02 Chong Yidong <cyd@stupidchicken.com>
28
29 * keyboard.c (timer_check): Revert last change.
30
93b9e8cc
JB
312008-12-02 Juanma Barranquero <lekktu@gmail.com>
32
33 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
34
fd7a37d5
JB
352008-12-01 Juanma Barranquero <lekktu@gmail.com>
36
37 * makefile.w32-in: Update dependencies.
38 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
39
c115043b
AS
402008-12-01 Andreas Schwab <schwab@suse.de>
41
42 * font.c (register_font_driver): Use xmalloc.
43 (font_put_frame_data): Likewise.
44
f5668d2a
CY
452008-12-01 Chong Yidong <cyd@stupidchicken.com>
46
860d96be
CY
47 * xfaces.c (realize_x_face): Make abort condition clearer.
48
f5668d2a
CY
49 * gtkutil.c (update_frame_tool_bar): Initialize variable.
50
379c17e7
CY
512008-11-30 Chong Yidong <cyd@stupidchicken.com>
52
53 * keyboard.c (timer_check): After a timer runs, ensure that the
54 selected window's buffer is current.
55
35f36d65
JB
562008-11-30 Juanma Barranquero <lekktu@gmail.com>
57
f952c61c
JB
58 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
59 It was accidentally restored by the Unicode merge.
60
35f36d65
JB
61 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
62
b23077df
JB
632008-11-29 Juanma Barranquero <lekktu@gmail.com>
64
65 * w32proc.c: Include "coding.h".
66 (Fw32_short_file_name): Encode filename passed to Windows API.
67 (Fw32_long_file_name): Encode filename passed to Windows API and
68 decode back the result. (Bug#1433)
69
b8ebe9dd
KH
702008-11-29 Kenichi Handa <handa@m17n.org>
71
8cc53f96
KH
72 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
73 not before accessing it.
74
b8ebe9dd
KH
75 * charset.c (Fdefine_charset_internal): After calculating
76 min_char, max_char, and fastmap, copy the charset structure again.
77 (encode_char): Fix the previous change.
78
59bc82c0
SZ
792008-11-28 Seiji Zenitani <zenitani@mac.com>
80
81 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
82
83 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
84
85 * nsterm.m (x_set_frame_alpha): New function.
86
32247e3d
EZ
872008-11-27 Eli Zaretskii <eliz@gnu.org>
88
89 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
90
b003e5ff
JB
912008-11-27 Juanma Barranquero <lekktu@gmail.com>
92
93 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
94 pointer to check_face_name.
95
708550f5
KH
962008-11-27 Kenichi Handa <handa@m17n.org>
97
98 * category.h (SET_CATEGORY_SET): Call set_category_set.
99 (set_category_set): Extern it.
100
101 * category.c (hash_get_category_set): New function.
102 (Fmodify_category_entry): Adjusted for the change of
103 char_table_ref_and_range. Call hash_get_category_set to get a
104 category set to store in the table.
105
106 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
107 Funify_charset.
108
109 * charset.h (enum charset_method): Delete
110 CHARSET_METHOD_MAP_DEFERRED.
111 (DECODE_CHAR): Check if the decoder vector is ready.
112 (ENCODE_CHAR): Check if the encoder char-table is ready.
113 (maybe_unify_char): Extern it.
114
115 * charset.c (Vchar_unified_charset_table): Delete it.
116 (inhibit_load_charset_map): New variable.
117 (temp_charset_work): New variable.
118 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
119 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
120 New macros.
121 (load_charset_map): Meaning of control_flag changed. If
122 inhibit_load_charset_map is nonzero, setup a table in
123 temp_charset_work.
124 (load_charset): New argument control_flag.
125 (map_charset_for_dump): New function.
126 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
127 map_charset_for_dump.
128 (Fdefine_charset_internal): If the charset method is MAP, load
129 mapping tables by calling load_charset.
130 (Funify_charset): Don't load a mapping table but directly set
131 Vchar_unify_table.
132 (maybe_unify_char): New function.
133 (decode_char): Don't handle the deleted method MAP_DEFERRED.
134 Handle the case of inhibit_load_charset_map being nonzero.
135 (encode_char): Don't handle the deleted method MAP_DEFERRED.
136 Handle the case of inhibit_load_charset_map being nonzero.
137 (Fclear_charset_maps): Just free temp_charset_work.
138 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
139 variable.
140
141 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
142 change of char_table_ref_and_range.
143 (char_table_ref_and_range): Change the meaning of argument FROM
144 and TO. Now the caller must provide initial values for *FROM
145 and *TO.
146
147 * fontset.c (fontset_add): Adjusted for the change of
148 char_table_ref_and_range.
149 (fontset_get_font_group): Likewise.
150 (Ffontset_info): Likewise.
151
152 * keymap.c (describe_vector): Adjusted for the change of
153 char_table_ref_and_range. For char-table, put boundary between
154 non-ASCII and 8-bit characters.
155
156 * print.c (print_object): For bool-vector, delete unnecessary
157 check of ASCII_BYTE_P.
158
9196133b
JR
1592008-11-26 Jason Rumney <jasonr@gnu.org>
160
161 * w32font.c (w32font_open_internal): Don't include external
162 leading in font height.
163
9f688acf
GM
1642008-11-26 Glenn Morris <rgm@gnu.org>
165
166 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
167 redefinition with ifdef. (Bug#1383)
168
90d19aff
AR
1692008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
170
171 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
172
1732008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
174
175 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
176 New EmacsView methods.
177 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
178 Fixes bug #1048,1357,1414.
179
1802008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
181
182 Fix bug #1362.
183 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
184 is not an indexed color.
185 * nsterm.m (free_indexed_color): Add argument checking.
186 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
187
e7d5ecb3
CY
1882008-11-24 Chong Yidong <cyd@stupidchicken.com>
189
190 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
191 Document confirm-after-completion value for
192 minibuffer-completion-confirm.
193
c285743c
JR
1942008-11-24 Jason Rumney <jasonr@gnu.org>
195
196 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
197 warning.
198
b0857706
JR
1992008-11-23 Jason Rumney <jasonr@gnu.org>
200
201 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
202 restored before returning.
203
204 * w32font.c (check_face_name): New function.
205 (add_font_entity_to_list): Use it to filter out common substituted
206 fonts.
207
ee50ff07
MR
2082008-11-22 Martin Rudalics <rudalics@gmx.at>
209
210 * buffer.c (Fswitch_to_buffer): Reword and mention new option
211 confirm-nonexistent-file-or-buffer in doc-string.
212
b8ff72fa
SM
2132008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
214
215 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
216 Fix copy/paste typo. Add checks.
217
cee53ed4
KH
2182008-11-21 Kenichi Handa <handa@m17n.org>
219
220 * coding.c (detect_coding_iso_2022): Reject invalid composition
221 sequence.
222 (DECODE_COMPOSITION_START): If the current source is the last
223 block, and the current composition doesn't end, regard this
224 sequence as invalid.
225 (decode_coding_iso_2022): Handle invalid composition sequence.
226
f6ef1e65
MR
2272008-11-20 Martin Rudalics <rudalics@gmx.at>
228
229 * window.c (coordinates_in_window): Don't return
230 ON_VERTICAL_BORDER for the rightmost position of a mode/header
231 line when the window is not the rightmost one. (Bug#1372)
232
e08b1705
MR
2332008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
234
235 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
236
ad98e89f
EZ
2372008-11-15 Eli Zaretskii <eliz@gnu.org>
238
239 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
240 and bright_bg if noninteractive is non-zero.
241
fb098a4b
CY
2422008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
243
244 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
245 x_draw_glyph_string_background.
246
247 * w32term.c (x_draw_glyph_string): Likewise.
248
ce952b6e
CY
2492008-11-15 Chong Yidong <cyd@stupidchicken.com>
250
251 * xterm.c (x_draw_glyph_string): Stop drawing the background of
252 the next glyph string once past the overhang width.
253
254 * nsterm.m (ns_draw_glyph_string): Likewise.
255
256 * w32term.c (x_draw_glyph_string): Likewise.
257
26ea7079
CY
2582008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
259
260 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
261 double file close.
262
1c33c906
MR
2632008-11-14 Martin Rudalics <rudalics@gmx.at>
264
265 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
266 dedicated status of window before attempting to display another
267 buffer in it.
268
8fc29035
JB
2692008-11-14 Juanma Barranquero <lekktu@gmail.com>
270
271 * msdos.c (Fmsdos_long_file_names):
272 (syms_of_msdos) <dos-unsupported-char-glyph>:
273 * dosfns.c (Fint86): Fix typos in docstrings.
274
55fb4286
EZ
2752008-11-14 Eli Zaretskii <eliz@gnu.org>
276
277 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
278
3fda0315
KY
2792008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
280
281 * puresize.h (BASE_PURESIZE): Increase to 1260000.
282
7e849c17
CY
2832008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
284
285 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
286
287 * frame.h: Negative alpha means "don't touch".
288
289 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
290
291 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
292
b9fd67bd
DN
2932008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
294
295 * hftctl.c:
296 * chpdef.h:
297 * acldef.h: Remove files used only for systems no longer supported.
298
299 * Makefile.in: Fix .o alphabetical ordering.
300 (hftctl.o): Remove dependency, file removed.
301 (keymap.o, print.o): Depend on charset.h.
302
d5998e03
KH
3032008-11-10 Kenichi Handa <handa@m17n.org>
304
305 * character.c (Fget_byte): Fix and make it faster for unibyte
306 target.
307
be70e183
CY
3082008-11-08 Chong Yidong <cyd@stupidchicken.com>
309
310 * dired.c (file_name_completion): If completion_ignore_case is
311 enabled, ignore case when checking completion-regexp-list.
312
7cf94eac
EZ
3132008-11-08 Eli Zaretskii <eliz@gnu.org>
314
315 * vm-limit.c (get_lim_data): Fix last change.
316
ee107a89
KH
3172008-11-08 Kenichi Handa <handa@m17n.org>
318
319 * character.c (Fget_byte): New function.
320 (syms_of_character): Defsubr Fget_byte.
321
5fd15622
CY
3222008-11-07 Chong Yidong <cyd@stupidchicken.com>
323
324 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
325 cursor position is valid after scrolling.
326
13d62fad
JB
3272008-11-06 Juanma Barranquero <lekktu@gmail.com>
328
329 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
330
a1dd2936
GM
3312008-11-06 Glenn Morris <rgm@gnu.org>
332
333 * xterm.c (handle_one_xevent): Don't let popup menus cause
334 mouse-autoselect-window related window switching. (Bug#1261)
335
860cd236
CY
3362008-11-04 David Smith <davidsmith@acm.org> (tiny change)
337
338 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
339
653a3150
AS
3402008-11-04 Andreas Schwab <schwab@suse.de>
341
342 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
343
870f5cac
CY
3442008-11-03 Chong Yidong <cyd@stupidchicken.com>
345
346 * xfns.c (Fx_wm_set_size_hint): New function.
347
1e02f3cb
MR
3482008-11-03 Martin Rudalics <rudalics@gmx.at>
349
350 * textprop.c (Fprevious_single_char_property_change): Return 0
351 when there's no change in a string. (Bug#1301)
352
e630dfc6
MR
3532008-11-02 Martin Rudalics <rudalics@gmx.at>
354
355 * frame.c (do_switch_frame): New argument NORECORD passed to
356 Fselect_window.
357 (Fselect_frame): New argument NORECORD passed to
358 do_switch_frame.
359 (Fset_frame_selected_window): New argument NORECORD passed to
360 Fselect_frame.
361 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
362 in call of do_switch_frame.
363 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
364 Handle NORECORD argument in call of Fselect_frame.
365 * lisp.h (do_switch_frame, Fselect_frame)
366 (Fset_frame_selected_window): Adjust declarations.
367 * window.c (select_frame_norecord): New function.
368 (run_window_configuration_change_hook): Use it and call
369 Fselect_frame with NORECORD set.
370 (Fselect_window): Pass NORECORD to Fselect_frame.
371 (Fset_window_configuration): Handle NORECORD argument in call of
372 do_switch_frame.
373 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
374 Fset_frame_selected_window.
375 * keyboard.c (command_loop_1): Handle NORECORD in call of
376 Fselect_frame (currently ifdefd).
377
9020b223
GM
3782008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
379
380 * emacs.c (USAGE2): Untabify.
381
793ffee8
SM
3822008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
383
384 * composite.c (fill_gstring_header): Fix copy/paste typo.
385
ab6d1131
MR
3862008-10-31 Martin Rudalics <rudalics@gmx.at>
387
388 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
389 (Fother_window): Rename argument and rewrite doc-string.
390 (select_window_norecord): Fix return value. (Bug#1276)
391
601a9cf1
JB
3922008-10-30 Juanma Barranquero <lekktu@gmail.com>
393
394 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
395 new frames overriding foreground for tooltips. Based on similar patch
396 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
397
813b0652
CY
3982008-10-29 Chong Yidong <cyd@stupidchicken.com>
399
400 * emacs.c (Fdaemon_initialized): Initialize nfd.
401
4414f58f
MR
4022008-10-29 Martin Rudalics <rudalics@gmx.at>
403
404 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
405 (Fwindow_text_height): Clarify doc-strings.
406 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
407 doc-string of window-scroll-functions.
408
ecdcaa09
RS
4092008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
410
411 * category.c (syms_of_category): Fix typo in docstring.
412
23fe745a
JB
4132008-10-28 Juanma Barranquero <lekktu@gmail.com>
414
415 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
416 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
417 Fix typos in docstrings.
418
ff808935
DN
4192008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
420
421 * emacs.c (daemon_pipe): Make non-static.
422 (IS_DAEMON): Move definition ...
423 * lisp.h (IS_DAEMON): ... here.
424 (daemon_pipe): Declare.
425 (is_daemon): Remove.
426 * dispnew.c (init_display): Use IS_DAEMON.
427
fc012771
SM
4282008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
429
430 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
431 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
432
433 * emacs.c (is_daemon): Remove.
434 (main): Don't set is_daemon.
435 (IS_DAEMON): New macro.
436 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 437 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
438 parent exits.
439 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
440
d8bdbe6f
CY
4412008-10-27 Chong Yidong <cyd@stupidchicken.com>
442
d1a072bf
CY
443 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
444 over-sized glyph, draw it with the default glyph width.
445
e2e325aa
CY
446 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
447 glyph, draw it with the default glyph width.
448
449 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
450 glyph, draw it with the default glyph width.
451
d8bdbe6f
CY
452 * xdisp.c (try_scrolling): When computing the distance from the
453 scroll margin to PT, try moving some distance past the window
454 bottom before giving up.
455
7bfac547
MR
4562008-10-27 Martin Rudalics <rudalics@gmx.at>
457
458 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
459 (Fset_window_buffer): Explain in doc-string that a window can be
460 "strongly" dedicated to its buffer.
461
4ff029f6
DN
4622008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
463
464 * emacs.c (daemon_name): New variable.
465 (main): Deal with --daemon=SERVER_NAME.
466 (Fdaemonp): Return a name if one was passed to --daemon.
467
5790ef40
DN
4682008-10-26 Romain Francoise <romain@orebokech.com>
469
f9bd0df9 470 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
471 (main): Create a pipe before forking, make the parent exit only after
472 the child has closed its end of the pipe. Move closing the
473 descriptors ...
474 (Fdaemon_initialized): ... here. New function.
475
f5385255
SM
4762008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
477
4d632321
SM
478 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
479 the previous unoptimized table.
480
f5385255
SM
481 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
482 the distinction between non-nil and non-t value of `dedicated'.
483
6c56a0f3
CY
4842008-10-25 Chong Yidong <cyd@stupidchicken.com>
485
486 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 487 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 488
fec89261
MR
4892008-10-25 Martin Rudalics <rudalics@gmx.at>
490
491 * window.c (Fget_buffer_window, Fdelete_windows_on)
492 (Freplace_buffer_in_windows): Make buffer argument optional and
493 rename to buffer_or_name.
494
34fcddd0
CY
4952008-10-24 Chong Yidong <cyd@stupidchicken.com>
496
f5385255
SM
497 * xdisp.c (handle_single_display_spec, handle_display_prop):
498 Undo 2005-05-16 change.
34fcddd0
CY
499 (handle_stop): Pop iterator if it's loaded with an empty string.
500 (get_overlay_strings_1): Don't save iterator if it's loaded with
501 an empty string (bug#1201).
502
064766f2
KH
5032008-10-24 Kenichi Handa <handa@m17n.org>
504
505 * ftfont.c (ftfont_otf_features): Fix previous change.
506 (ftfont_otf_capability): Check FeatureList.FeatureCount before
507 calling ftfont_otf_features.
508
f9bd0df9 5092008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
510
511 * font.c (font_match_p): Fix for the case that a vector of
512 characters is in script-representative-chars.
513
1dae9197
MA
5142008-10-24 Michael Albinus <michael.albinus@gmx.de>
515
516 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 517 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
518 (xd_read_queued_messages): Catch Qdbus_error from the macros.
519 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
520 macro. (Bug#1186).
521
f9bd0df9 5222008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
523
524 * s/sol2-10.h: New file.
525
878a4584
JB
5262008-10-23 Juanma Barranquero <lekktu@gmail.com>
527
528 * xdisp.c (fill_glyph_string): Fix typo in source (though the
529 poor beast has survived 9+ years and the jump from xterm.c!).
530
cd265ca6
MR
5312008-10-23 Martin Rudalics <rudalics@gmx.at>
532
533 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
534 Reword doc-string.
f5385255 535 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 536
472a4dc9
JB
5372008-10-23 Juanma Barranquero <lekktu@gmail.com>
538
539 * character.c (syms_of_character) <script-representative-chars>:
540 <unicode-category-table>: Doc fixes.
541
159bd5a2
NF
5422008-10-23 Noah Friedman <friedman@splode.com>
543
544 * coding.c (make_conversion_work_buffer): Check that
545 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
546 Fget_buffer_create.
547
49f9c344
KH
5482008-10-23 Kenichi Handa <handa@m17n.org>
549
550 * font.c (font_add_log): Check the values of extra properties.
551
12bb3111
MR
5522008-10-22 Martin Rudalics <rudalics@gmx.at>
553
554 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
555 Reword doc-string.
556 (Fset_window_parameter): Use NILP.
557 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 558 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 559
bbeb4e99
JB
5602008-10-22 Juanma Barranquero <lekktu@gmail.com>
561
562 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
563
5642008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
565
566 * nsfns.m (ns_appkit_version): New function.
567 (x-server-version): Use it.
568 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
569 (x-server-vendor): Don't check_ns().
570
571 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
572
a9b555d3
JB
5732008-10-22 Juanma Barranquero <lekktu@gmail.com>
574
575 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
576 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
577
4626499f
KH
5782008-10-22 Kenichi Handa <handa@m17n.org>
579
e3681952
KH
580 * syntax.c (scan_words): Call word_boundary_p instead of comparing
581 scripts.
582
4626499f
KH
583 * category.c (word_boundary_p): Check scripts instead of charset.
584 Handle nil value in word-separating-categories and
585 word-combining-categories.
586 (syms_of_category): Fix docstrings of word-separating-categories
587 and word-combining-categories.
588
1560f91a
EZ
5892008-10-21 Eli Zaretskii <eliz@gnu.org>
590
591 * coding.c (Fencode_coding_region, Fdecode_coding_region)
592 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
593
f4668441
MR
5942008-10-21 Martin Rudalics <rudalics@gmx.at>
595
596 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
597 Rename arg "buffer" to "buffer_or_name".
598 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
599 it optional.
600 (no_switch_window): Remove since the return value is not used.
a9b555d3 601 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
602 Consider window as dedicated when Fwindow_dedicated_p returns a
603 non-nil value.
604 * lisp.h: Remove prototype for no_switch_window.
605
fd75ddb2
JD
6062008-10-21 Jan Djärv <jan.h.d@swipnet.se>
607
608 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
609 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
610
07295713
KH
6112008-10-21 Kenichi Handa <handa@m17n.org>
612
613 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
614 check Vlatin_extra_code_table.
615
712adc82
EZ
6162008-10-20 Eli Zaretskii <eliz@gnu.org>
617
618 * fileio.c (Fset_file_modes): Doc fix.
619
f549eb0b
MA
6202008-10-19 Michael Albinus <michael.albinus@gmx.de>
621
622 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
623 in arrays.
624
aac0c6e3
MR
6252008-10-19 Martin Rudalics <rudalics@gmx.at>
626
627 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
628 Mention kill-buffer in doc-string.
629 (Fset_window_buffer): Reinsert tem check removed in last commit.
630 (Fenlarge_window, Fshrink_window): Have argument names and
631 doc-string follow Elisp manual more closely.
632
6332008-10-18 Eli Zaretskii <eliz@gnu.org>
634
635 * fileio.c (Fset_file_modes): Doc fix.
636
6372008-10-18 Martin Rudalics <rudalics@gmx.at>
638
639 * window.c (Fwindow_width, Fset_window_start)
640 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
641 (Fdelete_windows_on, Freplace_buffer_in_windows):
642 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
643 (Fwindow_dedicated_p): Make window argument optional.
644 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
645 (Fset_window_buffer): Respect any non-nil dedicated value for
646 window. Rename "buffer" argument to "buffer_or_name".
647
6482008-10-18 Ulrich Mueller <ulm@gentoo.org>
649
650 * m/sh3.h: New file, machine description for SuperH.
651
6522008-10-17 Martin Rudalics <rudalics@gmx.at>
653
654 * window.c (Fsplit_window): Rename arg horflag to horizontal.
655
6562008-10-17 Kenichi Handa <handa@m17n.org>
657
658 * ftfont.c (ftfont_otf_features): Fix indexing
659 gsub_gpos->FeatureList.Feature. Check the validity of indices.
660
6612008-10-16 Magnus Henoch <mange@freemail.hu>
662
663 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
664 (Fdbus_call_method_asynchronously): Ditto.
665 This change makes C-h f display the argument list.
666
6672008-10-16 Chong Yidong <cyd@stupidchicken.com>
668
669 * fileio.c (Fexpand_file_name): Doc fix.
670
671 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
672 of :foreground and :background equivalent to unspecified (20.x
673 compatibility).
674
6752008-10-15 Eli Zaretskii <eliz@gnu.org>
676
677 * buffer.c (syms_of_buffer): Doc fix.
678
6792008-10-14 Kenichi Handa <handa@m17n.org>
680
681 * font.c (font_clear_prop): When clearing font width, clear the
682 average width field too.
683
6842008-10-12 Andreas Schwab <schwab@suse.de>
685
686 * ftfont.c (ftfont_shape_by_flt): Make static.
687 * ftfont.h (ftfont_shape_by_flt): Don't declare.
688
689 * font.c: Don't include <m17n-flt.h>.
690
6912008-10-10 Eli Zaretskii <eliz@gnu.org>
692
693 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
694
6952008-10-09 Eli Zaretskii <eliz@gnu.org>
696
697 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
698 away code.
699
7002008-10-09 Chong Yidong <cyd@stupidchicken.com>
701
702 * dispnew.c (update_text_area): Avoid looping due to large glyph
703 overhangs (bug#1070).
704
7052008-10-09 Kenichi Handa <handa@m17n.org>
706
707 * fontset.c (face_for_char): If face->fontset is negative, just
708 return ascii_face.
709
f5385255
SM
710 * font.c (font_delete_unmatched): Fix previous change.
711 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
712
7132008-10-09 Martin Rudalics <rudalics@gmx.at>
714
715 * frame.c (Fraise_frame): On text-only terminals select frame in
716 order to make it visible. (Bug#1061)
717
7182008-10-08 Chong Yidong <cyd@stupidchicken.com>
719
720 * fontset.c (fontset_find_font): Check frame validity.
721
7222008-10-07 Chong Yidong <cyd@stupidchicken.com>
723
a9b555d3 724 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
725 (xg_display_close): Allow Emacs to close all displays (bug#985).
726
7272008-10-06 Andreas Schwab <schwab@suse.de>
728
f5385255 729 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
730
7312008-10-06 Chong Yidong <cyd@stupidchicken.com>
732
f5385255 733 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 734
a9b555d3 735 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
736
737 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
738 during initialization.
739
7402008-10-04 Eli Zaretskii <eliz@gnu.org>
741
742 * xdisp.c (redisplay_internal): If frame switched, redisplay the
743 whole thing on MSDOS frames as well as on a TTY.
744
745 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
746 well as for TTY.
747 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
748 well as on a TTY.
749
750 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
751 as well as for TTY.
752
753 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
754
755 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
756 MSDOS frames as well.
757
7582008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
759
760 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
761 correct arguments.
762 * menu.c (find_and_return_menu_selection) Add cast.
763
7642008-10-03 Glenn Morris <rgm@gnu.org>
765
766 * emacs.c (USAGE1): Add --daemon.
767
7682008-10-02 Eli Zaretskii <eliz@gnu.org>
769
770 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
771 100, so it's in percents as advertised.
772
7732008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
774
775 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
776 (ns_output.current_cursor, ns_output.desired_cursor)
777 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
778 (FRAME_NEW_CURSOR_COLOR): Remove.
779
780 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 781 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
782 enumeration (HOLLOW_BOX_CURSOR, etc.).
783
784 * nsterm.m (ns_frame_rehighlight): Remove commented code.
785 (draw_window_cursor): Simplify code.
f5385255
SM
786 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
787 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 788 updates manually.
a9b555d3
JB
789 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
790 Use core Emacs cursor types.
aac0c6e3 791
b8ff72fa 792 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
793
7942008-10-02 Martin Rudalics <rudalics@gmx.at>
795
796 * process.c (Faccept_process_output): Fix doc-string.
797
7982008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
799
800 * gmalloc.c (__sbrk): Also define for uClibc.
801
802 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
803 for uClibc.
804
8052008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
806
807 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
808 styles.
809 (nsfont_open): Reenable the cache.
810
8112008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
812
813 * font.c (font_matching_entity): Reflect ATTRS in font selection.
814 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
815
8162008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
817
818 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
819 a suspended terminal.
820
8212008-09-30 Michael Albinus <michael.albinus@gmx.de>
822
823 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
824
8252008-09-30 Eli Zaretskii <eliz@gnu.org>
826
827 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
828
8292008-09-30 Chong Yidong <cyd@stupidchicken.com>
830
831 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
832 in a continued line coincides with a line beginning.
833
8342008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
835
836 * nsfont.m (nsfont_trait_distance): Fix bug.
837 (nsfont_list): Return a list rather than a vector (syncs with Handa
838 changes of 2008-05-14).
839 (nsfont_open): Improve logging.
840
8412008-09-29 Andreas Schwab <schwab@suse.de>
842
843 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
844
8452008-09-28 Martin Rudalics <rudalics@gmx.at>
846
847 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
848 name as char-resolve-modifiers.
849 Reported by: Markus Triska <markus.triska@gmx.at>
850
8512008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
852
853 * dispnew.c (init_display): Return earlier when running as a daemon.
854
8552008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
856
857 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
858
8592008-09-27 Eli Zaretskii <eliz@gnu.org>
860
861 * composite.c (Fcomposition_get_gstring)
862 (Fcompose_region_internal, Fcompose_string_internal)
863 (Ffind_composition_internal): Doc fix.
864 (syms_of_composite) <compose-chars-after-function>: Doc fix.
865 (syms_of_composite) <auto-composition-function>: Doc fix.
866 (syms_of_composite) <composition-function-table>: Doc fix.
867
8682008-09-25 Chong Yidong <cyd@stupidchicken.com>
869
870 * search.c (wordify): New argument for lax word-ends.
871 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
872
8732008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
874
875 * lisp.h (is_daemon): Declare.
876 * dispnew.c (init_display): Do not try to initialize the terminal
877 when running as a daemon.
878
8792008-09-22 Chong Yidong <cyd@stupidchicken.com>
880
881 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
882 x_display_pixel_height.
883
8842008-09-22 Martin Rudalics <rudalics@gmx.at>
885
886 * undo.c (record_point): Don't call Fundo_boundary for first
887 change. (Bug#731)
888
8892008-09-22 Juanma Barranquero <lekktu@gmail.com>
890
891 * emacs.c (Fdaemonp): Doc fix.
892
8932008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
894
895 * emacs.c (main): Place #ifdef in the proper place.
896
8972008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
898
899 * emacs.c (standard_args): Add --daemon.
900 (main): Disconnect from the terminal when --daemon is passed.
901 (is_daemon): New variable.
902 (Fdaemonp): New function.
903 (syms_of_emacs): Defsubr it.
904
9052008-09-20 Chong Yidong <cyd@stupidchicken.com>
906
907 * xdisp.c (get_next_display_element): Handle string display
908 correctly when checking for the end of a box run.
909
9102008-09-20 Glenn Morris <rgm@gnu.org>
911
912 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
913 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
914 (Frename_file): Avoid copying to trash if a rename involves
915 a delete. (Bug#964).
916
9172008-09-20 Eli Zaretskii <eliz@gnu.org>
918
919 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
920 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
921 frames as well as termcap frames.
922 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
923 get_named_tty.
924
9252008-09-19 Eli Zaretskii <eliz@gnu.org>
926
927 * process.c (procfs_system_process_attributes): Fix cmdline in
928 case /proc/PID/cmdline is empty.
929
930 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
931 x_display_pixel_height.
932
9332008-09-19 Juanma Barranquero <lekktu@gmail.com>
934
935 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
936
937 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
938 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
939
9402008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
941
942 * dispextern.h (struct it): Move line_wrap away from the middle of
943 bitfields. Move voffset in struct iterator_stack_entry after the
944 bitfields. Move tab_width near after another short.
945
9462008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
947
948 * frame.h (struct frame): Move alpha from the middle of bitfields.
949
950 * window.h (struct window): Move frozen_window_start_p after the
951 rest of the bitfields to reduce padding.
952
9532008-09-18 Chong Yidong <cyd@stupidchicken.com>
954
955 * xterm.h (x_display_info): Remove `height' and `width' members.
956
957 * nsterm.h (ns_display_info): Remove `height' and `width' members.
958
959 * w32term.h (w32_display_info): Remove `height', `width',
960 `height_in', and `width_in' members.
961
b8ff72fa
SM
962 * xterm.c (x_display_pixel_height, x_display_pixel_width):
963 New functions.
aac0c6e3
MR
964 (x_calc_absolute_position): Use them.
965 (x_term_init): Omit removed `height' and `width' members.
966
b8ff72fa
SM
967 * w32term.c (x_display_pixel_height, x_display_pixel_width):
968 New functions.
aac0c6e3
MR
969 (w32_read_socket, x_calc_absolute_position): Use them.
970 (w32_initialize_display_info, w32_term_init): Omit removed members
971 of w32_display_info.
972
b8ff72fa
SM
973 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
974 New functions.
975 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 976
b8ff72fa
SM
977 * xterm.c (x_display_pixel_height, x_display_pixel_width):
978 New functions.
aac0c6e3
MR
979 (x_calc_absolute_position): Use them.
980 (x_term_init): Omit removed `height' and `width' members.
981
982 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
983 (compute_tip_xy):
984 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
985 * xmenu.c (menu_position_func): Use x_display_pixel_height and
986 x_display_pixel_width.
987
9882008-09-18 Kenichi Handa <handa@m17n.org>
989
990 * composite.c (fill_gstring_header): Don't check FROM and TO here.
991 (composition_compute_stop_pos): Fix handling of static composition.
992 (Fcomposition_get_gstring): Check FROM and TO at first.
993
9942008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
995
996 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
997 mixup (YAILOM).
998
9992008-09-17 Chong Yidong <cyd@stupidchicken.com>
1000
1001 * indent.c (Fvertical_motion): Use position reported by iterator
1002 instead of PT for determining screen motion (bug#943).
1003
10042008-09-17 Romain Francoise <romain@orebokech.com>
1005
1006 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1007
10082008-09-17 Kenichi Handa <handa@m17n.org>
1009
1010 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1011
1012 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1013 if necessary.
1014
10152008-09-16 Kenichi Handa <handa@m17n.org>
1016
1017 * coding.c (make_conversion_work_buffer): Avoid calling
1018 Fget_buffer_create if it is not necessary.
1019
10202008-09-15 Martin Rudalics <rudalics@gmx.at>
1021
1022 * window.c (Fselect_window): Don't update window_select_count and
1023 use_time when norecord is not nil.
1024
10252008-09-14 Kenichi Handa <handa@m17n.org>
1026
1027 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1028 specpdl_ptr.
1029
10302008-09-12 Kenichi Handa <handa@m17n.org>
1031
1032 * indent.c (scan_for_column): Don't handle automatic composition
1033 if the current buffer is not associated with a window.
1034
1035 * composite.c (composition_reseat_it): If the current buffer is
1036 not associated with a window, ignore the automatic composition.
1037 (find_automatic_composition): Likewise.
1038
10392008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1040
1041 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1042 (Fgpm_mouse_stop): Use it.
1043 * termhooks.h (close_gpm): Declare.
1044 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1045 connection if Gpm_GetEvent fails.
1046
1047 * window.c (set_window_buffer): Always preserve current-buffer.
1048
10492008-09-12 Glenn Morris <rgm@gnu.org>
1050
1051 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1052
10532008-09-11 Glenn Morris <rgm@gnu.org>
1054
1055 * charset.c (charset-map-path): Doc fix.
1056
10572008-09-10 Kenichi Handa <handa@m17n.org>
1058
1059 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1060
1061 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1062 compose a grapheme cluster with the preceding base glyph.
1063
1064 * composite.c (composition_compute_stop_pos): Fix previous change.
1065 Reset cmp_it->id to -1 at first.
1066
10672008-09-10 Glenn Morris <rgm@gnu.org>
1068
1069 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1070
10712008-09-09 Chong Yidong <cyd@stupidchicken.com>
1072
1073 * keyboard.c (read_key_sequence): Reapply translation maps when
1074 switching keyboards.
1075
10762008-09-09 Kenichi Handa <handa@m17n.org>
1077
1078 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1079 characters.
1080
1081 * composite.c (FORWARD_CHAR): Fix calculation
1082 of (POSITION).pos_byte.
1083 (composition_compute_stop_pos): Limit the search of composition to
1084 at most 500 characters ahead. If we reach the limit or find a
1085 newline, set cmp_it->ch to -2 and return 0.
1086 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1087
10882008-09-08 Kenichi Handa <handa@m17n.org>
1089
1090 * indent.c (Fvertical_motion): Be sure to set
1091 it_overshoot_expected if it.cmp_it.id is non-negative.
1092
10932008-09-07 Andreas Schwab <schwab@suse.de>
1094
1095 * callproc.c (Fcall_process): Don't hold references to string data
1096 across garbage collection. Move initialisation of new_argv down
1097 to avoid compiler bug.
1098
10992008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1100
1101 * process.c (Fsystem_process_attributes): Doc fix.
1102
11032008-09-07 Chong Yidong <cyd@stupidchicken.com>
1104
1105 * callproc.c (Fcall_process): Canonicalize current directory name.
1106
1107 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1108 iterator advances to the next line if the current line ends in a
1109 continued tab.
1110
11112008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1112
1113 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1114 member to point to cmp_from.
1115
1116 * xdisp.c: Doc fix for references to gidx data member.
1117
11182008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1119
1120 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1121
11222008-09-07 Kenichi Handa <handa@m17n.org>
1123
1124 * composite.c (FORWARD_CHAR): Check STOP after
1125 incrementing (POSITION).pos.
1126
11272008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1128
1129 * process.c (Fsystem_process_attributes): Doc fix.
1130
11312008-09-06 Chong Yidong <cyd@stupidchicken.com>
1132
1133 * keyboard.c (Ftop_level): Doc fix.
1134
11352008-09-06 Eli Zaretskii <eliz@gnu.org>
1136
1137 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1138 minibuffer, don't let lower part of menu invade the echo area.
1139
1140 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1141 "char *q" to access menu text and advance through it. Revert the
1142 change that displayed ">" instead of ASCII character 0x10.
1143
11442008-09-05 Eli Zaretskii <eliz@gnu.org>
1145
1146 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1147 toggle boxes and radio buttons on MS-DOS as well.
1148
11492008-09-05 Kenichi Handa <handa@m17n.org>
1150
1151 * composite.c (autocmp_chars): Check lookback count.
1152 (composition_compute_stop_pos): Set cmp_it->lookback.
1153 (composition_reseat_it): Check lookback count.
1154 (struct position_record): New struct.
1155 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1156 (find_automatic_composition): New function.
1157 (composition_adjust_point): Use find_automatic_composition.
1158
1159 * dispextern.h (struct composition_it): New member lookback.
1160
11612008-09-02 Chong Yidong <cyd@stupidchicken.com>
1162
1163 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1164 if moving by a single line.
1165
11662008-09-02 Andreas Schwab <schwab@suse.de>
1167
1168 * xterm.c (x_delete_display): Fix merge error.
1169
1170 * fileio.c (Fexpand_file_name): Remove unused variables.
1171
11722008-09-02 Eli Zaretskii <eliz@gnu.org>
1173
1174 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1175 storage on all platforms, not just on DOS_NT.
1176
11772008-09-02 Jason Rumney <jasonr@gnu.org>
1178
b8ff72fa
SM
1179 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1180 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1181
11822008-09-01 Chong Yidong <cyd@stupidchicken.com>
1183
1184 * xfaces.c (Finternal_set_alternative_font_family_alist)
1185 (Finternal_set_alternative_font_registry_alist): Properly copy
1186 entire alist structure.
1187
11882008-09-01 Kenichi Handa <handa@m17n.org>
1189
1190 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1191 representative chars of the script is a vector.
1192 (ftfont_list): Handle the case the representative chars of the
1193 script is a vector.
1194
1195 * character.c (syms_of_character): Docstring of
1196 script-representative-chars fixed.
1197
11982008-08-31 Eli Zaretskii <eliz@gnu.org>
1199
1200 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1201 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1202 the menu. Allocate larger buffer for `text', to account for
1203 possible ^C characters.
1204
12052008-08-31 Martin Rudalics <rudalics@gmx.at>
1206
1207 * xdisp.c (prepare_menu_bars): Don't call
1208 Vwindow_size_change_functions with arg Qt.
1209
12102008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1211
1212 * font.h (font_range):
1213 * fileio.c (report_file_error):
1214 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1215
12162008-08-30 Glenn Morris <rgm@gnu.org>
1217
1218 * data.c (Fmake_variable_frame_local): Doc fix.
1219
1220 * frame.c (Fmodify_frame_parameters): Doc fix.
1221
12222008-08-30 Eli Zaretskii <eliz@gnu.org>
1223
1224 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1225 needed by GetTokenInformation.
1226 (w32_system_process_attributes): Check return values of all system
1227 APIs.
1228
1229 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1230 only when the state changes.
1231 (IT_update_begin, IT_update_end): Add termscript trace.
1232
1233 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1234 clipboard is unavailable. Set dst to NULL if it doesn't point to
1235 malloc'ed data.
1236 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1237 passing random values to xfree.
1238
1239 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1240 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1241
12422008-08-29 Jason Rumney <jasonr@gnu.org>
1243
1244 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1245
12462008-08-29 Eli Zaretskii <eliz@gnu.org>
1247
1248 * composite.c (fill_gstring_body): Avoid compiler warnings.
1249
1250 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1251 LGLYPH_SET_CODE to avoid compiler warnings.
1252
1253 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1254
1255 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1256
1257 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1258 LGLYPH_SET_CODE.
1259
12602008-08-29 Kenichi Handa <handa@m17n.org>
1261
1262 * fileio.c (report_file_error): Don't downcase the first character
1263 of errstring if it is still unibyte.
1264
12652008-08-29 Kenichi Handa <handa@m17n.org>
1266
1267 These changes are to re-implement the automatic composition so
1268 that it doesn't use text properties.
1269
1270 * Makefile.in (ftfont.o): Depend on composite.h.
1271 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1272
1273 * character.h (Vunicode_category_table): Extern it.
1274
1275 * character.c (Vunicode_category_table): New variable.
1276 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1277
1278 * chartab.c (optimize_sub_char_table): Perform more greedy
1279 optimization.
1280
b8ff72fa
SM
1281 * composite.h (enum composition_method):
1282 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1283 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1284 (Vcomposition_function_table): Extern it.
1285 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1286 (composition_gstring_put_cache, composition_gstring_from_id)
1287 (composition_gstring_p, composition_gstring_width)
1288 (composition_compute_stop_pos, composition_reseat_it)
1289 (composition_update_it, composition_adjust_point): Extern them.
1290 (Fcomposition_get_gstring): EXFUN it.
1291
1292 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1293 (Vcomposition_function_table)
1294 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1295 (gstring_hash_table, gstring_work, gstring_work_headers):
1296 New variables.
aac0c6e3
MR
1297 (gstring_lookup_cache, composition_gstring_put_cache)
1298 (composition_gstring_from_id, composition_gstring_p)
1299 (composition_gstring_width, fill_gstring_header)
1300 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1301 (composition_reseat_it, composition_update_it)
b8ff72fa 1302 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1303 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1304 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1305 Defsubr compostion_get_gstring.
1306
1307 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1308 cmp_id.
1309 (struct glyph_string): Delete the member gidx. New members
1310 cmp_id, cmp_from, and cmp_to.
1311 (enum it_method): Delete GET_FROM_COMPOSITION.
1312 (struct composition_it): New struct.
1313 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1314 Delete c, len, cmp_id, cmp_len in u.comp.
1315
1316 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1317 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1318 (enum lglyph_indices): Likewise.
b8ff72fa 1319 (font_range): Adjust extern.
aac0c6e3
MR
1320 (font_fill_lglyph_metrics): Extern it.
1321
1322 * font.c (QCf): New variable.
1323 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1324 (font_prepare_composition): Delete this function.
1325 (font_range): Type and arguments changed.
1326 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1327 (font_fill_lglyph_metrics): New function.
b8ff72fa 1328 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1329 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1330 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1331 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1332
1333 * fontset.h (font_for_char): Extern it.
1334
1335 * fontset.c (font_for_char): New function.
1336
1337 * ftfont.c: Include composite.h.
1338 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1339 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1340
1341 * indent.c: Include composite.h and dispextern.h.
1342 (check_composition): Delete this function.
1343 (scan_for_column): Handle composition by
1344 composition_compute_stop_pos, composition_reseat_it, and
1345 composition_update_it.
1346 (compute_motion): Likewise.
1347 (Fvertical_motion): Fix checking of composition.
1348
1349 * keyboard.c (adjust_point_for_property): Check composition by
1350 composition_adjust_point.
1351
b8ff72fa 1352 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1353 struct glyph_string.
1354
b8ff72fa
SM
1355 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1356 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1357 struct glyph.
1358 (produce_composite_glyph): Likewise.
1359
b8ff72fa
SM
1360 * w32term.c (x_draw_composite_glyph_string_foreground):
1361 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1362 (x_draw_glyph_string): Likewise.
1363
1364 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1365 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1366
1367 * xdisp.c: Include font.h.
1368 (it_props): Delete the entry for Qauto_composed.
1369 (init_iterator): Initialize it->cmp_it.id to -1.
1370 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1371 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1372 (handle_auto_composed_prop): Delete it.
1373 (handle_composition_prop): Handle only static composition.
1374 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1375 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1376 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1377 (pop_it): Likewise.
1378 (get_next_element): Delete next_element_from_composition.
1379 (CHAR_COMPOSED_P): New macro.
1380 (get_next_display_element): For automatic composition, get a face
1381 from the font in the glyph-string.
1382 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1383 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1384 (next_element_from_string): Check if the character at the current
1385 position is composed by CHAR_COMPOSED_P.
1386 (next_element_from_buffer): Likewise.
b8ff72fa 1387 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1388 it. Update it->cmp_it.
b8ff72fa
SM
1389 (dump_glyph): Adjust for the change of struct glyph.
1390 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1391 it and struct glyph. Don't handle automatic composition here.
1392 (fill_gstring_glyph_string): New function.
1393 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1394 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1395 (BUILD_GSTRING_GLYPH_STRING): New macro.
1396 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1397 automatic composition.
b8ff72fa 1398 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1399 struct glyph.
b8ff72fa 1400 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1401
b8ff72fa 1402 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1403 the change of struct glyph_string.
1404 (x_draw_glyph_string): Likewise.
1405
14062008-08-29 Glenn Morris <rgm@gnu.org>
1407
1408 * buffer.c (word-wrap): Doc fix.
1409 * xdisp.c (truncate-partial-width-windows): Doc fix.
1410 Increase default to 50.
1411
14122008-08-29 Chong Yidong <cyd@stupidchicken.com>
1413
1414 * xdisp.c (update_tool_bar_unwind): New function.
1415 (update_tool_bar): Temporarily set selected frame before building
1416 tool-bar items.
1417
14182008-08-28 Michael Albinus <michael.albinus@gmx.de>
1419
1420 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1421 snprintf, respectively.
1422 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1423
14242008-08-28 Chong Yidong <cyd@stupidchicken.com>
1425
1426 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1427 LDFLAGS to GNUstep CC invocation.
1428
14292008-08-27 Chong Yidong <cyd@stupidchicken.com>
1430
1431 * indent.c (Fvertical_motion): Revert last change. Handle the
1432 general case where we are moving forward, and PT spans multiple
1433 screen lines.
1434
1435 * eval.c (find_handler_clause): Temporarily increase
1436 max-lisp-eval-depth while printing the backtrace buffer, to
1437 guarantee that help-mode code can run.
1438
14392008-08-27 Eli Zaretskii <eliz@gnu.org>
1440
1441 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1442 colors under -rv.
1443 (IT_set_frame_parameters): Don't swap foreground and background
1444 colors if `(reverse . t)' is present in the frame properties.
1445 (internal_terminal_init): Call init_frame_faces only for the
1446 initial frame.
1447
14482008-08-27 Andreas Schwab <schwab@suse.de>
1449
1450 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1451
14522008-08-27 Andreas Schwab <schwab@suse.de>
1453
1454 * search.c (search_buffer): Set char_base to zero only at the end.
1455
14562008-08-27 Kenichi Handa <handa@m17n.org>
1457
b8ff72fa 1458 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1459
14602008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1461
1462 * xterm.c (x_term_init): Temporarily hide the partially
1463 initialized terminal while calling vendor-specific-keysyms.
1464
14652008-08-26 Eli Zaretskii <eliz@gnu.org>
1466
1467 * msdos.c (internal_terminal_init): Most initializations done only
1468 once, especially initial_screen_colors[] and termscript open.
1469
14702008-08-26 Chong Yidong <cyd@stupidchicken.com>
1471
1472 * eval.c (Fcondition_case): Doc fix.
1473
1474 * widgetprv.h (EmacsFramePart): Change font member to the new font
1475 struct.
1476
1477 * widget.c: Include character.h and font.h for XSETFONT.
1478 (setup_frame_gcs): Compute X font id from font struct, just once.
1479
14802008-08-26 Eli Zaretskii <eliz@gnu.org>
1481
1482 * term.c (get_named_tty): Fix last change.
1483
14842008-08-26 Chong Yidong <cyd@stupidchicken.com>
1485
1486 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1487 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1488
14892008-08-25 Eli Zaretskii <eliz@gnu.org>
1490
1491 * frame.c (do_switch_frame): Mark previously displayed frame as
1492 obscured for FRAME_MSDOS_P frames as well.
1493
14942008-08-24 Eli Zaretskii <eliz@gnu.org>
1495
1496 * frame.c (make_terminal_frame): Initialize f->terminal,
1497 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1498 Set the top frame to newly created frame.
1499 (Fmake_terminal_frame): Reuse the_only_display_info.
1500
1501 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1502 estimating available memory.
1503
b97439ce 15042008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1505
1506 * nsterm.m (ns_draw_window_cursor): Don't call
1507 NSDisableScreenUpdates and NSEnableScreenUpdates on
1508 non-NS_IMPL_COCOA systems.
1509
15102008-08-23 Andreas Schwab <schwab@suse.de>
1511
1512 * process.c (procfs_system_process_attributes): Fix use of
1513 uninitialized variables.
1514
15152008-08-23 Eli Zaretskii <eliz@gnu.org>
1516
1517 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1518
1519 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1520 calling tty-set-up-initial-frame-faces.
1521
b8ff72fa
SM
1522 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1523 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1524
1525 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1526 addition to output_termcap.
1527
1528 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1529
1530 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1531 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1532 highlight.
1533
1534 * process.c [!subprocesses]: Define QCname.
1535 (syms_of_process): Intern and staticpro it.
1536
1537 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1538 Adjust for changes in encoding/decoding routines.
1539 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1540 encode_coding and decode_coding.
1541
b8ff72fa 1542 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1543
1544 * dosfns.c: Include frame.h before termhooks.h.
1545 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1546 variable termscript.
1547
1548 * s/msdos.h (USER_FULL_NAME): Define.
1549 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1550
1551 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1552 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1553 pw->pw_gecos.
1554
1555 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1556 SELECTED_FRAME as additional (1st) argument.
1557 (tty_read_avail_input): Handle output_msdos_raw in
1558 addition to output_termcap.
1559
1560 * msdos.c: Include frame.h before termhooks.h.
1561 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1562 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1563 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1564 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1565 (IT_set_terminal_modes, IT_reset_terminal_modes)
1566 (IT_set_frame_parameters): Use tty->termscript instead of a global
1567 variable termscript.
1568 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1569 global variable terminal_coding. Don't refer to
1570 Vnonascii_translation_table.
1571 (internal_terminal_init): Set Vwindow_system in current_kboard.
1572 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1573 Announce date and time of session start, if termscript is open.
1574 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1575 term.c:init_tty). Open termscript only of not already open.
1576 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1577 here instead of dos_ttraw. Don't initialize display if this is an
1578 initial tty. Don't set FRAME_FONT.
1579 (Vwindow_system_version): Bump to 23.
1580 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1581 is available, set up mouse_position_hook.
1582 (dos_ttraw, IT_set_terminal_modes): If called with initial
1583 terminal, do nothing.
1584 (IT_set_frame_parameters): Handle the Qtty_type frame
1585 parameter by calling internal_terminal_init.
1586 (dos_set_window_size, show_mouse_face)
1587 (clear_mouse_face, IT_note_mode_line_highlight)
1588 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1589 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1590 (initialize_msdos_display): New function.
1591 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1592 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1593 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1594 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1595 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1596 (request_sigio, unrequest_sigio): Don't define, now defined on
1597 sysdep.c.
1598 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1599
1600 * term.c [MSDOS]: Include msdos.h.
1601 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1602 conditional to DOS_NT. Allow only one call to this function in a
1603 session. Don't allocate a new struct tty_display_info; instead,
1604 reuse the_only_display_info. Call get_tty_size to get screen
1605 dimensions. Call init_baud_rate to set bad_rate.
1606 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1607 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1608 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1609 (get_tty_terminal, get_named_tty, Ftty_type)
1610 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1611 output_termcap.
b8ff72fa
SM
1612 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1613 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1614 only when subprocesses are supported
1615
1616 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1617 f->output_data.x.
1618 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1619 terminal devices.
1620
1621 * msdos.h Remove definition of struct x_display_info and struct
1622 x_output.
1623 (FRAME_FONT): Use output_data.tty.
1624 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1625 (struct x_display_info): Rename from display_info. Update all users in
1626 msdos.c.
aac0c6e3 1627 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1628 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1629 (dos_ttraw): Update prototype.
1630
1631 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1632 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1633
16342008-08-23 Jason Rumney <jasonr@gnu.org>
1635
1636 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1637 (fn_TIFFSetDirectory): New library function used.
1638 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1639 (tiff_load): Use :index to select among multiple images. Set count
1640 property when multiple images exist.
1641 (gif_format): Use :index, not :image.
1642
16432008-08-23 Chong Yidong <cyd@stupidchicken.com>
1644
1645 * xdisp.c (try_scrolling): Check INT_MAX instead of
1646 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1647 to obtain INT_MAX.
1648
16492008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1650
1651 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1652
16532008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1654
1655 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1656 GNUstep library location.
1657
16582008-08-21 Chong Yidong <cyd@stupidchicken.com>
1659
1660 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1661 before using it.
1662
1663 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1664
16652008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1666
1667 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1668 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1669 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1670 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1671 (EmacsApp-cursor_blink_handler): Remove declaration.
1672 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1673 match 01 Feb 2008 changes in xterm.c.
1674 (ns_read_socket): Add cast to avoid warning.
1675 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1676 GNUstep.
1677
16782008-08-20 Chong Yidong <cyd@stupidchicken.com>
1679
1680 * xselect.c (x_get_foreign_selection): Return nil if desired
1681 selection could not be obtained, instead of signalling an error.
1682
16832008-08-20 David Reitter <david.reitter@gmail.com>
1684
1685 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1686 * nsterm.m: Remove ns-specific code for cursor blinking.
1687 (ns_draw_window_cursor): Clear cursor properly rather than
1688 redrawing the area. Respect width of bar cursors.
1689 These changes enable the use of generic blink-cursor-mode and
1690 generic cursor types in NS and support smooth cursor movements (do
1691 not blink off after command).
1692 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1693 Nextstep, too.
1694
16952008-08-19 Kenichi Handa <handa@m17n.org>
1696
1697 * font.c (Vfont_log_deferred): New variable.
1698 (font_add_log): Check Vfont_log_deferred.
1699 (font_deferred_log): New function.
1700
1701 * font.h (font_deferred_log): Extern it.
1702
1703 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1704 for sorting.
1705 (face_for_char): Use deferred log.
1706
17072008-08-18 Kenichi Handa <handa@m17n.org>
1708
1709 * fontset.c (face_for_char): Add font log.
1710
1711 * font.c (font_add_log): Add the font properties :script, :lang,
1712 and :otf in the log.
1713
17142008-08-17 Chong Yidong <cyd@stupidchicken.com>
1715
1716 * xdisp.c: Remove dead code.
1717 (handle_invisible_prop, next_overlay_string): Defer call to
1718 setup_for_ellipsis.
1719 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1720
17212008-08-15 Chong Yidong <cyd@stupidchicken.com>
1722
1723 * xfaces.c (lookup_derived_face): Properly handle possible zero
1724 return value of get_lface_attributes.
1725 (merge_faces): Don't tell lookup_derived_face to signal an error
1726 if face is not found.
1727
1728 * dired.c (Fdirectory_files): Doc fix.
1729
1730 * process.c (make_process): Initialize kill_without_query struct
1731 member.
1732
17332008-08-15 Eli Zaretskii <eliz@gnu.org>
1734
1735 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1736 Alternative calculation of totphys for Visual Studio 6.
1737
1738 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1739
1740 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1741 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1742 All users changed.
1743 (stat): Only root directory passed to GetDriveType. Allow RAM
1744 disk as well as local fixed disk when w32-get-true-file-attributes
1745 is set to `local'.
1746 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1747 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1748 (w32_cached_id, w32_add_to_cache): New functions.
1749 (get_name_and_id): Look account names in the cache before calling
1750 lookup_account_sid.
1751 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1752 New initialization flags.
1753 (globals_of_w32): Initialize them to zero.
1754 (w32_system_process_attributes): Use w32_cached_id and
1755 w32_add_to_cache.
1756
17572008-08-14 Lawrence Mitchell <wence@gmx.li>
1758
1759 * lread.c (Fread_char, Fread_char_exclusive): If no character
1760 event is read before timeout is reached, return nil, rather than
1761 converting to a number.
1762
17632008-08-14 Chong Yidong <cyd@stupidchicken.com>
1764
1765 * fns.c (use_dialog_box): Doc fix.
1766
1767 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1768 on OS X.
1769
17702008-08-13 Chong Yidong <cyd@stupidchicken.com>
1771
1772 * frame.c (Qns_parse_geometry): New var.
1773 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1774
17752008-08-11 Chong Yidong <cyd@stupidchicken.com>
1776
1777 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1778 space character in calculating tabs.
1779
17802008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1781
1782 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1783
17842008-08-10 Glenn Morris <rgm@gnu.org>
1785
1786 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1787 silence gcc "limited range of data type" warnings in some
1788 make_fixnum_or_float calls.
1789
17902008-08-09 Eli Zaretskii <eliz@gnu.org>
1791
1792 * w32.c (w32_system_process_attributes): If the process does not
1793 exist, return nil.
1794
1795 * w32.c: Include thelp32.h, psapi.h and coding.h.
1796 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1797 declarations.
1798 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1799 (Process32Next_Proc): New typedefs.
1800 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1801 (g_b_init_process32_next, g_b_init_open_thread_token)
1802 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1803 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1804 (g_b_init_get_process_working_set_size)
1805 (g_b_init_global_memory_status_ex): New static variables.
1806 (globals_of_w32): Initialize them.
1807 (create_toolhelp32_snapshot, process32_first, process32_next)
1808 (open_thread_token, impersonate_self, revert_to_self)
1809 (get_process_memory_info, get_process_working_set_size)
1810 (global_memory_status, global_memory_status_ex): New wrapper
1811 functions.
1812 (w32_list_system_processes, w32_system_process_attributes)
1813 (enable_privilege, restore_privilege, ltime, process_times):
1814 New functions.
1815 (convert_time_raw): New function.
1816 (convert_time): Remove conversion of FILETIME into time in 100
1817 nsec units, call convert_time_raw instead.
1818
1819 * process.h (w32_list_system_processes, w32_system_process_attributes):
1820 Add prototypes.
1821 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1822 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1823 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1824 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1825
1826 * process.c (Fsystem_process_attributes): Doc fix.
1827
18282008-08-08 Chong Yidong <cyd@stupidchicken.com>
1829
1830 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1831 a continued multi-char glyph; if so, advance to the actual glyph.
1832
18332008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1834
1835 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1836
1837 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1838 (.m.o): Use it.
1839 * config.in: Regenerate.
1840
18412008-08-07 Chong Yidong <cyd@stupidchicken.com>
1842
1843 * xdisp.c (redisplay_window): Revert last change.
1844 (try_window): Check bottom scroll margin too.
1845
18462008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1847
1848 * config.in: Regenerate.
1849
1850 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1851 -list-load-path-shadows'.
1852 (nsgui.h): Reduce number of things depending on it.
1853
18542008-08-06 Chong Yidong <cyd@stupidchicken.com>
1855
1856 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1857 instead of window-end which does the wrong thing at eob.
1858 (try_cursor_movement): Minor optimization.
1859 (redisplay_window): If scroll margin is defined, don't assume
1860 window doesn't need scrolling.
1861
18622008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1863
1864 * config.in: Regenerate.
1865
1866 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1867 (mostlyclean): Don't delete *.d under NS.
1868
1869 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1870
18712008-08-06 Kenichi Handa <handa@m17n.org>
1872
1873 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1874
18752008-08-06 Andreas Schwab <schwab@suse.de>
1876
1877 * config.in: Regenerate.
1878
18792008-08-05 Chong Yidong <cyd@stupidchicken.com>
1880
1881 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1882 forcing a window start.
1883
1884 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1885 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1886
18872008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1888
1889 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1890 argument.
1891
18922008-08-05 Juanma Barranquero <lekktu@gmail.com>
1893
1894 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1895 <scroll-down-aggressively, before-change-functions>:
1896 <after-change-functions>: Reflow docstrings.
1897
18982008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1899 Ken Raeburn <raeburn@gnu.org>
1900
1901 Dock menu customization, based on a patch by Ken Raeburn, plus some
1902 other fixes.
1903 * nsmenu.m (dockMenu): New variable.
1904 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1905
1906 * nsterm.h (dockMenu): Declare.
1907
1908 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1909 (ns_term_init): Initialize dockMenu.
1910 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1911 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1912 left.
1913
1914 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1915
19162008-08-04 Chong Yidong <cyd@stupidchicken.com>
1917
1918 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1919
1920 * config.in: Regenerate.
1921
19222008-08-04 Seiji Zenitani <zenitani@mac.com>
1923
1924 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1925
19262008-08-04 Chong Yidong <cyd@stupidchicken.com>
1927
1928 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1929
19302008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1931
1932 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1933
1934 * keyboard.h: Comment an #endif.
1935
1936 * lisp.h (have_menus_p): Adjust comment.
1937
1938 * menu.c (find_and_return_menu_selection): Fix comparison with
1939 client_data.
1940
1941 * nsmenu.m (popup_activated_flag): New variable.
1942 (popup_activated): New function.
1943 (menu-or-popup-active-p): New exported lisp definition.
1944 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1945 when popup done.
1946 (ns_popup_dialog): Set popup_activated_flag.
1947
1948 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1949 version for GNUstep (handled by conditional typedef in nsterm.m).
1950 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1951 in rgb.txt).
1952
1953 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1954
1955 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1956
1957 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1958
1959 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1960 shortcircuit if popup_activated like GTK and X toolkit.
1961
1962 * m/inter386.h: Change DARWIN to DARWIN_OS.
1963
1964 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1965 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1966 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1967 comment on NO_SOCK_SIGIO.
1968
19692008-08-03 Chong Yidong <cyd@stupidchicken.com>
1970
1971 * nsterm.m (windowDidResize): Remove stopModal call.
1972
19732008-08-03 Andreas Schwab <schwab@suse.de>
1974
1975 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1976 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1977
19782008-08-02 Chong Yidong <cyd@stupidchicken.com>
1979
1980 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1981 Don't use uninitialized pointer variable when using getrlimit.
1982
19832008-08-02 Jason Rumney <jasonr@gnu.org>
1984
1985 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1986
19872008-08-02 Eli Zaretskii <eliz@gnu.org>
1988
1989 * alloc.c (NSTATICS): Bump to 0x640.
1990
1991 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1992
1993 * lisp.h: Add prototype for directory_files_internal.
1994
1995 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1996 New functions.
1997 (syms_of_process): Defsubr them. Add initializations for various
1998 Q* symbols used in procfs_system_process_attributes.
1999 (procfs_list_system_processes, procfs_system_process_attributes)
2000 [HAVE_PROCFS]: New functions.
2001 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2002 (procfs_get_total_memory): New functions.
2003
20042008-08-01 Juanma Barranquero <lekktu@gmail.com>
2005
2006 * xfaces.c (Fx_load_color_file): Fix previous change;
2007 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2008
20092008-08-01 Michael Albinus <michael.albinus@gmx.de>
2010
2011 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2012
20132008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2014
2015 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2016
20172008-08-01 Chong Yidong <cyd@stupidchicken.com>
2018
2019 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2020
2021 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2022 define NSApplicationDelegateReplySuccess.
2023 (EmacsView -converstationIdentifier): Use long instead of
2024 NSInteger for GNUstep, since it doesn't have NSInteger.
2025
2026 * xmenu.c: Revert last change.
2027
2028 * keyboard.h: Fix last change.
2029
20302008-08-01 Juanma Barranquero <lekktu@gmail.com>
2031
2032 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2033 on Windows.
2034
20352008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2036
2037 Warning clearing and clean-up in NS port.
2038 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2039 Add prototypes.
2040 * nsgui.h (FACE_DEFAULT): Remove, unused.
2041 (XGCValues): Change colors to unsigned long.
2042 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2043 nsterm.m.
2044 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2045 (ns_list_fonts): Remove, unused.
2046 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2047 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2048 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2049 (nsfont_draw): Compare face colors to 0, not nil.
2050 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2051 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2052 (-addSubmenuWithTitle:): Use NSMenuItem class.
2053 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2054 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2055 (ns_clip_to_row): Make gc arg a BOOL.
2056 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2057 ns_clip_to_row() call.
2058 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2059 used). Cast FRAME_FONT assignments.
2060 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2061 (ns_string_to_lispmod): Change arg to const char.
2062 (ns_term_init): Use NSMenuItem class.
2063 (EmacsApp -openFile:): Move to different section of file.
2064 (EmacsApp -application:openFiles:): Don't return a value, call
2065 -replyToOpenOrPrint:.
2066 (EmacsView -keyDown:): Fix up cast.
2067 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2068 (EmacsView -menuDown:): Cast tag in call to
2069 find_and_call_menu_selection().
2070 (ns_list_fonts): Remove, unused.
2071 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2072 (ns_fontname_to_xlfd): Make static.
2073 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2074 Remove prototypes (now in keyboard.h).
2075 (next_menubar_widget_id): Remove, unused.
2076 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2077 Remove prototypes (now in keyboard.h).
2078 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2079
20802008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2081
2082 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2083 (floatfns.o): Depend on syssignal.h.
2084 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2085
2086 * systty.h: Fix previous change that removed BSD_TERMIOS.
2087 Add comments to #ifdefs.
2088
20892008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2090
2091 * w32fns.c (w32-load-color-file): Remove.
2092 (x-open-connection): Use renamed Fx_load_color_file.
2093 * xfaces.c (x-load-color-file): Add.
2094 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2095 Emacs.clr.
2096 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2097
20982008-07-31 Michael Albinus <michael.albinus@gmx.de>
2099
2100 * dbusbind.c (Fdbus_call_method_asynchronously)
2101 (Fdbus_method_error_internal): New defuns.
2102 (xd_read_message): Handle also reply messages.
2103 (Vdbus_registered_functions_table): Extend docstring.
2104
21052008-07-31 Juanma Barranquero <lekktu@gmail.com>
2106
2107 * keyboard.c (gobble_input): Fix previous change.
2108
21092008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2110
2111 * bitmaps/README:
2112 * xfns.c:
2113 * termcap.c:
2114 * term.c:
2115 * syswait.h:
2116 * systty.h:
2117 * systime.h:
2118 * syssignal.h:
2119 * sysdep.c:
2120 * process.h:
2121 * process.c:
2122 * print.c:
2123 * ndir.h:
2124 * lread.c:
2125 * keyboard.c:
2126 * getpagesize.h:
2127 * floatfns.c:
2128 * fileio.c:
2129 * emacs.c:
2130 * doc.c:
2131 * dispnew.c:
2132 * dired.c:
2133 * data.c:
2134 * callproc.c:
2135 * buffer.c:
2136 * README:
2137 * Makefile.in:
2138 * s/template.h:
2139 * s/msdos.h:
2140 * m/vax.h: Remove VMS support.
2141 * s/vms.h:
2142 * vlimit.h:
2143 * uaf.h:
2144 * temacs.opt:
2145 * param.h:
2146 * ioctl.h: Remove file.
2147
21482008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2149
2150 * s/ms-w32.h (MULTI_KBOARD): Remove.
2151 * xterm.c:
2152 * xselect.c:
2153 * xfns.c:
2154 * window.c:
2155 * w32term.c:
2156 * w32fns.c:
2157 * terminal.c:
2158 * termhooks.h:
2159 * term.c:
2160 * sysdep.c:
2161 * keyboard.h:
2162 * keyboard.c:
2163 * frame.h:
2164 * frame.c:
2165 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2166 * config.in: Regenerate.
2167
21682008-07-30 Jason Rumney <jasonr@gnu.org>
2169
2170 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2171
2172 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2173 (w32font_open_internal): Get unicode version of textmetrics.
2174 Don't enable or disable glyph indices here.
2175 (w32font_open): Disable use of glyph indices.
2176
2177 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2178
21792008-07-30 Chong Yidong <cyd@stupidchicken.com>
2180
2181 * minibuf.c (Vread_buffer_function): Doc fix.
2182
21832008-07-30 John Paul Wallington <jpw@pobox.com>
2184
2185 * minibuf.c (read_buffer_completion_ignore_case): New var.
2186 (Fread_buffer): Use it.
2187
21882008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2189
2190 * systty.h (sensemode): Remove empty #if. Remove reference to
2191 BSD_TERMIOS, unused.
2192
2193 * sysdep.c: Remove reference to DGUX.
2194 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2195
2196 * config.in: Regenerate.
2197
21982008-07-30 Jason Rumney <jasonr@gnu.org>
2199
2200 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2201
22022008-07-29 Jason Rumney <jasonr@gnu.org>
2203
2204 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2205 is populated.
2206 (uniscribe_encode_char): Always use uniscribe.
2207 Avoid using context if cache is populated.
2208
22092008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2210
2211 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2212 open menu.
2213
2214 * gtkutil.c (menu_nav_ended): Remove.
2215 (create_menus): Remove signal connect for menu_nav_ended.
2216
22172008-07-28 Chong Yidong <cyd@stupidchicken.com>
2218
2219 * xdisp.c (redisplay_window): Check return value of
2220 compute_window_start_on_continuation_line before forcing a window
2221 start.
2222
22232008-07-28 Jason Rumney <jasonr@gnu.org>
2224
2225 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2226
2227 * w32term.c (w32_enable_unicode_output, cleartype_active):
2228 Remove obsolete display options.
2229 (x_draw_glyph_string_background): Don't use old cleartype_active
2230 workaround.
2231 (w32_initialize): Remove cleartype_active initialization.
2232 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2233
22342008-07-28 Andreas Schwab <schwab@suse.de>
2235
2236 * lisp.h (init_weak_hash_tables, syms_of_font)
2237 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2238 (remove_hash_entry): Don't declare.
2239 * eval.c (maybe_call_debugger): Make static and move before use.
2240 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2241 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2242 * xterm.h (x_set_frame_alpha): Declare.
2243
22442008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2245
2246 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2247 (create_menus): Connect selection-done to menu_nav_ended.
2248
22492008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2250
2251 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2252 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2253 parameter with read of 'alpha' one.
2254 (Qns_frame_parameter): Remove.
2255 * nsselection.m (selection-coding-system)
2256 (next-selection-coding-system, Vselection_coding_system)
2257 (Vnext_selection_coding_system): Drop.
2258
22592008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2260
2261 * nsfns.m (do-applescript, do_applescript): Rename to
2262 ns-do-applescript, ns_do_applescript, and move within file.
2263
22642008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2265
2266 Remove support for Mac Carbon.
2267 * mactoolbox.c:
2268 * macterm.h:
2269 * macterm.c:
2270 * macselect.c:
2271 * macmenu.c:
2272 * macgui.h:
2273 * macfns.c:
2274 * mac.c: Remove file.
2275 * s/darwin.h:
2276 * m/intel386.h:
2277 * xfaces.c:
2278 * xdisp.c:
2279 * window.c:
2280 * tparam.c:
2281 * termhooks.h:
2282 * termcap.c:
2283 * term.c:
2284 * syssignal.h:
2285 * sysselect.h:
2286 * sysdep.c:
2287 * process.c:
2288 * lread.c:
2289 * lisp.h:
2290 * keyboard.c:
2291 * image.c:
2292 * fringe.c:
2293 * frame.h:
2294 * frame.c:
2295 * fontset.c:
2296 * font.h:
2297 * font.c:
2298 * fns.c:
2299 * fileio.c:
2300 * emacs.c:
2301 * dispnew.c:
2302 * dispextern.h:
2303 * config.in:
2304 * atimer.c:
2305 * Makefile.in: Remove code for Carbon
2306
23072008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2308
2309 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2310
23112008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2312
2313 * macterm.h (kCGBitmapByteOrder32Host): New define for
2314 non-universal SDKs.
2315
2316 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2317 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2318
2319 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2320 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2321
23222008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2323
2324 * w32inevt.c: Include dispextern.h.
2325
23262008-07-26 Andreas Schwab <schwab@suse.de>
2327
2328 * print.c (print_object): Fix off-by-one in last change.
2329
23302008-07-25 Juanma Barranquero <lekktu@gmail.com>
2331
2332 * term.c (syms_of_term): Don't initialize default_orig_pair,
2333 default_set_foreground and default_set_background on Windows.
2334
23352008-07-25 Jason Rumney <jasonr@gnu.org>
2336
2337 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2338 ScriptItemize. Clean up return value checking. Remove unused
2339 variables.
2340 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2341 shaping engine.
2342
2343 * w32font.c (w32font_has_char): Handle the case where we can't
2344 determine the script for a character.
2345
23462008-07-25 Chong Yidong <cyd@stupidchicken.com>
2347
2348 * term.c (syms_of_term): Initialize default_orig_pair,
2349 default_set_foreground, and default_set_background.
2350
2351 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2352 clash (bug#86).
2353 (getloadavg): Callers changed.
2354
2355 * image.c (svg_load_image): Fix last change.
2356 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2357 image size is valid. Use g_object_unref instead of deprecated
2358 rsvg_handle_free to free rsvg handle.
2359 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2360
23612008-07-25 Jason Rumney <jasonr@gnu.org>
2362
2363 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2364 surrogates before looking up glyph index.
2365 (w32font_text_extents): Encode as surrogates if falling back to
2366 functions that need UTF-16 wide chars.
2367
2368 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2369 BMP as surrogates before looking up glyph index.
2370
23712008-07-25 Chong Yidong <cyd@stupidchicken.com>
2372
2373 * image.c (svg_load_image): Check for failure in return value of
2374 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2375
23762008-07-25 Jason Rumney <jasonr@gnu.org>
2377
2378 * w32font.c (Fx_select_font): Reverse sense of second arg.
2379
23802008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2381
2382 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2383 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2384
2385 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2386 (PURESIZE): Use it.
2387
23882008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2389
2390 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2391 * m/alpha.h (TEXT_END):
2392 * m/ibmrs6000.h (TEXT_END):
2393 * m/macppc.h (TEXT_END):
2394 * s/darwin.h (TEXT_END):
2395 * s/msdos.h (TEXT_END): Remove, unused.
2396 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2397 * s/cygwin.h: Remove comment.
2398
2399 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2400 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2401 * m/intel386.h (DOT_GLOBAL_START):
2402 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2403 (USG): Remove, file not used on USG platforms.
2404
2405 * Makefile.in (HAVE_X11): Remove empty #else.
2406
24072008-07-24 Andreas Schwab <schwab@suse.de>
2408
2409 * fileio.c (Finsert_file_contents): Properly adjust undo list
2410 after format conversion.
2411
24122008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2413
2414 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2415 (menu_nav_ended): Remove.
2416 (create_menus): Remove signal connect for menu_nav_ended.
2417 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2418 create_menus.
2419 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2420
24212008-07-23 Jason Rumney <jasonr@gnu.org>
2422
2423 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2424 with opened font.
2425 (w32font_open): Set font type to gdi.
2426
2427 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2428
24292008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2430
2431 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2432 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2433 defines it.
2434 * unexec.c (ADDR_CORRECT): Define unconditionally.
2435
2436 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2437
2438 * unexec.c: Remove code depending on !COFF and USG, the file is
2439 not used for such systems.
2440
2441 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2442 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2443 (LD_SWITCH_SYSTEM_1): Remove, update users.
2444
2445 * s/darwin.h (DATA_END):
2446 * m/intel386.h (DATA_END):
2447 * m/ibmrs6000.h (DATA_END):
2448 * m/alpha.h (DATA_END): Remove, unused.
2449
2450 * config.in: Regenerate.
2451 * s/ms-w32.h (subprocesses): Define unconditionally.
2452 * s/template.h (subprocesses): Update comment.
2453 * s/vms.h (subprocesses):
2454 * s/usg5-4.h (subprocesses):
2455 * s/hpux10-20.h (subprocesses):
2456 * s/gnu-linux.h (subprocesses):
2457 * s/cygwin.h (subprocesses):
2458 * s/bsd-common.h (subprocesses):
2459 * s/aix4-2.h (subprocesses):
2460 * s/darwin.h (subprocesses): Do not define, defined by default now.
2461
2462 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2463 Remove all references.
2464 (temacs): Add GNUstep specific ld flags.
2465
2466 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2467 similarly to what X does.
2468
24692008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2470
2471 * nsfns.m (x-list-fonts): Remove.
2472 (syms_of_nsfns): Drop the x-list-fonts declaration.
2473 * nsterm.m: Get rid of remaining "//" comments.
2474
24752008-07-22 Chong Yidong <cyd@stupidchicken.com>
2476
2477 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2478
2479 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2480 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2481 (Fns_own_selection_internal, Fx_disown_selection_internal)
2482 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2483
2484 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2485 ... */' style of docstrings. Doc fixes.
2486
24872008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2488
2489 * terminfo.c (UP, BC, PC): Undo previous change.
2490
2491 * nsfns.m: Rename ns prefixed functions/variables to the
2492 corresponding x versions. Update references.
2493
24942008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2495
2496 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2497
24982008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2499
2500 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2501 Remove forwarding functions.
2502 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2503 non-static.
2504 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2505 non-static.
2506 (ns_frame_parm_handlers): Use the new names.
2507 (syms_of_nsfns): Move to the end of file.
2508
2509 * nsterm.m (syms_of_nsterm): Move to the end of file.
2510
2511 * dispnew.c (init_display): Remove code for X10.
2512
25132008-07-22 Jason Rumney <jasonr@gnu.org>
2514
2515 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2516 bare drive.
2517
25182008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2519
2520 * nsterm.m (syms_of_nsterm): Remove debugging println.
2521
25222008-07-22 David Reitter <david.reitter@gmail.com>
2523
2524 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2525 Carbon implementation of the same functionality: execute arbitrary
2526 AppleScript code.
2527
25282008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2529
2530 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2531 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2532 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2533 (Fx_display_mm_height, Fx_display_mm_width)
2534 (Fx_display_backing_store, Fx_display_visual_class)
2535 (Fx_display_save_under, Fx_open_connection)
2536 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2537 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2538 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2539 (Fx_display_pixel_width, Fx_display_pixel_height)
2540 (Fx_display_usable_bounds, Fx_display_planes)
2541 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2542 ... */' style of docstrings.
2543
25442008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2545
2546 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2547 on this platform.
2548 (mips):
2549 * m/iris4d.h (mips): Do not define.
2550 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2551
2552 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2553
2554 * image.c:
2555 * nsfns.m:
2556 * nsselect.m:
2557 * nsterm.h:
2558 * nsterm.m: Rename ns prefixed functions/variables to the
2559 corresponding x versions. Update references.
2560
2561 * m/ibms390x.h (NO_REMAP): Do not undefine.
2562
2563 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2564
25652008-07-21 Chong Yidong <cyd@stupidchicken.com>
2566
2567 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2568 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2569 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2570 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2571 (Fns_display_mm_height, Fns_display_mm_width)
2572 (Fns_display_backing_store, Fns_display_visual_class)
2573 (Fns_display_save_under, Fns_open_connection)
2574 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2575 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2576 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2577 (Fns_display_pixel_width, Fns_display_pixel_height)
2578 (Fns_display_usable_bounds, Fx_display_planes)
2579 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2580
25812008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2582
2583 * print.c (print_object): Check print_depth before searching for
2584 circularities.
2585
25862008-07-21 Michael Albinus <michael.albinus@gmx.de>
2587
2588 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2589 only sprintf.
2590
25912008-07-21 Kenichi Handa <handa@m17n.org>
2592
2593 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2594
25952008-07-20 Andreas Schwab <schwab@suse.de>
2596
2597 * syntax.c (find_start_pos, find_start_value)
2598 (find_start_value_byte, find_start_begv, find_defun_start)
2599 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2600
26012008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2602
2603 * s/sol2-3.h: Insert contents of s/sol2.h.
2604 (LD_SWITCH_SYSTEM): Remove redundant definition.
2605 * s/sol2.h: Remove, unused.
2606
26072008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2608
2609 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2610
26112008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2612
2613 * Makefile.in (ns_appdir): Fix typo in find command.
2614
26152008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2616
2617 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2618
2619 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2620 added not supported anymore.
2621
2622 * s/usg5-4-2.h (LIBS_SYSTEM):
2623 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2624
2625 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2626 * s/lynxos.h (GETPGRP_NO_ARG):
2627 * s/hpux10-20.h (NO_SIOCTL_H):
2628 * s/gnu.h (GETPGRP_NO_ARG):
2629 * s/gnu-linux.h (NO_SIOCTL_H):
2630 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2631 * s/cygwin.h (GETPGRP_NO_ARG):
2632 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2633 (C_DEBUG_SWITCH): Remove duplicate definition.
2634
2635 * m/ibms390.h: Remove boilerplate comments.
2636
2637 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2638
2639 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2640 (wait_reading_process_output): Remove code for SunOS, platform not
2641 supported anymore. Use SOLARIS2 instead of sun.
2642
26432008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2644
2645 * font.c (font_open_by_name): Under NS, default lface height to zero.
2646 (font_open_for_lface): Under NS, set size based on frame fontsize.
2647 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2648 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2649
26502008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2651
2652 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2653 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2654 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2655 YES/NO.
2656 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2657 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2658 * Makefile.in (clean): Clear out build destination dir.
2659
26602008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2661
2662 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2663 xterm, xselect.
2664 * lisp.h: Remove declaration of hash_remove.
2665 * nsgui.h: Remove redefinitions of hash_remove.
2666 * fns.c (hash_remove): Rename to hash_remove_from_table.
2667
26682008-07-19 Seiji Zenitani <zenitani@mac.com>
2669
2670 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2671 strdup() the family UTF8String before modifying it.
2672
26732008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2674
2675 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2676 NS_FACE_BACKGROUND with 0 instead of nil.
2677 * nsfont.m (nsfont_draw): Same.
2678
26792008-07-19 Chong Yidong <cyd@stupidchicken.com>
2680
2681 * nsfns.m (ns_set_background_color): Fix crash.
2682
26832008-07-18 Chong Yidong <cyd@stupidchicken.com>
2684
2685 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2686
26872008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2688
2689 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2690
26912008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2692
2693 * gtkutil.c: Include <config.h> instead of "config.h".
2694
2695 * lisp.h (Foverlay_buffer): Add EXFUN.
2696
2697 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2698 child process to complete child_setup. Undo 2005-09-21 change.
2699
2700 * s/darwin.h: Mention setsid after vfork.
2701
27022008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2703
2704 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2705 Depend on macgui.h.
2706
2707 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2708 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2709
2710 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2711 and f19.
2712 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2713
2714 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2715 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2716 Remove enumerators.
2717
2718 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2719 Check if FACE_FROM_ID returns NULL.
2720
27212008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2722
2723 * w32inevt.c (change_frame_size): Remove extern declaration.
2724 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2725 change_frame_size.
2726
27272008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2728
2729 * getloadavg.c: Revert last change (2008-07-15).
2730
27312008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2732
2733 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2734 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2735 from configure.
2736
27372008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2738
2739 * s/sol2.h:
2740 * s/sol2-4.h: Reorganize conditionals.
2741
2742 * ecrt0.c: Remove code depending on m68000, not used anymore.
2743
2744 * fns.c (hash_remove): Make static.
2745 * lisp.h (hash_remove): Don't prototype.
2746
2747 * m/ibmrs6000.h:
2748 * m/ibms390x.h:
2749 * m/macppc.h: Remove boilerplate comments.
2750
2751 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2752 Solaris, which does not need them.
2753
2754 * m/vax.h: Remove comments about unsupported systems.
2755
2756 * s/darwin.h: Reorganize ifdefs.
2757
27582008-07-17 Andreas Schwab <schwab@suse.de>
2759
2760 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2761
27622008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2763
2764 Use SDATA. Follow coding convention of placing operators at
2765 beginning of next line rather than end of previous line, and placing
2766 spaces around infix operators.
2767
2768 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2769 in case it was defined already.
2770 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2771 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2772 ns_default.
2773 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2774 Lisp_Objects.
2775 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2776 (ns_defined_color, ns_color_to_lisp): Declare.
2777 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2778 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2779 it's accepted even with USE_LISP_UNION_TYPE.
2780 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2781 (update_frame_tool_bar): Remove apparently obsolete tests for
2782 non-integerness of f->tool_bar_lines.
2783 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2784 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2785 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2786 (nsfont_open): Don't confuse NULL for Qnil.
2787 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2788 * menu.h (find_and_call_menu_selection):
2789 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2790 (find_and_return_menu_selection): Always return something.
2791 * frame.h: Include dispextern.h for Display_Info.
2792 (display_x_get_resource): Declare.
2793
27942008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2795
2796 * syntax.c: Remove stdio.h include accidentally introduced in
2797 Emacs.app commit.
2798 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2799 NS_IMPL_COCOA.
2800 * keyboard.c (handle_async_input, input_available_signal): Remove
2801 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2802
28032008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2804
2805 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2806 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2807 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2808 Use SDATA.
2809
2810 * keymap.c: Remove all NS-specific code.
2811 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2812 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2813 where_is_preferred_modifier, return a different value depending on how
2814 preferred is the binding.
2815 (where_is_internal): Adjust accordingly.
2816 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2817 Adjust to new preferred_sequence_p.
2818 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2819 * keyboard.c (parse_solitary_modifier): Not static any more.
2820 * keyboard.h (parse_solitary_modifier): Declare.
2821
28222008-07-16 Andreas Schwab <schwab@suse.de>
2823
2824 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2825 of easymenu.
2826
28272008-07-16 Chong Yidong <cyd@stupidchicken.com>
2828
2829 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2830 that we don't move off the line.
2831
28322008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2833
2834 * keyboard.c (Qsuper): Remove.
2835 (parse_menu_item): Don't call where_is_internal specially for NS.
2836
28372008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2838
2839 * s/gnu-linux.h: Remove boilerplate comments.
2840
2841 * m/alpha.h (__ELF__): Consolidate conditions.
2842
2843 * m/m68k.h (linux): Use GNU_LINUX instead.
2844 Remove boilerplate comments.
2845
2846 * m/intel386.h: Undo refactoring from previous change.
2847 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2848 too, remove dead code.
2849 (linux): Use GNU_LINUX instead.
2850
28512008-07-16 Jason Rumney <jasonr@gnu.org>
2852
2853 * w32gui.h: Repeat 26 June changes lost by last change.
2854
28552008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2856
2857 * systty.h: Remove code for Aix on 386, unsupported platform.
2858
2859 * s/ms-w32.h: Remove boilerplate comments.
2860 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2861
2862 * s/gnu-linux.h (TERM): Remove support.
2863 (HAVE_SYSVIPC): Remove, unused.
2864 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2865 for this system.
2866
2867 * process.c: Remove support for IRIS, unused.
2868 Remove support for TERM, not relevant anymore.
2869
2870 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2871 used with the definition.
2872
2873 * s/aix4-2.h (static): Do not undef.
2874
2875 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2876 only used on Aix.
2877 (HAVE_SYSVIPC): Remove, unused.
2878
2879 * m/hp800.h (CANNOT_DUMP): Do not undef.
2880
2881 * m/alpha.h: Fix comment.
2882
2883 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2884 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2885 used by this configuration.
2886 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2887 * unexec.c: Remove code depending on HPUX and
2888 USG_SHARED_LIBRARIES, not used with this file. Remove code
2889 depending on IRIS, unused. Remove if 0-ed code.
2890
2891 * s/template.h: Remove comments about static.
2892
2893 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2894 Remove if 0-ed code.
2895 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2896 were the same as the default.
2897 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2898 Remove boilerplate comments.
2899 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2900 (HAVE_SYSVIPC): Remove, unused.
2901 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2902
2903 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2904 Remove boilerplate comments.
2905 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2906 Remove boilerplate comments.
2907 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2908 Remove boilerplate comments.
2909 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2910
2911 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2912 USG systems which do not use DATA_SEG_BITS.
2913 Refactor code. Remove boilerplate comments.
2914
2915 * m/ibms390.h:
2916 * m/m68k.h:
2917 * s/bsd-common.h:
2918 * s/cygwin.h:
2919 * s/darwin.h:
2920 * s/freebsd.h:
2921 * s/gnu.h:
2922 * s/msdos.h: Remove boilerplate comments.
2923
2924 * m/iris4d.h: Remove boilerplate comments and code for systems that
2925 do not use this file.
2926 (IRIS_4D): Remove, unused.
2927
2928 * m/mips.h: Remove boilerplate comments and code for systems that
2929 do not use this file.
2930 (SIGN_EXTEND_CHAR):
2931 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2932 * unexmips.c: Remove file, unused.
2933
2934 * editfns.c (Fuser_full_name): Replace the only use of
2935 USER_FULL_NAME with its value.
2936 * config.in: Regenerate.
2937
29382008-07-16 David Reitter <david.reitter@gmail.com>
2939
2940 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2941 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2942
29432008-07-16 Glenn Morris <rgm@gnu.org>
2944
2945 * emacs.c (system-type): Doc fix.
2946
29472008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2948
2949 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2950 If the cache doesn't work, let's fix it, rather than work around it.
2951
29522008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2953
2954 * Makefile.in: Correct additions for nsfont.o in last commit.
2955 * nsfont.m: New file (forgot last commit).
2956
29572008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2958
2959 * callproc.c (set_initial_environment): Initialize
2960 Vprocess_environment under CANNOT_DUMP (fixes crash when
2961 batch-compiling for bootstrap).
2962
29632008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2964 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2965
2966 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2967 fix crash due to different init order.
2968
29692008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2970
2971 Changes and additions for NeXTstep windowing system (Cocoa and
2972 GNUstep) support.
2973
2974 * Makefile.in:
2975 * config.in: Support defines and build commands for NS port.
2976 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2977 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2978 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2979 windowing.
2980 (struct face): Add synth_ital field.
2981 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2982 (init_display): Initialize Vinitial_window_system to "ns" when so
2983 compiled.
2984 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2985 (display_arg): Use under NS.
2986 (main): Under NS, allocate autorelease pool and handle command line
2987 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2988 (standard_args): Add NS-specific args.
2989 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2990 * font.c (DEFAULT_ENCODING): New variable.
2991 (font_find_for_lface): Use it.
2992 (syms_of_font): Load syms_of_nsfont under NS.
2993 * font.h: Declare nsfont_driver when compiled under NS.
2994 * fontset.c: When compiling under NS, include nsterm.h.
2995 (fontset_from_font): Autoconstruct fontset under NS.
2996 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2997 symbol, document and use it.
2998 (do_switch_frame): When for_deletion under Cocoa, add
2999 Fraise_frame(Qnil).
3000 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3001 (x_get_arg): Allow "yes" and "no" as boolean values.
3002 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3003 Qright under Cocoa.
3004 (focus-follows-mouse): Default to 0 under NS.
3005 * frame.h (enum output_method): Add output_ns.
3006 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3007 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3008 (FRAME_WINDOW_P): NS-specific definition.
3009 * fringe.c (max_used_fringe_bitmap): Make public.
3010 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3011 (getloadavg): Use NeXT code under descendant OS's.
3012 * image.c (includes and header section, x_create_bitmap_from_data)
3013 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3014 (image_background_transparent, x_clear_image_1)
3015 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3016 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3017 (x_to_xcolors, x_from_xcolors, x_disable_image)
3018 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3019 other GUIs, including XPM support using code originally written for
3020 Carbon GUI.
3021 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3022 using NS API.
3023 (image_ascent): Use font metrics macros instead of direct struct field
3024 access.
3025 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3026 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3027 Also, handle NS as GTK for menu bar purposes.
3028 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3029 toolkit where they differ.
3030 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3031 use cachelist, still needed under NS.
3032 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3033 (struct widget_value): Define it here for menu.c.
3034 * keymap.c (includes): Include modifier internals.
3035 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3036 NS.
3037 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3038 support for preferring sequences using certain modifiers, specified by
3039 the FIRSTONLY argument.
3040 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3041 under NS GNUstep implementation.
3042 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3043 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3044 * menu.c: Include nsterm.h under NS.
3045 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3046 (free_menubar_widget_tree_value, update_submenu_strings)
3047 (find_and_call_menu_selection): Treat NS as X and NT.
3048 (find_and_return_menu_selection): New function, used for popup menus.
3049 * nsgui.h:
3050 * nsterm.h:
3051 * nsfns.m:
3052 * nsimage.m:
3053 * nsmenu.m:
3054 * nsselect.m:
3055 * nsterm.m: New files.
3056 * process.c (wait_reading_process_output): Under NS, call ns_select()
3057 instead of plain select().
3058 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3059 beginning of buffer.
3060 * sysselect.h (init_process): Rename when compiling under Cocoa to
3061 avoid name conflict.
3062 * termhooks.h (display_info): Add ns_display_info to union.
3063 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3064 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3065 COCOA environment.
3066 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3067 unexec() signature. (Note, this will dump, but the resulting file
3068 crashes; unexosx is used instead; keeping around for reference and
3069 possible aid in getting dump working under GNUstep.)
3070 * w32gui.h (button_type, widget_value): Remove definitions (now in
3071 keyboard.h).
3072 * window.c: Include nsterm.h when compiling under NS.
3073 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3074 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3075 other GUI windowing systems.
3076 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3077 GTK.
3078 (x_consider_frame_title): Under NS, set icon type and frame
3079 modified-state indicator; use ns_set_name_as_filename() when using
3080 formatted title.
3081 (update_window_cursor): Make public when compiling under NS.
3082 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3083 (hourglass_atimer, Vhourglass_delay
3084 * xfaces.c (header section, init_frame_faces, clear_font_table)
3085 (defined_color, unload_color, x_face_list_fonts)
3086 (prepare_face_for_display): Add NS support parallel to other GUIs.
3087 Emulate GCs like other non-X GUIs.
3088 (split_font_name): Don't lowercase font name under NS.
3089 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3090 under NS.
3091 * s/darwin.h: Add support for compilation under NS.
3092
30932008-07-15 Jason Rumney <jasonr@gnu.org>
3094
3095 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3096 (w32_show_hourglass): Rename from show_hourglass.
3097 (w32_hide_hourglass): Rename from hide_hourglass.
3098 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3099 (Vhourglass_delay): Declare extern.
3100 (hourglass_started): Remove.
3101
3102 * xdisp.c (Vhourglass_delay): Remove static.
3103 (hourglass_started, start_hourglass, cancel_hourglass):
3104 Don't include these versions on WINDOWSNT.
3105
31062008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3107
3108 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3109 variables (formerly in xfns.c).
3110 (show_hourglass, hide_hourglass): New prototypes (same).
3111 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3112 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3113 in xfns.c).
3114 (syms_of_xdisp): Declare/initialize display-hourglass,
3115 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3116 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3117 formerly in xfns.c.
3118 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3119 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3120 (start_hourglass, cancel_hourglass): Remove.
3121 (show_hourglass, hide_hourglass): Remove prototypes and static
3122 modifiers.
3123 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3124 hourglass_atimer, hourglass_shown_p declaration/initialization.
3125 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3126 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3127 (start_hourglass, cancel_hourglass): Remove.
3128 (show_hourglass, hide_hourglass): Remove prototypes and static
3129 modifiers.
3130 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3131 hourglass_atimer, hourglass_shown_p declaration/initialization.
3132 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3133 (DEFAULT_HOURGLASS_DELAY): Remove.
3134 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3135 hourglass_shown_p declaration/initialization.
3136
31372008-07-14 Jason Rumney <jasonr@gnu.org>
3138
3139 * w32fns.c (w32_get_arg): Remove wrapper function.
3140 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3141 directly.
3142 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3143
31442008-07-14 Kenichi Handa <handa@m17n.org>
3145
3146 * xfont.c (xfont_open): Add workaround for X's bug.
3147
31482008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3149
3150 * fontset.c: Include <stdio.h> unconditionally.
3151
31522008-07-13 Michael Albinus <michael.albinus@gmx.de>
3153
3154 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3155 for filtering.
3156
31572008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3158
3159 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3160
3161 * m/macppc.h:
3162 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3163
3164 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3165 (SPECIAL_EMACS_INT):
3166 * m/ia64.h (SPECIAL_EMACS_INT):
3167 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3168 * s/gnu.h (NLIST_STRUCT):
3169 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3170 * s/gnu-linux.h (LINUX):
3171 * s/msdos.h (HAVE_FACES):
3172 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3173
3174 * systty.h:
3175 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3176 anymore.
3177
31782008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3179
3180 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3181 always defined as int.
3182
3183 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3184 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3185 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3186 * s/freebsd.h (HAVE_WAIT_HEADER):
3187 * s/bsd-common.h (HAVE_UNION_WAIT):
3188 * s/aix4-2.h (HAVE_WAIT_HEADER):
3189 * m/mips.h (HAVE_UNION_WAIT):
3190 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3191 (COFF, static): Do not define, they are undefined later in the file.
3192
3193 * process.c (update_status): Don't use a union.
3194 (status_convert):
3195 (sigchld_handler): Use int instead of WAITTYPE.
3196
31972008-07-12 Chong Yidong <cyd@stupidchicken.com>
3198
3199 * indent.c (Fvertical_motion): Restore hscroll before moving to
3200 goal column.
3201
32022008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3203
3204 * lisp.h: Remove left over code.
3205
32062008-07-11 Andreas Schwab <schwab@suse.de>
3207
3208 * lisp.h: Fix logic in last change.
3209
3210 * menu.h: New file.
3211 * menu.c: Include it.
3212 * xmenu.c: Likewise.
3213 * Makefile.in: Update dependencies.
3214
32152008-07-11 Kenichi Handa <handa@m17n.org>
3216
3217 * fontset.c (fontset_from_font): Cancel the previous change.
3218
32192008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3220
3221 * lisp.h:
3222 * w32heap.c:
3223 * emacs.c:
3224 * alloc.c: Replace all references of NO_UNION_TYPE with
3225 USE_LISP_UNION_TYPE.
3226
3227 * m/xtensa.h (NO_UNION_TYPE):
3228 * m/vax.h (NO_UNION_TYPE):
3229 * m/template.h (NO_UNION_TYPE):
3230 * m/sparc.h (NO_UNION_TYPE):
3231 * m/mips.h (NO_UNION_TYPE):
3232 * m/macppc.h (NO_UNION_TYPE):
3233 * m/m68k.h (NO_UNION_TYPE):
3234 * m/iris4d.h (NO_UNION_TYPE):
3235 * m/intel386.h (NO_UNION_TYPE):
3236 * m/ibms390x.h (NO_UNION_TYPE):
3237 * m/ibms390.h (NO_UNION_TYPE):
3238 * m/ibmrs6000.h (NO_UNION_TYPE):
3239 * m/ia64.h (NO_UNION_TYPE):
3240 * m/hp800.h (NO_UNION_TYPE):
3241 * m/arm.h (NO_UNION_TYPE):
3242 * m/amdx86-64.h (NO_UNION_TYPE):
3243 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3244 defining it the same.
3245
32462008-07-10 Chong Yidong <cyd@stupidchicken.com>
3247
3248 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3249
32502008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3251
3252 * fileio.c:
3253 * sysdep.c
3254 * systty.h:
3255 * m/ibmrs6000.h:
3256 * m/iris4d.h:
3257 * s/aix4-2.h:
3258 * s/freebsd.h:
3259 * s/gnu-linux.h:
3260 * s/hpux10-20.h:
3261 * s/hpux11.h:
3262 * s/netbsd.h:
3263 * s/sol2-3.h:
3264 * s/sol2-4.h:
3265 * s/sol2.h:
3266 * s/usg5-4.h:
3267 * s/vms.h: Remove references to unused variables.
3268
32692008-07-10 Andreas Schwab <schwab@suse.de>
3270
3271 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3272 pattern before matching the generic family.
3273
32742008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3275
3276 * unexec.c:
3277 * s/vms.h:
3278 * s/usg5-4-2.h:
3279 * s/sol2-5.h:
3280 * s/freebsd.h:
3281 * s/darwin.h: Remove dead code.
3282
3283 * m/template.h:
3284 * m/sparc.h:
3285 * m/mips.h:
3286 * m/m68k.h:
3287 * m/iris4d.h:
3288 * m/intel386.h:
3289 * m/ibms390x.h:
3290 * m/ibms390.h:
3291 * m/ia64.h:
3292 * m/hp800.h:
3293 * m/arm.h:
3294 * m/amdx86-64.h: Remove dead code and references to unused
3295 and compiler defined symbols.
3296
3297 * unexmips.c:
3298 * unexelf.c: Remove references to desupported systems.
3299
3300 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3301
3302 * m/powermac.h: Remove boilerplate comments.
3303 (NO_REMAP): Remove unused definition.
3304
3305 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3306 define them.
3307
33082008-07-10 Kenichi Handa <handa@m17n.org>
3309
3310 * xfont.c (xfont_open): Log the reason of failure.
3311
33122008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3313
3314 * fontset.c (fontset_get_font_group):
3315 * font.c (font_check_otf): Specify argument types.
3316
33172008-07-09 Kenichi Handa <handa@m17n.org>
3318
3319 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3320 non-ASCII char is found.
3321
3322 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3323 (reorder_font_vector): Change the arg preferred_family to font.
3324 Prefer the spec matching with font.
3325 (fontset_get_font_group): New function.
3326 (fontset_find_font): Change the format of an element of a realized
3327 fontset. Use fontset_get_font_group.
3328 (fontset_font): Try the current fontset, the default fontset, the
3329 fallbacks of the current fontset, and the fallbacks of the default
3330 fontset in this order.
3331 (face_for_char): Delete the shortcut to use the current font.
3332 (fontset_from_font): Don't set fonts for Latin in the fontset.
3333
3334 * font.h (font_make_object, font_match_p): Adjust prototypes.
3335
3336 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3337
3338 * font.c (font_make_object): New arg entity and pixelsize.
3339 (font_check_otf_features, font_check_otf): New functions.
3340 (font_match_p): Check :lang, :script, and :otf properties.
3341
3342 * xfont.c (xfont_open): Adjust it for the change of
3343 font_make_object.
3344 (xfont_text_extents): Fix initial setting of metrics.
3345
3346 * ftfont.c (struct ftfont_info): New member index, delete member
3347 fc_charset_idx. Make the member order compatible with struct
3348 xftfont_info.
3349 (fc_charset_table): Change charset names to registry names.
3350 (ftfont_pattern_entity): Delete the args registry and
3351 fc_charset_idx. Change the value of :font-entity property
3352 to (FONTNAME . INDEX). Always set :registry property to
3353 `iso10646-1'.
3354 (struct ftfont_cache_data): New struct.
3355 (ftfont_lookup_cache): New arg for_face.
3356 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3357 (ftfont_driver): Set the member otf_capability.
3358 (ftfont_get_charset): Adjust it for the change of
3359 fc_charset_table.
3360 (OTF_TAG_SYM): New macro.
3361 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3362 for the change of fc_charset_table.
3363 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3364 ftfont_pattern_entity. Add FC_INDEX to objset.
3365 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3366 and ftfont_pattern_entity.
3367 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3368 font_make_object, struct ftfont_info.
3369 (ftfont_has_char): Use ftfont_get_fc_charset.
3370 (ftfont_otf_features, ftfont_otf_capability): New functions.
3371 (ftfont_shape): Use ftfont_get_otf.
3372 (ftfont_text_extents): Fix initial setting of metrics.
3373
3374 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3375 member order compatible with struct ftfont_info.
3376 (xftfont_open): Add FC_CHARSET to the pattern. Set
3377 xftfont_info->ft_size. Don't unlock the face. Check BDF
3378 properties if appropriate.
3379 (xftfont_close): Unlock the face.
3380 (xftfont_anchor_point, xftfont_shape): Deleted.
3381 (syms_of_xftfont): Don't set members anchor_point and shape of
3382 xftfont_driver.
3383
3384 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3385 font_make_object.
3386
3387 * w32font.c (w32font_open): Adjust it for the change of
3388 font_make_object.
3389 (w32font_open_internal): Don't set properties of font_object here.
3390
33912008-07-08 Chong Yidong <cyd@stupidchicken.com>
3392
3393 * macfns.c (x_create_tip_frame):
3394 * w32fns.c (x_create_tip_frame):
3395 * xfns.c (x_create_tip_frame): Pass parameter argument to
3396 face-set-after-frame-default.
3397
3398 * xfaces.c (Finternal_merge_in_global_face): Save merged
3399 attributes for the default face back into the face vector.
3400
34012008-07-08 Andreas Schwab <schwab@suse.de>
3402
3403 * fontset.h: Declare fontset_from_font. Don't declare
3404 new_fontset_from_font and fontset_from_font_name.
3405 * xterm.c: Include "fontset.h".
3406 * Makefile.in (xterm.o): Update dependencies.
3407
34082008-07-08 Glenn Morris <rgm@gnu.org>
3409
3410 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3411 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3412
34132008-07-07 Chong Yidong <cyd@stupidchicken.com>
3414
3415 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3416 (x_set_frame_parameters): Don't bind it.
3417
34182008-07-07 Juanma Barranquero <lekktu@gmail.com>
3419
3420 * w32fns.c (map_w32_filename): Declare extern.
3421
34222008-07-07 Jason Rumney <jasonr@gnu.org>
3423
3424 * w32term.c (WS_EX_LAYERED): Define if not already.
3425
34262008-07-06 Chong Yidong <cyd@stupidchicken.com>
3427
3428 * xfaces.c (set_font_frame_param): Don't try to set the font
3429 parameter if it is still unspecified in the lface.
3430
34312008-07-05 Chong Yidong <cyd@stupidchicken.com>
3432
3433 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3434 face if it didn't already exist.
3435
3436 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3437
34382008-07-05 Andreas Schwab <schwab@suse.de>
3439
3440 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3441
34422008-07-05 Chong Yidong <cyd@stupidchicken.com>
3443
3444 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3445 word-wrapping.
3446 (IT_DISPLAYING_WHITESPACE): New macro.
3447 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3448 when word-wrapping. Simplify word-wrapping logic. Use correct
3449 pixel positions when saving copies of the iterator.
3450 (display_line): Use proper wrap point if the last character on a
3451 line was preceded by whitespace.
3452
34532008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3454
3455 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3456
34572008-07-04 Kenichi Handa <handa@m17n.org>
3458
3459 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3460
3461 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3462
34632008-07-02 Jason Rumney <jasonr@gnu.org>
3464
3465 * xfns.c (syms_of_xfns): Only define x-select-font when both
3466 HAVE_FREETYPE and USE_GTK
3467
3468 * xdisp.c (next_element_from_display_vector): Move assignment out
3469 of if statement.
3470
34712008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3472
3473 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3474
3475 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3476 (syms_of_fileio): Initialize and export them.
3477 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3478
3479 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3480 (Fsystem_move_file_to_trash): New function.
3481 (syms_of_w32fns): Export it to lisp.
3482
34832008-07-01 Jason Rumney <jasonr@gnu.org>
3484
3485 * w32font.c (w32font_text_extents): Don't count overhang as part
3486 of width.
3487
34882008-06-30 Miles Bader <miles@gnu.org>
3489
3490 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3491 Add `avoid_cursor_p' field.
3492
3493 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3494 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3495 (append_glyph, append_composite_glyph, produce_image_glyph)
3496 (append_stretch_glyph): Initialize avoid_cursor_p.
3497 (get_it_property): Rename from `get_line_height_property'.
3498 (x_produce_glyphs): Use get_it_property.
3499 (handle_line_prefix, push_display_prop): New functions.
3500 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3501 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3502 New variables.
3503 (syms_of_xdisp): Initialize them.
3504
35052008-06-30 Kenichi Handa <handa@m17n.org>
3506
3507 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3508 XftDefaultSubstitute (they are called in XftFontMatch).
3509 (xftfont_open): Fix args to ftfont_font_format.
3510
3511 * ftfont.c (fc_charset_table): New member lang.
3512 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3513 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3514 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3515 (ftfont_open): Fix args to ftfont_font_format.
3516 (ftfont_font_format): New arg filename.
3517
35182008-06-30 Chong Yidong <cyd@stupidchicken.com>
3519
3520 * xfaces.c (Finternal_merge_in_global_face): If default face was
3521 modified, realize it again. Update the font face attribute.
3522
35232008-06-29 Jason Rumney <jasonr@gnu.org>
3524
3525 * w32term.c (x_set_frame_alpha): Fix logic.
3526
35272008-06-29 Kenichi Handa <handa@m17n.org>
3528
3529 * fontset.c (Finternal_char_font): Return font-object instead of
3530 font-name.
3531
3532 * composite.c (get_composition_id): Fix the width calculation for TAB.
3533
35342008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3535
3536 * indent.c (Fvertical_motion): Properly handle float column arg.
3537
35382008-06-28 Jason Rumney <jasonr@gnu.org>
3539
3540 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3541 (pfnSetLayeredWindowAttributes): New function pointer.
3542 (w32_initialize): Initialize it when supported.
3543 (x_set_frame_alpha): New function.
3544
3545 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3546 (w32_frame_parm_handlers): Set alpha handler.
3547
3548 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3549
35502008-06-27 Jason Rumney <jasonr@gnu.org>
3551
3552 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3553 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3554 (w32_to_x_charset, x_to_w32_charset)
3555 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3556 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3557 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3558 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3559 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3560 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3561 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3562 (Qw32_charset_unicode): Remove.
3563 (syms_of_w32fns): Update for above changes.
3564
3565 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3566 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3567 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3568 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3569 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3570 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3571 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3572 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3573 (syms_of_w32font): Update for above changes.
3574
35752008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3576
3577 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3578 removed #if.
3579 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3580
35812008-06-26 Juanma Barranquero <lekktu@gmail.com>
3582 Eli Zaretskii <eliz@gnu.org>
3583
3584 * makefile.w32-in (LOCAL_FLAGS):
3585 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3586
3587 * sysdep.c (_spawnlp, _getpid):
3588 Declare with explicit _cdecl instead of _CRTAPI1.
3589
3590 * editfns.c (Fget_internal_run_time):
3591 Check for WINDOWSNT with #ifdef, not #if.
3592
35932008-06-26 Jason Rumney <jasonr@gnu.org>
3594
3595 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3596
3597 * w32term.c (x_draw_glyph_string_foreground)
3598 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3599 Use FONT_HANDLE macro.
3600 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3601
3602 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3603 (uniscribe_encode_char): Use FONT_HANDLE macro.
3604
3605 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3606 (w32font_text_extents): Use precast w32_font.
3607 (w32font_close): Free cached metrics.
3608 (w32font_open_internal): Allocate space for name on stack.
3609
36102008-06-26 Chong Yidong <cyd@stupidchicken.com>
3611
3612 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3613
36142008-06-26 Jason Rumney <jasonr@gnu.org>
3615
3616 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3617 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3618
36192008-06-26 Juanma Barranquero <lekktu@gmail.com>
3620
3621 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3622
36232008-06-26 Jason Rumney <jasonr@gnu.org>
3624
3625 * w32bdf.c, w32bdf.h: Remove obsolete files.
3626
3627 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3628
3629 * w32gui.h: Don't include w32bdf.h.
3630 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3631 Remove obsolete font support.
3632
3633 * w32font.h (struct w32font_info): Remove compat_w32_font.
3634 Add hfont member.
3635 (FONT_COMPAT): Remove obsolete macro.
3636
3637 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3638 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3639 (w32font_open_internal): Remove compat code. Set new hfont member.
3640 (Fx_select_font): Use new hfont member.
3641
3642 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3643 (uniscribe_encode_char): Use new hfont member.
3644
3645 * w32term.c (x_draw_glyph_string_foreground)
3646 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3647 (x_draw_glyph_string): Use metrics in w32font_info.
3648
36492008-06-26 Kenichi Handa <handa@m17n.org>
3650
3651 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3652
36532008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3654
3655 * unexnext.c:
3656 * m/ews4800.h:
3657 * m/hp9000s300.h:
3658 * m/ibm370aix.h:
3659 * m/mips-siemens.h:
3660 * m/ncr386.h:
3661 * m/next.h:
3662 * m/pmax.h:
3663 * m/powerpcle.h:
3664 * m/tandem-s2.h:
3665 * s/386bsd.h:
3666 * s/bsd386.h:
3667 * s/bsd4-1.h:
3668 * s/bsd4-2.h:
3669 * s/bsdos2-1.h:
3670 * s/bsdos2.h:
3671 * s/bsdos3.h:
3672 * s/bsdos4.h:
3673 * s/nextstep.h:
3674 * s/ultrix4-3.h:
3675 * s/usg5-0.h:
3676 * s/usg5-2-2.h:
3677 * s/usg5-2.h:
3678 * s/usg5-4-3.h:
3679 * s/ux4800.h:
3680 * s/uxpds.h:
3681 * s/uxpv.h: Remove support for obsolete systems.
3682 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3683 Remove, insert contents in s/hpux-10.20.h.
3684 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3685 Remove, insert contents in s/aix4-2.h.
3686 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3687 * s/bsd4-3.h: Rename to ...
3688 * s/bsd-common.h: ... this.
3689 * data.c:
3690 * doc.c:
3691 * ecrt0.c:
3692 * emacs.c:
3693 * fileio.c:
3694 * floatfns.c:
3695 * keyboard.c:
3696 * mem-limits.h:
3697 * print.c:
3698 * process.c:
3699 * sysdep.c:
3700 * syssignal.h:
3701 * systty.h:
3702 * syswait.h:
3703 * term.c:
3704 * unexec.c:
3705 * unexelf.c:
3706 * unexhp9k800.c:
3707 * m/hp800.h:
3708 * m/ibmrs6000.h:
3709 * m/mips.h:
3710 * m/vax.h:
3711 * s/darwin.h:
3712 * s/freebsd.h:
3713 * s/gnu.h:
3714 * s/ms-w32.h:
3715 * s/msdos.h:
3716 * s/netbsd.h:
3717 * s/template.h: Remove references to obsolete variables.
3718
3719 * Makefile.in: Add dependencies for all unexec files.
3720 (admindir): Remove unused variable.
3721 (UNEXEC_SRC): Remove references.
3722
37232008-06-25 Chong Yidong <cyd@stupidchicken.com>
3724
3725 * xfns.c (x_default_font_parameter): If Xft is available, first
3726 try Monospace-12 for the default font.
3727
37282008-06-25 Jason Rumney <jasonr@gnu.org>
3729
3730 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3731
37322008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3733
3734 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3735
3736 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3737
37382008-06-25 Juanma Barranquero <lekktu@gmail.com>
3739
3740 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3741 <scroll-conservatively>: Fix typo in docstring.
3742
3743 * xselect.c (Fx_send_client_event): Doc fix.
3744
37452008-06-25 Kenichi Handa <handa@m17n.org>
3746
3747 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3748
3749 * font.c (font_parse_fcname): Remove unused variables.
3750 (font_sort_entites): Delete the arg SPEC. Caller changed.
3751 Fix for the case of ! best_only.
3752 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3753
3754 * lisp.h (Fstring_to_unibyte): EXFUN it.
3755
3756 * character.h (str_to_unibyte): Extern it.
3757
3758 * character.c (str_to_unibyte): New function.
3759
3760 * fns.c (Fstring_to_unibyte): New function.
3761 (syms_of_fns): Defsubr it.
3762
37632008-06-24 Kenichi Handa <handa@m17n.org>
3764
3765 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3766 DPI too.
3767 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3768
37692008-06-24 Andreas Schwab <schwab@suse.de>
3770
3771 * Makefile.in (${lispsource}loaddefs.el): Rename from
3772 ../lisp/loaddefs.el.
3773 (bootstrap-clean): Do what distclean does but don't remove
3774 Makefile.
3775 (distclean): Depend on bootstrap-clean and remove Makefile.
3776
37772008-06-24 Chong Yidong <cyd@stupidchicken.com>
3778
3779 * buffer.h (struct buffer): New member word_wrap.
3780
3781 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3782 word-wrap.
3783 (init_buffer_once): Initialize them.
3784
3785 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3786 line_wrap enum possessing three possible values.
3787
3788 * termopts.h: Replace truncate_partial_width_windows with
3789 Vtruncate_partial_width_windows.
3790
3791 * dispnew.c (direct_output_for_insert): Avoid direct output when
3792 inserting a space with word wrap on.
3793
3794 * indent.c (compute_motion): Obey integer values of
3795 truncate-partial-width-windows.
3796
3797 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3798 replacing truncate_partial_width_windows.
3799 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3800 truncate only if the window width is below that integer.
3801 (start_display, resize_mini_window, produce_stretch_glyph)
3802 (display_string, move_it_in_display_line_to): Use line_wrap.
3803 (back_to_previous_visible_line_start, reseat_1): Reset
3804 string_from_display_prop_p.
3805 (display_line): Extend default face to end of line when wrapping.
3806
38072008-06-24 Kim F. Storm <storm@cua.dk>
3808
3809 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3810 to wrap continued lines at word boundaries.
3811
38122008-06-24 Jason Rumney <jasonr@gnu.org>
3813
3814 * font.c (Ffont_face_attributes): Multiply pixel size before point
3815 conversion to avoid multiplying rounding error.
3816
38172008-06-23 Jason Rumney <jasonr@gnu.org>
3818
3819 * w32term.c (x_draw_glyph_string_background)
3820 (x_draw_glyph_string): Remove old bdf font code.
3821
3822 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3823
38242008-06-22 Kenichi Handa <handa@m17n.org>
3825
3826 * font.c (font_find_for_lface): Try the adstyle specified in
3827 the property of LFACE_FONT of LFACE (if any).
3828
38292008-06-21 Seiji Zenitani <zenitani@mac.com>
3830 Ryo Yoshitake <ryo@shiftmode.net>
3831
3832 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3833
38342008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3835
3836 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3837 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3838 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3839 (witness-emacs): Remove.
3840 (lisp, shortlisp): Move loaddefs.el earlier.
3841 (mostlyclean): Forget about witness-emacs.
3842
38432008-06-22 Glenn Morris <rgm@gnu.org>
3844
3845 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3846 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3847
38482008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3849
3850 * Makefile.in (PRECOMP): Remove.
3851 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3852 (witness-emacs): Run `compile-first'.
3853 (.el.elc): Use the new compile-onefile target.
3854
38552008-06-21 Kenichi Handa <handa@m17n.org>
3856
3857 * xftfont.c (xftfont_open): Handle QCembolden only when
3858 FC_EMBOLDEN is defined.
3859
38602008-06-21 Andreas Schwab <schwab@suse.de>
3861
3862 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3863 (.el.elc): Likewise.
3864
38652008-06-21 Miles Bader <miles@gnu.org>
3866
3867 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3868 build dir, not the lisp source dir.
3869
38702008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3871
3872 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3873 (bootstrapclean): Remove.
3874 (.el.elc): New rule.
3875 (PRECOMP): New var.
3876 (../lisp/subdirs.el): Remove.
3877 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3878 (witness-emacs): New target.
3879 (mostlyclean): Remove witness-emacs as well.
3880 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3881 Add witness-emacs dependency.
3882
38832008-06-20 Chong Yidong <cyd@stupidchicken.com>
3884
3885 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3886 defined by the font.
3887
38882008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3889
3890 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3891 (bootstrap-clean): New target that keeps TAGS around.
3892 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3893 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3894
38952008-06-20 Jason Rumney <jasonr@gnu.org>
3896
3897 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3898 Remove obsolete font code.
3899
3900 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3901 to determine language support.
3902
39032008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3904
3905 * sysdep.c (cfsetspeed): New fun extracted from the code.
3906 (cfmakeraw): Move before first use.
3907
39082008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3909
3910 * sysdep.c (cfmakeraw): Provide fallback implementation.
3911 (serial_configure): Provide fallback implementation of cfsetspeed.
3912
39132008-06-20 Kenichi Handa <handa@m17n.org>
3914
3915 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3916 the pattern.
3917
3918 * fontset.c (fontset_from_font): Copy font_spec before changing
3919 the elements.
3920
3921 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3922
39232008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3924
3925 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3926 for explicit `font' parameters.
3927
3928 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3929
39302008-06-19 Kenichi Handa <handa@m17n.org>
3931
3932 * frame.c: Include <ctype.h>.
3933 (x_set_font_backend): Allow spacing characters in the X resource
3934 for FontBackend.
3935
39362008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3937
3938 * w32fns.c, xfns.c (Qfont_param): New var.
3939 (syms_of_w32fns): Initialize it.
3940 (x_default_font_parameter): Record explicit `font' into
3941 `font-parameter'.
3942
39432008-06-18 Kenichi Handa <handa@m17n.org>
3944
3945 * font.c (font_parse_xlfd): Fix previous change.
3946 (font_parse_fcname): Don't use :fc-unknown-spec.
3947 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3948 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3949 (font_add_log): Prepend the driver name to the resulting fonts.
3950
3951 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3952 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3953 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3954
3955 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3956 (QCembolden): New variables.
3957 (syms_of_xftfont): DEFSYM them.
3958 (xftfont_open): Call XftFontMatch. Don't trust the result of
3959 XftTextExtents8 if the pixel_size is less than 5.
3960
39612008-06-18 Andreas Schwab <schwab@suse.de>
3962
3963 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3964 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3965
39662008-06-18 Jason Rumney <jasonr@gnu.org>
3967
3968 * w32font.c (w32font_list, w32font_match): Add logging.
3969
3970 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3971
39722008-06-17 Chong Yidong <cyd@stupidchicken.com>
3973
3974 * font.c (font_parse_fcname): Store divider characters for
3975 unknown-spec list. For known key symbols, intern using correct
3976 symbol name.
3977
39782008-06-17 Kenichi Handa <handa@m17n.org>
3979
3980 * xfaces.c (realize_default_face): If the frame is not on window
3981 system, set the fontset of face to nil.
3982
39832008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3984
3985 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3986
39872008-06-16 Juanma Barranquero <lekktu@gmail.com>
3988
3989 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3990 (build_font_name_from_vector): Delete externs.
3991
3992 * xfaces.c (struct font_name): Don't declare.
3993
39942008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3995
3996 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3997
39982008-06-16 Chong Yidong <cyd@stupidchicken.com>
3999
4000 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4001
40022008-06-16 Juanma Barranquero <lekktu@gmail.com>
4003
4004 * font.c (Ffont_spec): Fix usage in docstring.
4005 (Ffont_face_attributes): Doc fix.
4006
40072008-06-16 Andreas Schwab <schwab@suse.de>
4008
4009 * font.c (Ffont_face_attributes): Fix definition.
4010
40112008-06-16 Jason Rumney <jasonr@gnu.org>
4012
4013 * font.h (font_style_symbolic_from_value): Remove.
4014
4015 * font.c (font_style_symbolic_from_value): Remove.
4016 (font_style_symbolic): Revert to pre 2008-06-13 version.
4017
4018 * w32font.c (w32_to_fc_weight): New function.
4019 (w32font_full_name, logfont_to_fcname): Use it.
4020
40212008-06-16 Kenichi Handa <handa@m17n.org>
4022
4023 * font.c (font_check_object): Delete it.
4024 (font_clear_cache): Check if a font-object is alive.
4025 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4026 font-object to nil.
4027 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4028 (font_at): Don't call font_check_object.
4029 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4030
40312008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4032
4033 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4034
40352008-06-16 Chong Yidong <cyd@stupidchicken.com>
4036
4037 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4038
40392008-06-15 Chong Yidong <cyd@stupidchicken.com>
4040
4041 * font.c (font_parse_fcname): Only one decimal point.
4042 (font_unparse_fcname): Handle data in family and foundry indices
4043 as symbols, not strings.
4044 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4045
4046 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4047
4048 * font.h (font_unparse_gtkname): Add prototype.
4049
40502008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4051
4052 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4053
40542008-06-15 Andreas Schwab <schwab@suse.de>
4055
4056 * font.c (font_update_drivers): Fix crash when no drivers match.
4057
40582008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4059
4060 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4061 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4062
40632008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4064
4065 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4066
40672008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4068
4069 * process.c (Fserial_process_configure, Fprocess_send_eof):
4070 Use EQ to compare Lisp_Objects.
4071
40722008-06-13 Jason Rumney <jasonr@gnu.org>
4073
4074 * w32fns.c (Fw32_select_font): Remove old font API function.
4075
4076 * w32font.c (logfont_to_fcname): New function.
4077 (Fx_select_font): New font dialog function compatible with
4078 GTK/fontconfig version.
4079
4080 * font.c (font_style_symbolic_from_value): New function.
4081 (font_style_symbolic): Use it.
4082
4083 * font.h (font_style_symbolic_from_value): Declare new function.
4084
40852008-06-13 Juanma Barranquero <lekktu@gmail.com>
4086
4087 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4088 <font-width-table>: Fix typos in docstrings.
4089
40902008-06-13 Daniel Engeler <engeler@gmail.com>
4091
4092 These changes add serial port access.
4093 * process.c: Add HAVE_SERIAL.
4094 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4095 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4096 (list_processes_1, select_wrapper, Fstop_process)
4097 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4098 (status_notify): Modify to handle serial processes.
4099 [HAVE_SERIAL] (Fserial_process_configure)
4100 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4101 New functions.
4102 * process.h (struct Lisp_Process): Add `type'.
4103 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4104 New functions.
4105 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4106 serial ports.
4107 (serial_open, serial_configure) New functions.
4108 * w32.h: Add FILE_SERIAL.
4109 (struct _child_process): Add ovl_read, ovl_write.
4110
41112008-06-13 Kenichi Handa <handa@m17n.org>
4112
4113 * dispextern.h (enum lface_attribute_index): New member
4114 LFACE_FOUNDRY_INDEX.
4115
4116 * font.c (font_score): Delete arg alternate_families. Check only
4117 weight, slant, width, and size. Ignore the difference of alias
4118 style symbols.
4119 (font_sort_entites): Adjust for the above change. Reflect the
4120 order of font-driver to scores.
4121 (font_list_entities): Don't check alternate_familes here.
4122 (font_clear_prop): Handle foundry.
4123 (font_update_lface): Don't parse "foundry-family" form here.
4124 Handle FONT_FOUNDRY_INDEX.
4125 (font_find_for_lface): Likewise. Handle alternate families here.
4126 If registry is nil, try iso8859-1 and ascii-0.
4127 (font_open_for_lface): Pay attention to size in ENTITY.
4128 (font_open_by_name): Simplify by calling font_load_for_lface.
4129 (free_font_driver_list): Delete it.
4130 (font_update_drivers): Preserve the order of backends.
4131 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4132 of font_score and font_sort_entites.
4133 (font_update_sort_order): Likewise.
4134
4135 * xfaces.c (LFACE_FOUNDRY): New macro.
4136 (check_lface_attrs): Check foundry.
4137 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4138 (merge_face_vectors): Check foundry.
4139 (merge_face_ref): Likewise.
4140 (Finternal_set_lisp_face_attribute): Likewise.
4141 (x_update_menu_appearance): Likewise.
4142 (Finternal_get_lisp_face_attribute): Likewise.
4143 (lface_hash): Likewise.
4144 (lface_same_font_attributes_p): Likewise.
4145 (x_supports_face_attributes_p): Likewise.
4146 (tty_supports_face_attributes_p): Likewise.
4147 (Finternal_set_alternative_font_family_alist): Intern strings.
4148 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4149 (realize_default_face): Set LFACE_FOUNDRY (lface).
4150
4151 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4152 font-driver at first.
4153
4154 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4155
41562008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4157
4158 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4159
41602008-06-12 Jim Meyering <meyering@redhat.com>
4161
4162 Make unexec_free handle NULL the same way free does.
4163 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4164
41652008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4166
4167 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4168 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4169 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4170 (WEAK_ALIAS): Simplify.
4171 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4172 when searching a unibyte buffer.
4173
41742008-06-12 Chong Yidong <cyd@stupidchicken.com>
4175
4176 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4177
41782008-06-12 Juanma Barranquero <lekktu@gmail.com>
4179
4180 * w32font.c: Include ctype.h.
4181
41822008-06-11 Jason Rumney <jasonr@gnu.org>
4183
4184 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4185 misreported as space.
4186 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4187 as aliases for registry iso10646-1.
4188
41892008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4190
4191 * buffer.c (clone_per_buffer_values): Skip `name'.
4192
41932008-06-11 Chong Yidong <cyd@stupidchicken.com>
4194
4195 * font.c (font_parse_fcname): Fix last change; accept decimal
4196 points in font size.
4197
41982008-06-10 Jason Rumney <jasonr@gnu.org>
4199
4200 * w32uniscribe.c (add_opentype_font_name_to_list):
4201 Skip non unicode fonts.
4202
42032008-06-10 Chong Yidong <cyd@stupidchicken.com>
4204
4205 * xfns.c (Fx_font_dialog): New function.
4206
4207 * gtkutil.c (xg_dialog_response_cb): Rename from
4208 xg_file_response_callback.
4209 (pop_down_dialog): Rename from pop_down_file_dialog.
4210 (xg_get_file_name): Callers changed.
4211 (xg_get_font_name): New function.
4212
4213 * gtkutil.h (xg_get_font_name): Insert prototype.
4214
42152008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4216
4217 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4218 x_underline_minimum_display_offset.
4219 (syms_of_xdisp): Declare it here rather than in xterm.c.
4220 * dispextern.h (underline_minimum_offset): Declare it.
4221 * w32term.c (x_draw_glyph_string): Use it.
4222 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4223 (syms_of_xterm): Don't declare it any more.
4224 (x_draw_glyph_string): Adjust to the new name.
4225
42262008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4227
4228 * xterm.c (x_underline_minimum_display_offset): New var.
4229 (x_draw_glyph_string): Use it.
4230 (syms_of_xterm): Declare it.
4231
42322008-06-10 Chong Yidong <cyd@stupidchicken.com>
4233
4234 * font.c (font_parse_fcname): Accept GTK-style font names too.
4235
42362008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4237
4238 * dired.c (file_name_completion): Don't return t if the match is exact
4239 but with different capitalization.
4240 * minibuf.c (Ftry_completion): Simplify.
4241
4242 * window.c (Vwindow_point_insertion_type): New var.
4243 (set_window_buffer): Use it.
4244 (syms_of_window): Init and export it to Lisp.
4245
42462008-06-10 Kenichi Handa <handa@m17n.org>
4247
4248 * font.h (font_intern_prop): Prototype adjusted.
4249
4250 * font.c (font_intern_prop): New arg force_symbol.
4251 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4252 Adjust for the change of font_intern_prop.
4253
4254 * ftfont.c (ftfont_pattern_entity):
4255 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4256 (w32_registry):
4257 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4258 the change of font_intern_prop.
4259
42602008-06-09 Juanma Barranquero <lekktu@gmail.com>
4261
4262 * w32menu.c (digest_single_submenu): Declare extern.
4263
42642008-06-09 Jason Rumney <jasonr@gnu.org>
4265
4266 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4267
4268 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4269 (parse_single_submenu): Remove.
4270 (digest_single_submenu): Remove.
4271 (syms_of_w32menu): Don't initialise variables that have moved
4272 to menu.c.
4273 (set_frame_menubar): Sync with version in xmenu.c.
4274 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4275
4276 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4277 Make static again.
4278
42792008-06-09 Jason Rumney <jasonr@gnu.org>
4280
4281 Changes to w32 files related to the move of common menu code
4282 to menu.c on 2008-06-08 by Chong Yidong.
4283
4284 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4285 defs to w32gui.h.
4286 (single_keymap_panes, push_menu_item, push_menu_pane):
4287 Make globally visible.
4288
4289 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4290 (local_free, malloc_widget_value, free_widget_value)
4291 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4292 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4293 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4294 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4295 (menu_items, menu_items_allocated, menu_items_used)
4296 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4297 (init_menu_items, finish_menu_items, discard_menu_items)
4298 (grow_menu_items, push_submenu_start, push_submenu_end)
4299 (push_left_right_boundary, push_menu_pane, push_menu_item)
4300 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4301 (free_menubar_widget_tree_value, parse_single_submenu)
4302 (update_submenu_strings): Remove functions.
4303 (xmalloc_widget_value): Remove and declare extern.
4304
4305 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4306 (OBJ1): Build it.
4307
4308 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4309 (local_heap, local_alloc, local_free, malloc_widget_value)
4310 (free_widget_value): Define here.
4311
43122008-06-09 Kenichi Handa <handa@m17n.org>
4313
4314 * font.h (Qascii_0): Extern it.
4315
4316 * font.c (Qascii_0): New variable.
4317 (syms_of_font): DEFSYM it.
4318 (font_open_by_name): If the registry "iso8859-1" fails, try also
4319 "ascii-0".
4320
4321 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4322
43232008-06-08 Kenichi Handa <handa@m17n.org>
4324
4325 * .gdbinit (xfont): New command.
4326
43272008-06-08 Andreas Schwab <schwab@suse.de>
4328
4329 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4330 * Makefile.in (menu.o): Update dependencies.
4331
4332 * Makefile.in (obj): Always add menu.o.
4333 * emacs.c (main): Always call syms_of_menu.
4334 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4335
43362008-06-08 Chong Yidong <cyd@stupidchicken.com>
4337
4338 * Makefile.in: Compile menu.c.
4339
4340 * lisp.h: Declare syms_of_menu.
4341
4342 * emacs.c (main): Call syms_of_menu.
4343
4344 * keyboard.h: Relocate platform-independent menu definitions from
4345 xmenu.c.
4346
4347 * menu.c: New file. Relocate platform-independent menu
4348 definitions from xmenu.c. Suggested by Adrian Robert.
4349
4350 * xmenu.c: Remove platform-independent menu definitions.
4351 (menu_items menu_items_inuse, menu_items_allocated)
4352 (menu_items_used, menu_items_n_panes)
4353 (menu_items_submenu_depth): Move to keyboard.h.
4354 (init_menu_items, finish_menu_items, unuse_menu_items)
4355 (discard_menu_items, restore_menu_items, save_menu_items)
4356 (grow_menu_items, push_submenu_start, push_submenu_end)
4357 (push_left_right_boundary, push_menu_pane, push_menu_item)
4358 (keymap_panes, single_keymap_panes, single_menu_item)
4359 (list_of_panes, list_of_items, find_and_call_menu_selection)
4360 (xmalloc_widget_value, free_menubar_widget_value_tree)
4361 (parse_single_submenu, digest_single_submenu)
4362 (update_submenu_strings): Move to menu.c.
4363
43642008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4365
4366 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4367
43682008-06-06 Miles Bader <miles@gnu.org>
4369
4370 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4371 face, not frame default.
4372
43732008-06-05 Martin Rudalics <rudalics@gmx.at>
4374
4375 * window.c (pop_up_windows, pop_up_frames)
4376 (display_buffer_reuse_frames, Vpop_up_frame_function)
4377 (Vdisplay_buffer_function, Veven_window_heights)
4378 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4379 (Vspecial_display_function, Vsame_window_buffer_names)
4380 (Vsame_window_regexps, split_height_threshold)
4381 (Vsplit_window_preferred_function): Move those vars to window.el.
4382 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4383 (Fdisplay_buffer): Move those functions to window.el.
4384 (syms_of_window): Remove corresponding declarations.
4385 (display_buffer): New function.
4386 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4387 * dispnew.c (Flast_nonminibuf_frame): New function.
4388 * buffer.c (Fpop_to_buffer): Move to window.el.
4389
43902008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4391
4392 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4393
43942008-06-05 Kenichi Handa <handa@m17n.org>
4395
4396 * coding.c (detect_coding): Fix previous change.
4397 (detect_coding_system): Likewise.
4398
43992008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4400
4401 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4402
4403 * keymap.c (Vminibuffer_local_filename_must_match_map):
4404 Rename from Vminibuffer_local_must_match_filename_map.
4405 (syms_of_keymap):
4406 * minibuf.c (Fcompleting_read): Adjust accordingly.
4407 * commands.h: Rename declaration as well.
4408
44092008-06-05 Kenichi Handa <handa@m17n.org>
4410
4411 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4412 family name.
4413 (Ffont_put): Likewise.
4414
4415 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4416 current font-spec.
4417
4418 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4419 is unspecified.
4420
4421 * xfaces.c (realize_x_face): If the font-related face attributes
4422 are the same as those of default face, realize a new fontset from
4423 default->fontset.
4424 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4425
44262008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4427
4428 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4429 (move_it_in_display_line): New wrapper.
4430
4431 * window.c (window_scroll_pixel_based_preserve_x)
4432 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4433 (window_scroll_pixel_based, window_scroll_line_based):
4434 Use them to preserve column positions.
4435 (syms_of_window): Initialize them.
4436
4437 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4438 (HPOS . VPOS) pair.
4439
4440 * dispextern.h (move_it_in_display_line): Declare.
4441
44422008-06-05 Juanma Barranquero <lekktu@gmail.com>
4443
4444 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4445 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4446 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4447
44482008-06-04 Juanma Barranquero <lekktu@gmail.com>
4449
4450 * window.c (Fset_window_parameter): Doc fix.
4451 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4452
44532008-06-04 Joakim Verona <joakim@verona.se>
4454
4455 * window.h (struct window): Add new member window_parameters.
4456
4457 * window.c (Fwindow_parameters, Fwindow_parameter)
4458 (Fset_window_parameter): New defuns.
4459 (syms_of_window): Defsubr the new defuns.
4460 (make_window): Initialize window_parameters to nil.
4461
44622008-06-04 John Paul Wallington <jpw@pobox.com>
4463
4464 * eval.c (Fdefmacro): Doc fix.
4465
44662008-06-04 Kenichi Handa <handa@m17n.org>
4467
4468 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4469 Be sure to call setup_coding_system when we find a proper coding system.
4470 (detect_coding_system): Fix handling of coding->head_ascii.
4471
44722008-06-03 Andreas Schwab <schwab@suse.de>
4473
4474 * font.c (font_prop_validate_spacing): Fix last change.
4475
44762008-06-03 Kenichi Handa <handa@m17n.org>
4477
4478 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4479 (font_parse_fcname): Fix handling of unknown key.
4480
4481 * xfont.c (xfont_list): Try an alias.
4482
4483 * charset.c (char_charset): Return NULL if the arg charset_list is
4484 specified and C doesn't belong to any of them.
4485
44862008-06-02 Chip Coldwell <coldwell@redhat.com>
4487
4488 * font.c (font_pixel_size): Don't take cdr of an integer.
4489
44902008-06-02 Jim Meyering <meyering@redhat.com>
4491
4492 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4493 * alloc.c (xfree): Return right away for a NULL arg.
4494 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4495 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4496 * mac.c (create_apple_event_from_event_ref): Likewise.
4497 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4498 Likewise.
4499 * doprnt.c (doprnt1): Likewise.
4500 * frame.c (frame): Likewise.
4501 * keyboard.c (wipe_kboard): Likewise.
4502 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4503 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4504 * term.c (tty_default_color_capabilities, maybe_fatal)
4505 (delete_tty): Likewise.
4506 * w16select.c (string): Likewise.
4507 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4508 * w32bdf.c (w32_free_bdf_font): Likewise.
4509 * w32fns.c (w32_unload_font): Likewise.
4510 * w32font.c (w32font_close): Likewise.
4511 * window.c (size_window): Likewise.
4512 * xselect.c (receive_incremental_selection): Likewise.
4513 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4514 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4515 * w32.c (stat): Likewise.
4516
4517 Remove useless if-before-free tests.
4518 * editfns.c (Fset_time_zone_rule): Likewise.
4519 * lread.c (nosuffix): Likewise.
4520 * ralloc.c (get_bloc): Likewise.
4521 * regex.c (reg_free): Likewise.
4522 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4523 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4524 * xsmfns.c (smc_save_yourself_CB): Likewise.
4525
45262008-06-02 Kenichi Handa <handa@m17n.org>
4527
4528 * font.c (font_find_for_lface): Handle float font size.
4529 (font_open_for_lface): Likewise.
4530
4531 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4532 comparing the properties.
4533
45342008-06-01 Jason Rumney <jasonr@gnu.org>
4535
4536 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4537 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4538 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4539 Don't add empty script list.
4540 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4541
45422008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4543
4544 * Makefile.in (dot, dotdot): Remove, update users.
4545 ".." has been used elsewhere in the file for a long time.
4546 (LIBXT_STATIC): Remove conditional based on unused variable.
4547
45482008-06-01 Miles Bader <miles@gnu.org>
4549
4550 * xfaces.c (Vface_remapping_alist): New variable.
4551 (syms_of_xfaces): Initialize it.
4552 (enum named_merge_point_kind): New type.
4553 (struct named_merge_point): Add `named_merge_point_kind' field.
4554 (push_named_merge_point): Make cycle detection respect different
4555 named-merge-point kinds.
4556 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4557 Remove face-name alias resolution.
4558 (lface_from_face_name): New definition using
4559 `lface_from_face_name_no_resolve'.
4560 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4561 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4562 (get_lface_attributes): New definition that layers face-remapping on
4563 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4564 (lookup_basic_face): New function.
4565 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4566 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4567 `get_lface_attributes'.
4568 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4569 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4570 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4571
4572 * xdisp.c (init_iterator): Pass base_face_id through
4573 `lookup_basic_face' when we actually use it as a face-id.
4574 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4575 DEFAULT_FACE_ID.
4576
4577 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4578 lookup the initial face-id.
4579
4580 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4581
45822008-06-01 Juanma Barranquero <lekktu@gmail.com>
4583
4584 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4585 (Fremove_text_properties): Fix typos in docstrings.
4586
45872008-05-31 Kenichi Handa <handa@m17n.org>
4588
4589 * font.c (font_list_entities): Fix the car part of data to be
4590 stored in the cache.
4591
4592 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4593
45942008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4595
4596 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4597 Add a `test' argument so another predicate than `equal' can be used.
4598 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4599 (map_char_table): Remove unused vars `c' and `i'.
4600 * lisp.h (Foptimize_char_table): Adjust declaration.
4601 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4602
46032008-05-30 Kenichi Handa <handa@m17n.org>
4604
4605 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4606 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4607 defined.
4608
46092008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4610
4611 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4612 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4613 frame-local settings for the same variable.
4614
46152008-05-30 Kenichi Handa <handa@m17n.org>
4616
4617 * fontset.c (Ffont_info): Move to font.c.
4618 (syms_of_fontset): Delete defsubr of Sfont_info.
4619
4620 * font.c (font_style_to_value, font_score): Delete casting of the
4621 args to xstcasecmp.
4622 (register_font_driver): Increment num_font_drivers only when
4623 registering the driver globally.
4624 (Ffont_info): Move from fontset.c. Handle a font object too.
4625 (syms_of_font): Defsubr Sfont_info.
4626
46272008-05-29 Kenichi Handa <handa@m17n.org>
4628
4629 * coding.h (enum define_coding_utf8_arg_index): New enum.
4630 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4631 coding_attr_utf_bom.
4632 (enum utf_bom_type): Rename from utf_16_bom_type.
4633 (struct utf_16_spec): Adjust for the above change.
4634 (struct coding_system): Add utf_8_bom in `spec' union.
4635
4636 * coding.c (CODING_UTF_8_BOM): New macro.
4637 (enum coding_category): Delete coding_category_utf_8, add
4638 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4639 coding_category_utf_8_sig.
4640 (CATEGORY_MASK_UTF_8): Delete it.
4641 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4642 (CATEGORY_MASK_UTF_8_SIG): New macros.
4643 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4644 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4645 CATEGORY_MASK_UTF_8_SIG.
4646 (CATEGORY_MASK_UTF_8): New macro.
4647 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4648 (detect_coding_utf_8): Check BOM.
4649 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4650 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4651 (encode_coding_utf_16): Likewise.
4652 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4653 (detect_coding, detect_coding_system): Handle utf-8-auto.
4654 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4655 (syms_of_coding): Fix setting up of Vcoding_category_table.
4656
46572008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4658
4659 * process.c (Faccept_process_output): If `millisec' is non-nil,
4660 `seconds' default to 0.
4661 (wait_reading_process_output): Also return non-nil if we read output
4662 from a non-running process.
4663
46642008-05-29 Jason Rumney <jasonr@gnu.org>
4665
4666 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4667 `raster' specified.
4668 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4669 in the uniscribe backend, but disallow any font that has no
4670 unicode subrange support.
4671
46722008-05-29 Juanma Barranquero <lekktu@gmail.com>
4673
4674 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4675 Fix typos in docstrings.
4676
46772008-05-29 Kenichi Handa <handa@m17n.org>
4678
4679 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4680 (Fx_family_fonts): Set frame correctly.
4681
46822008-05-28 Jason Rumney <jasonr@gnu.org>
4683
4684 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4685
46862008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4687
4688 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4689 calling build_annotations.
4690
46912008-05-28 Juanma Barranquero <lekktu@gmail.com>
4692
4693 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4694 (Fencode_coding_string):
4695 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4696 <latin-extra-code-table>: Fix typos in docstrings.
4697 (syms_of_coding) <coding-system-alist>: Doc fix.
4698 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4699
47002008-05-28 Kenichi Handa <handa@m17n.org>
4701
4702 * fontset.c (Ffont_info): Don't call font_close_object.
4703
4704 * font.c (font_parse_family_registry): Use Ffont_put to validate
4705 foundry and family.
4706 (font_delete_unmatched): Don't check spacing.
4707 (font_list_entities): Add spacing to the spec to list fonts.
4708
4709 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4710 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4711
4712 * coding.c (encode_coding_raw_text): Fix previous change.
4713 (encode_coding_object): When the dst_object is a buffer and is
4714 different from src_object, move gap to PT.
4715
47162008-05-27 Chong Yidong <cyd@stupidchicken.com>
4717
4718 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4719
47202008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4721
4722 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4723 all branches. Compute it differently.
4724
4725 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4726
47272008-05-27 Juanma Barranquero <lekktu@gmail.com>
4728
4729 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4730 into "else if () ... else ...".
4731
47322008-05-27 Jason Rumney <jasonr@gnu.org>
4733
4734 * w32font.c (w32font_open_internal): Determine if glyph indices
4735 are likely to work here.
4736
47372008-05-27 Chong Yidong <cyd@stupidchicken.com>
4738
4739 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4740 draw overlap glyphs with appropriate highlighting.
4741
47422008-05-27 Kenichi Handa <handa@m17n.org>
4743
4744 * xfont.c (xfont_open): Fix calculation of font->average_width.
4745
47462008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4747
4748 * casefiddle.c (casify_object): Try to guess better whether the
4749 argument is a byte or a char.
4750
47512008-05-26 Andreas Schwab <schwab@suse.de>
4752
4753 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4754 Always send multiples of format size.
4755
4756 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4757
47582008-05-26 Jason Rumney <jasonr@gnu.org>
4759
4760 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4761 (compute_metrics): Don't set failure if we just cleared the cache.
4762 (w32_weight_table): Remove unused variable.
4763 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4764 backwards compatibility.
4765
47662008-05-25 Kenichi Handa <handa@m17n.org>
4767
4768 * w32term.c (x_draw_glyph_string):
4769 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4770
4771 * xfaces.c: Delete unused function prototypes.
4772 (xstrlwr, font_frame): Delete them.
4773 (clear_face_cache): Delete unused variable.
4774
4775 * xftfont.c (xftfont_open): Delete unused variable.
4776 If underline_thickness is not 1, adjust underline_position.
4777
4778 * ftxfont.c (ftxfont_open): Delete unused variable.
4779
4780 * fontset.c (face_for_char): Optimize for the case of no charset
4781 property.
4782
4783 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4784 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4785 (otf_open, font_otf_capability, generate_otf_features)
4786 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4787 Comment out by surrounding "#if 0" and "#endif" for the moment.
4788 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4789 (syms_of_font): Codes for accessing above commented out.
4790
47912008-05-24 Eli Zaretskii <eliz@gnu.org>
4792
4793 * w32proc.c: Include dispextern.h.
4794
4795 * w32.c: Include dispextern.h.
4796
47972008-05-23 Juanma Barranquero <lekktu@gmail.com>
4798
4799 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4800 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4801 Fix typos in docstrings.
4802
48032008-05-23 Jason Rumney <jasonr@gnu.org>
4804
4805 * xsmfns.c: Remove includes that are already included by config.h.
4806
48072008-05-23 Kenichi Handa <handa@m17n.org>
4808
4809 * charset.c (Qemacs, charset_emacs): New variables.
4810 (char_charset): Fix for non-Unicode characters.
4811 (syms_of_charset): Define charset_emacs.
4812
4813 * w32term.c (x_draw_glyph_string): Be sure to update
4814 s->underline_thickness and s->underline_position. Be sure to draw
4815 underline within the current line area.
4816
4817 * xterm.c (x_draw_glyph_string): Be sure to update
4818 s->underline_thickness and s->underline_position. Be sure to draw
4819 underline within the current line area.
4820
4821 * fontset.c: Delete unused variables and add casting for char *
4822 throughout the file.
4823 (fontset_font): Try the fallback fonts of the current fontset
4824 before consulting the default fontset.
4825
4826 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4827
4828 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4829
48302008-05-22 Jason Rumney <jasonr@gnu.org>
4831
4832 * font.c: Don't include strings.h.
4833
4834 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4835
4836 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4837 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4838 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4839 to call xstrcasecmp.
4840
4841 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4842
4843 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4844
4845 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4846
4847 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4848
48492008-05-22 Kenichi Handa <handa@m17n.org>
4850
4851 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4852
4853 * font.c (font_prop_validate_style): Adjust for the format
4854 change of font_style_table.
4855
4856 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4857 two args.
4858
4859 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4860 two args.
4861
48622008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4863
4864 * minibuf.c (keys_of_minibuf): Delete.
4865 * lisp.h (keys_of_minibuf): Delete.
4866 * emacs.c (main): Don't call keys_of_minibuf.
4867
48682008-05-22 Kenichi Handa <handa@m17n.org>
4869
4870 * ftfont.c (ftfont_resolve_generic_family): Rename from
4871 ftfont_list_generic_family. Return a single family for each
4872 generic family.
4873 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4874 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4875 Call font_add_log.
4876 (ftfont_match): Call font_add_log.
4877
4878 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4879 (FONT_DEBUG): Define it.
4880 (font_add_log): Extern it.
4881 (font_assert): Rename from xassert.
4882
4883 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4884 (xfont_list_family): Call font_add_log.
4885 (xfont_match): Likewise.
4886 (memq_no_quit): Delete.
4887
4888 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4889 call of Ffont_xlfd_name.
4890
4891 * xfaces.c (struct table_entry, slant_table, weight_table)
4892 (swidth_table): Move to font.c.
4893
4894 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4895 xassert are changed to font_assert. Delete many unused variables.
4896 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4897 New variables.
4898 (struct table_entry): Move from xfaces.c and modified.
4899 (weight_table, slant_table, width_table): Move from xfaces.c and
4900 contents adjusted for the change of struct table_entry.
4901 (font_style_to_value, font_style_symbolic): Adjust for the
4902 format change of font_style_table.
4903 (font_parse_family_registry): Don't overwrite existing foundry and
4904 family of font_spec.
4905 (font_score): Fix calculation of diff for sizes.
4906 (font_sort_entites): Call font_add_log.
4907 (font_delete_unmatched): Return a newly created list.
4908 (font_list_entities): Fix previous change. Call font_add_log.
4909 (font_matching_entity, font_open_entity, font_close_entity):
4910 Call font_add_log.
4911 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4912 (Finternal_set_font_style_table): Delete.
4913 (BUILD_STYLE_TABLE): New macro.
4914 (build_style_table): New function.
4915 (Vfont_log, font_log_env_checked): New variables.
4916 (font_add_log): New function.
4917 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4918 Declare Lisp variables "font-weight-table", "font-slant-table",
4919 "font-width-table", and "font-log". Initialize font_style_table.
4920
49212008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4922
4923 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4924
49252008-05-21 Seiji Zenitani <zenitani@mac.com>
4926 Ryo Yoshitake <ryo@shiftmode.net>
4927
4928 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4929 (Vframe_alpha_lower_limit): New variable.
4930 (x_set_alpha): New function.
4931
4932 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4933
4934 * xfns.c (x-create-frame, Qalpha):
4935 Initialize the frame parameter `alpha'.
4936 * xterm.c (OPAQUE, OPACITY): New.
4937 (x_set_frame_alpha): New function.
4938 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4939
4940 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4941 * w32fns.c (w32_frame_parm_handlers): Likewise.
4942
49432008-05-20 Jason Rumney <jasonr@gnu.org>
4944
4945 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4946 truetype fonts to opentype list.
4947
49482008-05-20 Juanma Barranquero <lekktu@gmail.com>
4949
4950 * fontset.c (Ffontset_info): Doc fix.
4951 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4952 <ignore-relative-composition>: Fix typos in docstrings.
4953
4954 * font.c (syms-of-font) <font-encoding-alist>:
4955 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4956 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4957 (Ffont_otf_alternates): Doc fixes.
4958
49592008-05-20 Kenichi Handa <handa@m17n.org>
4960
4961 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4962 font.h through out the file.
4963 (FONT_DRIVERS): Rename from FONTOBJ.
4964 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4965 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4966
4967 * emacs.c (main): Call syms_of_font unconditionally.
4968
4969 * font.h (find_font_encoding): Extern it.
4970
4971 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4972 fontset.c.
4973 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4974 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4975 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4976 only when HAVE_WINDOW_SYSTEM is defined.
4977 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4978 when HAVE_WINDOW_SYSTEM is defined.
4979
4980 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4981 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4982
4983 * xfaces.c: Include font.h unconditionally.
4984 (merge_face_ref, merge_face_vectors)
4985 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4986
49872008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4988
4989 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4990 indirect_variable.
4991 * eval.c (lisp_indirect_variable): New fun.
4992 (Fuser_variable_p): Use it.
4993
49942008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4995
4996 * lisp.h (indirect_variable):
4997 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4998 Use Lisp_Symbol pointers rather than Lisp_Object.
4999 Adjust callers.
5000 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5001 To this end, change calling-convention.
5002
5003 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5004 if some non-hidden buffers are selected by string&pred.
5005
50062008-05-19 Chong Yidong <cyd@stupidchicken.com>
5007
5008 * process.c (wait_reading_process_output): Always check status
5009 when in batch mode.
5010
50112008-05-19 Kenichi Handa <handa@m17n.org>
5012
5013 * font.c (font_list_entities): Fix handling of cache.
5014 (font_matching_entity): Likewise.
5015
5016 * ftfont.c (cs_iso8859_1): Delete.
5017 (ft_face_cache): New variable.
5018 (struct ftfont_info): New member fc_charset_idx.
5019 (ftfont_build_basic_charsets): Delete.
5020 (fc_charset_table): New variable.
5021 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5022 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5023 Callers changed.
5024 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5025 (ftfont_spec_pattern): New argument fc_charset_idx.
5026 Check registry more rigidly. Change callers.
5027 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5028 change of :font-entity property of the font.
5029
5030 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5031 property of the font.
5032
50332008-05-18 Juanma Barranquero <lekktu@gmail.com>
5034
5035 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5036 (Funencodable_char_position, Fcheck_coding_systems_region)
5037 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5038 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5039 (Ffind_operation_coding_system, Fset_coding_system_priority)
5040 (Fcoding_system_eol_type): Doc fixes.
5041
50422008-05-17 Glenn Morris <rgm@gnu.org>
5043
5044 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5045
50462008-05-16 Eli Zaretskii <eliz@gnu.org>
5047
5048 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5049 and st_gid.
5050
5051 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5052 HAVE_WINDOW_SYSTEM is not defined.
5053
5054 * xfaces.c (merge_face_ref, merge_face_vectors)
5055 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5056 HAVE_WINDOW_SYSTEM is defined.
5057 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5058
50592008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5060
5061 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5062
50632008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5064
5065 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5066
50672008-05-15 Kenichi Handa <handa@m17n.org>
5068
5069 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5070 preference.
5071
50722008-05-15 Glenn Morris <rgm@gnu.org>
5073
5074 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5075
50762008-05-15 Chong Yidong <cyd@stupidchicken.com>
5077
5078 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5079 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5080
5081 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5082
50832008-05-15 Kenichi Handa <handa@m17n.org>
5084
5085 * ftfont.c (ftfont_list): Downcase family name to check generic
5086 families.
5087
5088 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5089 font-spec for QCfont value.
5090
5091 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5092 buffer. Check the return value of it.
5093
50942008-05-14 Jason Rumney <jasonr@gnu.org>
5095
5096 * w32term.c (w32_get_glyph_overhangs): Remove.
5097 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5098
50992008-05-14 Kenichi Handa <handa@m17n.org>
5100
5101 * font.c (font_prop_validate): Make nil a valid value.
5102 (font_clear_cache): Check if the cached vector of entities is nil
5103 or not.
5104
51052008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5106
5107 * emacs.c (main_thread): Conditionalize on
5108 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5109 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5110
5111 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5112 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5113 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5114
51152008-05-14 Kenichi Handa <handa@m17n.org>
5116
5117 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5118 has no corresponding coding system.
5119
51202008-05-14 Jason Rumney <jasonr@gnu.org>
5121
5122 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5123
5124 * w32font.h (w32font_open_internal): Update declaration.
5125
5126 * w32font.c (w32font_open_internal): Change last argument from
5127 w32font_info struct to font object. Fill in font object from
5128 font_entity. Get Outline metrics if possible. Use them to
5129 calculate underline position and thickness. Use xlfd name as name
5130 property. Don't set codepage.
5131 (w32font_open): Pass font_object to w32font_open_internal. Don't
5132 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5133 (w32font_draw): Use s->font.
5134 (clear_cached_metrics): Don't clear non-existent blocks.
5135
5136 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5137 font was not found.
5138 (x_draw_glyph_string): Use underline position and thickness from font.
5139
5140 * w32uniscribe.c (uniscribe_open): Pass font_object to
5141 w32font_open_internal.
5142
51432008-05-14 Kenichi Handa <handa@m17n.org>
5144
5145 These changes are to delete all legacy font-handling codes, and
5146 make Emacs use only font-backends.
5147
5148 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5149 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5150
5151 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5152
5153 * charset.h (Vcharset_non_preferred_head)
5154 (Vcurrent_iso639_language): Extern them.
5155
5156 * charset.c (Vcharset_non_preferred_head): New variable.
5157 (Vcurrent_iso639_language): New variable.
5158 (syms_of_charset): Declare it as a Lisp variable.
5159 (char_charset): Don't check non preferred charsets. As a last
5160 resort, return charset_unicode.
5161 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5162
5163 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5164 conditionals. Don't check enable_font_backend. Delete all codes
5165 used only when USE_FONT_BACKEND is not defined.
5166
5167 * dispextern.h (struct glyph_string): Change type of `font' to
5168 `struct font *'.
5169 (struct glyph_string): New member underline_position and
5170 underline_thickness.
5171 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5172 (struct face): Change type of `font' to `struct font *'. Remove
5173 members `font_name', `font_info_id'.
5174 (per_char_metric, encode_char): Delete externs.
5175 (calc_pixel_width_or_height): Adjust the prototype.
5176
5177 * emacs.c (enable_font_backend): Delete extern.
5178 (main): Don't set enable_font_backend. Don't check the command
5179 line argument "-disable-font-backend".
5180
5181 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5182 (enum font_property_index): New members FONT_DPI_INDEX,
5183 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5184 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5185 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5186 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5187 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5188 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5189 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5190 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5191 (struct font_spec, struct font_entity): New structs.
5192 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5193 (struct font): Many members from old "struct font_info" moved to
5194 here. Members font and entity deleted.
5195 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5196 the new font-related objects.
5197 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5198 (CHECK_FONT_GET_OBJECT): Likewise.
5199 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5200 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5201 (struct font_driver): New members case_sensitive anc check. Type
5202 of the member list and open changed.
5203 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5204 (font_symbolic_width, font_find_object, font_get_spec)
5205 (font_set_lface_from_name): Delete extern.
5206 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5207
5208 * font.c: Include <strings.h>.
5209 (enable_font_backend): Delete it.
5210 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5211 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5212 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5213 (null_string): Delete it.
5214 (null_vector): Make it static.
5215 (font_family_alist): Delete it.
5216 (Qnormal): Extern it.
5217 (QCextra, QClanguage): Delete it.
5218 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5219 (font_make_spec, font_make_entity, font_make_object)
5220 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5221 the string. Callers changed.
5222 (font_pixel_size): Adjusted for the format change of font-related
5223 objects.
5224 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5225 (font_style_to_value, font_style_symbolic): New function.
5226 (build_font_family_alist): Delete it.
5227 (font_registry_charsets): Use Fassoc_string instead of
5228 assq_no_quit.
5229 (font_prop_validate_symbol): Don't return null_string.
5230 (font_prop_validate_style): Adjusted for the change of
5231 style-related values in a font vector.
5232 (font_property_table): Delete entries for QClanguage and
5233 QCantialias, add entries for QCavgwidth.
5234 (get_font_prop_index): Delete the 2nd argument FROM.
5235 (font_prop_validate): Arguments changed.
5236 (font_put_extra): Adjusted for the change of font-related objects.
5237 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5238 (font_parse_fcname, font_unparse_fcname)
5239 (font_prepare_composition): Likewise.
5240 (font_parse_family_registry): Renamed from font_merge_old_spec.
5241 (otf_open): Delete the 1st arg entity.
5242 (font_otf_capability): Adjusted for the above change.
5243 (font_score): New arg alternate_families. Adjusted for the change
5244 of font-related objects.
5245 (font_sort_entites): New arg best_only.
5246 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5247 Delete them.
5248 (font_match_p): Check alternate families.
5249 (font_find_object): Delete it.
5250 (font_check_object): New function.
5251 (font_clear_cache): Adjusted for the change of font-related objects.
5252 (font_delete_unmatched): New arg.
5253 (font_list_entities): Call font_driver->list with a spec that
5254 doesn't specify style-related properties.
5255 (font_matching_entity): Arguments changed. Caller changed.
5256 (font_open_entity): Adjusted for the change of font-related objects.
5257 (font_close_object, font_has_char, font_encode_char)
5258 (font_get_name, font_get_spec): Likewise.
5259 (font_spec_from_name, font_clear_prop, font_update_lface):
5260 New functions.
5261 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5262 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5263 (font_at): Adjusted for the change of font-related objects.
5264 (font_range): New function.
5265 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5266 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5267 (Fcopy_font_spec, Fmerge_font_spec): New function.
5268 (Ffont_family_list): Renamed from list-families.
5269 (Finternal_set_font_style_table): Arguments changed.
5270 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5271 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5272 change of font-related objects.
5273 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5274
5275 * fontset.h (struct font_info): Delete it. Most members go to
5276 struct font.
5277 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5278 (enum FONT_SPEC_INDEX): Delete it.
5279 (font_info, list_fonts_func, load_font_func, query_font_func)
5280 (set_frame_fontset_func, find_ccl_program_func)
5281 (get_font_repertory_func, new_fontset_from_font_name): Delete
5282 externs.
5283 (fontset_from_font_name): Extern it.
5284 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5285 (FONT_INFO_FROM_FACE): Deleted.
5286 (face_for_font): Adjust prototype.
5287
5288 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5289 conditionals. Don't check enable_font_backend. Delete all codes
5290 used only when USE_FONT_BACKEND is not defined.
5291 (get_font_info_func, list_font_func, load_font_func)
5292 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5293 (get_font_repertory_func): Delete them.
5294 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5295 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5296 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5297 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5298 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5299 (fontset_compare_rfontdef): New function.
5300 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5301 rfont-defs by qsort. Adjusted for the change of font-group vector.
5302 (load_font_get_repertory): Deleted.
5303 (fontset_find_font): Use new macros to ref/set elements of
5304 font-def and rfont-def.
5305 (fontset_font): Fix the timing of remembering that no font for C.
5306 (free_face_fontset): Do nothing if the face has no fontset.
5307 (face_suitable_for_char_p): Use new macros to ref/set elements of
5308 rfont-def.
5309 (face_for_char): Likewise. Call face_for_char with font_object.
5310 (fs_load_font): Delete. Delete #pragma surrounding it.
5311 (fs_query_fontset): Use strcasecmp instead of strcmp.
5312 (generate_ascii_font_name): Adjusted for the format change of
5313 font-spec.
5314 (Fset_fontset_font): Likewise. Use new macros to set elements of
5315 font-def.
5316 (Fnew_fontset): Use font_unparse_xlfd to generate
5317 FONTSET_ASCII (fontset).
5318 (new_fontset_from_font_name): Deleted.
5319 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5320 a fontset is already created for the font. FIx updating of
5321 Vfontset_alias_alist.
5322 (fontset_ascii_font): Deleted.
5323 (Ffont_info): Adjusted for the format change of font-spec.
5324 (Finternal_char_font): Likewise.
5325 (Ffontset_info): Likewise.
5326 (syms_of_fontset): Don't check load_font_func.
5327
5328 * fns.c (internal_equal): Handle PREV_FONT.
5329
5330 * frame.h: Delete USE_FONT_BACKEND conditional.
5331
5332 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5333 conditionals. Don't check enable_font_backend. Delete all codes
5334 used only when USE_FONT_BACKEND is not defined.
5335 (x_set_font): Call x_new_font, not x_new_fontset2.
5336 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5337 already set for the frame.
5338
5339 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5340 a font-entity by font_make_entity. Use font_intern_prop instead
5341 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5342 font property. If a font is scalable, set avgwidth property to 0.
5343 Set font-entity property by font_put_extra.
5344 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5345 (ffont_driver): Adjusted for the change of struct font_driver.
5346 (ftfont_spec_pattern): New function.
5347 (ftfont_list): Return a list, not vector.
5348 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5349 (ftfont_list_family): Don't downcase names.
5350 (ftfont_free_entity): Deleted.
5351 (ftfont_open): Return a font-object. Adjusted for the change of
5352 struct font. Get underline_thickness and underline_position from
5353 font property. Don't update dpyinfo->smallest_font_height and
5354 dpyinfo->smallest_char_width.
5355 (ftfont_close): Don't free `struct font'.
5356 (ftfont_has_char): Adjusted for the format change of font-entity.
5357 (ftfont_encode_char, ftfont_text_extents): Likewise.
5358
5359 * ftxfont.c (ftxfont_list): Return a list, not vector.
5360 (ftxfont_open): Return a font-object. Adjusted for the change of
5361 struct font. Get underline_thickness and underline_position from
5362 font property. Don't update dpyinfo->smallest_font_height and
5363 dpyinfo->smallest_char_width.
5364 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5365 (ftxfont_draw): Adjusted for the change of struct font.
5366
5367 * image.c (image_ascent): Don't include "charset.h". Include
5368 "character.h" and "font.h".
5369
5370 * lisp.h (enum pvec_type): New member PREV_FONT.
5371 (Fassoc_string): EXFUN it.
5372
5373 * print.c: Include font.h.
5374 (print_object): Handle font-related objects.
5375
5376 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5377 conditionals. Don't check enable_font_backend. Delete all codes
5378 used only when USE_FONT_BACKEND is not defined.
5379 (handle_auto_composed_prop): Do nothing if it->f is not on a
5380 window system. Check how many following characters can be
5381 displayed by the same font.
5382 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5383 'struct font *'.
5384 (get_char_face_and_encoding): Assign the whole encoding task to
5385 the `encode-char' method of a font driver.
5386 (fill_composite_glyph_string): Adjusted for the change of `struct
5387 face' and `struct glyph_string'.
5388 (fill_glyph_string): Likewise.
5389 (get_per_char_metric): Arguments changed.
5390 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5391 and `struct glyph_string'.
5392 (produce_stretch_glyph, calc_line_height_property)
5393 (x_produce_glyphs): Likewise.
5394
5395 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5396 conditionals. Don't check enable_font_backend. Delete all codes
5397 used only when USE_FONT_BACKEND is not defined. Use
5398 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5399 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5400 (Qp): Extern them.
5401 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5402 Deleted.
5403 (struct font_name): Deleted.
5404 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5405 (compare_fonts_by_sort_order): New function.
5406 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5407 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5408 Deleted.
5409 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5410 compare_fonts_by_sort_order.
5411 (Fx_font_family_list): Call Ffont_family_list.
5412 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5413 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5414 (face_symbolic_slant, face_symbolic_swidth)
5415 (split_font_name_into_vector, build_font_name_from_vector)
5416 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5417 (font_rescale_ratio, split_font_name, build_font_name)
5418 (free_font_names, sort_fonts, x_face_list_fonts)
5419 (face_font_available_p, sorted_font_list, cmp_font_names)
5420 (font_list_1, concat_font_list, font_list, remove_duplicates):
5421 Deleted.
5422 (Fx_list_fonts): Use Ffont_list.
5423 (LFACE_AVGWIDTH): Deleted.
5424 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5425 by FONTP.
5426 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5427 (set_lface_from_font_name): Delete it.
5428 (set_lface_from_font): Renamed from
5429 set_lface_from_font_and_fontset. Caller changed. Don't set
5430 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5431 for face.
5432 (merge_face_vectors): Copy font-spec if necessary.
5433 Clear properties of the font-spec if necessary.
5434 (merge_face_ref): Clear properties of the font-spec if necessary.
5435 (Finternal_set_lisp_face_attribute): Likewise.
5436 (set_font_frame_param): Use font_load_for_lface to load a
5437 font-object, and call Fmodify_frame_parameters with it.
5438 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5439 font name by Ffont_xlfd_name.
5440 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5441 QCslant, and QCwidth.
5442 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5443 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5444 Compare fonts by EQ.
5445 (lookup_non_ascii_face): Deleted.
5446 (face_for_font): The 2nd argument changed.
5447 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5448 Check atomic font properties by case insensitive.
5449 (realize_non_ascii_face): Set face->overstrike correctly.
5450 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5451 (dump_realized_face): Get font name from
5452 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5453
5454 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5455 conditionals. Don't check enable_font_backend. Delete all codes
5456 used only when USE_FONT_BACKEND is not defined.
5457 (xic_create_xfontset): Original code deleted and renamed from
5458 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5459 (x_make_gc): Don't set GCFont in GCs.
5460 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5461 opened by "fixed".
5462 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5463 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5464 get_font_repertory_func.
5465
5466 * xfont.c: Include <stdlib.h> and "ccl.h".
5467 (struct xfont_info): New structure.
5468 (xfont_query_font): Deleted.
5469 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5470 moved from xterm.c.
5471 (xfont_driver): Adjusted for the change of struct font_driver.
5472 (compare_font_names): New function.
5473 (xfont_list_pattern): Sort font names case insensitively. Make
5474 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5475 (xfont_list): Return a list, not vector.
5476 (xfont_match): If the font doesn't have QCname property, generate
5477 a name from the other font properties.
5478 (xfont_open): Return a font-object. Adjusted for the change of
5479 struct font. Get underline_thickness and underline_position from
5480 font property. Don't update dpyinfo->smallest_font_height and
5481 dpyinfo->smallest_char_width.
5482 (xfont_close): Don't free struct font.
5483 (xfont_prepare_face): Adjusted for the change of struct font.
5484 (xfont_done_face): Deleted.
5485 (xfont_has_char): Adjusted for the change of struct font.
5486 (xfont_encode_char, xfont_draw): Likewise.
5487 (xfont_check): New function.
5488
5489 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5490 callback function.
5491 (xftfont_match): Adjusted for the format change of font-entity.
5492 (xftfont_open): Adjusted for the format change of font-entity and
5493 font-object. Adjusted for the change of struct font. Return a
5494 font-object. Don't update dpyinfo->smallest_font_height and
5495 dpyinfo->smallest_char_width.
5496 (xftfont_close): Block input while calling XftFontClose.
5497 (xftfont_prepare_face): Don't block input while calling
5498 xftfont_get_colors. Adjusted for the change of struct font.
5499 (xftfont_shape): Return value of error case fixed.
5500
5501 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5502
5503 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5504 conditionals.
5505 (FONT_WIDTH): Return (f)->max_width.
5506 (struct x_display_info): Delete member `font'.
5507 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5508 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5509 (struct x_output): Change type of `font' to `struct font *'.
5510
5511 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5512 conditionals. Don't check enable_font_backend. Delete all codes
5513 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5514 (x_per_char_metric, x_encode_char): Deleted.
5515 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5516 (x_compute_glyph_string_overhangs): Adjusted for the change of
5517 `struct face'.
5518 (x_draw_glyph_string_foreground)
5519 (x_draw_composite_glyph_string_foreground): Likewise.
5520 (x_draw_glyph_string): Likewise. Use font->underline_position and
5521 font->underline_thickness.
5522 (x_new_font): Renamed from x_new_fontset2.
5523 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5524 (x_check_font): Call `check' method of a font driver.
5525 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5526 (x_query_font, x_get_font_repertory): Deleted.
5527 (x_find_ccl_program): Renamed and moved to xfont.c.
5528 (x_redisplay_interface): Adjusted for the change of `struct
5529 redisplay_interface'.
5530
5531 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5532 conditionals. Don't check enable_font_backend. Delete all codes
5533 used only when USE_FONT_BACKEND is not defined. Surround non-used
5534 code by "#ifdef OLD_FONT" and "endif".
5535 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5536
5537 * w32font.h (struct w32font_info): New member.
5538 (FONT_COMPAT): New macro.
5539 (w32font_open_internal): Prototype adjusted.
5540
5541 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5542 OLD_FONT" and "endif".
5543
5544 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5545 conditionals. Don't check enable_font_backend. Delete all codes
5546 used only when USE_FONT_BACKEND is not defined.
5547 (w32font_open): Return a font-object. Make a font-object by
5548 font_make_object. Adjusted for the change of struct w32font_info.
5549 (w32font_close): Don't free struct font. Adjusted for the change
5550 of struct w32font_info.
5551 (w32font_encode_char, w32font_text_extents, w32font_draw):
5552 Adjusted for the change of struct w32font_info.
5553 (w32font_draw): Likewise.
5554 (w32font_list_internal): Return a list, not vector.
5555 (w32font_open_internal): Change the 4th arg to font-object.
5556 Adjusted for the change of struct w32font_info and font-object format.
5557 (add_font_name_to_list): Don't downcase names.
5558 (w32_enumfont_pattern_entity): Make a font-entity by
5559 font_make_entity. Adjusted for the format change of font-entity.
5560 Use FONT_SET_STYLE to set a style-related font property. If a
5561 font is scalable, set avgwidth property to 0. Set font-entity
5562 property by font_put_extra.
5563 (font_matches_spec): Adjusted for the format change of font-entity.
5564 (w32_weight_table, w32_decode_weight): New variables.
5565 (w32_encode_weight): New function.
5566 (fill_in_logfont): Adjusted for the format change of font-spec.
5567 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5568 weight value.
5569 (w32font_driver): Adjusted for the change of struct font_driver.
5570
5571 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5572 conditionals. Don't check enable_font_backend. Surround non-used
5573 code by "#ifdef OLD_FONT" and "endif".
5574 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5575 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5576
5577 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5578 conditionals. Don't check enable_font_backend. Delete all codes
5579 used only when USE_FONT_BACKEND is not defined. Surround non-used
5580 code by "#ifdef OLD_FONT" and "endif".
5581
5582 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5583 (uniscribe_open): Return value changed to font-object.
5584 Adjusted for the format change of font-object.
5585 (uniscribe_otf_capability): Adjusted for the change of struct font.
5586 (add_opentype_font_name_to_list): Don't downcase names.
5587 (uniscribe_font_driver): Adjusted for the change of struct
5588 font_driver.
5589
55902008-05-13 Chong Yidong <cyd@stupidchicken.com>
5591
5592 * dispnew.c (update_frame_1): Check if tty output is still valid
5593 before flushing it.
5594
55952008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5596
5597 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5598 to Gtk+ menus.
5599
56002008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5601
5602 * dired.c (file_name_completion): Tweak the code so as to always do it
5603 in a single pass. Tighten the scope of some variables.
5604
5605 * dired.c (Qdefault_directory): New var.
5606 (file_name_completion): Use it instead of Fexpand_file_name.
5607 (syms_of_dired): Initialize it.
5608
56092008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5610
5611 * fileio.c (double_dollars): Remove dead code.
5612
56132008-05-10 Eli Zaretskii <eliz@gnu.org>
5614
5615 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5616 Mention w32-get-true-file-attributes in doc string.
5617
5618 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5619
56202008-05-09 Glenn Morris <rgm@gnu.org>
5621
5622 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5623 2008-04-23.
5624
56252008-05-09 Eli Zaretskii <eliz@gnu.org>
5626
5627 Support for reporting owner and group of each file on MS-Windows:
5628 * dired.c (stat_uname, stat_gname): New functions, with special
5629 implementation for w32.
5630 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5631
5632 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5633 (dflt_group_name): New static variable.
5634 (dflt_group): Rename from the_group.
5635 (init_user_info): Init dflt_group fields. Get user's group name
5636 from LookupAccountSid.
5637 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5638 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5639 New initialization states.
5640 (globals_of_w32): Initialize them to zero. Initialize the default
5641 group name to "None".
5642 (GetFileSecurity_Name): New global var, the name of the function
5643 to call for GetFileSecurity.
5644 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5645 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5646 (get_file_security, get_security_descriptor_owner)
5647 (get_security_descriptor_group, is_valid_sid)
5648 (get_file_security_desc, get_rid, get_name_and_id)
5649 (get_file_owner_and_group): New functions.
5650 (stat): Use get_file_security_desc and get_file_owner_and_group to
5651 report the owner and primary group of each file. Don't ignore the
5652 high 32 bits of file's size, now that st_size is 64-bit wide.
5653 Fix test when to get true file attributes.
5654 (init_user_info): Use get_rid instead of equivalent inline code.
5655 (fstat): Don't ignore the high 32 bits of file's size.
5656
56572008-05-09 Chong Yidong <cyd@stupidchicken.com>
5658
5659 * image.c (png_load): Use correct bit-depth for setting background
5660 color.
5661
56622008-05-08 Eli Zaretskii <eliz@gnu.org>
5663
5664 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5665 epa-hook.elc.
5666
56672008-05-08 Juanma Barranquero <lekktu@gmail.com>
5668
5669 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5670
56712008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5672
5673 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5674 because the original parameters are in pure storage now.
5675 (mac_window): Remove unused params. Update callers.
5676
56772008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5678
5679 * lread.c (substitute_object_recurse): Use lower-level primitives.
5680 Don't signal errors when traversing sub-char-tables.
5681 Don't loop over all the possible characters when traversing char-tables.
5682
5683 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5684 just like we do in print.c.
5685
56862008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5687
5688 * minibuf.c (Ftry_completion): Remove code left over from when we used
5689 scmp instead of Fcompare_strings.
5690
56912008-05-04 Juanma Barranquero <lekktu@gmail.com>
5692
5693 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5694
56952008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5696
5697 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5698 Create bitmap context in native byte order.
5699
5700 * macterm.c (XDrawLine)
5701 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5702 context in native byte order.
5703
57042008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5705
5706 * config.in: Regenerate.
5707
5708 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5709 New definitions for Image I/O support.
5710 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5711 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5712 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5713 (mac_data_provider_release_data, image_load_image_io)
5714 [USE_MAC_IMAGE_IO]: New functions.
5715 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5716 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5717 (init_image_func_pointer) [MAC_OSX]: Remove function.
5718 (image_load_quartz2d) [MAC_OSX]: Check availability of
5719 CGImageCreateWithPNGDataProvider at compile time.
5720 Use lowercase `false' for boolean constant.
5721 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5722 Use image_load_image_io.
5723 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5724 Don't check MyCGImageCreateWithPNGDataProvider.
5725 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5726 Don't call init_image_func_pointer.
5727
5728 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5729
5730 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5731 Make variable non-static.
5732 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5733 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5734
5735 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5736 (RED_FROM_ULONG): Mask off higher bits.
5737 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5738
5739 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5740 Include AvailabilityMacros.h.
5741 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5742 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5743
57442008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5745
5746 * chartab.c (Fset_char_table_range): If range is t, really set all
5747 chars to that value.
5748
57492008-05-03 Eli Zaretskii <eliz@gnu.org>
5750
5751 * dired.c (Ffile_attributes): Don't allow the device number become
5752 negative.
5753
57542008-05-02 Daiki Ueno <ueno@unixuser.org>
5755
5756 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5757
57582008-05-02 Juri Linkov <juri@jurta.org>
5759
5760 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5761 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5762 DEFAULT argument as a list of default values in docstrings.
5763
57642008-05-01 Chong Yidong <cyd@stupidchicken.com>
5765
5766 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5767
57682008-05-01 Martin Rudalics <rudalics@gmx.at>
5769
5770 * dispnew.c (change_frame_size_1): Preserve small windows when
5771 shrinking frames by calling set_window_height|width with third
5772 arg 2.
5773
5774 * window.h (struct window): Replace field too_small_ok by field
5775 resize_proportionally.
5776
5777 * window.c (make_window): Initialize resize_proportionally.
5778 (enlarge_window): Temporarily set resize_proportionally to make
5779 sure that shrink_windows does scale the window proportionally.
5780 (shrink_windows): When window has resize_proportionally set try
5781 to shrink it proportionally by stealing from other windows.
5782 (struct saved_window, Fset_window_configuration)
5783 (compare_window_configurations): Handle resize_proportionally.
5784 (WINDOW_TOTAL_SIZE): New macro.
5785 (window_min_size, shrink_windows, size_window): Use it.
5786 (check_min_window_sizes): Remove. Invalid values of
5787 window-min-height|width are handled by window_min_size_2 now.
5788 (size_window, Fsplit_window, enlarge_window)
5789 (adjust_window_trailing_edge, grow_mini_window): Don't call
5790 check_min_window_sizes.
5791 (window_min_size_2, window_min_size_1, window_min_size):
5792 New argument safe_p for retrieving "safe" minimum sizes.
5793 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5794 (adjust_window_trailing_edge, grow_mini_window):
5795 Adjust arguments of window_min_size... functions.
5796 (shrink_windows): Argument min_size removed. New argument
5797 safe_p allows shrinking windows to their safe minimum sizes.
5798 Calculate minimum size and decide whether a window shall be
5799 deleted for each window individually.
5800 (size_window): When nodelete_p equals 2, tell shrink_windows to
5801 delete windows only if their new minimum size is no more safe.
5802 (shrink_window_lowest_first): Call window_min_size_1 to make
5803 sure to preserve modeline of bottom-most window when resizing
5804 the minibuffer.
5805 (Fset_window_configuration, Fcurrent_window_configuration)
5806 (compare_window_configurations): Do not handle
5807 window-min-height|width any more.
5808 (syms_of_window): Clarify window-min-height|width doc-strings.
5809
58102008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5811
5812 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5813 some more. Copy some of the code from Ftry_completions.
5814 Remove special case code that dates back to initial revision when the
5815 slash was only added when necessary and that can't trigger nowadays.
5816
58172008-04-27 Kenichi Handa <handa@m17n.org>
5818
5819 * font.c (font_prop_validate): Signal `error' instead of `font'.
5820
58212008-04-29 Jason Rumney <jasonr@gnu.org>
5822
5823 * w32fns.c (Fw32_battery_status): New defun.
5824 (syms_of_w32fns): Defsubr it.
5825
58262008-04-28 Andreas Schwab <schwab@suse.de>
5827
5828 * dired.c (file_name_completion): Fix another mixing of encoded
5829 and decoded names.
5830
58312008-04-28 Juanma Barranquero <lekktu@gmail.com>
5832
5833 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5834
58352008-04-27 Juanma Barranquero <lekktu@gmail.com>
5836
5837 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5838
58392008-04-27 Andreas Schwab <schwab@suse.de>
5840
5841 * dired.c (file_name_completion): Fix inappropriate mixing of
5842 encoded and decoded names.
5843
5844 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5845
5846 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5847
58482008-04-26 Eli Zaretskii <eliz@gnu.org>
5849
5850 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5851 2008-03-31, it's not needed anymore with `struct stat' definition
5852 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5853 for the same reasons.
5854
58552008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5856
5857 * m/sparc.h: Additional redefinitions for GNU/Linux.
5858
58592008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5860
5861 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5862 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5863 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5864 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5865 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5866 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5867 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5868 Likewise.
5869
5870 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5871 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5872 (mac_ax_number_of_characters): Add externs.
5873 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5874 [USE_MAC_TSM]: Likewise.
5875 (mac_handle_text_input_event) [MAC_OSX]:
5876 Handle kEventTextInputOffsetToPos for no active input area case.
5877 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5878 (mac_handle_document_access_event)
5879 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5880 (install_application_handler) [MAC_OSX]: Register handlers for
5881 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5882 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5883 Register mac_handle_document_access_event.
5884
5885 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5886 Make functions non-static.
5887
58882008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5889
5890 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5891 (read_file_name_completion_ignore_case, insert_default_directory)
5892 (Qdefault_directory): Move to minibuffer.el.
5893 (Fread_file_name): Call the new `read-file-name' instead.
5894
58952008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5896
5897 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5898 Make function non-static.
5899 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5900 Remove function.
5901 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5902 Move to mactoolbox.c.
5903 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5904
5905 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5906 (mac_rect_make): New macro.
5907
5908 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5909 instead of float.
5910 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5911 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5912 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5913 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5914 CGRectMake.
5915 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5916 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5917 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5918 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5919 instead of WindowRef in argument type.
5920 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5921 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5922 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5923 instead of DISPLAY. All uses changed.
5924 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5925 (x_calc_absolute_position): Simplify so as not to use
5926 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5927
5928 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5929 instead of WindowRef in argument type.
5930 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5931 [TARGET_API_MAC_CARBON]: Remove externs.
5932 (create_apple_event, mac_event_parameters_to_lisp)
5933 [TARGET_API_MAC_CARBON]: Add externs.
5934
5935 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5936 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5937 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5938 is clicked.
5939 (x_activate_menubar): Remove extern for saved_menu_event_location.
5940 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5941 Move from mac.c.
5942
59432008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5944
5945 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5946 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5947
59482008-04-23 Jason Rumney <jasonr@gnu.org>
5949
5950 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5951 attributes only for local files.
5952
5953 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5954 default to Qlocal.
5955
59562008-04-22 Juri Linkov <juri@jurta.org>
5957
5958 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5959 read-buffer-to-switch instead of using the letter "B".
5960
59612008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5962
5963 * fileio.c (Qdefault_directory): New variable.
5964 (Fread_file_name): Use it to pass `dir' to the completion functions.
5965
59662008-04-20 Chong Yidong <cyd@stupidchicken.com>
5967
5968 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5969
59702008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5971
5972 * keyboard.c (Vpre_help_message): Remove.
5973 (show_help_echo): Remove default C code.
5974
5975 * dired.c (directory_files_internal, file_name_completion):
5976 Only call ENCODE_FILE if the string is indeed decoded.
5977
59782008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5979
5980 * Makefile.in (TOOLKIT_DEFINES): Remove.
5981 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5982
59832008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5984
5985 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5986 (mactoolbox.o): New target.
5987
5988 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5989 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5990
5991 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5992 Use mac_set_frame_window_background instead of XSetWindowBackground.
5993 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5994 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5995 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5996 instead of SetWindowTitleWithCFString.
5997 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5998 Move function to mactoolbox.c.
5999 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6000 Use mac_set_window_modified instead of SetWindowModified.
6001 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6002 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6003 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6004 FrontNonFloatingWindow. Use mac_activate_window instead of
6005 ActivateWindow. Use mac_active_non_floating_window instead of
6006 ActiveNonFloatingWindow.
6007 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6008 Use mac_show_hourglass and mac_hide_hourglass.
6009 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6010 instead of GetGlobalMouse.
6011 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6012 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6013 Use mac_bring_window_to_front instead of BringToFront.
6014 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6015 mactoolbox.c.
6016 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6017 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6018 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6019 mactoolbox.c.
6020
6021 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6022 (XtPointer): Move typedef from macmenu.c.
6023 (enum button_type): Move enum from macmenu.c.
6024 (widget_value): Move typedef from macmenu.c.
6025 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6026 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6027 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6028 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6029 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6030 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6031 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6032 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6033 (Selection): Move typedef from macselect.c.
6034 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6035 macterm.c.
6036 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6037 (mac_is_window_collapsed, mac_bring_window_to_front)
6038 (mac_send_window_behind, mac_hide_window, mac_show_window)
6039 (mac_collapse_window, mac_front_non_floating_window)
6040 (mac_active_non_floating_window, mac_activate_window)
6041 (mac_move_window_structure, mac_move_window, mac_size_window)
6042 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6043
6044 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6045 (enum mac_menu_kind): Move enum to mactoolbox.c.
6046 (min_menu_id): Move variable to mactoolbox.c.
6047 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6048 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6049 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6050 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6051 [TARGET_API_MAC_CARBON]: Likewise.
6052 (XtPointer): Move typedef to macgui.h.
6053 (enum button_type): Move enum to macgui.h.
6054 (widget_value): Move typedef to macgui.h.
6055 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6056 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6057 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6058 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6059 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6060 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6061 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6062 (popup_activated_flag): Make variable non-static.
6063 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6064 (add_menu_item, fill_menu, dispose_menus):
6065 Move functions to mactoolbox.c.
6066 (restore_show_help_function, menu_target_item_handler)
6067 (install_menu_target_item_handler, mac_handle_dialog_event)
6068 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6069 [TARGET_API_MAC_CARBON]: Likewise.
6070 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6071 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6072 (find_and_call_menu_selection, name_is_separator): Make function
6073 non-static.
6074 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6075 to mactoolbox.c.
6076 (set_frame_menubar): Don't call install_menu_quit_handler.
6077 (menu_item_selection): New variable.
6078 (mac_menu_show): Use create_and_show_popup_menu.
6079 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6080 selection but set variable menu_item_selection. All uses changed.
6081 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6082 Call install_menu_quit_handler. Move to mactoolbox.c.
6083
6084 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6085 (Selection): Move typedef to macgui.h.
6086 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6087 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6088 Make variables non-static.
6089 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6090 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6091 Make functions non-static.
6092 (Vmac_service_selection) [MAC_OSX]: Likewise.
6093 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6094 (mac_valid_selection_target_p, mac_clear_selection)
6095 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6096 (mac_put_selection_value, mac_selection_has_target_p)
6097 (mac_get_selection_value, mac_get_selection_target_list)
6098 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6099 Move functions to mactoolbox.c.
6100 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6101 Likewise.
6102 (copy_scrap_flavor_data, mac_handle_service_event)
6103 (install_service_handler) [MAC_OSX]: Likewise.
6104 (syms_of_macselect) <Vmac_dnd_known_types>:
6105 Use mac_dnd_default_known_types.
6106
6107 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6108 Move to mactoolbox.c.
6109 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6110 (Fx_selection_owner_p): Add EXFUN.
6111 (install_window_handler, remove_window_handler, XSetWindowBackground):
6112 Remove externs.
6113 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6114 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6115 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6116 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6117 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6118 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6119 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6120 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6121 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6122 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6123 (mac_valid_selection_target_p, mac_clear_selection)
6124 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6125 (mac_put_selection_value, mac_selection_has_target_p)
6126 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6127 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6128 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6129 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6130 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6131 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6132 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6133 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6134 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6135
6136 * mactoolbox.c: New file.
6137
61382008-04-18 Jason Rumney <jasonr@gnu.org>
6139
6140 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6141
61422008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6143
6144 * character.c (Fmultibyte_char_to_unibyte):
6145 Return latin1 chars unchanged.
6146
6147 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6148 relocated if it points to `name'.
6149
61502008-04-17 Kenichi Handa <handa@m17n.org>
6151
6152 * data.c (Faset): Allow setting a multibyte character in an
6153 ASCII-only unibyte string.
6154
6155 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6156
61572008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6158
6159 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6160 done in config.h.
6161
61622008-04-16 Juanma Barranquero <lekktu@gmail.com>
6163
6164 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6165 (Fchar_direction): Add usage in the docstring.
6166
61672008-04-15 Chong Yidong <cyd@stupidchicken.com>
6168
6169 * keyboard.c (read_key_sequence): Remove always-true checks.
6170
61712008-04-14 Jason Rumney <jasonr@gnu.org>
6172
6173 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6174 compatibility struct, for better underline positioning.
6175
61762008-04-13 David Hansen <david.hansen@gmx.net>
6177
6178 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6179 string.
6180
61812008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6182
6183 * m/hp800.h (XUINT, XSET): Remove.
6184
61852008-04-12 Juanma Barranquero <lekktu@gmail.com>
6186
6187 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6188 previous change.
6189
61902008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6191
6192 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6193 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6194
61952008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6196
6197 * keymap.h (map_keymap_canonical): Declare.
6198 * xmenu.c (single_keymap_panes): Use it.
6199
62002008-04-11 Glenn Morris <rgm@gnu.org>
6201
6202 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6203 set the target's value to that of the alias.
6204
62052008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6206
6207 * term.c (set_tty_color_mode): Left over typo.
6208
62092008-04-10 Michael Albinus <michael.albinus@gmx.de>
6210
6211 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6212 only after check for file name handler functions. Signal, when
6213 native functionality is not supported.
6214 (syms_of_fileio): Declare it unconditionally.
6215
62162008-04-10 Jason Rumney <jasonr@gnu.org>
6217
6218 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6219 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6220
6221 * w32.c (logon_network_drive): Also logon to remote drives that
6222 are mapped to drive letters.
6223
62242008-04-10 Glenn Morris <rgm@gnu.org>
6225
6226 * xdisp.c (truncate-partial-width-windows): Doc fix.
6227
62282008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6229
6230 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6231 Move functions to minibuffer.el.
6232 (syms_of_fileio): Don't declare them.
6233
62342008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6235
6236 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6237 (syms_of_minibuf): Remove its initialization.
6238
6239 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6240
62412008-04-09 Juanma Barranquero <lekktu@gmail.com>
6242
6243 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6244
62452008-04-09 Jason Rumney <jasonr@gnu.org>
6246
6247 * makefile.w32-in (distclean): Delete makefile too.
6248 (maintainer-clean): New target.
6249
6250 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6251
6252 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6253 for new font backend and composite cases.
6254
62552008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6256
6257 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6258 Most of the code moved to run_timers.
6259 (do_pending_atimers): Call run_timers.
6260 (run_timers): New function.
6261
6262 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6263 run atimers.
6264
6265 * process.c (wait_reading_process_output): The same as above.
6266
62672008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6268
6269 * minibuf.c (last_exact_completion): Remove variable.
6270 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6271 (complete_and_exit_1, complete_and_exit_2)
6272 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6273 (Fdisplay_completion_list, display_completion_list_1)
6274 (Fminibuffer_completion_help, Fself_insert_and_exit)
6275 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6276 minibuffer.el.
6277 (syms_of_minibuf): Remove corresponding initializations.
6278
6279 * keyboard.c (Qdeactivate_mark): New var.
6280 (command_loop_1): Use it to call `deactivate-mark'.
6281 (syms_of_keyboard): Initialize it.
6282
6283 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6284 to another frame.
6285 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6286 Don't call set_tty_color_mode.
6287 (store_frame_param): Reset previous_frame rather than call
6288 set_tty_color_mode.
6289 * term.c (set_tty_color_mode): Rewrite.
6290 * dispextern.h (set_tty_color_mode): New type.
6291 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6292
62932008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6294
6295 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6296 for generic chars, which do not exist any more in emacs-unicode.
6297
62982008-04-08 Michael Albinus <michael.albinus@gmx.de>
6299
6300 * coding.c (detect_coding_emacs_mule)
6301 (Ffind_operation_coding_system): Fix typo.
6302
63032008-04-08 Jason Rumney <jasonr@gnu.org>
6304
6305 * w32uniscribe.c (SNAME): Extract only symbol name.
6306
6307 * w32font.h (struct w32_metric_cache): New struct.
6308 (w32font_info): Use it.
6309 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6310 (CACHE_BLOCKSIZE): New constants.
6311
6312 * w32font.c (Qja, Qko, Qzh): New symbols.
6313 (syms_of_w32font): Initialise them.
6314 (font_matches_spec): Use them to filter by language.
6315 (recompute_cached_metrics): Remove function.
6316 (compute_metrics, clear_cached_metrics): New functions.
6317 (w32font_encode_char): Use them to manage metric cache.
6318 (w32font_text_extents): Cache metrics for all glyphs on demand.
6319 Delay converting glyph indices to WORD until needed.
6320 (w32font_open_internal): Initialize metric cache to empty.
6321 (registry_to_w32_charset): Charset should always be a symbol.
6322 (fill_in_logfont, list_all_matching_fonts): Family should
6323 always be a symbol.
6324
63252008-04-06 Jason Rumney <jasonr@gnu.org>
6326
6327 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6328 Give up if glyph indices not supported. Use uniscribe obtained
6329 ABC widths for individual metrics. Map glyph clusters back to
6330 characters using fClusterStart flag. Return number of glyphs
6331 produced, not chars processed.
6332 (uniscribe_shape): Map char at FROM to current glyph.
6333
63342008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6335
6336 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6337 Use SetMenuItemHierarchicalMenu.
6338
63392008-04-05 Jason Rumney <jasonr@gnu.org>
6340
6341 * image.c (pbm_load): Allow color values up to 65535.
6342 Throw an error if max_color_idx is outside the supported range.
6343 Report an error when image size is invalid.
6344 Read two bytes at a time when raw images have max_color_idx above 255.
6345
63462008-04-05 Eli Zaretskii <eliz@gnu.org>
6347
6348 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6349 cFileName a file name that includes `?' characters, use the 8+3
6350 alias in cAlternateFileName instead.
6351
63522008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6353
6354 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6355 append "CCL: Quitted" when the CCL program is quitted.
6356 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6357
6358 * ccl.h (struct ccl_program): New member quit_silently.
6359
63602008-04-05 Chong Yidong <cyd@stupidchicken.com>
6361
6362 * search.c (compile_pattern_1): Treat non-nil and non-string of
6363 search-spaces-regexp as nil.
6364
6365 * minibuf.c (Fassoc_string): Tweak docstring.
6366
63672008-04-05 Eli Zaretskii <eliz@gnu.org>
6368
6369 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6370 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6371 2008-03-14 to force inode be positive.
6372
6373 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6374 _S_* ones, since we now use our own sys/stat.h.
6375 (stat, fstat): Don't mangle the inode number.
6376 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6377
63782008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6379
6380 * frame.h (struct frame): Give one more bit to `visible' since we use
6381 values larger than 1 to indicate obscured frames on ttys.
6382
6383 * keymap.c (Qkeymap_canonicalize): New var.
6384 (Fmap_keymap_internal): New fun.
6385 (describe_map): Use keymap-canonicalize.
6386
6387 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6388 (Fundo_boundary): Set them.
6389 (syms_of_undo): Initialize them.
6390 (record_point): Use them instead of last_point_position*.
6391 (last_undo_buffer): Change type.
6392
63932008-04-04 Jason Rumney <jasonr@gnu.org>
6394
6395 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6396 (recompute_cached_metrics): Don't set ascent and descent per char.
6397
6398 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6399 (uniscribe_check_otf): Add GC protection before consing.
6400 Rearrange loop for counting features.
6401
64022008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6403
6404 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6405 buffer with byte-size of source buffer.
6406
64072008-04-03 Chong Yidong <cyd@stupidchicken.com>
6408
6409 * callint.c (Fcall_interactively): Handle temporary region even
6410 when shift-select-mode is off.
6411
64122008-04-03 Jason Rumney <jasonr@gnu.org>
6413
6414 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6415
64162008-04-03 Kenichi Handa <handa@m17n.org>
6417
6418 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6419 (CATEGORY_MASK_UTF_16): Likewise.
6420 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6421 binary file.
6422 (detect_coding): Add null-byte detection for a binary file.
6423 (detect_coding_system): Likewise.
6424
64252008-04-03 Jason Rumney <jasonr@gnu.org>
6426
6427 * w32uniscribe.c: New file.
6428
6429 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6430
6431 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6432
6433 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6434 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6435 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6436 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6437 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6438 (Qphonetic): New symbols.
6439 (syms_of_w32font): Initialize them.
6440 (font_supported_scripts): Use them.
6441 (w32font_list_family): List all charsets.
6442 (w32font_text_extents, recompute_cached_metrics): Fix metric
6443 calculations.
6444 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6445 Give opentype fonts their own format.
6446 (font_matches_spec): New arguments backend and logfont.
6447 Handle :otf spec for uniscribe backend.
6448 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6449 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6450
6451 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6452 font backend.
6453 (globals_of_w32fns): Initialize uniscribe font backend.
6454
6455 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6456 dependencies.
6457 (w32uniscribe.$(O)): New file to build.
6458 (FONT_OBJ): Include w32uniscribe.$(O).
6459 (LIBS): Add uniscribe libraries.
6460
6461 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6462
64632008-04-02 Chong Yidong <cyd@stupidchicken.com>
6464
6465 * callint.c (Vshift_select_mode): New var.
6466 (Finteractive): Document new ^ spec.
6467 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6468 is present.
6469
6470 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6471 (command_loop_1): Avoid running the direct display versions of
6472 forward-char and backward-char if shift-selection may occur.
6473 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6474 shift-translation takes place.
6475
6476 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6477 avoid clobbering by define-minor-mode.
6478
6479 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6480 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6481
6482 * syntax.c (Fforward_word): Add ^ interactive spec.
6483
6484 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6485 (Fscroll_right): Add ^ interactive spec.
6486
64872008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6488
6489 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6490
6491 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6492
6493 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6494
64952008-03-31 Juri Linkov <juri@jurta.org>
6496
6497 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6498
64992008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6500
6501 * gtkutil.c (xg_set_geometry): Fix indentation.
6502 (xg_resize_outer_widget): Remove.
6503 (x_wm_size_hint_off): Fix indentation.
6504 (xg_frame_set_char_size): Call flush_and_sync after
6505 gtk_window_resize.
6506 (x_wm_set_size_hint): Pass NULL as geometry window to
6507 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6508 Add menu bar and tool bar height to base height.
6509 (xg_update_frame_menubar, free_frame_menubar)
6510 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6511 (update_frame_tool_bar, free_frame_tool_bar):
6512 Change xg_resize_outer_widget to xg_frame_set_char_size.
6513
65142008-03-30 Michael Albinus <michael.albinus@gmx.de>
6515
6516 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6517 (Fdbus_call_method): New parameter TIMEOUT.
6518 (dbus-send-signal): Optimize UNGCPRO call.
6519
65202008-03-29 Juri Linkov <juri@jurta.org>
6521
6522 * window.c (Fdisplay_buffer): Move call to
6523 Vsplit_window_preferred_function out of conditions that check
6524 if window is eligible for vertical splitting.
6525 When Vsplit_window_preferred_function is non-nil, call it and use
6526 its non-nil return value as window. Otherwise, continue doing
6527 vertical splitting using Fsplit_window with arg horflag=nil.
6528 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6529 default value from `split-window' to nil.
6530
65312008-03-29 Juri Linkov <juri@jurta.org>
6532
6533 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6534 for interactive code letters 'b' and 'B'.
6535
65362008-03-29 Eli Zaretskii <eliz@gnu.org>
6537
6538 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6539 multibyte string.
6540
65412008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6542
6543 * keyboard.c (pending_funcalls): New var.
6544 (timer_check): Run it.
6545 (syms_of_keyboard): Initialize it.
6546 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6547 (Vdelete_terminal_functions): New vars.
6548 (syms_of_terminal): Initialize them.
6549 (Fdelete_terminal): Run delete-terminal-functions.
6550 * xdisp.c (safe_eval): Rewrite.
6551 (safe_call2): New fun.
6552 * frame.c (Qdelete_frame_functions): New var.
6553 (syms_of_frame): Initialize it.
6554 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6555 * lisp.h (safe_call2, pending_funcalls): Declare.
6556
65572008-03-28 Andreas Schwab <schwab@suse.de>
6558
6559 * indent.c (Fmove_to_column): Move declaration before statements.
6560
65612008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6562
6563 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6564 (struct frame): Use bit fields for boolean vars.
6565
6566 * process.c (server_accept_connection): Simplify naming.
6567 (emacs_get_tty_pgrp): Use SDATA.
6568
6569 * coding.c (decode_coding_object): Fix last change.
6570
65712008-03-27 Jason Rumney <jasonr@gnu.org>
6572
6573 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6574
65752008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6576
6577 * charset.c (Fdefine_charset_internal): Change the way of
6578 registering charsets in Vcharset_order_list.
6579 (syms_of_charset): Make the charset `eight-bit' supplementary.
6580
65812008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6582
6583 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6584 operations, to avoid having the difference between pointers
6585 overflow.
6586
65872008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6588
6589 * indent.c (check_display_width): New fun.
6590 (scan_for_column): Use it.
6591
6592 * data.c (syms_of_data): Mark most-positive-fixnum and
6593 most-negative-fixnum as constants.
6594
6595 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6596
6597 * indent.c (scan_for_column): Extract from current_column_1.
6598 Merge with the same code from Fmove_to_column.
6599 (current_column_1, Fmove_to_column): Use it.
6600
66012008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6602
6603 * keymap.c (map_keymap_internal): New fun.
6604 (map_keymap): Use it.
6605 (Fmap_keymap_internal): New fun.
6606 (Fmap_keymap): Remove left-out test from before make_save_value.
6607
6608 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6609
6610 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6611 Use XCAR/XCDR.
6612
6613 * process.h (struct Lisp_Process): Remove filter_multibyte.
6614 * process.c (QCfilter_multibyte): Remove.
6615 (setup_process_coding_systems): Don't use filter_multibyte.
6616 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6617 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6618 (Fset_process_filter_multibyte): Change the coding-system to
6619 approximate the previous behavior.
6620 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6621 coding-system.
6622
6623 * coding.c (decode_coding_object): When not decoding into a buffer,
6624 obey the coding system's preference of (uni|multi)byte.
6625
66262008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6627
6628 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6629 every char is changed and has a different byte-length.
6630 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6631 Fix int -> EMACS_INT.
6632
66332008-03-23 David Hansen <david.hansen@gmx.net>
6634
6635 * dbusbind.c (xd_read_message): Remove extra copying of message
6636 strings. Check for NULL `interface' or `member'.
6637
66382008-03-22 Eli Zaretskii <eliz@gnu.org>
6639
6640 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6641 cFileName a file name that includes `?' characters, use the 8+3
6642 alias in cAlternateFileName instead.
6643
66442008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6645
6646 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6647
66482008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6649
6650 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6651 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6652 work on current_buffer only instead (that was already the case
6653 for some of the code anyway).
6654 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6655 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6656 (SET_PT, SET_PT_BOTH): Adjust.
6657 * intervals.h (set_point, temp_set_point, set_point_both)
6658 (temp_set_point_both): Remove redundant declarations.
6659
66602008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6661
6662 * fileio.c (Finsert_file_contents):
6663 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6664 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6665 when buffer != current_buffer anyway.
6666
66672008-03-20 Andreas Schwab <schwab@suse.de>
6668
6669 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6670 as default.
6671
66722008-03-19 Jason Rumney <jasonr@gnu.org>
6673
6674 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6675 (syms_of_w32fns): Initialize them.
6676 (HOURGLASS_ID): New constant.
6677 (x_window_to_frame): Don't check hourglass_window.
6678 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6679 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6680 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6681 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6682 Only change the cursor if hourglass is not active.
6683 (Fx_create_frame): Initialize frame's current_cursor.
6684 (hourglass_atimer): Remove.
6685 (hourglass_started): New function.
6686 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6687 (show_hourglass): Adapt to w32, changing argument to frame.
6688
6689 * w32term.h (struct w32_output): Remove hourglass_window.
6690 Add current_cursor.
6691
6692 * eval.c (call_debugger, Fsignal):
6693 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6694 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6695 (Fexecute_extended_command, cancel_hourglass_unwind):
6696 * minibuf.c (read_minibuf):
6697 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6698
66992008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6700
6701 * window.c (run_funs): New fun.
6702 (run_window_configuration_change_hook): Use it to run the buffer-local
6703 and the global part of the hook.
6704
6705 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6706 (unwind_format_mode_line): Restore selected window.
6707 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6708
67092008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6710
6711 * editfns.c (Fchar_equal): Check they are valid characters.
6712
6713 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6714
67152008-03-17 Andreas Schwab <schwab@suse.de>
6716
6717 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6718 against a charset.
6719
6720 * lisp.h (Fbuffer_list): Declare.
6721
67222008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6723
aac0c6e3
MR
6724 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6725 handlebox_widget is != 0.
6726
67272008-03-16 Juri Linkov <juri@jurta.org>
6728
6729 * callint.c (Fcall_interactively): For interactive code letters
6730 'b' and 'B' put the buffer list into the list of default "future"
6731 values of the minibuffer.
6732
67332008-03-16 Andreas Schwab <schwab@suse.de>
6734
6735 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6736 modifiers.
6737
6738 * regex.c (re_match_2_internal): Correct matching of a charset
6739 against latin-1 characters.
6740
67412008-03-16 Kenichi Handa <handa@m17n.org>
6742
6743 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6744 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6745 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6746 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6747 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6748 CHAR_STRING_ADVANCE.
6749 (produce_chars): Fix for the case that the source and the
6750 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6751 instead of CHAR_STRING_ADVANCE.
6752 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6753 STRING_CHAR_ADVANCE.
6754
67552008-03-15 Andreas Schwab <schwab@suse.de>
6756
6757 * regex.c (re_match_2_internal): Correct matching of eight bit
6758 characters in unibyte strings.
6759
67602008-03-15 Martin Rudalics <rudalics@gmx.at>
6761
6762 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6763 at end of range when it coincides with the end of the buffer.
6764
67652008-03-14 Eli Zaretskii <eliz@gnu.org>
6766
6767 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6768
6769 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6770
67712008-03-14 Jason Rumney <jasonr@gnu.org>
6772
6773 * editfns.c (initial_tz): New variable.
6774 (syms_of_editfns): Initialize it.
6775 (Fset_time_zone_rule): Set it when first called.
6776 Use it when TZSTRING is nil.
6777
6778 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6779 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6780 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6781 (globals_of_w32fns): Initialize them.
6782 (compute_tip_xy): Use them to position tooltips.
6783
67842008-03-14 Glenn Morris <rgm@gnu.org>
6785
6786 * emacs.c (main): Revert previous change.
6787 (standard_args): Revert -internal-script back to -scriptload,
6788 and remove the long-option form.
6789
67902008-03-13 Glenn Morris <rgm@gnu.org>
6791
6792 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6793 Remove option -enable-font-backend.
6794
67952008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6796
6797 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6798
67992008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6800
6801 * xterm.c (x_connection_closed): For GTK: If this is the last
6802 terminal just exit without closing the display.
6803
68042008-03-11 Jason Rumney <jasonr@gnu.org>
6805
6806 * w32font.c (w32font_full_name): Use floor to round.
6807
68082008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6809
6810 * sound.c (alsa_configure): Declare vol at beginning of block.
6811
6812 * fontset.c (Ffontset_info): Remove extra semicolon.
6813
68142008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6815
6816 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6817 size of resulting string.
6818
68192008-03-10 Jason Rumney <jasonr@gnu.org>
6820
6821 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6822
68232008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6824
6825 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6826 Don't pretend as if characters with display property haven't been
6827 consumed for string-replacing-string case.
6828
68292008-03-08 Kim F. Storm <storm@cua.dk>
6830
6831 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6832 (get_next_display_element, next_element_from_string)
6833 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6834
68352008-03-08 Andreas Schwab <schwab@suse.de>
6836
6837 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6838
68392008-03-06 Jason Rumney <jasonr@gnu.org>
6840
6841 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6842 when charset not specified. Only translate ANSI to unicode when
6843 font_type is truetype.
6844 (w32font_coverage_ok): New function.
6845 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6846
68472008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6848
6849 * lread.c (Fread_char): Resolve modifiers.
6850 (Fread_char_exclusive): Likewise.
6851
6852 * character.c (char_resolve_modifier_mask): New function.
6853 (char_string): Use char_resolve_modifier_mask.
6854 (Fchar_resolve_modifiers): New function.
6855 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6856 function.
6857
68582008-03-04 Jason Rumney <jasonr@gnu.org>
6859
6860 * makefile.w32-in: Always include w32font.c in the build.
6861 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6862
68632008-03-04 Andreas Schwab <schwab@suse.de>
6864
6865 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6866 (versionclean): Likewise.
6867
68682008-03-04 Juanma Barranquero <lekktu@gmail.com>
6869
6870 * .cvsignore: Add oo.
6871
68722008-03-03 Andreas Schwab <schwab@suse.de>
6873
6874 * coding.c (decode_coding_object): Inhibit gap shrinking while
6875 decoding in place.
6876
68772008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6878
6879 * w32term.c: Remove unused include "gnu.h".
6880 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6881
6882 * gnu.h: Rename to ...
6883 * emacs-icon.h: ... this.
6884 * xterm.c: Use emacs-icon.h instead of gnu.h.
6885 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6886
68872008-03-03 Juanma Barranquero <lekktu@gmail.com>
6888
6889 * w32font.c: Include math.h.
6890
68912008-03-03 Jason Rumney <jasonr@gnu.org>
6892
6893 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6894 Compute options separately.
6895 (w32font_open_internal): Set glyph_idx before caching metrics.
6896
6897 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6898 Define if system headers don't.
6899 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6900 (w32font_encode_char): Don't declare here.
6901
6902 * w32font.c (Quniscribe, QCformat): New symbols.
6903 (syms_of_w32font): Define them.
6904 (w32font_has_char): Indicate uncertainty.
6905 (w32font_encode_char): Encode as glyph point. Make static.
6906 (recompute_cached_metrics): New function.
6907 (w32font_open_internal): Use it. Set font to use glyph points
6908 initially. Set format based on type of font.
6909 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6910 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6911 on it. Set format based on information available here.
6912 (add_font_entity_to_list): Identify backend based on opentype_only.
6913
69142008-03-02 Andreas Schwab <schwab@suse.de>
6915
6916 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6917
6918 * coding.c (decode_coding_big5, produce_chars):
6919 Fix typos in last change.
6920
69212008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6922
6923 * gnu.h: New icon.
6924
69252008-03-02 Kenichi Handa <handa@m17n.org>
6926
6927 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6928 `dos', don't decode '\r' if that is the last in the source.
6929 (decode_coding_utf_16, decode_coding_emacs_mule)
6930 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6931 (decode_coding_raw_text, decode_coding_charset): Likewise.
6932 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6933
69342008-03-01 Jason Rumney <jasonr@gnu.org>
6935
6936 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6937
69382008-03-01 Kim F. Storm <storm@cua.dk>
6939
6940 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6941
69422008-03-01 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32font.c (w32font_full_name): New function.
6945 (w32font_open_internal): Use it.
6946
69472008-03-01 Kim F. Storm <storm@cua.dk>
6948
6949 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6950
69512008-03-01 Jason Rumney <jasonr@gnu.org>
6952
6953 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6954
69552008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6956
6957 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6958 xg_frame_resized when the event is for the edit widget.
6959
6960 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6961
6962 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6963 set_char_size.
6964 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6965 operations on widgets here. Just set frame size if needed.
6966 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6967 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6968 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6969 the whole frame.
6970 (xg_create_tool_bar): Move attachment of the tool bar to
6971 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6972 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6973
69742008-03-01 Jason Rumney <jasonr@gnu.org>
6975
6976 * w32fns.c (w32_msg_pump): Disable debug code.
6977
69782008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6979
6980 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6981
69822008-02-29 Chong Yidong <cyd@stupidchicken.com>
6983
6984 * xdisp.c (next_overlay_string): Don't set
6985 overlay_strings_at_end_processed_p if we're currently reading from
6986 a display string.
6987
69882008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6989
6990 * xdisp.c (get_overlay_strings_1): Fix typo.
6991
69922008-02-29 Chong Yidong <cyd@stupidchicken.com>
6993
6994 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6995
69962008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6997
6998 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6999
7000 * xdisp.c (display_mode_element): Cancel the previous change.
7001 (decode_mode_spec): Likewise.
7002 (handle_auto_composed_prop): Don't make composition if it->string
7003 is a string.
7004
70052008-02-27 Kim F. Storm <storm@cua.dk>
7006
7007 * lisp.h (GLYPH): Change type from int to struct with separate char
7008 and face_id members.
7009 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7010 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7011 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7012 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7013 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7014 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7015 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7016 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7017 handle new Lisp glyph code encoding, either an integer or a cons.
7018
7019 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7020 (GLYPH_ALIAS): Delete.
7021 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7022 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7023 (GLYPH_FROM_CHAR): Replace macro by ...
7024 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7025
7026 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7027 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7028 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7029 (GLYPH_INVALID_P): New macro.
7030 (spec_glyph_lookup_face): Update prototype.
7031
7032 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7033 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7034 new glyph code encoding.
7035 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7036 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7037
7038 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7039 Adapt to new glyph type and new glyph code encoding.
7040
7041 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7042
7043 * indent.c (current_column, current_column_1, Fmove_to_column)
7044 (compute_motion): Adapt to new glyph code encoding.
7045
7046 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7047
70482008-02-27 Chong Yidong <cyd@stupidchicken.com>
7049
7050 * process.c (wait_reading_process_output): Check for window
7051 changes caused by timers.
7052 Suggested by Johan Bockgård.
7053
70542008-02-27 Glenn Morris <rgm@gnu.org>
7055
7056 * emacs.c (USAGE1): Add `--disable-font-backend'.
7057
70582008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7059
7060 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7061 is made to the buffer.
7062
70632008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7064
7065 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7066 (face_at_string_position):
7067 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7068 (face_at_string_position):
7069 * xdisp.c (display_string, next_overlay_change):
7070 * buffer.h (overlays_at):
7071 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7072 Update callers.
7073
70742008-02-26 Chong Yidong <cyd@stupidchicken.com>
7075
7076 * editfns.c (Fformat): Doc fix.
7077
70782008-02-26 Juanma Barranquero <lekktu@gmail.com>
7079
7080 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7081 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7082 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7083
70842008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7085
7086 * buffer.c (Fbuffer_swap_text): New function.
7087 (syms_of_buffer): Defsubr it.
7088
70892008-02-25 Chong Yidong <cyd@stupidchicken.com>
7090
7091 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7092
70932008-02-25 Jason Rumney <jasonr@gnu.org>
7094
7095 * w32font.c (w32font_draw): Draw one character at a time when padding.
7096
70972008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7098
7099 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7100 Handle a nil arg. Use run_window_configuration_change_hook.
7101 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7102 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7103 Use run_window_configuration_change_hook.
7104
71052008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7106
7107 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7108 1-pixel width.
7109
71102008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7111
7112 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7113 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7114 if the glyph in the font is zero pixel with.
7115
7116 * dispextern.h (struct glyph_string): New member padding_p.
7117
7118 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7119
7120 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7121
7122 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7123
7124 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7125
7126 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7127
71282008-02-25 Jason Rumney <jasonr@gnu.org>
7129
7130 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7131
71322008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7133
7134 Allow fine-grained image-cache flushing.
7135 * dispextern.h (struct image): Add `dependencies' field.
7136 (clear_image_caches): Change arg to Lisp_Object.
7137 * image.c (make_image): Initialize `dependencies' field.
7138 (clear_image_cache): Change arg to allow fine-grained flushing.
7139 Perform the flush even if image-cache-eviction-delay is nil.
7140 (clear_image_caches): Change arg to Lisp_Object.
7141 (Fclear_image_cache): Expand meaning of the argument.
7142 (mark_image): Mark `dependencies' field.
7143 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7144 (lface_hash): Use XHASH rather than XFASTINT.
7145 (face_at_buffer_position): Fix int -> EMACS_INT position.
7146 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7147 (select_frame_for_redisplay): Remove code duplication.
7148 (redisplay_internal): Adapt arg to call to clear_image_caches.
7149
71502008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7151
7152 * s/vms4-0.h:
7153 * s/vms4-2.h:
7154 * s/vms4-4.h:
7155 * s/vms5-5.h: Remove, unused.
7156
7157 * s/irix5-2.h:
7158 * s/irix6-0.h:
7159 * s/riscos5.h:
7160 * s/mach-bsd4-3.h:
7161 * m/mips4.h: Remove files for obsolete systems.
7162
7163 * Makefile.in:
7164 * filelock.c:
7165 * unexmips.c:
7166 * m/hp9000s300.h:
7167 * m/iris4d.h:
7168 * s/aix3-1.h:
7169 * s/hpux.h:
7170 * s/msdos.h:
7171 * s/usg5-0.h:
7172 * s/usg5-2-2.h:
7173 * s/usg5-2.h:
7174 * s/usg5-3.h: Remove references to obsolete variables.
7175
7176 * s/irix5-0.h: Remove, move all the contents ...
7177 * s/irix6-5.h: ... here. Simplify.
7178 * config.in: Regenerate.
7179
71802008-02-24 Jason Rumney <jasonr@gnu.org>
7181
7182 * w32term.c (x_draw_glyph_string_background): Clear the background
7183 manually when cleartype is in use.
7184 (x_draw_glyph_string_foreground): Draw text transparently when
7185 cleartype is in use.
7186
7187 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7188 a font into it unless we have to.
7189
71902008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7191
7192 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7193 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7194
aac0c6e3
MR
71952008-02-18 Jason Rumney <jasonr@gnu.org>
7196
7197 * w32fns.c (Fw32_shell_execute): Encode parameters.
7198
71992008-02-09 Eli Zaretskii <eliz@gnu.org>
7200
7201 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7202
72032008-02-05 Juanma Barranquero <lekktu@gmail.com>
7204
7205 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7206
72072008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7208
7209 * xterm.c (x_set_offset): Don't change the gravity if
7210 CHANGE_GRAVITY is -1.
7211
72122008-02-23 Chong Yidong <cyd@stupidchicken.com>
7213
7214 * fileio.c (auto_save_error_occurred): New var.
7215 (auto_save_error): Set it.
7216 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7217 error occurred.
7218
72192008-02-23 Eli Zaretskii <eliz@gnu.org>
7220
7221 * w32.c (globals_of_w32): Add initializations for
7222 g_b_init_get_sid_sub_authority and
7223 g_b_init_get_sid_sub_authority_count.
7224
72252008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7226
7227 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7228 (font_parse_xlfd): Use them for sanity check.
7229 (Finternal_set_font_style_table): Make sure the table is bijective.
7230
7231 Consolidate the image_cache to the terminal struct.
7232 * termhooks.h (P_): Remove redundant def.
7233 (struct terminal): New field `image_cache'.
7234 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7235 of FRAME_X_IMAGE_CACHE.
7236 * xterm.h (struct x_display_info): Remove image_cache field.
7237 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7238 * w32term.h (struct w32_display_info): Remove image_cache field.
7239 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7240 * macterm.h (struct mac_display_info): Remove image_cache field.
7241 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7242 * xterm.c (x_term_init):
7243 * w32term.c (w32_term_init):
7244 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7245 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7246 Remove declarations.
7247 (clear_image_caches, mark_image_cache): New declarations.
7248 * xfaces.c (clear_face_cache):
7249 * xdisp.c (redisplay_internal): Use clear_image_caches.
7250 * image.c (clear_image_cache): Don't check that a frame is on
7251 a window-system before checking if it shares the same cache.
7252 (clear_image_caches): New function.
7253 (Fclear_image_cache): Use it.
7254 (mark_image): Move from allo.c.
7255 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7256 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7257 (mark_object): Don't call mark_image_cache for frames.
7258 (mark_terminals): Call mark_image_cache.
7259
7260 * lisp.h (Fdelete_terminal): Declare.
7261
7262 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7263 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7264 wrong_type_argument.
7265
72662008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7267
7268 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7269 malayalam.el, and tamil.el. Add sinhala.el.
7270
72712008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7272
7273 * xterm.c (x_connection_closed): Consolidate identical tests.
7274 (x_delete_terminal): Don't crash if called via x_connection_closed.
7275
72762008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7277
7278 * xdisp.c (decode_mode_spec): New arg string.
7279 (display_mode_element): Adjust for the above change.
7280
72812008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7282
7283 * callint.c (Fcall_interactively): Use AREF.
7284
72852008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7286
7287 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7288
72892008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7290
7291 * xfns.c (Fx_show_tip): Set string to " " if empty.
7292
72932008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7294
7295 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7296 with Qt.
7297
72982008-02-17 Kenichi Handa <handa@m17n.org>
7299
7300 * ftfont.c (ftfont_shape): Return Lispy number.
7301
7302 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7303 for GCs.
7304 (Finternal_set_font_selection_order): Call font_update_sort_order
7305 only when enable_font_backend is set.
7306 (realize_x_face): Set face->font_info to that of default face only
7307 when enable_font_backend is set.
7308
7309 * xdisp.c (handle_composition_prop): Set it->c to the fist
7310 character of the composed region.
7311 (fill_composite_glyph_string): Set base_face->font_info to
7312 s->font_info. Get a face for ascii from base_face->ascii_face.
7313 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7314 with a face already decided.
7315 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7316 non-negative.
7317 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7318 call font_prepare_composition unconditionally.
7319
7320 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7321
7322 * xterm.h (struct x_display_info): New member font.
7323
7324 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7325 (x_set_mouse_face_gc, x_new_font): Likewise.
7326 (x_term_init): Setup display_info->font.
7327 (x_delete_terminal): Free display_info->font.
7328
7329 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7330
7331 * ftxfont.c (ftxfont_default_fid): Delete it.
7332 (ftxfont_open): Set xfont->fid to 0.
7333 (ftxfont_end_for_frame): Clear data specific to the frame and the
7334 font-driver.
7335
7336 * xftfont.c (xftfont_default_fid): Delete it.
7337 (xftfont_open): Set xfont->fid to 0.
7338
7339 * fontset.c (FONTSET_OBJLIST): New macro.
7340 (fontset_find_font): Update font-object list of the fontset.
7341 (free_realized_fontset): New function.
7342 (free_face_fontset): Call free_realized_fontset.
7343 (Ffont_info): Call font_close_object only when enable_font_backend
7344 is set.
7345
7346 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7347 [HAVE_NTGUI]: Include w32term.h.
7348 [MAC_OS]: Include macterm.ch.
7349 (font_otf_ValueRecord): Use make_number.
7350 (font_finish_cache): Fix handling of reference count.
7351 (font_clear_cache): Update num_fonts.
7352 (font_open_entity): Update smallest_char_width and
7353 smallest_font_height of the frame.
7354 (font_close_object): Update num_fonts.
7355 (Fclear_font_cache): Fix finding the target cache data.
7356
73572008-02-16 Glenn Morris <rgm@gnu.org>
7358
7359 * fontset.c (Finternal_char_font): Fix compilation warning.
7360
73612008-02-16 Eli Zaretskii <eliz@gnu.org>
7362
7363 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7364 instead of char arrays. Enlarge the size of array passed to
7365 get_token_information.
7366
7367 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7368 warnings.
7369
73702008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7371
7372 * .gdbinit: Don't set `args', it breaks gdb --args.
7373
73742008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7375
7376 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7377 within a narrowed buffer.
7378
73792008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7380
7381 * coding.c (decode_coding_object, encode_coding_object):
7382 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7383
73842008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7385
7386 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7387 hardcoding 1.
7388 (detect_coding_system):
7389 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7390 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7391 * insdel.c (insert_from_gap):
7392 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7393 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7394 (string_to_multibyte):
7395 * character.c (chars_in_text, multibyte_chars_in_text):
7396 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7397
7398 * character.h (FETCH_STRING_CHAR_ADVANCE)
7399 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7400 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7401 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7402
7403 * casefiddle.c (casify_region): Only call after-change and composition
7404 functions on the part of the region that was changed.
7405
7406 * keyboard.c (read_avail_input):
7407 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7408
74092008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7410
7411 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7412 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7413
74142008-02-11 Juanma Barranquero <lekktu@gmail.com>
7415
7416 * w32menu.c (push_submenu_start, push_submenu_end)
7417 (push_left_right_boundary, push_menu_pane, push_menu_item):
7418 * keyboard.c (read_key_sequence): Don't pass args with side effects
7419 to AREF, it fails when compiling with -DENABLE_CHECKING.
7420
74212008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7422
7423 * Makefile.in (${lispsource}international/charprop.el):
7424 Delete this target.
7425
7426 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7427 emacs-unicode-2.
7428
74292008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7430
7431 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7432
74332008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7434
7435 * frame.c (Qnoelisp): New symbol.
7436 (syms_of_frame): Initialize it.
7437 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7438 harmless Elisp code, from a strong `force' from x_connection_closed.
7439 * frame.h (Qnoelisp): Declare.
7440 * xterm.c (x_connection_closed): Pass `noelisp'.
7441
7442 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7443 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7444 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7445 rather than `int' for the type of `type'.
7446
74472008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7448
7449 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7450
7451 * Makefile.in (GNUC): Remove support for gcc-1.x.
7452
74532008-02-10 Richard Stallman <rms@gnu.org>
7454
7455 * lisp.h (ASET): Use AREF, not ASLOT.
7456
74572008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7458
7459 * lisp.h (ASET): Check bounds.
7460
74612008-02-10 Glenn Morris <rgm@gnu.org>
7462
7463 * buffer.c (mode-name): Doc fix.
7464
74652008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7466
7467 * Makefile.in:
7468 * emacs.c:
7469 * gmalloc.c:
7470 * keyboard.c:
7471 * lisp.h:
7472 * m/ibm370aix.h:
7473 * process.c:
7474 * regex.c:
7475 * s/hpux.h:
7476 * sysdep.c:
7477 * sysselect.h:
7478 * systty.h:
7479 * unexec.c:
7480 * w32term.c:
7481 * xsmfns.c:
7482 * xterm.c: Remove code that deals with obsolete variables.
7483
7484 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7485
7486 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7487 nothing else needs it anymore.
7488
74892008-02-09 Eli Zaretskii <eliz@gnu.org>
7490
7491 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7492 instead of unibyte_char_to_multibyte.
7493
74942008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7495
7496 * s/gnu-linux.h: Remove commented out code.
7497
7498 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7499
7500 * Makefile.in: Update what RMS says about using autoconf.
7501 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7502 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7503 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7504 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7505
75062008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7507
7508 * keymap.c (Fkey_description): Move side effect outside of macro call.
7509
7510 * xfaces.c (Finternal_make_lisp_face):
7511 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7512
7513 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7514 (syms_of_fontset): Use ASET.
7515
7516 * fns.c (concat): Move side effect outside of macro call.
7517 (hash_clear): Use ASET.
7518
75192008-02-08 Richard Stallman <rms@gnu.org>
7520
7521 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7522 If FORCE, and frame has a surrogate minibuffer for another frame,
7523 delete the other frame first.
7524
75252008-02-07 Timo Savola <timo.savola@iki.fi>
7526
7527 * xterm.c (x_detect_focus_change): Handle embed client message.
7528 (handle_one_xevent): Ditto.
7529 (handle_one_xevent): If embedded and we get a button press/release,
7530 request focus.
7531 (xembed_set_info, xembed_send_message): New functions.
7532 (x_make_frame_visible): Call xembed_set_info if embedded.
7533 (x_make_frame_invisible): Call xembed_set_info if embedded.
7534 (x_term_init): Initialize Xatom_XEMBED.
7535 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7536 (x_iconify_frame): Ditto.
7537
7538 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7539 (enum xembed_info, enum xembed_message, enum xembed_focus)
7540 (enum xembed_modifier, enum xembed_accelerator): New.
7541 (xembed_set_info, xembed_send_message): Declare.
7542 (FRAME_X_EMBEDDED_P): New.
7543
7544 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7545 gtk_plug_new.
7546
7547 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7548 window ID of a frame.
7549 (x_window): Reparent frame if embedded.
7550 (Fx_create_frame): Don't set border width if embedded.
7551
7552 * emacs.c (USAGE3): Add --parent-id.
7553 (standard_args): Ditto.
7554
75552008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7556
7557 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7558
75592008-02-07 Jim Meyering <meyering@redhat.com>
7560
7561 Use "do...while (0)", not "if (1)...else" in macro definitions.
7562 The latter provokes a warning from gcc about the empty else, when
7563 followed by ";". Also, without that trailing semicolon, it would
7564 silently swallow up any following statement.
7565 * syntax.h (SETUP_SYNTAX_TABLE)
7566 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7567 * buffer.h (DECODE_POSITION): Likewise.
7568 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7569 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7570 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7571 (FETCH_CHAR_ADVANCE): Likewise.
7572 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7573
75742008-02-07 Jim Meyering <meyering@redhat.com>
7575
7576 * lread.c [lint]: Don't include <sys/inode.h>.
7577
75782008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7579
7580 * xselect.c (x_handle_dnd_message):
7581 * xmenu.c (digest_single_submenu, xmenu_show):
7582 * xdisp.c (with_echo_area_buffer_unwind_data)
7583 (format_mode_line_unwind_data, unwind_format_mode_line)
7584 (display_menu_bar):
7585 * eval.c (Ffetch_bytecode):
7586 * doc.c (store_function_docstring):
7587 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7588 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7589 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7590
75912008-02-07 Kenichi Handa <handa@m17n.org>
7592
7593 * ftxfont.c (ftxfont_open): Don't set
7594 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7595
7596 * ftfont.c (ftfont_open): Fix previous change.
7597
75982008-02-06 Jason Rumney <jasonr@gnu.org>
7599
7600 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7601 Use cached metrics for ASCII characters.
7602 (w32font_open_internal): Don't set font's owning_frame.
7603 Cache metrics for ASCII characters.
7604
7605 * w32font.h (struct w32font_info): Add ascii_metrics.
7606 Remove owning_frame.
7607
76082008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7609
7610 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7611 to negative value.
7612
7613 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7614
7615 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7616
7617 * charset.c (syms_of_charset): Set QCtest and Qeq.
7618
76192008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7620
7621 * process.c (Fstart_process):
7622 * callproc.c (Fcall_process): Handle the case where
7623 Funhandled_file_name_directory returns nil.
7624
7625 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7626 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7627 * font.c (check_gstring): Use them and AREF to access the vector before
7628 we know it's really a gstring.
7629 (Ffont_shape_text): Fix typo.
7630 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7631
7632 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7633 Declare.
7634
7635 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7636
76372008-02-05 Jason Rumney <jasonr@gnu.org>
7638
7639 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7640 Set smallest_font_height and smallest_char_width in display info.
7641
76422008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7643
7644 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7645
76462008-02-05 Miles Bader <miles@gnu.org>
7647
7648 * xfaces.c (get_lface_attributes, merge_named_face)
7649 (lookup_named_face, lookup_derived_face, realize_named_face):
7650 Revert 2008-02-01 change by cyd@stupidchicken.com.
7651
76522008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7653
7654 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7655 fallback fonts.
7656 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7657
76582008-02-04 Jason Rumney <jasonr@gnu.org>
7659
7660 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7661 set full_name.
7662 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7663
76642008-02-03 Jason Rumney <jasonr@gnu.org>
7665
7666 * makefile.w32-in (OBJ1): Include font.o here.
7667 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7668
76692008-02-02 Jason Rumney <jasonr@gnu.org>
7670
7671 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7672
76732008-02-01 Jason Rumney <jasonr@gnu.org>
7674
7675 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7676
7677 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7678
76792008-02-01 Andreas Schwab <schwab@suse.de>
7680
7681 * Makefile.in (shortlisp, lisp): Update for rename of
7682 ../lisp/language/myanmar.el.
7683
76842008-02-01 Chong Yidong <cyd@stupidchicken.com>
7685
7686 * xfaces.c (get_lface_attributes): Delete function.
7687 (merge_named_face, lookup_named_face, lookup_derived_face)
7688 (realize_named_face): Call lface_from_face_name directly, and use
7689 the fact that merge_face_vectors does not alter its FROM argument.
7690
76912008-02-01 Jason Rumney <jasonr@gnu.org>
7692
7693 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7694 input in the default locale. Handle non-Unicode multibyte input.
7695
76962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7697
7698 * fontset.c (reorder_font_vector): Exclude nil elements from the
7699 font group. Don't try multiple fonts.
7700 (fontset_font): Adjust for the above change.
7701 (Finternal_char_font): Return nil if the found font doesn't
7702 contain the character ch.
7703
7704 * Makefile.in (lisp, shortlisp): Add cham.el.
7705
77062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7707
7708 * font.h (FONTP): Make it return 1 also for a font-object.
7709
7710 * .gdbinit (xfontset): New function.
7711
7712 * font.c (font_find_for_lface): Check if the character C is
7713 supported or not only for the first font.
7714
7715 * fontset.c (reorder_font_vector): Fix typo.
7716 (fontset_find_font): Don't add a font-spec specifying a script.
7717 Use 0 (not Qt) for the indication of empty font-group. Change the
7718 format of RFONT-DEF. Return Qt if no font in the font-group
7719 support the character.
7720 (fontset_font): Adjust for the above change. If no font was
7721 found the character, remember that.
7722 (face_for_char): Adjust for the change of RFONT-DEF.
7723 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7724 no font for the target.
7725 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7726
77272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7728
7729 * font.c (font_load_for_face): Handle the case that the font in
7730 face->lface is a string.
7731
77322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7733
7734 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7735
77362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7737
7738 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7739 Fix previous change. If the frame is not on a window system,
7740 signal an error.
7741
77422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7743
7744 * coding.c (decode_coding_object, encode_coding_object): Adjust
7745 marker positions after conversion.
7746
7747 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7748
77492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7750
7751 * font.c (font_find_for_lface): Fix the handling of the return
7752 value of font_has_char.
7753 (Ffont_shape_text): Fix previous change.
7754
7755 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7756 (fontset_ref_and_range): Delete it.
7757 (fontset_find_font): Call char_table_ref_and_range instead of
7758 FONTSET_REF_AND_RANGE.
7759 (make_fontset): Don't setup font groups of Latin here.
7760 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7761 (new_fontset_from_font): Make the specified font the default for
7762 all Latin characters.
7763
77642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7765
7766 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7767 is on a window system before accessing the fontset of the frame.
7768
77692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7770
7771 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7772
7773 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7774 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7775
7776 * font.c (Ffont_shape_text): If the font driver doesn't have a
7777 shaper function, make zero-width glyphs to have at least one-pixel
7778 width. Fix setting of `to' field of glyphs.
7779
77802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7781
7782 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7783 glyphs.
7784
7785 * font.h (struct font_driver): Improve docstring of member `shape'.
7786
77872008-02-01 Kenichi Handa <handa@m17n.org>
7788
7789 * composite.c (syms_of_composite): Fix docstring of
7790 auto-composition-function.
7791
7792 * font.h (LGLYPH_SIZE): New macro.
7793
7794 * font.c (Ffont_fill_gstring): Stop filling when a character not
7795 supported by the font is found.
7796 (Ffont_shape_text): When a shape callback function returns nil,
7797 try at most two more times with larger gstring.
7798 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7799
7800 * xdisp.c (handle_auto_composed_prop): Change the argument to
7801 auto-composition-function.
7802
7803 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7804 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7805 Lispy glyph and store it in the lgstring.
7806
7807 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7808
7809 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7810
78112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7812
7813 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7814
7815 * fontset.c (Vfont_encoding_charset_alist): New variable.
7816 (syms_of_fontset): DEFVAR it.
7817 (reorder_font_vector, fontset_find_font): Optimize for the case of
7818 no need of reordering.
7819 (face_for_char): Map the charset property by
7820 Vfont_encoding_charset_alist.
7821
78222008-02-01 Jason Rumney <jasonr@gnu.org>
7823
7824 * w32font.c (logfonts_match): Don't check adstyle here.
7825 (font_matches_spec): Check here against physical font instead.
7826 (add_font_entity_to_list): Avoid some substitutions.
7827
7828 * font.c (font_parse_fcname): Default weight and slant to normal.
7829 (font_score): Prefer normal fonts if weight or slant unspecified.
7830 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7831 match freetype scores.
7832
78332008-02-01 Jason Rumney <jasonr@gnu.org>
7834
7835 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7836 font, as it may have been deleted.
7837 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7838 most common hyphenless variation.
7839 (logfonts_match): Check generic family.
7840 (font_matches_spec): Don't check generic family here.
7841 (fill_in_logfont): Set generic family based on adstyle.
7842
7843 * w32font.h (w32font_get_cache): Update declaration.
7844
78452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7846
7847 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7848
7849 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7850 If none of the new drivers are available, call font_update_drivers
7851 with the old drivers.
7852
7853 * w32font.c (w32font_get_cache): Adjust the argument type.
7854
7855 * xfont.c (xfont_get_cache): Adjust the argument type.
7856
7857 * font.h (struct font_driver): Change argument type of get_cache.
7858
7859 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7860
7861 * font.c (Ffont_get): Fix arguments to Fassoc.
7862 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7863 (font_clear_cache): New function.
7864 (font_list_entities, font_matching_entity): Use font_get_cache.
7865 (font_update_drivers): Call font_clear_cache when finishing a driver.
7866
7867 * fontset.c (fontset_find_font): Fix previous change.
7868
78692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7870
7871 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7872 dpyinfo->font_table.
7873 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7874 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7875
7876 * font.c (font_at): Handle the case that the arg C is negative.
7877 Handle the unibyte case.
7878 (Ffont_at): Call font_at with the arg C -1.
7879
7880 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7881 the position here, and call font_at with the arg C -1.
7882 Don't check the range of the existing composition at the point.
7883
78842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7885
7886 * fontset.c (fontset_add): New args charset_id and family.
7887 Change caller.
7888 (load_font_get_repertory, fontset_find_font): Assume that
7889 font_spec is always a font-spec object.
7890 (Fset_fontset_font): Always store a font-spec object in a fontset.
7891
7892 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7893 instead of get_property_and_range.
7894
78952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7896
7897 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7898 (xftfont_open): Don't keep locking face.
7899 (xftfont_close): Don't unlock face.
7900 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7901
7902 * fontset.c (fontset_find_font): Don't prefer a font of
7903 supplementary charset.
7904
79052008-02-01 Kenichi Handa <handa@m17n.org>
7906
7907 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7908 script, langsys_tag to langsys, new member script.
7909 (OTF_TAG_STR): Terminate by '\0'.
7910 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7911 listing to the script specified in that property. Fix arg to
7912 OTF_check_features.
7913
79142008-02-01 Jason Rumney <jasonr@gnu.org>
7915
7916 * w32font.h: New file.
7917
7918 * w32font.c: Include it.
7919 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7920 (w32font_open): Set owning_frame.
7921 (w32font_text_extents): Use owning_frame.
7922 (struct font_callback_data): Add opentype_only field.
7923 (add_font_entity_to_list): Use it to filter fonts.
7924 Don't check against full name.
7925 (w32font_list_internal): New function.
7926 (w32font_list): Use it.
7927 (w32font_match_internal): New function.
7928 (w32font_match): Use it.
7929 (w32font_open_internal): New function.
7930 (w32font_open): Use it.
7931 (w32font_get_cache, w32font_close, w32font_has_char)
7932 (w32font_encode_char, w32font_text_extents, w32font_draw):
7933 Make non-static.
7934
7935 * makefile.w32-in (w32font.o): Depend on w32font.h.
7936
79372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7938
7939 * charset.c (Fdefine_charset_internal): Record a supplementary
7940 charset at the tail of Vcharset_order_list.
7941
7942 * font.c (Ffont_shape_text): Fix the return value.
7943
7944 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7945
7946 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7947
79482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7949
7950 * ftfont.c (struct OpenTypeSpec): New struct.
7951 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7952 (ftfont_get_open_type_spec): New function.
7953 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7954
7955 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7956
79572008-02-01 Jason Rumney <jasonr@gnu.org>
7958
7959 * w32font.c (add_font_entity_to_list): Compare only the beginning
7960 of full name.
7961
79622008-02-01 Kenichi Handa <handa@m17n.org>
7963
7964 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7965 Never return HANDLED_RECOMPUTE_PROPS.
7966
79672008-02-01 Kenichi Handa <handa@m17n.org>
7968
7969 * font.c (font_gstring_produce): Delete it.
7970
7971 * composite.h (COMPOSITION_METHOD):
7972 Handle COMPOSITION_WITH_GLYPH_STRING.
7973
79742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7975
7976 * xfont.c (Qx): Delete.
7977 (syms_of_xfont): Don't initialize Qx.
7978
7979 * composite.h (enum composition_method):
7980 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7981
79822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7983
7984 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7985 (choose_face_font): Accept new form of font-spec.
7986
7987 * frame.h (font_driver_list): Declare it unconditionally.
7988 (struct frame): Define members font_driver_list and font_data_list
7989 unconditionally.
7990
7991 * fontset.c: Include "font.h" unconditionally.
7992 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7993 (Fset_fontset_font): Accept a font-spec object.
7994
7995 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7996 PIXEL_SIZE part a wild card.
7997
7998 * dispextern.h (struct glyph_string): Define members clip and
7999 num_clips unconditionally.
8000 (struct face): Define members font_info and extra unconditionally.
8001
8002 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8003 ftfont_info only when HAVE_LIBOTF is defined.
8004
80052008-02-01 Andreas Schwab <schwab@suse.de>
8006
8007 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8008 and end.
8009
80102008-02-01 Jason Rumney <jasonr@gnu.org>
8011
8012 * w32font.c (w32font_driver): Add new fields.
8013
80142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8015
8016 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8017 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8018 (LIBES): Add @M17N_FLT_CFLAGS@.
8019
8020 * composite.c (compose_text): Don't treat the new style
8021 composition specially.
8022
8023 * emacs.c (main): Call syms_of_font unconditionally.
8024
8025 * font.h (FONT_ENTITY_NOT_LOADABLE)
8026 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8027 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8028 (struct font_driver): New member shape.
8029 (font_registry_charsets): Extern it.
8030 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8031 (font_otf_capability, font_drive_otf): Delete their externs.
8032
8033 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8034 (font_charset_alist, font_registry_charsets): Move from xfont.c
8035 and rename.
8036 (font_prop_validate_otf): New function.
8037 (font_property_table): Register it for QCotf.
8038 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8039 (font_drive_otf): Delete.
8040 (font_prepare_composition): New arg F. Adjust for the change of
8041 lispy gstring.
8042 (font_find_for_lface): New arg C.
8043 (font_load_for_face): Adjust for the change of font_find_for_lface.
8044 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8045 lispy gstring.
8046 (Ffont_shape_text): New function.
8047 (Fopen_font): If the font size is not given, use 12-pixel.
8048 (Ffont_at): New arg STRING.
8049 (syms_of_font): Initalize font_charset_alist.
8050 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8051 conditionally.
8052
8053 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8054 fonts of the same font-spec. Change the format of RFONT-DEF.
8055 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8056 Adjust for the change of RFONT-DEF.
8057 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8058
8059 * ftfont.h: New file.
8060
8061 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8062 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8063 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8064 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8065 font_otf_capability and font_drive_otf, set ftfont_shape.
8066 (ftfont_list): Adjust for the change of :otf property value.
8067 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8068 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8069 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8070 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8071 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8072 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8073
8074 * w32term.c (x_draw_composite_glyph_string_foreground):
8075 Adjust for the change of lispy gstring.
8076
8077 * xdisp.c (handle_composition_prop): Adjust for the change of
8078 lispy gstring. Call a function for auto-composition with the
8079 third arg it->window.
8080 (fill_composite_glyph_string): Adjust for the change of lispy string.
8081 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8082
8083 * xfaces.c (set_font_frame_param): Adjust for the change of
8084 font_find_for_lface.
8085
8086 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8087 (xfont_registry_charsets): Likewise. Change caller.
8088 (syms_of_xfont): Don't handle x_font_charset_alist.
8089
8090 * xftfont.c: Include "ftfont.h".
8091 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8092 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8093 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8094 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8095 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8096 Set xftfont_driver.shape to xftfont_shape.
8097
8098 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8099 the change of lispy gstring.
8100
81012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8102
8103 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8104
81052008-02-01 Jason Rumney <jasonr@gnu.org>
8106
8107 * w32font.c (w32font_draw): Fill background manually.
8108
81092008-02-01 Jason Rumney <jasonr@gnu.org>
8110
8111 * font.c (Qfontp): Remove unused symbol.
8112 (QCantialias): New symbol.
8113 (syms_of_font): Define it.
8114 (font_property_table): Set a validator for QCantialias.
8115
8116 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8117 Define if not already.
8118 (QCfamily): Share with xfaces.c.
8119 (Qstandard, Qsubpixel, Qnatural): New symbols.
8120 (syms_of_w32font): Define them. Don't define QCfamily here.
8121 (w32_antialias_type, lispy_antialias_type): New functions.
8122 (w32_enumfont_pattern_entity): New arg requested_font.
8123 Set antialias parameter if non-default was requested.
8124 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8125
81262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8127
8128 * lread.c (read1): Undo the previous change.
8129
81302008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8131
8132 * frame.c (Fdelete_frame): Call font_update_drivers only when
8133 USE_FONT_BACKEND is defined.
8134
81352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8136
8137 * font.h (struct font_bitmap): New member bits_per_pixel.
8138 (struct font_driver): New members start_for_frame and end_for_frame.
8139 (struct font_data_list): New struct.
8140 (font_put_frame_data, font_get_frame_data): Extern them.
8141
8142 * frame.h (struct frame): New member font_data_list.
8143
8144 * font.c (font_update_drivers): Call driver->start_for_frame and
8145 driver->end_for_frame at proper timings.
8146 (font_put_frame_data, font_get_frame_data): New functions.
8147 (Ffont_spec): Add usage in the docstring.
8148
8149 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8150 (Fdelete_frame): Call font_update_drivers.
8151
8152 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8153 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8154 (xftfont_get_xft_draw): New function.
8155 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8156 (xftfont_end_for_frame): New function.
8157 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8158
8159 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8160 Change argument. Cache GCs in the per-frame data.
8161 (struct ftxfont_frame_data): New struct.
8162 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8163 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8164 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8165 (ftxfont_end_for_frame): New function.
8166 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8167
8168 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8169
81702008-02-01 Kenichi Handa <handa@m17n.org>
8171
8172 * xselect.c (Vselection_coding_system)
8173 (Vnext_selection_coding_system): Delete them.
8174 (syms_of_xselect): Don't declare selection-coding-system and
8175 next-selection-coding-system. They are declared in select.el.
8176
81772008-02-01 Jason Rumney <jasonr@gnu.org>
8178
8179 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8180
8181 * w32fns.c: Include imm.h.
8182 (get_composition_string_fn, get_ime_context_fn): New optional
8183 system functions.
8184 (globals_of_w32fns): Load them from imm32.dll.
8185 (ignore_ime_char): New flag.
8186 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8187 WM_IME_ENDCOMPOSITION messages.
8188
8189 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8190 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8191
81922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8193
8194 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8195 (READCHAR_REPORT_MULTIBYTE): New macro.
8196 (readchar): New 2nd arg MULTIBYTE.
8197 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8198 Make symbol's name multibyte according to the multibyteness of the
8199 source.
8200
82012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8202
8203 * xfaces.c (face_for_overlay_string): Call lookup_face with
8204 correct arguments (fix of synching with the trunk).
8205
82062008-02-01 Kenichi Handa <handa@m17n.org>
8207
8208 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8209 (font_prop_validate_non_neg, font_prop_validate_spacing):
8210 Delete argument prop_index.
8211 (font_property_table): Change arguments to validater. Change Callers.
8212 (font_lispy_object): Delete.
8213 (font_at): Use font_find_object instead fo font_lispy_object.
8214
82152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8216
8217 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8218 and file names.
8219
82202008-02-01 Jason Rumney <jasonr@gnu.org>
8221
8222 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8223 (font_matches_spec): Remove debug output.
8224 (add_font_entity_to_list): Avoid using substituted fonts.
8225
82262008-02-01 Jason Rumney <jasonr@gnu.org>
8227
8228 * doc.c (Fsnarf_documentation):
8229 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8230
82312008-02-01 Miles Bader <miles@gnu.org>
8232
8233 * dispextern.h (struct glyph_row): Only define "clip" field if
8234 HAVE_WINDOW_SYSTEM is defined.
8235
82362008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8237
8238 Fix up multi-tty merge.
8239
8240 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8241 and indentation.
8242
8243 * xfaces.c (free_realized_face, clear_face_gcs):
8244 Include font_done_for_face in the input_blocked section, just in case.
8245
8246 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8247 (get_char_face_and_encoding): Undo last change and remove the *other*
8248 duplicate definition (i.e. keep the one that's better scoped and that
8249 includes code for the font-backend).
8250
8251 * terminal.c (create_terminal): Default keyboard_coding to
8252 `no-conversion' and terminal_coding to `undecided'.
8253
8254 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8255
8256 * fontset.c (free_realized_fontsets): Check that the table entry does
8257 contain a fontset before trying to compare it to `base'.
8258
8259 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8260 syms_of_charset, and syms_of_coding earlier because init_window_once
8261 now needs Vcoding_system_hash_table to be setup.
8262
8263 * coding.h (default_buffer_file_coding): Remove.
8264
8265 * coding.c (default_buffer_file_coding): Remove.
8266 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8267 than ->symbol, and use the terminal-local coding system.
8268 (syms_of_coding): Don't setup the coding-systems that are not
8269 terminal-local.
8270 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8271
8272 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8273 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8274
8275 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8276 in chartab.c and were re-added here by mistake.
8277 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8278
8279 * doc.c (Fsnarf_documentation):
8280 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8281 src to etc.
8282
8283 * ChangeLog.10: Add mistakenly removed entry.
8284
82852008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8286
8287 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8288
82892008-02-01 Miles Bader <miles@gnu.org>
8290
8291 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8292 Add extra args to FACE_FOR_CHAR.
8293
82942008-02-01 Kenichi Handa <handa@m17n.org>
8295
8296 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8297 in sequence.
8298
8299 * chartab.c (map_sub_char_table, map_char_table): If the range
8300 contains just one character, call the function with that character
8301 even if the depth is not 3.
8302
83032008-02-01 Jason Rumney <jasonr@gnu.org>
8304
8305 * w32font.c (w32font_text_extents): Calculate metrics for the
8306 whole string.
8307
83082008-02-01 Jason Rumney <jasonr@gnu.org>
8309
8310 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8311
83122008-02-01 Jason Rumney <jasonr@gnu.org>
8313
8314 * w32term.c (x_set_glyph_string_clipping): Use
8315 get_glyph_string_clip_rects.
8316 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8317 Adjust for the change of struct glyph_string.
8318
8319 * w32font.c (w32font_draw): Do clipping here.
8320
83212008-02-01 Kenichi Handa <handa@m17n.org>
8322
8323 * xftfont.c (xftfont_draw): Adjust for the change of struct
8324 glyph_string.
8325
8326 * xterm.c (x_set_glyph_string_clipping): Use
8327 get_glyph_string_clip_rects.
8328 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8329 Adjust for the change of struct glyph_string.
8330
8331 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8332 the resulting clip(s}.
8333 (expose_overlaps): Add arg r. Change callers. Set it to
8334 row->clip temporarily.
8335 (expose_window): Redraw rows overlapping the exposed area.
8336
8337 * dispextern.h (struct glyph_row): New member clip.
8338 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8339 clip_height, new member clip, and num_clips.
8340
83412008-02-01 Kenichi Handa <handa@m17n.org>
8342
8343 * data.c (Fchar_or_string_p): Fix docstring.
8344
83452008-02-01 Kenichi Handa <handa@m17n.org>
8346
8347 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8348 create a temporary XftDraw object.
8349
83502008-02-01 Kenichi Handa <handa@m17n.org>
8351
8352 * font.c (Ffontp): Fix docstring.
8353
8354 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8355 strong evidence of ISO-2022.
8356
83572008-02-01 Kenichi Handa <handa@m17n.org>
8358
8359 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8360 SYNTAX_ENTRY_FOLLOW_PARENT.
8361
83622008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8363
8364 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8365 its type.
8366 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8367 Update to the new type of weak_hash_tables and next_weak.
8368
8369 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8370 a plain C pointer to Lisp_Hash_Table.
8371
8372 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8373 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8374 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8375 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8376 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8377 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8378 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8379 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8380 (GC_EQ): Remove since they've been identical to their non-GC_
8381 alter-egos ever since the markbit was eradicated.
8382
8383 * alloc.c:
8384 * buffer.c:
8385 * buffer.h:
8386 * data.c:
8387 * fileio.c:
8388 * filelock.c:
8389 * fns.c:
8390 * frame.h:
8391 * lisp.h:
8392 * macterm.c:
8393 * print.c:
8394 * process.c:
8395 * w32fns.c:
8396 * w32menu.c:
8397 * w32term.c:
8398 * xfns.c:
8399 * xmenu.c:
8400 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8401
84022008-02-01 Kenichi Handa <handa@m17n.org>
8403
8404 * chartab.c (map_sub_char_table): Make it work for the top-level
8405 char-table. Fix handling of parent char-table.
8406 (map_char_table): Adjust for the above change.
8407
84082008-02-01 Jason Rumney <jasonr@gnu.org>
8409
8410 * w32font.c (Qgdi): Rename from Qw32.
8411
84122008-02-01 Jason Rumney <jasonr@gnu.org>
8413
8414 * w32bdf.c (get_quoted_string): Make function static.
8415
84162008-02-01 Kenichi Handa <handa@m17n.org>
8417
8418 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8419 bigger ascent and descent than those of the font, use them as
8420 font's ascent and descent.
8421
84222008-02-01 Kenichi Handa <handa@m17n.org>
8423
8424 * Makefile.in (${lispsource}international/charprop.el): Move this
8425 target within "#ifdef HAVE_UNIDATA" and "#endif".
8426
84272008-02-01 Kenichi Handa <handa@m17n.org>
8428
8429 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8430 (shortlisp): Add ../lisp/language/tai-viet.el.
8431
84322008-02-01 Ulrich Mueller <ulm@gentoo.org>
8433
8434 * Makefile.in (${lispsource}international/charprop.el): Depend on
8435 temacs${EXEEXT}.
8436
84372008-02-01 Jason Rumney <jasonr@gnu.org>
8438
8439 * w32font.c (w32font_close): Delete the GDI font object.
8440
8441 * w32menu.c: Include character.h.
8442
8443 * w32proc.c: Likewise.
8444
8445 * w32select.c: Likewise.
8446
8447 * makefile.w32-in (w32proc.o): Depend on character.h.
8448
84492008-02-01 Jason Rumney <jasonr@gnu.org>
8450
8451 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8452
8453 * w32menu.c (syms_of_w32menu): Likewise.
8454
8455 * w32proc.c (syms_of_ntproc): Likewise.
8456
8457 * w32select.c (syms_of_w32select): Likewise.
8458
8459 * w32term.c (syms_of_w32term): Likewise.
8460
84612008-02-01 Jason Rumney <jasonr@gnu.org>
8462
8463 * w32font.c (w32font_draw): Delete brush after using it.
8464
84652008-02-01 Jason Rumney <jasonr@gnu.org>
8466
8467 * w32font.c (w32font_open): Don't set font_idx.
8468 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8469 to font settings.
8470 (w32font_draw): Fill background explicitly.
8471
84722008-02-01 Jason Rumney <jasonr@gnu.org>
8473
8474 * w32term.c (w32_initialize): Don't call w32font_initialize.
8475
8476 * w32font.c (w32font_info): Remove subranges.
8477 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8478 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8479 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8480 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8481 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8482 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8483 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8484 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8485 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8486 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8487 New symbols.
8488 (font_callback_data): New struct.
8489 (w32font_list, w32font_match): Use it.
8490 (w32font_open): Don't populate subranges.
8491 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8492 (w32font_encode_char): Always return unicode code-point as-is.
8493 (w32font_text_extents): Supply a transformation matrix to
8494 GetGlyphOutline. Never look up by glyph index. Avoid looping
8495 twice. Use unicode version of GetTexExtentPoint32 instead of
8496 glyph index version.
8497 (set_fonts_frame): Remove.
8498 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8499 set frame parameter. Use backward compatible fake foundries.
8500 Save generic family in extra slot under QCfamily. Make width slot
8501 constant. Save QCspacing value. Save list of scripts instead of
8502 binary subranges.
8503 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8504 (add_font_entity_to_list): Use font_callback_data struct. Filter
8505 unwanted fonts.
8506 (add_one_font_entity_to_list): Use font_callback_data struct.
8507 (w32_registry): Default to iso10646_1.
8508 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8509 string font registries. Don't fill in font name if it is a generic
8510 family name, fill family instead. Use spacing, family and script
8511 extra info to fill pitch, family and charset fields.
8512 (list_all_matching_fonts): Use font_callback_data struct.
8513 (unicode_range_for_char): Remove.
8514 (font_supported_scripts): New function.
8515 (w32font_initialize): Remove.
8516 (syms_of_w32font): Update which symbols are defined.
8517
85182008-02-01 Jason Rumney <jasonr@gnu.org>
8519
8520 * font.c (font_pixel_size): Reverse assq_no_quit args.
8521
8522 * w32term.h (FONT_WIDTH): Report max width, not average.
8523 (FONT_MAX_WIDTH): Remove.
8524 (FONT_AVG_WIDTH): New macro.
8525
8526 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8527 redefinition of FONT_WIDTH.
8528
8529 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8530 (w32_cache_char_metrics): Use FONT_WIDTH.
8531
8532 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8533
85342008-02-01 Jason Rumney <jasonr@gnu.org>
8535
8536 * w32font.c (w32font_open): Make lfHeight negative.
8537
8538 * w32fns.c (x_default_font_parameter): Use new style font name.
8539 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8540
85412008-02-01 Jason Rumney <jasonr@gnu.org>
8542
8543 * w32font.c (QCsubranges): New symbol.
8544 (w32font_open, w32font_has_char): Get subranges from subproperty
8545 of extra.
8546 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8547 (syms_of_w32font): Define :subranges symbol.
8548
8549 * font.c (font_put_extra): Expose externally.
8550
8551 * font.h (font_put_extra): Move declaration from font.c.
8552
8553 * font.c (Ffont_get): Use font driver to determine otf capability.
8554 (adjust_anchor): Check if driver defines anchor_point before using.
8555
8556 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8557 (w32font_draw): Use options.
8558 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8559 Fix detection of truetype fonts.
8560 (registry_to_w32_charset): Handle charsets other than iso8859-1
8561 expressed as lisp symbols.
8562 (w32_registry): Express charset as lisp symbol.
8563 (fill_in_logfont): Reverse pixel and point height logic.
8564 Don't set width here. Set quality to default.
8565
8566 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8567 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8568
8569 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8570 Remove redundant loop and allocation.
8571
8572 * makefile.w32-in (font.o, w32font.o): New objects.
8573 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8574 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8575
8576 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8577 STORE_XCHARB a valid l-value.
8578
8579 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8580 calculations for non-Truetype fonts.
8581 (x_draw_glyph_string): Sync with xterm.c.
8582 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8583 Remove redundant code.
8584 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8585
8586 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8587 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8588
8589 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8590 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8591
8592 * w32font.c: New file for w32 font backend.
8593
85942008-02-01 Kenichi Handa <handa@m17n.org>
8595
8596 * term.c: Don't include "buffer.h" twice.
8597
85982008-02-01 Kenichi Handa <handa@m17n.org>
8599
8600 * character.c (Funibyte_string): New function.
8601 (syms_of_character): Defsubr it.
8602
86032008-02-01 Jason Rumney <jasonr@gnu.org>
8604
8605 * w32term.c [USE_FONT_BACKEND]:
8606 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8607 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8608 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8609 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8610 (x_free_frame_resources): Sync with xterm.c.
8611
86122008-02-01 Andreas Schwab <schwab@suse.de>
8613
8614 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8615 char-table size.
8616
86172008-02-01 Kenichi Handa <handa@m17n.org>
8618
8619 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8620
86212008-02-01 Kenichi Handa <handa@m17n.org>
8622
8623 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8624 font_otf_gpos, add font_drive_otf.
8625
8626 * fontset.c (fontset_find_font): Pay attention to font size
8627 specified for a font.
8628 (reorder_font_vector): Check contents of font_def.
8629
8630 * font.c (struct otf_list): Delete it.
8631 (otf_list): Make it a lisp variable.
8632 (otf_open): Use lispy otf_list.
8633 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8634 (check_otf_features): New function.
8635 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8636 New functions.
8637 (font_drive_otf): New function merging font_otf_gsub and
8638 font_otf_gpos.
8639 (font_open_for_lface): New arg spec. Change argument order.
8640 (font_load_for_face): Adjust for the change of font_open_for_lface.
8641 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8642 Ffont_otf_gpos.
8643 (syms_of_font): Staticpro otf_list. Delete defsubr of
8644 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8645
8646 * xfaces.c (set_font_frame_param): Adjust for the change of
8647 font_open_for_lface.
8648
8649 * font.h (font_open_for_lface): Adjust prototype.
8650 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8651 member otf_drive.
8652 (font_otf_gsub, font_otf_gpos): Delete externs.
8653 (font_drive_otf): Extern it.
8654
86552008-02-01 Kenichi Handa <handa@m17n.org>
8656
8657 * font.c (font_at): If the window W is not on a window system,
8658 return Qnil.
8659
8660 * coding.c (produce_chars, encode_coding): Don't call
8661 insert_from_gap if no characters to produce.
8662
86632008-02-01 Kenichi Handa <handa@m17n.org>
8664
8665 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8666 Fclear_face_cache.
8667
8668 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8669
86702008-02-01 Miles Bader <miles@gnu.org>
8671
8672 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8673 Parse "--disable-font-backend" option.
8674 (standard_args): Add "--disable-font-backend" option.
8675
86762008-02-01 Kenichi Handa <handa@m17n.org>
8677
8678 * fontset.c (fontset_find_font): New function.
8679 (fontset_font): Use fontset_find_font.
8680 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8681 Register the specified font for all Latin characters.
8682 (new_fontset_from_font): Register the specified font for all Latin
8683 characters.
8684 (dump_fontset): For a realized fontset, include the base fontset
8685 name in the returned vector.
8686
86872008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * character.h (CHAR_STRING): Cast C to unsigned on calling
8690 char_string.
8691
8692 * character.c (char_string): Type of arg C changed to unsigned.
8693 Signal an error if C is an invalid character code.
8694
8695 * editfns.c (general_insert_function, Fchar_to_string):
8696 Use CHARACTERP, not INTEGERP.
8697
86982008-02-01 Kenichi Handa <handa@m17n.org>
8699
8700 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8701 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8702
8703 * regex.c (analyse_first): Fix for multibyte characters in "case
8704 charset:" and "case categoryspec:".
8705
87062008-02-01 Andreas Schwab <schwab@suse.de>
8707
8708 * Makefile.in (LIBES): Move standard libraries to the end.
8709
87102008-02-01 Kenichi Handa <handa@m17n.org>
8711
8712 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8713 nonzero, don't shrink the buffer nextb.
8714
8715 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8716
8717 * coding.c (coding_alloc_by_making_gap): New arg offset.
8718 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8719 offset.
8720 (decode_coding_iso_2022): Update coding->safe_charsets.
8721 (decode_coding_gap): Temporarily set
8722 current_buffer->text->inhibit_shrinking to 1.
8723
87242008-02-01 Kenichi Handa <handa@m17n.org>
8725
8726 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8727 indexing into elements of s->cmp and s->char2b.
8728
87292008-02-01 Juanma Barranquero <lekktu@gmail.com>
8730
8731 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8732
87332008-02-01 Kenichi Handa <handa@m17n.org>
8734
8735 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8736 target_multibyte instead of multibyte.
8737 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8738 (bcmp_translate): Change the argument name from multibyte to
8739 target_multibyte.
8740
87412008-02-01 Kenichi Handa <handa@m17n.org>
8742
8743 These changes are to compile a regexp into a pattern that can be
8744 used both for multibyte and unibyte targets.
8745
8746 * Makefile.in (search.o): Depend on charset.h.
8747
8748 * character.c (multibyte_char_to_unibyte_safe): New function.
8749
8750 * search.c: Include "charset.h".
8751 (compile_pattern_1): Delete argument multibyte. Don't set
8752 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8753 (compile_pattern): Don't compare cp->buf.target_multibyte.
8754 Compare cp->buf.charset_unibyte.
8755 (compile_pattern): Set cp->buf.target_multibyte.
8756
8757 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8758
8759 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8760
8761 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8762 multibyte. Change callers.
8763 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8764 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8765 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8766 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8767 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8768 (regex_compile): Make the compiled pattern usable both for
8769 multibyte and unibyte targets.
8770 (analyse_first): Make the fastmap usable both for multibyte and
8771 unibyte targets.
8772 (TRANSLATE_VIA_MULTIBYTE): Delete.
8773 (re_match_2_internal): Pay attention to the case that the
8774 multibyteness of bufp and target may be different.
8775
87762008-02-01 Kenichi Handa <handa@m17n.org>
8777
8778 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8779 empty box occupy at least one column width.
8780
87812008-02-01 Miles Bader <miles@gnu.org>
8782
8783 * Makefile.in: Remove redundant HAVE_XFT clause.
8784
87852008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8788
87892008-02-01 Kenichi Handa <handa@m17n.org>
8790
8791 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8792 being nil.
8793
87942008-02-01 Kenichi Handa <handa@m17n.org>
8795
8796 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8797
87982008-02-01 Kenichi Handa <handa@m17n.org>
8799
8800 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8801
88022008-02-01 Kenichi Handa <handa@m17n.org>
8803
8804 * search.c (simple_search): Fix previous change.
8805
88062008-02-01 Kenichi Handa <handa@m17n.org>
8807
8808 * xftfont.c (ftfont_font_format): Extern declaration.
8809
8810 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8811
8812 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8813 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8814
8815 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8816 (ftfont_font_format): Fix previous change.
8817
8818 * font.h (Ffont_xlfd_name): EXFUN it.
8819
8820 * font.c (font_parse_xlfd): Fix the array size of `f'.
8821 (register_font_driver): Use EQ to compare driver->type.
8822
8823 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8824 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8825 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8826
88272008-02-01 Kenichi Handa <handa@m17n.org>
8828
8829 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8830 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8831
88322008-02-01 Kenichi Handa <handa@m17n.org>
8833
8834 * xfont.c (xfont_open): Set font->format.
8835
8836 * xftfont.c (xftfont_open): Set font->format.
8837
8838 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8839 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8840 (ftfont_open): Set font->format.
8841 (ftfont_font_format): New function.
8842
8843 * font.h (struct font): New member format.
8844
8845 * font.c (Qopentype): New variable.
8846 (syms_of_font): Defsym it.
8847 (Fquery_font): Change the format of the last element of the return
8848 value.
8849
88502008-02-01 Kenichi Handa <handa@m17n.org>
8851
8852 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8853 last resort.
8854
88552008-02-01 Kenichi Handa <handa@m17n.org>
8856
8857 * coding.c (detect_coding_charset): Fix detection of multi-byte
8858 charset.
8859
88602008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8861
8862 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8863
88642008-02-01 Kenichi Handa <handa@m17n.org>
8865
8866 * xdisp.c (get_next_display_element): Set it->face_id for the
8867 first component of a composition.
8868 (x_produce_glyphs): Check if the font is changed or not for composition.
8869
88702008-02-01 Kenichi Handa <handa@m17n.org>
8871
8872 * fontset.c (Qlatin): New variable.
8873 (syms_of_fontset): Define it as a lisp symbol.
8874 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8875
88762008-02-01 Kenichi Handa <handa@m17n.org>
8877
8878 * font.c (font_unparse_fcname): Pay attention to the case that
8879 some of font property is a null string.
8880
88812008-02-01 Kenichi Handa <handa@m17n.org>
8882
8883 * term.c: Include "composite.h".
8884 (encode_terminal_code): Output all components of composition.
8885 Check the size of encode_terminal_src.
8886 (produce_glyphs): For composition, call produce_composite_glyph.
8887 (append_composite_glyph, produce_composite_glyph): New functions.
8888
8889 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8890 is not found, get font_info from the current ascii face.
8891
88922008-02-01 Kenichi Handa <handa@m17n.org>
8893
8894 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8895 buffer-file-name to Qnil before calling insert_from_buffer.
8896
8897 * font.c (font_unparse_fcname): Pay attention to the case that
8898 foundry is a null string.
8899
89002008-02-01 Kenichi Handa <handa@m17n.org>
8901
8902 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8903
8904 * font.c (Qunicode_sip): New variable.
8905 (syms_of_font): Declare it as a Lisp symbol.
8906
8907 * font.h (Qunicode_sip): Extern it.
8908
89092008-02-01 Kenichi Handa <handa@m17n.org>
8910
8911 * composite.c (get_composition_id): Pay attention to TAB component.
8912
8913 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8914 TAB. Adjust for the change of s->char2b which always points to
8915 the first element of allocated memory.
8916
8917 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8918
8919 * xdisp.c (handle_composition_prop): Set it->c to the first
8920 non-TAB component.
8921 (fill_composite_glyph_string): Change argument.
8922 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8923 (x_produce_glyphs): Fix handling of left/right padding.
8924
89252008-02-01 Kenichi Handa <handa@m17n.org>
8926
8927 * coding.c (detect_coding_system): Fix for handling off
8928 inhibit_iso_escape_detection. Fix for the case that no coding
8929 system is defined for a specific coding category.
8930
89312008-02-01 Kenichi Handa <handa@m17n.org>
8932
8933 * font.c (font_matching_entity): Delete unused local var.
8934
8935 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8936 opening a font.
8937
8938 * fileio.c (Finsert_file_contents): On recovering a file, assume
8939 Unix-like eol.
8940 (choose_write_coding_system): On auto-saving a file, force
8941 Unix-like eol.
8942
8943 * coding.c (setup_coding_system): Fix setting of
8944 coding->common_flags based on eol_type.
8945 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8946 inherit from it.
8947
89482008-02-01 Kenichi Handa <handa@m17n.org>
8949
8950 * alloc.c (NSTATICS): Increas to 0x600.
8951
89522008-02-01 Kenichi Handa <handa@m17n.org>
8953
8954 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8955 (ftfont_list): Don't check :name property.
8956 (ftfont_match): New function.
8957 (ftfont_pattern_entity): If the pattern doesn't contain
8958 FC_SPACING, don't assume FC_MONO.
8959
8960 * font.h (struct font_driver): New member `match'.
8961 (font_update_drivers): Adjust prototype.
8962
8963 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8964 property of FONT.
8965 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8966 them unconditionally.
8967 (font_matching_entity): New function.
8968 (font_open_by_name): Try font_matching_entity if exact match is
8969 not found.
8970 (font_update_drivers): Delete the arg FONT. Return a list of
8971 actually used backends. Don't free faces, font caches here.
8972 Don't store data in frame parameters. Don't call x_set_font.
8973 (Ffont_spec): Store :name property as is.
8974 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8975 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8976 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8977 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8978 Call font->driver->otf_gsub instead of font_otf_gsub.
8979
8980 * frame.c (x_set_font_backend): Do more works that were done in
8981 font_update_drivers before.
8982
8983 * xfont.c (xfont_match): New function.
8984 (xfont_driver): Set xfont_driver.match to xfont_match.
8985 (xfont_draw): Set font in GC if necessary.
8986
8987 * ftxfont.c (ftxfont_match): New function.
8988 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8989
8990 * xftfont.c (xftfont_match): New function.
8991 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8992
89932008-02-01 Kenichi Handa <handa@m17n.org>
8994
8995 * font.h (struct font): New member scalable.
8996 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8997 (font_otf_gsub): Adjust prototype.
8998
8999 * font.c (font_otf_capability): Fix handling of the default langsys.
9000 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9001 Check the contents of SPEC.
9002 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9003 (check_gstring): New function.
9004 (REPLACEMENT_CHARACTER): New macro.
9005 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9006 glyph codes of GSTRING.
9007 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9008 (font_prepare_composition): Set cmp->glyph_len.
9009 (font_open_entity): Set font->scalable.
9010 (Ffont_get): Handle :otf property.
9011 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9012 functions.
9013 (Fquery_font): Use font->font.full_name.
9014 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9015 Sfont_otf_alternates.
9016
9017 * ftfont.c (ftfont_open): Set font->font.full_name and
9018 font->font.name properly. Fix calculation of font->font.height
9019 and font->min_width.
9020
9021 * ftxfont.c (ftxfont_create_gcs): New function.
9022 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9023 (ftxfont_draw_backgrond): Fix filling region.
9024 (ftxfont_default_fid): New function.
9025 (ftxfont_open): Set xfont->fid to the return value of
9026 ftxfont_default_fid.
9027 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9028 (ftxfont_done_face): Free only GCs that are created by
9029 ftxfont_create_gcs.
9030 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9031
9032 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9033 Clip to src->width, etc (not src->clip_XXX).
9034
9035 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9036 FontBackend frame parameter.
9037
90382008-02-01 Kenichi Handa <handa@m17n.org>
9039
9040 * font.h (struct font_driver_list): New member `on'.
9041 (Fclear_font_cache): EXFUN it.
9042 (font_update_drivers): Extern it.
9043
9044 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9045 (font_list_entities): Check driver_list->on.
9046 (register_font_driver): Initalize `on' member to 0.
9047 (font_update_drivers): New function.
9048 (Fclear_font_cache): Check driver_list->on.
9049
9050 * frame.h (Qfont_backend): Extern it.
9051 (x_set_font_backend): Extern it.
9052
9053 * frame.c (Qfont_backend): New variable.
9054 (frame_parms): New element for font-backend.
9055 (x_set_font_backend): New function.
9056
9057 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9058 FontBackend frame parameter.
9059 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9060 x_set_font_backend.
9061
9062 * xfont.c (xfont_list): Don't try listing by :name property if the
9063 name is not for XLFD.
9064
90652008-02-01 Kenichi Handa <handa@m17n.org>
9066
9067 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9068 (LGLYPH_SET_TO): New macros.
9069 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9070 element of G is vector or not.
9071 (font_at): Extern it.
9072
9073 * font.c: Include window.h.
9074 (font_lispy_object): New function.
9075 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9076 end of valid glyph.
9077 (font_close_object): Fix getting (struct font *).
9078 (font_at): New function.
9079 (Ffont_get): If FONT is a font-object, get entity from it.
9080 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9081 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9082 range check.
9083 (Ffont_at): New function.
9084 (syms_of_font): Defsubr Sfont_at.
9085
9086 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9087 before the entry for Qcomposition.
9088 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9089 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9090 the font in gstring.
9091 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9092 LGLYPH_FORM (g) to detect the end of valid glyph.
9093 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9094 we are composing with gstring.
9095
9096 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9097 Check if adjustment is vector or not.
9098
9099 * Makefile.in (font.o): Make it depends on window.h.
9100
91012008-02-01 Kenichi Handa <handa@m17n.org>
9102
9103 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9104 adjustment is vector or not.
9105
91062008-02-01 Miles Bader <miles@gnu.org>
9107
9108 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9109
91102008-02-01 Kenichi Handa <handa@m17n.org>
9111
9112 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9113 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9114 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9115
9116 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9117 (DEVICE_DELTA): Fix typo.
9118 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9119 LGLYPH format.
9120
9121 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9122 the change of LGLYPH format.
9123
91242008-02-01 Kenichi Handa <handa@m17n.org>
9125
9126 * ftfont.c (ftfont_list): Fix typo.
9127 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9128
91292008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9130
9131 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9132
9133 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9134 xftface_info is non-NULL.
9135
91362008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9137
9138 * ftfont.c (ftfont_list): Move misplaced #endif.
9139
91402008-02-01 Kenichi Handa <handa@m17n.org>
9141
9142 * ftfont.c (ftfont_list): Pay attention to the case that
9143 FC_CAPABILITY is not defined.
9144
91452008-02-01 Kenichi Handa <handa@m17n.org>
9146
9147 * xftfont.c (xftfont_open): Set charset related members to -1.
9148
9149 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9150 QCname.
9151 (ftfont_open): Set charset related members to -1.
9152
9153 * fontset.c (Votf_script_alist): New variable.
9154 (syms_of_fontset): Initialize it.
9155 (fontset_font): Delete unused variable.
9156
9157 * fontset.h (Votf_script_alist): Extern it.
9158
9159 * font.c (font_find_for_lface): Optimize code.
9160
9161 * font.h (font_close_object, font_merge_old_spec): Extern them.
9162
91632008-02-01 Kenichi Handa <handa@m17n.org>
9164
9165 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9166 (syms_of_font): Initialize them.
9167 (font_pixel_size): Allow float value in dpi.
9168 (font_prop_validate_type): Delete.
9169 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9170 Change caller.
9171 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9172 (font_prop_validate_extra): Delete.
9173 (font_prop_validate_spacing): New function.
9174 (font_property_table): Add elements for all known properties.
9175 (get_font_prop_index): Rename from check_font_prop_name. New
9176 argument FROM. Change caller.
9177 (font_prop_validate): Validate all known properties.
9178 (font_put_extra): Delete argument force. Change caller.
9179 (font_expand_wildcards): Make it static. Fix the way of shrinking
9180 the possible range.
9181 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9182 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9183 Change caller.
9184 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9185 (font_parse_fcname): Delete argument merge. Fix parsing of point
9186 size. Don't validate properties values here. Change caller.
9187 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9188 (font_open_by_name): Delete unused variable.
9189 (Ffont_spec): Likewise. Validate property values.
9190 (Ffont_match_p): New function.
9191
9192 * font.h (QCscalable): Extern it.
9193 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9194
9195 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9196
9197 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9198 (xfont_list_pattern): New function.
9199 (xfont_list): Use xfont_list_pattern.
9200
92012008-02-01 Kenichi Handa <handa@m17n.org>
9202
9203 * font.h (Flist_fonts): EXFUN it.
9204
92052008-02-01 Jason Rumney <jasonr@gnu.org>
9206
9207 * w32term.c (w32_initialize): Add back smoothing_type and
9208 smoothing_enabled definitions.
9209
92102008-02-01 Kenichi Handa <handa@m17n.org>
9211
9212 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9213 s->face->font on determining underline position.
9214
92152008-02-01 Kenichi Handa <handa@m17n.org>
9216
9217 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9218 (font_has_char): Accept font-object too.
9219 (font_find_for_lface): Try at first with a size specified in face.
9220
92212008-02-01 Kenichi Handa <handa@m17n.org>
9222
9223 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9224 font_open_by_name.
9225
92262008-02-01 Kenichi Handa <handa@m17n.org>
9227
9228 * font.h (QCspacing, QCdpi): Extern them.
9229 (enum font_spacing): New enum.
9230 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9231
9232 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9233 (QCspacing, QCdpi): New variables.
9234 (syms_of_font): Initialize them.
9235 (font_pixel_size): New function.
9236 (font_put_extra): New function.
9237 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9238 in FONT_EXTRA.
9239 (font_parse_fcname): Handle enumerated values (e.g. bold).
9240 Fix handling font size. Add QCname property that contains only
9241 unknown properties.
9242 (font_score): Change argument. Change caller. Pay attention to
9243 FONT_PIXEL_SIZE_QUANTUM.
9244 (font_sort_entites, font_list_entities, font_find_for_lface)
9245 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9246 (Ffont_spec): Add QCname property that contains only unknown properties.
9247
9248 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9249 include weight in listing pattern, instead check weight of each
9250 listed font. Don't include scalable in pattern. Pay attention to
9251 FONT_PIXEL_SIZE_QUANTUM.
9252
92532008-02-01 Kenichi Handa <handa@m17n.org>
9254
9255 * font.c (font_parse_fcname): Fix parsing of point-size.
9256 (font_unparse_fcname): Produce symbolic names for style properties.
9257 (font_list_entities): Handle float size correctly.
9258 (font_open_by_name): Prefer `normal' property values if the name
9259 doesn't specify them.
9260
9261 * fontset.c (Finternal_char_font): Use font_get_name, not
9262 Ffont_xlfd_name.
9263
9264 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9265 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9266 pattern. Don't force scalable.
9267
9268 * xftfont.c (xftfont_open): For generating a name, start from
9269 96-byte buffer.
9270
92712008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9272
9273 * frame.h (x_new_fontset2): Fix prototype.
9274
92752008-02-01 Kenichi Handa <handa@m17n.org>
9276
9277 * font.h (struct font_driver): Delete member parse_name.
9278 (font_match_p, font_get_spec, font_parse_fcname)
9279 (font_unparse_fcname): Extern them.
9280 (font_get_name): Adjust prototype.
9281
9282 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9283 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9284 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9285 unnecessary checks for weight, slant, and swidth.
9286 (font_parse_fcname): New function.
9287 (font_unparse_fcname): New function.
9288 (font_parse_name): New function.
9289 (font_match_p): New function.
9290 (font_get_name): Change return value to Lisp string.
9291 (font_get_spec): New function.
9292 (Qunspecified, Qignore_defface): Don't extern them.
9293 (font_find_for_lface): Assume that LFACE is fully specified.
9294 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9295 object, use it for FACE.
9296 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9297 driver->parse_name.
9298 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9299
9300 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9301 prototype.
9302
9303 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9304 argument F. Don't call Fnew_fontset. Instead, directly call
9305 make_fontset.
9306
9307 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9308
9309 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9310 of x_new_fontset2.
9311
9312 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9313 (Qsans__serif): New variables.
9314 (ftfont_generic_family_list): New variable.
9315 (syms_of_ftfont): Initialize the above variables.
9316 (ftfont_pattern_entity): Delete argument NAME.
9317 (ftfont_list_generic_family): New function.
9318 (ftfont_parse_name): Delete this function.
9319 (ftfont_list): Try generic family only when FcFontList found no font.
9320 (ftfont_list_family): Fix args to FcObjectSetBuild.
9321
9322 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9323 object in attrs[LFACE_FONT_INDEX].
9324 (set_lface_from_font_name): Cancel all changes for font-backend.
9325 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9326 function.
9327 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9328 font object in QCfont attribute.
9329 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9330 (realize_default_face) [USE_FONT_BACKEND]: Call
9331 set_lface_from_font_and_fontset.
9332
9333 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9334 "fixed", and signal error here if no suitable font was found.
9335
9336 * xfont.c (xfont_parse_name): Delete this function.
9337
9338 * xftfont.c (xftfont_open): Change coding style of error
9339 handling. Generate fontconfig's fontname pattern.
9340
9341 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9342 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9343
9344 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9345 Both args FONTSET and FONT_OBJECT must be existing ones.
9346
93472008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9348
9349 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9354
9355 * font.h (struct font): Fix typo.
9356
9357 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9358 XLFD_XXX_INDEX.
9359 (enum xlfd_field_mask): New enum.
9360 (intern_font_field): Changed argument. Change caller. If digits
9361 are followed by non-digits, return a symbol.
9362 (font_expand_wildcards): New function.
9363 (font_parse_xlfd): Fix wildcard handling.
9364 (Ffont_spec): If :name is specified, reflect the info in the other
9365 properties.
9366
9367 * ftfont.c (ftfont_pattern_entity): Fix typo.
9368 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9369 locale.
9370
93712008-02-01 Kenichi Handa <handa@m17n.org>
9372
9373 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9374
9375 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9376 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9377 registry doesn't specify encoding part.
9378 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9379 (font_open_by_name): At first try parsing the name.
9380 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9381 as Lisp symbols.
9382
9383 * fontset.c (reorder_font_vector): Pay attention to the case that
9384 the 3rd element of font_def is nil.
9385 (fontset_font): For the default fontset, append one more fontset
9386 elements for a script-based font specification. Don't add script
9387 attribute on finding a font.
9388 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9389 font name.
9390 (fontset_ascii_font): If a font can't be opened, return nil.
9391
9392 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9393 (ftfont_pattern_entity): New function.
9394 (ftfont_get_cache): Assume that freetype_font_cache is already
9395 initialized.
9396 (ftfont_list): Handle the case that a file is specified in font
9397 name. Use ftfont_pattern_entity to generate entities.
9398 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9399 (syms_of_ftfont): Initialize freetype_font_cache.
9400
9401 * xftfont.c (xftfont_open): Make the font name fontconfig's
9402 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9403 (xftfont_close): Free font->font.name if not NULL.
9404
9405 * xfont.c (xfont_list): If script is specified for a font, return
9406 null_vector.
9407 (xfont_list_family): Declare argument type.
9408
9409 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9410 name, set LFACE_FONT (lface) to nil.
9411
9412 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9413 return Qnil.
9414
94152008-02-01 Kenichi Handa <handa@m17n.org>
9416
9417 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9418 (standard_args): Add "-enable-font-backend".
9419
94202008-02-01 Kenichi Handa <handa@m17n.org>
9421
9422 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9423 (struct xftdraw_list, xftdraw_list): Delete them.
9424 (register_xftdraw, check_xftdraw): Delete them.
9425 (xftfont_prepare_face): Don't call register_xftdraw.
9426 (xftfont_done_face): Don't call check_xftdraw.
9427 (xftfont_draw): Get background color only when with_background is
9428 nonzero.
9429
9430 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9431
94322008-02-01 Kenichi Handa <handa@m17n.org>
9433
9434 These changes are for the new font handling codes.
9435
9436 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9437 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9438 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9439 (FONTSRC, FONTOBJ): New variables.
9440 (obj): Add $(FONTOBJ).
9441 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9442 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9443 @LIBOTF_LIBS@.
9444 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9445 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9446
9447 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9448
9449 * character.h (Vscript_representative_chars): Extern it.
9450
9451 * character.c (Vscript_representative_chars): New variable.
9452 (syms_of_character): Declare it as a Lisp variable.
9453
9454 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9455 enable_font_backend is nonzero, accept the composition method
9456 COMPOSITION_WITH_GLYPH_STRING.
9457
9458 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9459 enumeration COMPOSITION_WITH_GLYPH_STRING.
9460
9461 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9462 members clip_x, clip_y, clip_width, and clip_height.
9463 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9464
9465 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9466 --enable-font-backend. Call syms_of_font.
9467
9468 * fns.c (assoc_no_quit): New function.
9469
9470 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9471 (face_for_font, new_fontset_from_font)
9472 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9473
9474 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9475 (fontset_font, fontset_ascii, face_for_char)
9476 (make_fontset_for_ascii_face, Ffont_info)
9477 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9478 is nonzero, use font-backend mechanism.
9479 (find_font_encoding): Make it non-static.
9480 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9481 New functions.
9482
9483 * frame.h (struct frame): New members resx and resy.
9484 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9485 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9486
9487 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9488 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9489
9490 * lisp.h (assoc_no_quit): Extern it.
9491
9492 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9493 Through out the file, use FONT_INFO_FROM_FACE instead of
9494 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9495 rif->per_char_metric.
9496 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9497 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9498 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9499 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9500 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9501 nonzero, use font-backend mechanism.
9502 (get_per_char_metric): New function.
9503
9504 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9505 (set_lface_from_font_name)
9506 (set_font_frame_param, free_realized_face)
9507 (prepare_face_for_display, clear_face_gcs)
9508 (Finternal_set_font_selection_order, realize_x_face)
9509 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9510 font-backend mechanism.
9511 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9512 (load_face_font) [USE_FONT_BACKEND]: Abort.
9513 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9514 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9515
9516 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9517 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9518 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9519 nonzero, register all available font drivers. Call
9520 x_default_font_parameter for deciding a font.
9521 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9522
9523 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9524 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9525 (x_set_glyph_string_clipping_exactly)
9526 (x_compute_glyph_string_overhangs)
9527 (x_draw_glyph_string_foreground)
9528 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9529 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9530 enable_font_backend is nonzero, use font-backend mechanism.
9531 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9532
95332008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9536 system_eol_type.
9537 (syms_of_coding): Initialize system_eol_type.
9538
9539 * process.c (Fset_process_coding_system): Inherit system's eol
9540 format if necessary.
9541
95422008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9543
9544 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * coding.c (decode_eol): Pay attention to buffer relocation in
9549 del_range_2.
9550 (decode_coding): Call decode_eol before restoring undo_list.
9551
95522008-02-01 Kenichi Handa <handa@m17n.org>
9553
9554 * charset.c (Fdefine_charset_internal): Fix setting of
9555 emacs_mule_bytes.
9556
95572008-02-01 Kenichi Handa <handa@m17n.org>
9558
9559 * keyboard.c (read_char): Check if C is a character or not before
9560 looking up Vkeyboard_translate_table.
9561
95622008-02-01 Kenichi Handa <handa@m17n.org>
9563
9564 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9565 condition to terminate the loop.
9566
95672008-02-01 Kenichi Handa <handa@m17n.org>
9568
9569 * coding.c (produce_composition): Compare charbuf[i] instead of
9570 args[i] against 0.
9571 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9572
95732008-02-01 Kenichi Handa <handa@m17n.org>
9574
9575 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9576 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9577 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9578 detect_coding.
9579 (emacs_mule_char): Handle old style (Emacs 20) component character
9580 of a composition.
9581 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9582 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9583 composition rule.
9584 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9585
95862008-02-01 Kenichi Handa <handa@m17n.org>
9587
9588 * coding.c (encode_coding_ccl): Allocate destination dynamically
9589 when necessary.
9590
95912008-02-01 Kenichi Handa <handa@m17n.org>
9592
9593 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9594 the loop. When quitted, show a proper error message.
9595
95962008-02-01 Kenichi Handa <handa@m17n.org>
9597
9598 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9599 src->clip_head and src->clip_tail temporarily instead of src->hl.
9600
9601 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9602 character sequence.
9603 (Fccl_execute_on_string): Use ASET, not XSET.
9604
96052008-02-01 Kenichi Handa <handa@m17n.org>
9606
9607 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9608
96092008-02-01 Kenichi Handa <handa@m17n.org>
9610
9611 * coding.c (decode_coding): Fix the condition of terminating the
9612 decoding loop.
9613
96142008-02-01 Kenichi Handa <handa@m17n.org>
9615
9616 * data.c (Faset): On setting a character bigger than 255 in a
9617 unibyte string, signal an error instead of make the string multibyte.
9618
96192008-02-01 Kenichi Handa <handa@m17n.org>
9620
9621 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9622 made by a mapping table.
9623
96242008-02-01 Kenichi Handa <handa@m17n.org>
9625
9626 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9627 not.
9628 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9629 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9630
9631 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9632 s->face is NULL or not.
9633
96342008-02-01 Kenichi Handa <handa@m17n.org>
9635
9636 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9637 (x_draw_glyph_string): Fix drawing of right_overhang and
9638 left_overhang around/on cursor.
9639
9640 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * coding.c (Fdefine_coding_system_internal)
9649 (Fdefine_coding_system_alias): Avoid a duplicated element in
9650 Vcoding_system_alist.
9651
96522008-02-01 Kenichi Handa <handa@m17n.org>
9653
9654 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9655
9656 * coding.c (Qcoding_system_define_form): New variable.
9657 (syms_of_coding): Intern and staticpro it.
9658 (Fcoding_system_p): Check Qcoding_system_define_form.
9659 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9660
9661 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9662 Fcoding_system_p.
9663 (CHECK_CODING_SYSTEM): If ID is not available, call
9664 Fcheck_coding_system.
9665 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9666 Try also Fcheck_coding_system.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * coding.c (code_conversion_restore): GCPRO arg.
9671
96722008-02-01 Kenichi Handa <handa@m17n.org>
9673
9674 * character.c (lisp_string_width): Check multibyteness of STRING.
9675
96762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9677
9678 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9679 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9680 (decode_mac_font_name): Use decode_coding_c_string instead of
9681 decode_coding.
9682 (x_load_font): Initialize fontp->fontset to -1. Set
9683 fontp->encoding_type.
9684
96852008-02-01 Kenichi Handa <handa@m17n.org>
9686
9687 * search.c (search_buffer): Give up BM search on case-fold-search
9688 if one of a target character has a case-equivalence of different
9689 byte length even if that target charcter is an ASCII.
9690 (simple_search): Fix calculation of byte length of matched text.
9691 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9692
96932008-02-01 Kenichi Handa <handa@m17n.org>
9694
9695 * coding.c (decode_coding): Fix handling of invalid bytes.
9696
96972008-02-01 Kenichi Handa <handa@m17n.org>
9698
9699 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9700 Unicode characters.
9701
97022008-02-01 Kenichi Handa <handa@m17n.org>
9703
9704 * coding.c (encode_coding_object): If a pre-write-conversion
9705 function makes a new buffer, kill it.
9706
97072008-02-01 Kenichi Handa <handa@m17n.org>
9708
9709 * coding.c (QCascii_compatible_p): New variable.
9710 (syms_of_coding): Initialize it.
9711 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9712 calling string_char.
9713 (record_conversion_result): Add `default:' case.
9714 (coding_charset_list): Delete unused variable `coding_type'.
9715 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9716 property in the plist of the coding system.
9717 (Fcoding_system_put): Check QCascii_compatible_p.
9718
97192008-02-01 Miles Bader <miles@gnu.org>
9720
9721 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9722 removed calculation of frame `f', as it's now used.
9723
97242008-02-01 Kenichi Handa <handa@m17n.org>
9725
9726 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9727 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9728 (UNIDATA): New variable.
9729 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9730 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9731 $(RUN_TEMACS) unconditionally.
9732
97332008-02-01 Kenichi Handa <handa@m17n.org>
9734
9735 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9736 (admindir): New variable.
9737 ($(lispsource)international/charprop.el): New target.
9738
97392008-02-01 Miles Bader <miles@gnu.org>
9740
9741 * character.c (chars-in-region): Remove obsolete function.
9742 (syms_of_character): Remove its initialization.
9743
97442008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9745
9746 * w32select.c (validate_coding_system)
9747 (setup_windows_coding_system): New functions.
9748 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9749 setup_windows_coding_system.
9750 (setup_config, Fw32_get_clipboard_data): Use
9751 validate_coding_system.
9752 (Fx_selection_exists): Move call to setup_config to a place
9753 where signals are allowed.
9754
9755 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9756 (Fcheck_coding_system): Add declarations.
9757
97582008-02-01 Kenichi Handa <handa@m17n.org>
9759
9760 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9761
97622008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9763
9764 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9765 string as the second argument for x_new_fontset.
9766
97672008-02-01 Kenichi Handa <handa@m17n.org>
9768
9769 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9770 (encode_coding_object): Use safe_call instead of call2.
9771
97722008-02-01 Kenichi Handa <handa@m17n.org>
9773
9774 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9775
9776 * Makefile.in (lisp): Include charprop.el.
9777
97782008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9779
9780 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9781 Not sure if it's unnecessary.
9782
97832008-02-01 Steven Tamm <steventamm@mac.com>
9784
9785 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9786 some possibly unnecessary fontset checking code that crashed
9787 when creating a new frame.
9788
97892008-02-01 Kenichi Handa <handa@m17n.org>
9790
9791 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9792 lookup_face.
9793
9794 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9795
9796 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9797
97982008-02-01 Kenichi Handa <handa@m17n.org>
9799
9800 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9801 (coding_charset_list): New function.
9802
9803 * coding.h (coding_charset_list): Extern it.
9804
98052008-02-01 Kenichi Handa <handa@m17n.org>
9806
9807 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9808 concatenation of family and registry.
9809
98102008-02-01 Kenichi Handa <handa@m17n.org>
9811
9812 * character.h (BYTE8_STRING): Fix typo.
9813
9814 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9815 string to multibyte (sync to HEAD).
9816
9817 * casefiddle.c (casify_region): Handle changes in byte-length
9818 using replace_range_2 (sync to HEAD).
9819
98202008-02-01 Andreas Schwab <schwab@suse.de>
9821
9822 * chartab.c (map_char_table): GCPRO table and arg.
9823
98242008-02-01 Kenichi Handa <handa@m17n.org>
9825
9826 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9827 already at limit.
9828
98292008-02-01 Kenichi Handa <handa@m17n.org>
9830
9831 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9832 instead of fast_c_string_match_ignore_case.
9833 (find_font_encoding): Change argument to Lisp_Object. Use
9834 fast_string_match_ignore_case instead of
9835 fast_c_string_match_ignore_case. Change caller.
9836
98372008-02-01 Kenichi Handa <handa@m17n.org>
9838
9839 * xdisp.c (get_next_display_element): In unibyte case, decide to
9840 display in octal form by checking a character by
9841 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9842
9843 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9844
9845 * character.c (unibyte_has_multibyte_table): New variable.
9846
9847 * character.h (unibyte_has_multibyte_table): Extern it.
9848 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9849
98502008-02-01 Kenichi Handa <handa@m17n.org>
9851
9852 * coding.c (encode_coding_iso_2022): Fix handling of charset
9853 annotation.
9854
98552008-02-01 Kenichi Handa <handa@m17n.org>
9856
9857 * coding.c (setup_coding_system): If coding_system is nil, use
9858 Qundecided.
9859 (Fterminal_coding_system): Return nil if terminal coding system is
9860 `undecided'.
9861 (syms_of_coding): Define coding-system `undecided' here. Setup
9862 terminal_coding as `undecided'.
9863
98642008-02-01 Kenichi Handa <handa@m17n.org>
9865
9866 * xdisp.c (message_dolog, set_message_1): Call
9867 unibyte_char_to_multibyte with arg type int.
9868
9869 * lread.c (read1): Fix reading of a char-table.
9870
9871 * print.c (print_object): Include sub char-table in circularities
9872 detection.
9873
98742008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9877 Append the found sequences in car of ARGS instead of prepending.
9878
98792008-02-01 Kenichi Handa <handa@m17n.org>
9880
9881 * fileio.c (report_file_error): Make a unibyte string from
9882 strerror (errorno).
9883 (Fsubstitute_in_file_name): Fix the arg to
9884 unibyte_char_to_multibyte. It is evaluated twice.
9885
98862008-02-01 Kenichi Handa <handa@m17n.org>
9887
9888 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9893 BOM is not found.
9894 (detect_coding, detect_coding_system): Optimization for ISO-2022
9895 when no 8-bit data is found.
9896
98972008-02-01 Jason Rumney <jasonr@gnu.org>
9898
9899 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9900
99012008-02-01 Kenichi Handa <handa@m17n.org>
9902
9903 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9904 CHARS.
9905
99062008-02-01 Steven Tamm <steventamm@mac.com>
9907
9908 * macterm.c (mac_encode_char): Add charset argument and update
9909 to use encoding_type.
9910 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9911 switch to pure fontset.
9912 (decode_mac_font_name): Temporarily remove decoding.
9913 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9914 (x_load_font): Temporarily remove encoding.
9915
99162008-02-01 Kenichi Handa <handa@m17n.org>
9917
9918 * xfaces.c (Fface_font): If frame is not on a window system,
9919 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9920 refer to face->font.
9921 (split_font_name_into_vector, build_font_name_from_vector)
9922 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9923 when HAVE_WINDOW_SYSTEM is defined.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9928 (x_produce_glyphs): Fix setting of members of cmp in case
9929 cmp->glyph_len is zero.
9930
9931 * fontset.c (Fset_fontset_font): Fix docstring.
9932 (Ffontset_info): Make it backward compatible. New arg ALL.
9933
99342008-02-01 Kim F. Storm <storm@cua.dk>
9935
9936 * process.c (read_process_output): Grow decoding_buf when needed;
9937 this could cause a crash in allocate_string and compact_small_strings.
9938
99392008-02-01 Kenichi Handa <handa@m17n.org>
9940
9941 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9942
99432008-02-01 Kenichi Handa <handa@m17n.org>
9944
9945 * coding.c (setup_coding_system): Set coding->common_flags
9946 correctly for raw-text.
9947 (consume_chars): On encoding unibyte text by raw-text, don't check
9948 multibyte form.
9949 (encode_coding): On encoding by raw-text, never use translation tables.
9950
9951 * fileio.c (e_write): Short cut for the case of no encoding.
9952
99532008-02-01 Kenichi Handa <handa@m17n.org>
9954
9955 * coding.c (detect_coding, detect_coding_system): Delete unused
9956 variables.
9957
99582008-02-01 Kenichi Handa <handa@m17n.org>
9959
9960 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9961 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9962
99632008-02-01 Kenichi Handa <handa@m17n.org>
9964
9965 * coding.c (Ffind_coding_systems_region_internal): Include
9966 raw-text and no-conversion in the result.
9967
99682008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9971 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9972 FONT_DEF.
9973 (font_def_arg, add_arg, from_arg, to_arg): New args.
9974 (set_fontset_font): Change argument.
9975 (Fset_fontset_font): Fix for the case that TARGET is a script
9976 name and charset name.
9977 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9978
99792008-02-01 Kenichi Handa <handa@m17n.org>
9980
9981 * fontset.c (fontset_font): Rename from fontset_face. Change return
9982 value.
9983 (face_suitable_for_char_p, face_for_char): Adjust for the change
9984 of fontset_font.
9985 (make_fontset_for_ascii_face): Fix setting of the fontset element
9986 for ASCII.
9987 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9988 to get a font name.
9989 (Ffontset_info): Adjust for the change of fontset_font.
9990
9991 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9992
9993 * character.h (LEADING_CODE_LATIN_1_MIN)
9994 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9995
99962008-02-01 Kenichi Handa <handa@m17n.org>
9997
9998 * editfns.c (check_translation): New function.
9999 (Ftranslate_region_internal): Handle M:N mapping.
10000
100012008-02-01 Kenichi Handa <handa@m17n.org>
10002
10003 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10008 goto invalid_code.
10009 (decode_coding_iso_2022): Fix handling of invalid designation.
10010
10011 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10012 after calling code_conversion_save.
10013
100142008-02-01 Kenichi Handa <handa@m17n.org>
10015
10016 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10017
10018 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10019
10020 * fontset.c: Include "intervals.h".
10021 (fontset_face): Fix comparing of Lisp_Objects.
10022 (free_face_fontset, new_fontset_from_font_name): Fix
10023 Lisp_Object/int mixup.
10024
10025 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10026
10027 * coding.c: Add many prototypes for static functions.
10028 (get_translation_table): Allow max_lookup to be NULL.
10029 (decode_coding, Ffind_coding_systems_region_internal)
10030 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10031 get_translation_table with max_lookup NULL.
10032
100332008-02-01 Kenichi Handa <handa@m17n.org>
10034
10035 * coding.c (get_translation_table): Declare it as Lisp_Object.
10036 (LOOKUP_TRANSLATION_TABLE): New macro.
10037 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10038 instead of CHAR_TABLE_REF.
10039
100402008-02-01 Kenichi Handa <handa@m17n.org>
10041
10042 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10043 annotation data format.
10044 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10045 Change arguments FROM and TO to single argument NCHARS. Change caller.
10046 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10047 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10048 (decode_coding_ccl, decode_coding_charset): Pay attention to
10049 coding->charbuf_used.
10050 (get_translation): New function.
10051 (produce_chars): New arguments translation_table and last_block.
10052 Translate characters here. Return number of carryover chars.
10053 Change caller.
10054 (produce_composition): New argument pos. Change caller.
10055 Adjust for the change of annotation data format.
10056 (produce_charset, produce_annotation): Likewise.
10057 (decode_coding, encode_coding): Don't call translate_chars.
10058 (consume_chars): New arg translation_table. Change caller.
10059 (translate_chars): Delete.
10060 (syms_of_coding): Make translation-table's number of extra slots 2.
10061
100622008-02-01 Kenichi Handa <handa@m17n.org>
10063
10064 * search.c (simple_search): Fix setting this_pos_byte in backward
10065 search.
10066
10067 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10068 byte sequence.
10069 (detect_coding_ccl): Fix setting of the variable valids.
10070
100712008-02-01 Kenichi Handa <handa@m17n.org>
10072
10073 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10074
10075 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10076
10077 * editfns.c (Ftranslate_region_internal): Rename from
10078 Ftranslate_region. Accept a char-table in TABLE.
10079 (syms_of_editfns): Defsubr Stranslate_region_internal.
10080
10081 * xfaces.c (set_lface_from_font_name): If a font is specified for
10082 a frame, generate a fontset from the font.
10083 (build_scalable_font_name): If the scalable font is requested for
10084 a specific size, don't change that size.
10085 (try_font_list): Try a scalable font also in the case that a
10086 pattern string is specified.
10087
100882008-02-01 Kenichi Handa <handa@m17n.org>
10089
10090 * xfaces.c (Fface_font): New optional arg CHARACTER.
10091
100922008-02-01 Kenichi Handa <handa@m17n.org>
10093
10094 * charset.h (CHARSET_OFFSET): New macro.
10095
100962008-02-01 Kenichi Handa <handa@m17n.org>
10097
10098 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10099
10100 * fontset.c (fontset_face): Handle the case that repertory is a
10101 char-table.
10102 (find_font_encoding): Return nil for unknown encoding.
10103 (Fset_fontset_font): Ignore a font of unknown encoding.
10104
101052008-02-01 Kenichi Handa <handa@m17n.org>
10106
10107 * keymap.c (describe_vector): Handle default value of a char table.
10108
10109 * fontset.c (fontset_face): Handle fallback fonts correctly.
10110 (Ffontset_info): Return infomation about fallback fonts.
10111
101122008-02-01 Kenichi Handa <handa@m17n.org>
10113
10114 * fontset.c (FONTSET_DEFAULT): New macro.
10115 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10116 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10117 the case that it is nil.
10118 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10119 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10120
10121 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10122 subset or superset.
10123
101242008-02-01 Kenichi Handa <handa@m17n.org>
10125
10126 * emacs.c (main): Call init_charset after syms_of_XXX.
10127
10128 * charset.c (Vcharset_map_directory): Delete.
10129 (Vcharset_map_path): New variable.
10130 (load_charset_map_from_file): Use Vcharset_map_path instead.
10131 (init_charset): Initialize Vcharset_map_path.
10132 (syms_of_charset): Delete declaration of "charset-map-directory",
10133 add declaration of "charset-map-path".
10134
101352008-02-01 Kenichi Handa <handa@m17n.org>
10136
10137 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10138 ASCII only string.
10139
10140 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10141
10142 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10143 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10144
101452008-02-01 Kenichi Handa <handa@m17n.org>
10146
10147 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10148
10149 * coding.c (QCmnemonic, QCdefalut_char)
10150 (QCdecode_translation_table, QCencode_translation_table)
10151 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10152 (get_translation_table): Return a list of translation tables if
10153 necessary.
10154 (decode_coding): Call get_translation_table with ENCODEP 0.
10155 (char_encodable_p): If translation_table is non-nil, always call
10156 translate_char.
10157 (Fdefine_coding_system_internal): Accept list of translation
10158 tables as :encode-translation-table and :decode-translation-table.
10159 (Fcoding_system_put): New function.
10160 (syms_of_coding): Declare new symbols. Defsubr
10161 Scoding_system_put.
10162 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10163 typically JISX0212.
10164
10165 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10166 when the charset is superset type.
10167
10168 * character.c (translate_char): Accept list of translation tables.
10169
101702008-02-01 Kenichi Handa <handa@m17n.org>
10171
10172 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10173 (CODING_ATTR_TRANS_TBL): New macro.
10174
10175 * coding.c (get_translation_table): New function.
10176 (translate_chars): Fix the bug of skipping annotation data.
10177 (decode_coding, encode_coding): Utilize get_translation_table.
10178 (char_encodable_p, Funencodable_char_position): Translate char if
10179 necessary.
10180 (Ffind_coding_systems_region_internal)
10181 (Fcheck_coding_systems_region): Setup translation table for encode
10182 in a coding system attribute vector in advance.
10183 (Fdefine_coding_system_internal): Allow a symbol as translation
10184 table. For shift-jis type coding system, allow 4th charset.
10185
101862008-02-01 Kenichi Handa <handa@m17n.org>
10187
10188 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10189
10190 * xdisp.c (get_next_display_element): Pass -1 as POS to
10191 FACE_FOR_CHAR if displaying a C-string.
10192
101932008-02-01 Kenichi Handa <handa@m17n.org>
10194
10195 * composite.c (get_composition_id): Handle xoff and yoff in a
10196 composition rule.
10197
10198 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10199 (struct composition): New member lbearing and rbearing.
10200
10201 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10202 (x_get_glyph_overhangs): Handle a composition glyph.
10203 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10204
10205 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10206 composition glyph.
10207
102082008-02-01 Kenichi Handa <handa@m17n.org>
10209
10210 * print.c: Include charset.h.
10211 (Vprint_charset_text_property): New variable.
10212 (Qdefault): Extern it.
10213 (PRINT_STRING_NON_CHARSET_FOUND)
10214 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10215 (print_check_string_result): New variable.
10216 (print_check_string_charset_prop): New function.
10217 (print_prune_charset_plist): New variable.
10218 (print_prune_string_charset): New function.
10219 (print_object): Call print_prune_string_charset if
10220 Vprint_charset_text_property is not t.
10221 (print_interval): Print nothing if interval->plist is nil.
10222 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10223 variable. Init and staticpro print_prune_charset_plist.
10224
102252008-02-01 Kenichi Handa <handa@m17n.org>
10226
10227 * fontset.c (new_fontset_from_font_name): Use the specified font
10228 for all characters in the new fontset.
10229
10230 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10231 OBJECT args.
10232
10233 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10234 OBJECT args for composition too.
10235
10236 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10237 OBJECT args.
10238
102392008-02-01 Kenichi Handa <handa@m17n.org>
10240
10241 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10242
10243 * fontset.c (reorder_font_vector): Adjust for the change of
10244 FONT_DEF format.
10245 (fontset_face): New arg id. Change caller.
10246 (face_for_char): New args pos and object.
10247 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10248 (fs_query_fontset): Check NAME by Fassoc too.
10249 (Fset_fontset_font): Allow non-XLFD font name.
10250 (Ffontset_info): Adjust for the change of FONT_DEF format.
10251
10252 * fontset.h (face_for_char): Adjust prototype.
10253
10254 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10255 (append_space, extend_face_to_end_of_line)
10256 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10257 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10258
10259 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10260 POS and OBJECT args.
10261
10262 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10263 POS and OBJECT args.
10264
102652008-02-01 Jason Rumney <jasonr@gnu.org>
10266
10267 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10268 of GlobalAlloc'ed memory.
10269
102702008-02-01 Kenichi Handa <handa@m17n.org>
10271
10272 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10273
10274 * charset.h (charset_table_used): Delete extern.
10275
10276 * charset.c (charset_table_used): Make it static.
10277 (map_charset_chars): Fix args to c_function with.
10278
10279 * chartab.c (map_sub_char_table_for_charset): Fix args to
10280 c_function with.
10281
10282 * coding.h (enum coding_result_code): Delete
10283 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10284
10285 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10286 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10287 (Vlast_code_conversion_error): New variables.
10288 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10289 (ONE_MORE_BYTE): Record error if any instead of signaling an
10290 error. If non-ASCII multibyte char is found, return the negative
10291 value of the code. All callers changed to check it.
10292 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10293 (record_conversion_result): New function. Change all codes setting
10294 coding->result to call this function.
10295 (detect_coding_utf_8, decode_coding_utf_8)
10296 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10297 Don't use the local variable incomplete.
10298 (emacs_mule_char): Change the second arg to `const'.
10299 (decode_coding): Fix of flushing out unprocessed data.
10300 (make_conversion_work_buffer): Fix making of a work buffer.
10301 (decode_coding_object): Return coding->dst_object.
10302
10303 * fontset.c (set_fontset_font): Fix args.
10304
10305 * lisp.h (CHARACTERBITS): Define as 22.
10306
10307 * process.c (send_process): Be sure to set coding->src_multibyte.
10308
10309 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10310
103112008-02-01 Kenichi Handa <handa@m17n.org>
10312
10313 * xdisp.c (handle_auto_composed_prop): Give limit to
10314 Fnext_single_char_property_change.
10315
103162008-02-01 Kenichi Handa <handa@m17n.org>
10317
10318 * composite.c (syms_of_composite): Don't make the composition hash
10319 table weak.
10320
10321 * fontset.c (Fset_fontset_font): Fix docstring.
10322
10323 * lisp.h (detect_coding_system): Adjust prototype.
10324
10325 * fileio.c (kill_workbuf_unwind): Delete this function.
10326 (Finsert_file_contents): Adjust the call of detect_coding_system.
10327 Get conversion_buffer by code_conversion_save. Use the macro
10328 CODING_MAY_REQUIRE_DECODING. After decoding, update
10329 coding_system.
10330
10331 * coding.h (make_conversion_work_buffer): Delete extern.
10332 (code_conversion_save): Extern it.
10333
10334 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10335 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10336 (decode_coding_utf_8): Don't do eol converion.
10337 (detect_coding_utf_16): Check coding->src_chars, not
10338 coding->src_bytes. Add heuristics for those that have no signature.
10339 (decode_coding_emacs_mule, decode_coding_iso_2022)
10340 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10341 Don't do eol converion.
10342 (adjust_coding_eol_type): Return a new coding system.
10343 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10344 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10345 each change.
10346 (decode_coding): Pay attention to undo_list. Do eol conversion for
10347 all types of coding-systems (if necessary).
10348 (Vcode_conversion_work_buf_list): Delete it.
10349 (Vcode_conversion_reused_workbuf): Rename from
10350 Vcode_conversion_reused_work_buf.
10351 (Vcode_conversion_workbuf_name): New variable.
10352 (reused_workbuf_in_use): New variable.
10353 (make_conversion_work_buffer): Delete the arg DEPTH.
10354 (code_conversion_restore): Change argument to cons.
10355 (code_conversion_save): Delete the argument BUFFER. Change callers.
10356 (detect_coding_system): New argument src_chars. Change callers.
10357 Fix for utf-16 detection.
10358 (init_coding_once): Don't use ISO_carriage_return.
10359 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10360 reused_workbuf_in_use.
10361
103622008-02-01 Kenichi Handa <handa@m17n.org>
10363
10364 * keymap.c (store_in_keymap): Pay attention to the case that idx
10365 is a cons specifying a character range.
10366
103672008-02-01 Kenichi Handa <handa@m17n.org>
10368
10369 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10370 HANDLED_RECOMPUTE_PROPS.
10371
10372 * coding.c (Fdefine_coding_system_internal): Fix checking of
10373 ascii compatibility.
10374
103752008-02-01 Kenichi Handa <handa@m17n.org>
10376
10377 * charset.c (find_charsets_in_text): Delete unused locale variable.
10378 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10379
10380 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10381 Resync charset_list to Vemacs_mule_charset_list.
10382
10383 * keymap.c (store_in_keymap): Pay attention to the case that idx
10384 is a cons specifying a character range.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * composite.c (update_compositions): Bind inhibit-read-only, etc
10389 to t before calling remove-list-of-text-properties.
10390
10391 * print.c (print_object): Always print ASCII chars as is.
10392
103932008-02-01 Kenichi Handa <handa@m17n.org>
10394
10395 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10396
10397 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10398 is a char table.
10399
104002008-02-01 Kenichi Handa <handa@m17n.org>
10401
10402 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * xfaces.c (set_lface_from_font_name): Fix for the case that
10407 FONTNAME is not fontset name.
10408
104092008-02-01 Kenichi Handa <handa@m17n.org>
10410
10411 * fns.c (base64_encode_1): Fix previous change.
10412
104132008-02-01 Kenichi Handa <handa@m17n.org>
10414
10415 * fontset.c (set_fontset_font): New function.
10416 (Fset_fontset_font): If a font is specified for a charset, use
10417 map_charset_chars to store the font spec in a fontset.
10418
104192008-02-01 Kenichi Handa <handa@m17n.org>
10420
10421 * fontset.c (fontset_face): Create a fallback fontset on demand.
10422 (make_fontset): Don't create a fallback fontset here.
10423 (free_face_fontset): Free a fallback fontset (if any) too.
10424 (n_auto_fontsets): Delete this variable.
10425 (auto_fontset_alist): New variable.
10426 (new_fontset_from_font_name): Check auto_fontset_alist.
10427 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10428 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10429 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10430 Defsubr Sfontset_list_all.
10431
104322008-02-01 Kenichi Handa <handa@m17n.org>
10433
10434 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10435
104362008-02-01 Kenichi Handa <handa@m17n.org>
10437
10438 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10439
104402008-02-01 Kenichi Handa <handa@m17n.org>
10441
10442 * editfns.c (Fgoto_char): Fix docstring.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * insdel.c (insert_from_gap): Adjust intervals correctly.
10447
104482008-02-01 Jason Rumney <jasonr@gnu.org>
10449
10450 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10451 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10452 (w32_initialize): Try to load it.
10453 (x_get_font_repertory): Use it if available.
10454 (w32_encode_char): Add shortcut for unicode output.
10455
10456 * w32fns.c (w32_load_system_font): Default charset to -1.
10457 (x_to_w32_charset): Match all fonts for unicode.
10458 (w32_to_x_charset): New parameter matching. Don't return partial
10459 or wildcard charsets.
10460 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10461 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10462 (w32_to_x_font): Match charset to real charset.
10463 (enum_font_cb2): Always list unicode versions.
10464
10465 * makefile.w32-in (temacs): Increase EMHEAP.
10466
104672008-02-01 Jason Rumney <jasonr@gnu.org>
10468
10469 * w32term.c (w32_encode_char): New charset parameter.
10470 font_info.encoding becomes encoding_type.
10471 (x_get_font_repertory): New function. Warning: stub only!
10472 (x_new_font): Return quickly if font already set.
10473 (x_new_fontset): fontsetname parameter is Lisp_Object.
10474 Use new fs_query_fontset. Try new_fontset_from_font_name.
10475 Use fontset_name for return value.
10476
10477 * w32term.h: Declare x_get_font_repertory.
10478
10479 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10480 place of find_charset_in_text. Use encode_coding_object in place
10481 of encode_coding.
10482 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10483 decode_coding.
10484
10485 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10486 of x_new_fontset.
10487 (w32_load_system_font): Initialize charset as unicode.
10488 font_info.encoding becomes encoding_type.
10489 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10490 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10491 (syms_of_w32fns): Set get_font_repertory_func.
10492
10493 * w32console.c: Include character.h. Use terminal_encode_buffer
10494 from term.c.
10495 (write_glyphs): Use new version of encode_terminal_code. Use
10496 encode_coding_object in place of encode_coding.
10497
10498 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10499 encoding becomes encoding_type.
10500
10501 * term.c (terminal_encode_buffer): Make externally visible.
10502
10503 * makefile.w32-in: Add character.h dependancies.
10504 (character.o, chartab.o): New targets.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10509 CODING_ID_EOL_TYPE.
10510
105112008-02-01 Andreas Schwab <schwab@suse.de>
10512
10513 * coding.c (produce_chars): Revert last change.
10514
105152008-02-01 Kenichi Handa <handa@m17n.org>
10516
10517 * charset.h (charset_unicode): Extern it.
10518
10519 * charset.c (string_xstring_p): Check by (C >= 0x100).
10520 (find_charsets_in_text): Change format of the arc CHARSETS. New
10521 arg MULTIBYTE.
10522 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10523 change of find_charsets_in_text.
10524 (Fsplit_char): Fix doc. Never return unknown.
10525
10526 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10527
10528 * coding.c (Fdefine_coding_system_alias): Update
10529 Vcoding_system_list.
10530
10531 * fontset.c (load_font_get_repertory): Pay attention to the case
10532 that ENCODING of a font is specified by a char-table.
10533
10534 * xterm.c (x_get_font_repertory): Handle the case that the
10535 encoding of font is other than Unicode.
10536
105372008-02-01 Kenichi Handa <handa@m17n.org>
10538
10539 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10540 if a character is encodable by the terminal coding system. If
10541 not, produces proper number of `?'s. Update
10542 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10543 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10548 variables.
10549 (encode_terminal_code): Change argument. Encode multiple
10550 characters at once. Store the result of encoding in
10551 terminal_encode_buffer.
10552 (write_glyphs, insert_glyphs): Adjust for the change of
10553 encode_terminal_code.
10554 (term_init): Initialize terminal_encode_buffer and
10555 terminal_encode_buf_size.
10556
10557 * coding.c (consume_chars): If coding->src_object is nil, don't
10558 check annotation.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * character.c (char_string): Use ASCII_CHAR_P instead of
10563 SINGLE_BYTE_CHAR_P.
10564
105652008-02-01 Kenichi Handa <handa@m17n.org>
10566
10567 * xdisp.c (handle_auto_composed_prop): Check if the last
10568 characters of auto-composed region is newly composed with the
10569 following characters.
10570 (handle_composition_prop): Fix checking of point being inside
10571 composition.
10572
105732008-02-01 Kenichi Handa <handa@m17n.org>
10574
10575 * fns.c (concat): Don't change multibyteness of the result by
10576 concatenating an 8-bit character.
10577
10578 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10579 multibyteness of the result when newelt is an 8-bit character.
10580
105812008-02-01 Dave Love <fx@gnu.org>
10582
10583 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10584 EMACS_INT.
10585
10586 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10587
10588 * xfaces.c (face_numeric_value): Declare dim size_t.
10589 (Finternal_lisp_face_equal_p): Remove unused f.
10590
10591 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10592 (MATRIX_ROW): Remove unused vars.
10593 (draw_glyphs, x_insert_glyphs, fast_find_position)
10594 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10595 byte/char counts.
10596
10597 * regex.c (regex_compile): Remove unused var.
10598
10599 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10600
10601 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10602 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10603
10604 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10605
10606 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10607
10608 * fileio.c (Fwrite_region): Remove unused var.
10609
10610 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10611 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10612
10613 * composite.c (Fremove_list_of_text_properties): Declare.
10614
10615 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10616 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10617 (coding_inherit_eol_type): Remove unused attrs.
10618 (detect_coding): Cast arg of detect_eol.
10619
10620 * charset.c (syms_of_charset): Remove unused var p.
10621 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10622 byte/char counts.
10623
10624 * casetab.c (set_case_table): Remove unused var.
10625
10626 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10627 unused vars.
10628
106292008-02-01 Dave Love <fx@gnu.org>
10630
10631 * xterm.c (x_bitmap_mask): Declare.
10632
106332008-02-01 Dave Love <fx@gnu.org>
10634
10635 * xterm.c (x_term_init): Fix type error.
10636
10637 * lisp.h: Add Funibyte_char_to_multibyte.
10638
10639 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10640 (Fset_coding_system_priority): Doc fix.
10641
10642 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10643
10644 * indent.c (check_composition): Make start and end EMACS_INT.
10645
10646 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10647
10648 * xdisp.c (handle_composition_prop, check_point_in_composition):
10649 Make buffer positions EMACS_INT.
10650
10651 * composite.c (find_composition, run_composition_function)
10652 (update_compositions, Ffind_composition_internal): Make buffer
10653 positions EMACS_INT.
10654
10655 * composite.h (find_composition, update_compositions): Make
10656 position args EMACS_INT.
10657
10658 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10659
10660 * intervals.c (get_property_and_range):
10661 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10662
10663 * unexalpha.c: Don't include varargs.h.
10664
106652008-02-01 Dave Love <fx@gnu.org>
10666
10667 * coding.h (ENCODE_UTF_8): New.
10668
10669 * Makefile.in (gtkutil.o): Depend on coding.h.
10670
10671 * coding.c (Fset_coding_system_priority): Doc fix.
10672
106732008-02-01 Kenichi Handa <handa@m17n.org>
10674
10675 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10676 the case of auto saving.
10677
106782008-02-01 Andreas Schwab <schwab@suse.de>
10679
10680 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10681 `range' from GC.
10682
106832008-02-01 Kenichi Handa <handa@m17n.org>
10684
10685 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10686
106872008-02-01 Kenichi Handa <handa@m17n.org>
10688
10689 * fileio.c (choose_write_coding_system): Return a decided coding system.
10690 (Fwrite_region): Set Vlast_coding_system_used to the return value
10691 of choose_write_coding_system.
10692
106932008-02-01 Kenichi Handa <handa@m17n.org>
10694
10695 * charset.c (Fset_charset_priority): Pay attention to duplicated
10696 arguments.
10697
10698 * coding.c (QCcategory): New variable.
10699 (syms_of_coding): Defsym it. Set all elements of
10700 Vcoding_category_table and their symbol values.
10701 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10702 coding-category-XXX, and coding-category-list.
10703 (Fdefine_coding_system_internal): Add category in the plist.
10704
107052008-02-01 Kenichi Handa <handa@m17n.org>
10706
10707 * callproc.c (Fcall_process): Handle carryover correctly.
10708
10709 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10710 (raw_text_coding_system): Check NILP (coding_system).
10711 (coding_inherit_eol_type): Check NILP (coding_system) and
10712 NILP (parent).
10713 (consume_chars): Fix for the case of raw-text.
10714
10715 * process.c (read_process_output): Handle carryover correctly.
10716
107172008-02-01 Dave Love <fx@gnu.org>
10718
10719 * regex.c (re_search_2): Fix last change.
10720
107212008-02-01 Kenichi Handa <handa@m17n.org>
10722
10723 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10724 target_multibyte. Even in a unibyte case, return a converted
10725 multibyte char.
10726 (GET_CHAR_AFTER): New macro.
10727 (PATFETCH): Translate via multibyte char.
10728 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10729 (SETUP_MULTIBYTE_RANGE): New macro.
10730 (regex_compile): Setup compiled code so that its multibyteness
10731 matches that of a target. Fix the handling of "[X-YZ]" using
10732 SETUP_MULTIBYTE_RANGE.
10733 (analyse_first) <charset>: For filling fastmap for all multibyte
10734 characters, don't check by BASE_LEADING_CODE_P.
10735 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10736 the same as RE_MULTIBYTE_P (bufp) now.
10737 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10738 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10739 (TRANSLATE_VIA_MULTIBYTE): New macro.
10740 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10741 It is the same as RE_MULTIBYTE_P (bufp) now.
10742 <exactn>: Translate via multibyte.
10743 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10744 translate it.
10745 <charset, charset_not>: Fetch a character by
10746 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10747 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10748 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10749 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10750 by GET_CHAR_AFTER.
10751 (bcmp_translate): Likewise.
10752
10753 * search.c (compile_pattern): Check the member target_multibyte,
10754 not the member multibyte of buf.
10755
10756 * lread.c (read1): While reading a string, set force_singlebyte
10757 and force_multibyte correctly.
10758
10759 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10760 up of unibyte_to_multibyte_table.
10761
107622008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * coding.c (setup_coding_system): If coding has
10765 post-read-conversion or pre-write-conversion, set
10766 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10767 respectively.
10768 (decode_coding_gap): Run post-read-conversion if any.
10769
10770 * fileio.c (Finsert_file_contents): Even if we read into a
10771 unibyte buffer, check if we must decode the result or not.
10772
107732008-02-01 Kenichi Handa <handa@m17n.org>
10774
10775 * coding.c (make_conversion_work_buffer): Change the work buffer
10776 name to the same one as that of Emacs 21.
10777
107782008-02-01 Kenichi Handa <handa@m17n.org>
10779
10780 * coding.h (make_conversion_work_buffer): Adjust prototype.
10781 (code_conversion_restore): Don't extern it.
10782
10783 * coding.c (detected_mask): Delete unused variable.
10784 (decode_coding_iso_2022): Pay attention to the byte sequence of
10785 CTEXT extended segment, and retain those bytes as is.
10786 (decode_coding_ccl): Delete unused variable `valids'.
10787 (setup_coding_system): Delete unused variable `category'.
10788 (consume_chars): Delete unused variable `category'. Make it work
10789 for non-multibyte case.
10790 (make_conversion_work_buffer): Change argument.
10791 (saved_coding): Delete unused variable.
10792 (code_conversion_restore): Don't check saved_coding->destination.
10793 (code_conversion_save): New function.
10794 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10795 instead of record_unwind_protect.
10796 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10797 (detect_coding_system): Delete unused variable `mask'.
10798 (Fdefine_coding_system_internal): Delete unused variable id.
10799
10800 * fileio.c (kill_workbuf_unwind): New function.
10801 (Finsert_file_contents): On replacing, call
10802 make_conversion_work_buffer with correct args, and call
10803 record_unwind_protect with the first arg kill_workbuf_unwind.
10804
10805 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10806
108072008-02-01 Kenichi Handa <handa@m17n.org>
10808
10809 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10810 (fontset_add): Fix for the case that TO is less than TO1.
10811 (Ffontset_info): Don't use fallback fontset on checking the
10812 default fontset.
10813 (dump_fontset): New function for debugging.
10814
10815 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10816 coding_type is Qcharset.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10821 (map_char_table): Don't inherit the value from the parent on
10822 initializing VAL. Adjust for the above change.
10823
108242008-02-01 Kenichi Handa <handa@m17n.org>
10825
10826 * coding.c (Qsignature, Qendian): Delete these variables.
10827 (syms_of_coding): Don't initialize them.
10828 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10829 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10830 detect_info->found.
10831 (decode_coding_utf_16): Don't detect BOM here.
10832 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10833 is NOT utf_16_without_bom.
10834 (setup_coding_system): For a coding system of type utf-16, check
10835 if the attribute :endian is Qbig or not (not nil or not), and set
10836 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10837 (detect_coding): If coding type is utf-16 and BOM detection is
10838 required, detect it.
10839 (Fdefine_coding_system_internal): For a coding system of type
10840 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10841
108422008-02-01 Kenichi Handa <handa@m17n.org>
10843
10844 * coding.c (coding_set_source): Fix for the case that the current
10845 buffer is different from coding->src_object.
10846 (decode_coding_object): Don't use the conversion work buffer if
10847 DST_OBJECT is a buffer.
10848
108492008-02-01 Dave Love <fx@gnu.org>
10850
10851 * lread.c (read_emacs_mule_char) [len==2]: Index
10852 emacs_mule_charset correctly.
10853
108542008-02-01 Dave Love <fx@gnu.org>
10855
10856 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10857 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10858 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10859 treated specially.)
10860 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10861 (detected_mask): Remove Big5 bits.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 The following changes are to make the font rescaling facility
10866 compatible with Emacs 21.
10867
10868 * xfaces.c (Vface_font_rescale_alist): Rename from
10869 Vface_resizing_fonts.
10870 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10871 (font_rescale_ratio): Rename from font_resizing_ratio.
10872 (split_font_name): Set font->rescale_ratio.
10873 (better_font_p): Pay attention to font->rescale_ratio.
10874 (build_scalable_font_name): Likewise. Change RESX, and RESY
10875 fields.
10876 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10881 (Qutf_16_le): Remove these variables.
10882 (syms_of_coding): Don't DEFSYM them.
10883 (decode_coding_utf_16): Fix handling of BOM.
10884 (encode_coding_utf_16): Fix handling of BOM.
10885
108862008-02-01 Kenichi Handa <handa@m17n.org>
10887
10888 * fileio.c (Finsert_file_contents): On replacing, before decoding
10889 the file into the work buffer, set point of the work buffer to the end.
10890
108912008-02-01 Dave Love <fx@gnu.org>
10892
10893 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10894
108952008-02-01 Dave Love <fx@gnu.org>
10896
10897 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10898 and fix C types.
10899
109002008-02-01 Kenichi Handa <handa@m17n.org>
10901
10902 * xdisp.c (SKIP_GLYPHS): New macro.
10903 (set_cursor_from_row): Pay attention to string display properties.
10904
10905 * category.c (copy_category_entry): Fix for the case that RANGE
10906 is an integer.
10907
10908 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10909
10910 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10911
109122008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * charset.c (Fcharset_id_internal): New function.
10915 (syms_of_charset): Defsubr it.
10916
10917 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10918 with the last arg charset_list acquired from coding.
10919 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10920 the attribute coding_attr_ccl_valids.
10921
10922 * coding.h (enum define_coding_ccl_arg_index): Set the first
10923 member coding_arg_ccl_decoder to coding_arg_max.
10924
10925 * ccl.h (ccl_driver): Adjust prototype.
10926
10927 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10928 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10929 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10930 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10931 last arg Qnil.
10932
109332008-02-01 Kenichi Handa <handa@m17n.org>
10934
10935 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10936 call encode_char.
10937
10938 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10939
109402008-02-01 Dave Love <fx@gnu.org>
10941
10942 * composite.c (syms_of_composite): Make composition_hash_table weak.
10943
109442008-02-01 Kenichi Handa <handa@m17n.org>
10945
10946 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10947 (font_name_registry): Don't extern them.
10948 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10949
10950 * fontset.h (Qfontset): Don't extern it.
10951 (new_fontset_from_font_name): Extern it.
10952
10953 * fontset.c: Give 8 extra slots to fontset objects.
10954 (Qfontset_info): New variable.
10955 (syms_of_fontset): Defsym it.
10956 (FONTSET_FALLBACK): New macro.
10957 (fontset_face): Try also the default fontset.
10958 (make_fontset): Realize a fallback fontset from the default fontset.
10959 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10960 using split_font_name_into_vector and build_font_name_from_vector.
10961 (Fset_fontset_font): Access the elements of font_spec by enum
10962 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10963 name by using split_font_name_into_vector.
10964 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10965 generate a proper font name from the fontset name. Update
10966 Vfontset_alias_alist.
10967 (n_auto_fontsets): New variable.
10968 (new_fontset_from_font_name): New function.
10969 (Ffont_info): Store the information about fonts generated from the
10970 default fontset in the first extra slot of the returned char-table.
10971
10972 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10973 (font_name_registry): Delete function.
10974 (split_font_name_into_vector): New function.
10975 (build_font_name_from_vector): New function.
10976 (font_list): The argument REGISTRY is now a list of registry names.
10977 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10978 specifies an explicit font name, return the name as is. Make a
10979 list of registy names.
10980
10981 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10982 of x_new_fontset.
10983 (Fx_create_frame): Don't call x_new_fontset here. Just use
10984 x_list_fonts to check the existence of fonts.
10985
10986 * xterm.h (x_new_fontset): Adjust prototype.
10987
10988 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10989 string. Use new_fontset_from_font_name to create a fontset from a
10990 font name.
10991
109922008-02-01 Kenichi Handa <handa@m17n.org>
10993
10994 * syntax.c (Vfind_word_boundary_function_table): New name for
10995 Vnext_word_boundary_function_table.
10996 (find-word-boundary-function-table): New name for
10997 next-word-boundary-function-table.
10998
109992008-02-01 Dave Love <fx@gnu.org>
11000
11001 * Makefile.in: Fix some dependencies.
11002
11003 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11004 set it to nil before returning.
11005
11006 * composite.c (update_compositions): Fix type error.
11007
11008 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11009
110102008-02-01 Kenichi Handa <handa@m17n.org>
11011
11012 * xterm.c (x_new_font): Optimize for the case that the font is
11013 already set for the frame.
11014
110152008-02-01 Kenichi Handa <handa@m17n.org>
11016
11017 * chartab.c (char_table_ascii): Check if the char table contents
11018 is sub-char-table or not.
11019 (char_table_set, char_table_set_range): Fix argument to
11020 char_table_ascii.
11021
11022 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11023 (detect_coding_utf_8, detect_coding_utf_16)
11024 (detect_coding_emacs_mule, detect_coding_iso_2022)
11025 (detect_coding_sjis, detect_coding_big5)
11026 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11027 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11028 sequence is valid in this coding system. Change callers.
11029 (MAX_ANNOTATION_LENGTH): New macro.
11030 (ADD_ANNOTATION_DATA): New macro.
11031 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11032 ADD_ANNOTATION_DATA. Change the format of annotation data.
11033 (ADD_CHARSET_DATA): New macro.
11034 (emacs_mule_char): New argument ID. Change callers.
11035 (decode_coding_emacs_mule, decode_coding_iso_2022)
11036 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11037 Produce charset annotation data in coding->charbuf.
11038 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11039 to charset annotation data in coding->charbuf.
11040 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11041 coding->common_flags if the coding system is iso-2022 based and
11042 uses designation.
11043 (produce_composition): Adjust for the new annotation data format.
11044 (produce_charset): New function.
11045 (produce_annotation): Handle charset annotation.
11046 (handle_composition_annotation, handle_charset_annotation): New
11047 functions.
11048 (consume_chars): Handle charset annotation. Utilize the above two
11049 functions.
11050 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11051 buffer, get the deleted text as a string and set
11052 coding->src_object to that string.
11053 (detect_coding, detect_coding_system): Use the new struct
11054 coding_detection_info.
11055
11056 * coding.h (struct coding_detection_info): New structure.
11057 (struct coding_system): Adjust prototype of the member `detector'.
11058 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11059
110602008-02-01 Kenichi Handa <handa@m17n.org>
11061
11062 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11063
110642008-02-01 Dave Love <fx@gnu.org>
11065
11066 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11067 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11068 to new local and nullify apropos_accumulate before returning.
11069 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11074 correctly.
11075
110762008-02-01 Dave Love <fx@gnu.org>
11077
11078 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11079
110802008-02-01 Kenichi Handa <handa@m17n.org>
11081
11082 The following changes are to make character composition happen
11083 automatically on displaying.
11084
11085 * Makefile.in (lisp, shortlisp): Add composite.elc.
11086
11087 * composite.h (Qauto_composed, Vauto_composition_function)
11088 (Qauto_composition_function): Extern them.
11089
11090 * composite.c (Vcomposition_function_table)
11091 (Qcomposition_function_table): Delete variables.
11092 (Qauto_composed, Vauto_composition_function)
11093 (Qauto_composition_function): New variables.
11094 (run_composition_function): Don't call
11095 compose-chars-after-function.
11096 (update_compositions): Clear `auto-composed' text property.
11097 (compose_chars_in_text): Delete this function.
11098 (syms_of_composite): Staticpro Qauto_composed and
11099 Qauto_composition_function. Declare Vauto_composition_function as
11100 a Lisp variable.
11101
11102 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11103
11104 * xdisp.c (it_props): Add an entry for Qauto_composed.
11105 (handle_auto_composed_prop): New function.
11106
11107 * xselect.c (selection_data_to_lisp_data): Don't call
11108 compose_chars_in_text.
11109
111102008-02-01 Dave Love <fx@gnu.org>
11111
11112 * keyboard.c (read_char): Modify checking around use of
11113 Vkeyboard_translate_table.
11114
11115 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11116 and fix C types.
11117
111182008-02-01 Kenichi Handa <handa@m17n.org>
11119
11120 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11121 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11122 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11123 the case that the last byte is '\r' correctly.
11124 (decode_coding): Flush out the unprocessed data correctly.
11125 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11126
111272008-02-01 Dave Love <fx@gnu.org>
11128
11129 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11130 Add XK_ISO... case.
11131 (xaw_scroll_callback): Revert last change.
11132
111332008-02-01 Kenichi Handa <handa@m17n.org>
11134
11135 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11136
111372008-02-01 Kenichi Handa <handa@m17n.org>
11138
11139 * xfaces.c (Vface_resizing_fonts): New variable.
11140 (struct font_name): New member `resizing_ratio'.
11141 (font_resizing_ratio): New function.
11142 (split_font_name): Set font->resizing_ratio.
11143 (better_font_p): Pay attention to font->resizing_ratio.
11144 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11145 RESX, and RESY fields.
11146 (try_alternative_families): Try scalable fonts if
11147 Vscalable_fonts_allowed is not Qt.
11148 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11149
111502008-02-01 Dave Love <fx@gnu.org>
11151
11152 * xterm.c (xaw_scroll_callback): Cast correctly.
11153
111542008-02-01 Dave Love <fx@gnu.org>
11155
11156 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11157 (lispy_kana_keys): Comment out.
11158 (make_lispy_event) [XK_kana_A]: Comment out.
11159
11160 * xterm.c (xaw_scroll_callback): Cast call_data.
11161 (XTread_socket): Deal with ASCII keysyms.
11162 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11163
111642008-02-01 Dave Love <fx@gnu.org>
11165
11166 * xterm.c (Vx_keysym_table): New.
11167 (syms_of_xterm): Initialize it.
11168 (XTread_socket): Use it.
11169 From head: Eliminate incorrect optimization that tried to avoid
11170 decoding the output of X*LookupString.
11171 (x_get_font_repertory): Delete charset declaration.
11172
111732008-02-01 Kenichi Handa <handa@m17n.org>
11174
11175 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11176 return 0.
11177 (Fdefine_coding_system_internal): Setup
11178 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11179
111802008-02-01 Dave Love <fx@gnu.org>
11181
11182 * coding.c (Fcheck_coding_system): Doc fix.
11183
11184 * editfns.c (Finsert_byte): Return a proper value.
11185
111862008-02-01 Kenichi Handa <handa@m17n.org>
11187
11188 * coding.c (decode_coding): Fix args to translate_chars. Pay
11189 attention to Vstandard_translation_table_for_decode.
11190 (encode_coding): Fix args to translate_chars. Pay attention to
11191 Vstandard_translation_table_for_encode.
11192
11193 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11194 SINGLE_BYTE_CHAR_P.
11195
11196 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11197 not by SINGLE_BYTE_CHAR_P.
11198
11199 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11200 SINGLE_BYTE_CHAR_P.
11201
11202 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11203 SINGLE_BYTE_CHAR_P.
11204
11205 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11206 by SINGLE_BYTE_CHAR_P.
11207
11208 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11209 SINGLE_BYTE_CHAR_P.
11210
112112008-02-01 Dave Love <fx@gnu.org>
11212
11213 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11214
112152008-02-01 Dave Love <fx@gnu.org>
11216
11217 * fns.c (Flanginfo): Fix typo.
11218
11219 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11224 (detect_coding_emacs_mule, detect_coding_iso_2022)
11225 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11226 incomplete byte sequence. Don't update *mask when correctly detected.
11227 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11228 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11229 (detect_coding, detect_coding_system): Adjust for the changes above.
11230
112312008-02-01 Kenichi Handa <handa@m17n.org>
11232
11233 * character.c (char_string): Rename from
11234 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11235 (string_char): Rename from string_char.
11236
11237 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11238 if C is greater than MAX_3_BYTE_CHAR.
11239 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11240 string_char instead of string_char_with_unification.
11241
112422008-02-01 Dave Love <fx@gnu.org>
11243
11244 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11245
112462008-02-01 Kenichi Handa <handa@m17n.org>
11247
11248 * keymap.c (push_key_description): Pay attention to force_multibyte.
11249
11250 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11251
112522008-02-01 Dave Love <fx@gnu.org>
11253
11254 * charset.c (define_charset_internal): Rename `supprementary'.
11255
11256 * Makefile.in (lisp, shortlisp): Remove latin-N.
11257
112582008-02-01 Dave Love <fx@gnu.org>
11259
11260 * xfns.c (x_window, x_window): Use use_xim.
11261
11262 * xterm.c (use_xim): Initialize.
11263 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11264 (x_term_init): Maybe set use_xim.
11265
11266 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11267
112682008-02-01 Kenichi Handa <handa@m17n.org>
11269
11270 * search.c (search_buffer): Fix case-fold-search of multibyte
11271 characters.
11272 (boyer_moore): Rename the last argument to char_high_bits.
11273
112742008-02-01 Kenichi Handa <handa@m17n.org>
11275
11276 * xdisp.c (display_string): Fix for the case of zero width glyph.
11277
11278 * xfns.c (x_set_font): Change the error message of the case that
11279 x_new_fontset returns Qt.
11280
11281 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11282 (Finternal_set_lisp_face_attribute): Use signal_error for the
11283 error of invalid fontset.
11284
11285 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11286 fontset, return Qt.
11287
112882008-02-01 Dave Love <fx@gnu.org>
11289
11290 * unexelf.c (unexec): Make .got handling not SGI-specific.
11291
11292 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11293
11294 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11295
11296 * keyboard.c (read_key_sequence): Fix type error.
11297
11298 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11299 type error.
11300
11301 * fontset.c (fontset_add): Return Lisp_Object.
11302
113032008-02-01 Dave Love <fx@gnu.org>
11304
11305 * charset.h (charset_ordered_list_tick): Declare extern.
11306
113072008-02-01 Kenichi Handa <handa@m17n.org>
11308
11309 The following changes (and some of 2008-02-01 changes of mine) are
11310 for handling syntax, category, and case conversion for unibyte
11311 characters by converting them to multibyte on the fly. With these
11312 changes, we don't have to setup syntax and case tables for unibyte
11313 characters in each language environment.
11314
11315 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11316 multibyte if necessary.
11317
11318 * bytecode.c (Fbyte_code): Likewise.
11319
11320 * character.h (LEADING_CODE_LATIN_1_MIN)
11321 (LEADING_CODE_LATIN_1_MAX): New macros.
11322 (unibyte_to_multibyte_table): Extern it.
11323 (unibyte_char_to_multibyte): New macro.
11324 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11325 (CHAR_LEADING_CODE): New macro.
11326 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11327
11328 * character.c (unibyte_to_multibyte_table): New variable.
11329 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11330 (multibyte_char_to_unibyte): If C is an eight-bit character,
11331 convert it to the corresponding byte value.
11332
11333 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11334 not 1, signals an error. Update the elements of
11335 unibyte_to_multibyte_table.
11336 (init_charset_once): Initialize unibyte_to_multibyte_table.
11337 (syms_of_charset): Define the charset `iso-8859-1'.
11338
11339 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11340 as is without converting it to unibyte. In a unibyte buffer,
11341 convert C to multibyte before checking the syntax.
11342
11343 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11344
11345 * minibuf.c (Fminibuffer_complete_word): Use the macro
11346 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11347
11348 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11349
11350 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11351 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11352 that is zero, convert an eight-bit char to multibyte.
11353 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11354 non-emacs case.
11355 (PATFETCH): Convert an eight-bit char to multibyte.
11356 (HANDLE_UNIBYTE_RANGE): New macro.
11357 (regex_compile): Setup the compiled pattern for multibyte chars
11358 even if the given regex string is unibyte. Use PATFETCH_RAW
11359 instead of PATFETCH in many places. To handle `charset'
11360 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11361 only for ASCII chars.
11362 (analyse_first) <exactn>: Simplify because the compiled pattern
11363 is multibyte.
11364 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11365 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11366 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11367 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11368 multibyte always 1.
11369 (re_search_2): In emacs, set the locale variable multibyte to 1,
11370 otherwise to 0. New local variable target_multibyte. Check it
11371 to decide the multibyteness of STR1 and STR2. If
11372 target_multibyte is zero, convert unibyte chars to multibyte
11373 before translating and checking fastmap.
11374 (TARGET_CHAR_AND_LENGTH): New macro.
11375 (re_match_2_internal): In emacs, set the locale variable multibyte
11376 to 1, otherwise to 0. New local variable target_multibyte. Check
11377 it to decide the multibyteness of STR1 and STR2. Use
11378 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11379 <charset, charset_not>: If multibyte is nonzero, check fastmap
11380 only for ASCII chars. Call bcmp_translate with
11381 target_multibyte, not with multibyte.
11382 <begline>: Declare the local variable C as `unsigned'.
11383 (bcmp_translate): Change the last arg name to target_multibyte.
11384
11385 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11386 the regexp pattern and the matching target. Set cp->buf.multibyte
11387 to the multibyteness of the regexp pattern. Set
11388 cp->but.target_multibyte to the multibyteness of the matching target.
11389 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11390 FETCH_STRING_CHAR_ADVANCE.
11391 (Freplace_match): Convert unibyte chars to multibyte.
11392
11393 * syntax.c (char_quoted, back_comment, scan_words)
11394 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11395 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11396 unibyte chars to multibyte.
11397 (skip_chars): Delete the arg syntaxp, and move the code for
11398 handling syntaxes to skip_syntaxes. Change callers.
11399 Fix the case that the multibyteness of STRING and the current
11400 buffer doesn't match.
11401 (skip_syntaxes): New function.
11402 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11403 SINGLE_BYTE_CHAR_P.
11404
114052008-02-01 Kenichi Handa <handa@m17n.org>
11406
11407 * xfaces.c (QCfontset): New variable.
11408 (LFACE_FONTSET): New macro.
11409 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11410 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11411 (Finternal_set_lisp_face_attribute)
11412 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11413 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11414 check also LFACE_FONTSET_INDEX.
11415 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11416 attrs[LFACE_FONT_INDEX].
11417 (syms_of_xfaces): Intern and staticpro QCfontset.
11418
11419 * dispextern.h (enum lface_attribute_index): New member
11420 LFACE_FONTSET_INDEX.
11421
11422 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11423
114242008-02-01 Kenichi Handa <handa@m17n.org>
11425
11426 * coding.c (coding_set_destination): Fix coding->destination for
11427 the case converting a region.
11428 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11429 (encode_coding_object): Fix coding->dst_pos and
11430 coding->dst_pos_byte for the case converting a region.
11431
11432 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11433
11434 * character.h (BYTE8_STRING): New macro.
11435
11436 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11437
114382008-02-01 Kenichi Handa <handa@m17n.org>
11439
11440 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11441 characters by octal form.
11442
11443 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11444
11445 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11446 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11447 _fetch_multibyte_char_len.
11448 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11449
11450 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11451
11452 * casefiddle.c (casify_object): Simplify. Handle the case that
11453 the case conversion change the byte length.
11454 (casify_region): Likewise.
11455
11456 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11457
11458 * character.c (_fetch_multibyte_char_len): Delete this variable.
11459 (syms_of_character): Setup Vprintable_chars.
11460
11461 * editfns.c (Fchar_equal): Fix for the unibyte case.
11462 (Finsert_byte): New function.
11463 (syms_of_editfns): Defsubr it.
11464
11465 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11466 of direct code 0x3ffff.
11467
11468 * search.c (Freplace_match): Fix for the unibyte case.
11469
114702008-02-01 Kenichi Handa <handa@m17n.org>
11471
11472 * lread.c (safe_to_load_p): Fix the logic.
11473
11474 * syntax.c (scan_words): Don't treat characters belonging to
11475 different scripts as constituting a word.
11476
11477 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11478
11479 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11480
11481 * emacs.c (main): In the case of --unibyte, instead of aborting on
11482 finding non-empty buffer, make it unibyte.
11483
114842008-02-01 Kenichi Handa <handa@m17n.org>
11485
11486 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11487 to create a fontset.
11488
114892008-02-01 Dave Love <fx@gnu.org>
11490
11491 * character.c (Funibyte_char_to_multibyte): Doc fix.
11492
11493 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11494
114952008-02-01 Kenichi Handa <handa@m17n.org>
11496
11497 * fontset.c (fontset_add): Make the type `int'.
11498 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11499
11500 * character.c (unibyte_char_to_multibyte)
11501 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11502 charset_unibyte, not charset_primary.
11503
11504 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11505
11506 * charset.c (charset_unibyte): Rename from charset_primary.
11507 (Funibyte_charset): Rename from Fprimary_charset.
11508 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11509 (syms_of_charset): Adjust for the above changes.
11510
11511 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11512 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11513 it->multibyte_p is zero.
11514
11515 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11516 Delete extern.
11517
115182008-02-01 Kenichi Handa <handa@m17n.org>
11519
11520 * coding.c (Fdefine_coding_system_internal): Fix category setting
11521 for a coding system of type iso-2022.
11522
115232008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11526
115272008-02-01 Kenichi Handa <handa@m17n.org>
11528
11529 * syntax.c (Vnext_word_boundary_function_table): New variable.
11530 (next-word-boundary-function-table): Declare it as a Lisp variable
11531 in syms_of_syntax.
11532 (scan_words): Call functions in Vnext_word_boundary_function_table
11533 if any.
11534
11535 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11536
11537 * fontset.c (fs_load_font): If fontp->charset is not negative,
11538 return fontp without setting its members.
11539
115402008-02-01 Dave Love <fx@gnu.org>
11541
11542 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11543
11544 * m/sparc.h (HAVE_ALLOCA): Delete.
11545
11546 * s/irix6-5.h: Don't include strings.h.
11547 (bcopy, bzero, bcmp): Don't undef.
11548
11549 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11550
11551 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11552 (TIOCSIGSEND): Don't test IRIX6.
11553 (bcopy, bzero, bcmp): Define conditionally.
11554
115552008-02-01 Kenichi Handa <handa@m17n.org>
11556
11557 * buffer.c (Qas, Qmake, Qto): New variables.
11558 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11559 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11560
11561 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11562 we are inserting a process output into a multibyte buffer.
11563
11564 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11565 multibyte_char_to_unibyte.
11566
11567 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11568 by the primary charset, make it eight-bit char.
11569 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11570
11571 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11572 (charset_8_bit__control, charset_8_bit_graphic)
11573 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11574 (define_charset_internal): New function.
11575 (syms_of_charset): Call define_charset_internal for pre-defined
11576 charsets.
11577
11578 * charset.h (charset_8_bit): Extern it.
11579
11580 * coding.c (make_conversion_work_buffer): Adjust for the change
11581 of Fset_buffer_multibyte.
11582 (encode_coding_raw_text): Increment p0 in the loop.
11583
11584 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11585
11586 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11587 for the change of Fset_buffer_multibyte.
11588
11589 * fns.c (Fstring_to_multibyte): New function.
11590 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11591
115922008-02-01 Dave Love <fx@gnu.org>
11593
11594 * xfns.c (x_put_x_image): Declare args.
11595
11596 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11597 (try_font_list): Declare an arg.
11598
11599 * xdisp.c (message2_nolog, set_message): Declare an arg.
11600
11601 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11602
11603 * syntax.c (scan_sexps_forward): Declare an arg.
11604
11605 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11606 Declare an arg.
11607
11608 * lisp.h (Fnew_fontset): Declare.
11609
11610 * keymap.c (push_key_description): Call CHARACTERP correctly.
11611
11612 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11613 (face_for_char): Delete unused vars.
11614 (Fset_fontset_font): Doc fix. Delete unused vars.
11615
11616 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11617
11618 * composite.c (update_compositions): Declare arg.
11619
11620 * cm.c (calccost, cmgoto): Declare args.
11621
11622 * charset.c: Remove `emacs' conditional. Doc fixes.
11623 (map_char_table_for_charset): Declare.
11624
11625 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11626
11627 * ccl.c: Remove `emacs' conditional.
11628
116292008-02-01 Kenichi Handa <handa@m17n.org>
11630
11631 The following changes are to allow specifying multiple font
11632 patterns for a character range (specified by script or charset).
11633
11634 * Makefile.in (abbrev.o): Depend on syntax.h.
11635 (xfaces.o): Depend on charset.h.
11636
11637 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11638 SINGLE_BYTE_CHAR_P.
11639
11640 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11641
11642 * character.h (Vchar_script_table): Extern it.
11643
11644 * character.c (Vscript_alist): Delete.
11645 (Vchar_script_table, Qchar_script_table): New variable.
11646 (syms_of_character): Declare Vchar_script_table as a lisp variable
11647 and initialize it.
11648
11649 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11650 have property char-table-extra-slots, make no extra slot.
11651
11652 * dispextern.h (struct face): Delete member `charset'.
11653 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11654 SINGLE_BYTE_CHAR_P.
11655 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11656 Add prototypes.
11657 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11658 (generate_ascii_font_name): Rename from generate_ascii_font.
11659
11660 * fontset.h (get_font_repertory_func): New prototype.
11661 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11662 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11663
11664 * fontset.c (Qprepend, Qappend): New variables.
11665 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11666 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11667 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11668 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11669 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11670 (load_font_get_repertory): New functions.
11671 (fontset_set): Delete.
11672 (fontset_face): New arg FACE. Return face ID, not face.
11673 Complete re-write to handle new fontset structure. Change caller.
11674 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11675 (face_for_char): Don't call lookup_face.
11676 (make_fontset_for_ascii_face): New arg FACE.
11677 (fs_load_font): New arg CHARSET_ID. Don't check
11678 Vfont_encoding_alist here.
11679 (find_font_encoding): New function.
11680 (list_fontsets): Use STRINGP, not ! NILP.
11681 (accumulate_script_ranges): New function.
11682 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11683 re-written to handle new fontset structure.
11684 (Ffontset_font): Return a copy of element.
11685 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11686 docstring of font-encoding-alist.
11687
11688 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11689 (Fset_fotset_font): Fix arguments to 5.
11690
11691 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11692
11693 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11694 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11695 (highlight_trailing_whitespace): Adjust for the change of
11696 lookup_named_face.
11697
11698 * xfaces.c: Include charset.h.
11699 (load_face_font): Delete argument C. Change caller.
11700 (generate_ascii_font_name): Rename from generate_ascii_font.
11701 (font_name_registry): New function.
11702 (cache_face): Store ascii faces before non-ascii faces in buckets.
11703 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11704 Lookup only ascii faces.
11705 (lookup_non_ascii_face): New function.
11706 (lookup_named_face): Delete argument C. Change caller.
11707 (lookup_derived_face): Delete argument C. Change caller.
11708 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11709 a string, just call font_list with it.
11710 (choose_face_font): Delete arguments FACE and C. New arg
11711 FONT_SPEC. Change caller.
11712 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11713 Change caller.
11714 (realize_non_ascii_face): New function.
11715 (realize_x_face): Call load_face_font here.
11716 (realize_tty_face): Delete argument C. Change caller.
11717 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11718 get a face ID.
11719 (dump_realized_face): Don't print charset of FACE.
11720
11721 * xfns.c (x_set_font): Always call x_new_fontset and
11722 store_frame_parameter.
11723 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11724 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11725
11726 * xterm.h (x_get_font_repertory): Extern it.
11727
11728 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11729 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11730 it->multibyte_p is zero.
11731 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11732 (x_new_fontset): If FONTSETNAME doesn't match any existing
11733 fontsets, create a new one.
11734 (x_get_font_repertory): New function.
11735
117362008-02-01 Kenichi Handa <handa@m17n.org>
11737
11738 * coding.c (Ffind_coding_systems_region_internal): Detect an
11739 ASCII only string correctly.
11740
11741 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11742 version is 0.
11743
117442008-02-01 Kenichi Handa <handa@m17n.org>
11745
11746 * lread.c: Include "coding.h".
11747 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11748 (load_each_byte, unread_char): New variables.
11749 (readchar_backlog): Delete.
11750 (readchar): Return a character unless load_each_byte is nonzero.
11751 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11752 cons. If unread_char is not -1, simply return it.
11753 (unreadchar): Handle the case that readcharfun is
11754 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11755 (read_multibyte): Delete.
11756 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11757 (read_emacs_mule_char): New functions.
11758 (Fload): Even if the file doesn't have the extension ".elc", if
11759 safe_to_load_p returns a positive version number, assume that the
11760 file contains bytecompiled code. If the version is less than 22,
11761 load the file while decoding multibyte sequences by emacs-mule.
11762 (readevalloop): Don't use readchar_backlog.
11763 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11764 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11765 (read_escape): Delete the arg BYTEREP.
11766 (read1): Set load_each_byte to 1 temporarily while handling
11767 #@NUMBER. Don't call read_multibyte.
11768 (read_vector): Call Fread with a cons. If readcharfun is
11769 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11770 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11771 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11772 and Qload_force_doc_strings.
11773
117742008-02-01 Kenichi Handa <handa@m17n.org>
11775
11776 * xdisp.c (face_before_or_after_it_pos): Call
11777 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11778
117792008-02-01 Kenichi Handa <handa@m17n.org>
11780
11781 * character.h (TRAILING_CODE_P): New macro.
11782 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11783 (string_char_with_unification): Fix prototype.
11784 (Vscript_alist): Extern it.
11785
11786 * character.c (Vscript_alist): New variable.
11787 (string_char_with_unification, str_as_unibyte)
11788 (string_escape_byte8): Add `const' to local variables.
11789 (syms_of_character): Declare script-alist as a Lisp variable.
11790
11791 * charset.h (Vcharset_ordered_list): Extern it.
11792 (charset_ordered_list_tick): Extern it.
11793 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11794 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11795 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11796 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11797 (Funify_charset): Adjust for the change of Funify_charset.
11798
11799 * charset.c (charset_ordered_list_tick): New variable.
11800 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11801 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11802 deunify intead of unify a charset.
11803 (string_xstring_p): Add `const' to local variables.
11804 (find_charsets_in_text): Add `const' to arguments and local variables.
11805 (encode_char): Adjust for the change of Funify_charset. Fix
11806 detecting of invalid code.
11807 (Fset_charset_priority): Increment charset_ordered_list_tick.
11808 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11809 and TO_CODE.
11810
11811 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11812 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11813 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11814 (decode_coding_ccl, consume_chars)
11815 (Ffind_coding_systems_region_internal)
11816 (Fcheck_coding_systems_region): Add `const' to local variables.
11817
11818 * print.c (print_object): Use octal form for printing the
11819 contents of a bool vector.
11820
118212008-02-01 Dave Love <fx@gnu.org>
11822
11823 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11824 <version == 20>: Refuse to load.
11825
118262008-02-01 Dave Love <fx@gnu.org>
11827
11828 * fns.c: Move coding.h.
11829 (Qcodeset, Qdays, Qmonths): New.
11830 (concat): Use CHARACTERP instead of INTEGERP.
11831 (Flocale_codeset): Delete.
11832 (Flanginfo): New function.
11833 (syms_of_fns): Change accordingly.
11834
11835 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11836
118372008-02-01 Dave Love <fx@gnu.org>
11838
11839 * casetab.c (init_casetab_once, init_casetab_once): Fix
11840 CHAR_TABLE_SET call.
11841
11842 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11843
11844 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11845
11846 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11847 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11848 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11849
11850 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11851
11852 * coding.c (ENCODE_DESIGNATION, decode_eol)
11853 (make_conversion_work_buffer, code_conversion_restore)
11854 (Fdefine_coding_system_internal): Convert Lisp types.
11855 (code_conversion_restore): Use EQ, not ==.
11856 (Fencode_coding_string): Fix code_convert_string call.
11857
11858 * coding.h (code_convert_region): Fix prototype.
11859
11860 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11861
11862 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11863 (Ffontset_info): Convert Lisp types.
11864
11865 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11866
11867 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11868
11869 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11870
11871 * chartab.c: Include "...h", not <...h> in some cases.
11872
11873 * callproc.c (Fcall_process): Remove unused variables.
11874
118752008-02-01 Dave Love <fx@gnu.org>
11876
11877 * coding.c (Fset_coding_system_priority): Allow null arg list.
11878
118792008-02-01 Dave Love <fx@gnu.org>
11880
11881 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11882 (Fself_insert_and_exit): Use CHARACTERP.
11883
11884 * callproc.c (Fcall_process): Remove unused vars.
11885
11886 * xterm.c (XTread_socket): Add extra dead keysyms.
11887
11888 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11889
11890 * dispextern.h: Remove prototypes for redraw_frame,
11891 redraw_garbaged_frames.
11892
11893 * cmds.c (Fself_insert_command): Use CHARACTERP.
11894
11895 * chartab.c (make_sub_char_table): Remove unused var.
11896 (Fset_char_table_default, Fmap_char_table): Doc fix.
11897
11898 * keymap.c (access_keymap): Remove generic char code.
11899 (push_key_description): Use CHARACTERP.
11900
119012008-02-01 Dave Love <fx@gnu.org>
11902
11903 * charset.c: Doc fixes.
11904 (Funify_charset): Extra checking.
11905
119062008-02-01 Dave Love <fx@gnu.org>
11907
11908 * lread.c: Remove some unused variables.
11909 (safe_to_load_p): If safe, return the magic number version byte.
11910 (Fload): Maybe use load-with-code-conversion.
11911
119122008-02-01 Kenichi Handa <handa@m17n.org>
11913
11914 * category.c (Fmodify_category_entry): Don't modify the contents
11915 of category_set for characters out of the range. Avoid
11916 unnecessary modification.
11917
11918 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11919 Vchar_unify_table. The default value of the table is now nil.
11920
11921 * character.c (syms_of_character): Setup Vchar_width_table for
11922 eight-bit-control and raw-byte chars.
11923
11924 * charset.h (enum define_charset_arg_index): Delete
11925 charset_arg_parents and add charset_arg_subset and
11926 charset_arg_superset.
11927 (enum charset_attr_index): Delete charset_parents and add
11928 charset_subset and charset_superset.
11929 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11930 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11931 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11932 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11933 (CHARSET_SUPERSET): New macros.
11934 (charset_work): Extern it.
11935 (ENCODE_CHAR): Use charset_work.
11936 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11937 (map_charset_chars): Extern it.
11938
11939 * charset.c (load_charset_map): Set the default value of encoder
11940 and deunifier char-tables to nil.
11941 (map_charset_chars): Change argument. Change callers. Use
11942 map_char_table_for_charset instead of map_char_table.
11943 (Fmap_charset_chars): New optional args from_code and to_code.
11944 (Fdefine_charset_internal): Adjust for the change of
11945 `define-charset' (:parents -> :subset or :superset).
11946 (charset_work): New variable.
11947 (encode_char, syms_of_charset): Adjust for the change of
11948 Fdefine_charset_internal.
11949 (Ffind_charset_string): Setup the vector `charsets' correctly.
11950
11951 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11952 the previous change.
11953 (char_table_ref_and_range): Adjust for the above change.
11954 (map_sub_char_table_for_charset): New function.
11955 (map_char_table_for_charset): New function.
11956
11957 * keymap.c (describe_vector): Handle a char-table directly here.
11958 (describe_char_table): Delete.
11959
11960 * lisp.h (map_charset_chars): Delete.
11961
119622008-02-01 Dave Love <fx@gnu.org>
11963
11964 * fns.c (count_combining): Comment out (unused).
11965 (Flocale_codeset): New.
11966 (syms_of_fns): Defsubr it.
11967
11968 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11969 (size_t): Remove.
11970
119712008-02-01 Dave Love <fx@gnu.org>
11972
11973 * Makefile.in (chartab.o): Depend on charset.h.
11974
119752008-02-01 Kenichi Handa <handa@m17n.org>
11976
11977 * character.c (syms_of_character): Set the default value of
11978 Vprintable_chars to Qnil.
11979
119802008-02-01 Dave Love <fx@gnu.org>
11981
11982 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11983
119842008-02-01 Kenichi Handa <handa@m17n.org>
11985
11986 * charset.c (load_charset_map): Handle the case that from < to
11987 correctly.
11988
11989 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11990 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11991 Pay attention to raw-8-bit chars.
11992
119932008-02-01 Kenichi Handa <handa@m17n.org>
11994
11995 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11996 It is not bytecompiled now.
11997
11998 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11999 (charset_jisx0208): New variables.
12000 (Fdefine_charset_internal): Setup them if appropriate.
12001 (init_charset_once): Initialize them to -1.
12002
12003 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12004 (charset_jisx0208): Extern them.
12005
12006 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12007 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12008 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12009 (setup_iso_safe_charsets): Fix arguments to Fassq.
12010 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12011 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12012 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12013 (encode_coding_iso_2022): Change the 1st arg to
12014 ENCODE_ISO_CHARACTER to a variable.
12015
120162008-02-01 Kenichi Handa <handa@m17n.org>
12017
12018 * charset.h (enum define_charset_arg_index): New enums
12019 charset_arg_min_code and charset_arg_max_code.
12020 (struct charset): New member char_index_offset.
12021
12022 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12023 Take charset->char_index_offset into account.
12024 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12025 args[charset_arg_max_code]. Setup charset.char_index_offset.
12026 (syms_of_charset): Fix args to Fdefine_charset_internal.
12027
120282008-02-01 Dave Love <fx@gnu.org>
12029
12030 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12031
120322008-02-01 Dave Love <fx@gnu.org>
12033
12034 * coding.c: Doc fixes.
12035 (Fcoding_system_aliases): Fix return value.
12036 (Qmac): Remove (duplicated) definition.
12037
120382008-02-01 Dave Love <fx@gnu.org>
12039
12040 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12041 functions.
12042
12043 * character.c (Fstring): Doc fix.
12044
12045 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12046
12047 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12048 ids.
12049 (font-encoding-alist): Doc fix.
12050
120512008-02-01 Dave Love <fx@gnu.org>
12052
12053 * term.c (costs_set): Declare static, non-initialized for pcc.
12054 (encode_terminal_code): Remove unused var.
12055
12056 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12057 for K&R.
12058
12059 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12060
12061 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12062 (suffixes): Move out of make_subsidiaries for K&R.
12063
12064 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12065
12066 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12067
120682008-02-01 Dave Love <fx@gnu.org>
12069
12070 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12071
12072 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12073
120742008-02-01 Yong Lu <lyongu@asia-infonet.com>
12075
12076 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12077
12078 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12079
120802008-02-01 Kenichi Handa <handa@m17n.org>
12081
12082 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12083 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12084
120852008-02-01 Kenichi Handa <handa@m17n.org>
12086
12087 * coding.c (decode_coding_charset): Adjust for the change of
12088 Fdefine_coding_system_internal.
12089 (Fdefine_coding_system_internal): For a coding system of
12090 `charset' type, store a list of charset IDs in
12091 `charset_attr_charset_valids' element of coding attributes.
12092
120932008-02-01 Kenichi Handa <handa@m17n.org>
12094
12095 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12096 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12097 caller. Handle 2-byte and 3-byte charsets correctly.
12098 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12099 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12100 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12101 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12102 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12103 sequence.
12104 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12105 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12106 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12107 and alt&rule composition.
12108 (decode_coding_iso_2022): Handle composition correctly.
12109 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12110
12111 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12112 re-defining a charset. If the charset has :emacs-mule-id, setup
12113 emacs_mule_bytes.
12114 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12115
121162008-02-01 Kenichi Handa <handa@m17n.org>
12117
12118 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12119 (encode_coding_big5, encode_coding_charset): If coding requires safe
12120 encoding, produce a character specified by
12121 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12122
121232008-02-01 Dave Love <fx@gnu.org>
12124
12125 * xterm.c (XSetIMValues): Declare.
12126
12127 * process.c: Conditionally include sys/wait.h, pty.h.
12128
12129 * print.c (print_object): Fix print format for 64-bit systems.
12130
12131 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12132
12133 * buffer.c (emacs_strerror): Declare.
12134
12135 * fontset.c (Fclear_face_cache): Declare.
12136 (accumulate_font_info): Comment-out (unused).
12137 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12138 variables.
12139
12140 * character.h (string_escape_byte8): Declare.
12141
12142 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12143 unused vars.
12144 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12145 (Fmap_charset_chars): Doc fix.
12146
12147 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12148 (Fset_coding_system_priority, Fset_coding_system_priority)
12149 (Fdefine_coding_system_internal): Doc fix.
12150
121512008-02-01 Dave Love <fx@gnu.org>
12152
12153 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12154
121552008-02-01 Kenichi Handa <handa@m17n.org>
12156
12157 * character.c (string_escape_byte8): Make multibyte string with
12158 correct size.
12159
12160 * charset.c (Fmake_char): Delete unnecessary code.
12161
121622008-02-01 Kenichi Handa <handa@m17n.org>
12163
12164 * xfns.c (x_encode_text): Allocate coding.destination here, and
12165 call encode_coding_object with dst_object Qnil.
12166
12167 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12168 multibyte form correctly.
12169
12170 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12171 against Vfont_encoding_alist.
12172
12173 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12174 handling of charset list.
12175 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12176 (decode_coding_object): Move point to coding->dst_pos before
12177 calling post-read-conversion function.
12178 (encode_coding_object): Give correct arguments to
12179 pre-write-conversion. Ignore the return value of
12180 pre-write-conversion function. Pay attention to the case that
12181 pre-write-conversion changes the current buffer. If dst_object is
12182 Qt, even if coding->src_bytes is zero, allocate at least one byte
12183 to coding->destination.
12184
12185 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12186
12187 * charset.c (Fmake_char): Make it more backward compatible.
12188 (Fmap_charset_chars): Fix docstring.
12189
121902008-02-01 Dave Love <fx@gnu.org>
12191
12192 * coding.c: Doc fixes.
12193 (Fdefine_coding_system_alias): Use names, not symbols, in
12194 coding-system-alist.
12195
121962008-02-01 Kenichi Handa <handa@m17n.org>
12197
12198 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12199 of calling free_realized_face.
12200
122012008-02-01 Yong Lu <lyongu@asia-infonet.com>
12202
12203 * charset.c (read_hex): Don't treat SPC as a comment starter.
12204 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12205 (Fdecode_char): Fix typo.
12206
122072008-02-01 Kenichi Handa <handa@m17n.org>
12208
12209 * charset.h (struct charset): New member `code_space_mask'.
12210
12211 * coding.c (coding_set_source): Delete the local variable beg_byte.
12212 (encode_coding_charset, Fdefine_coding_system_internal):
12213 Delete the local variable charset.
12214 (Fdefine_coding_system_internal): Setup
12215 attrs[coding_attr_charset_valids] correctly.
12216
12217 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12218 member to check if CODE is valid or not.
12219 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12220 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12221 is within the range of charset->min_code and carset->max_code.
12222
122232008-02-01 Dave Love <fx@gnu.org>
12224
12225 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12226
12227 * dispextern.h (generate_ascii_font): Fix return type.
12228
12229 * xfaces.c (generate_ascii_font): Fix arg declaration.
12230
12231 * coding.c (coding_inherit_eol_type)
12232 (Fset_terminal_coding_system_internal)
12233 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12234
122352008-02-01 Kenichi Handa <handa@m17n.org>
12236
12237 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12238 multiple charsets correctly.
12239
122402008-02-01 Kenichi Handa <handa@m17n.org>
12241
12242 * search.c (boyer_moore): Fix handling of multibyte character
12243 translation.
12244
12245 * xdisp.c (display_mode_element): When the variable `elt' is
12246 changed, update `this' and `lisp_string'.
12247
122482008-02-01 Kenichi Handa <handa@m17n.org>
12249
12250 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12251
12252 * callproc.c (Fcall_process): Be sure to give the current buffer
12253 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12254
12255 * charset.c (struct charset_map_entries): New struct.
12256 (load_charset_map): Rename from parse_charset_map. New args
12257 entries and n_entries. Change caller.
12258 (load_charset_map_from_file): Rename from load_charset_map.
12259 Change caller. New arg control_flag. Call load_charset_map at
12260 the tail.
12261 (load_charset_map_from_vector): New function.
12262 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12263 (encode_char): If the charset is compact, change a character index
12264 to a code point.
12265
12266 * coding.c (coding_alloc_by_making_gap): Check the case that the
12267 source and destination are the same correctly.
12268 (decode_coding_raw_text): Set coding->consumed_char and
12269 coding->consumed to 0.
12270 (produce_chars): If coding->chars_at_source is nonzero, update
12271 coding->consumed_char and coding->consumed before calling
12272 alloc_destination.
12273 (Fdefine_coding_system_alias): Register ALIAS in
12274 Vcoding_system_alist.
12275 (syms_of_coding): Define `no-conversion' coding system at the tail.
12276
12277 * fileio.c (Finsert_file_contents): Set coding_system instead of
12278 val. If the current buffer is multibyte, always call
12279 decode_coding_gap.
12280
12281 * xfaces.c (try_font_list): Give higher priority to fontset's
12282 family than face's family.
12283
122842008-02-01 Kenichi Handa <handa@m17n.org>
12285
12286 * callproc.c (Fcall_process): Be sure to give the current buffer
12287 to decode_coding_c_string.
12288
12289 * xfaces.c (try_font_list): Give a family specified in a fontset
12290 higher priority than a family specified in a face.
12291
122922008-02-01 Kenichi Handa <handa@m17n.org>
12293
12294 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12295 Fix arguments to insert_from_buffer.
12296
12297 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12298
122992008-02-01 Kenichi Handa <handa@m17n.org>
12300
12301 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12302 (decode_coding_gap): Set coding->dst_multibyte correctly.
12303
123042008-02-01 Kenichi Handa <handa@m17n.org>
12305
12306 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12307 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12308 (encode_coding_utf_16): Substitute coding->default_char for
12309 non-Unicode characters.
12310 (decode_coding): Don't call record_insert here.
12311 (setup_coding_system): Initialize `surrogate' of
12312 coding->spec.utf_16 to 0.
12313 (EMIT_ONE_BYTE): Fix for multibyte case.
12314
12315 * insdel.c (insert_from_gap): Call record_insert.
12316
123172008-02-01 Kenichi Handa <handa@m17n.org>
12318
12319 * casefiddle.c (casify_region): Fix multibyte case.
12320
12321 * character.c (c_string_width): Add return type `int'.
12322 (char_string_with_unification): Delete arg ADVANCED.
12323
12324 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12325 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12326 (CHAR_STRING_ADVANCE): Make it do-while statement.
12327
12328 * chartab.c (sub_char_table_set_range): Optimize for the case
12329 DEPTH == 3. Add workaround code for a GCC optimization bug.
12330
12331 * charset.c (parse_charset_map): Remove an unused variable.
12332
12333 * coding.c: Delete unused variables.
12334
12335 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12336 earlier. If inserted is zero and the coding system doesn't
12337 require flushing, don't call decode_coding_gap.
12338
12339 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12340
123412008-02-01 Kenichi Handa <handa@m17n.org>
12342
12343 The following changes are for using Unicode as an internal
12344 character model, and use UTF-8 format for buffer/string
12345 representation.
12346
12347 * .gdbinit (xchartable): Adjust for the change of char table structure.
12348 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12349
12350 * Makefile.in (obj): Add character.o and chartab.o.
12351 (lisp, shortlisp): Remove utf-8.elc.
12352 (*.o): For many files, change dependency on charset.h to
12353 character.h, and add dependency on character.h.
12354 (character.o, chartab.o): New targets.
12355
12356 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12357 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12358 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12359 of "charset.h".
12360
12361 * dired.c, filelock.c: Include "character.h".
12362
12363 * alloc.c: Include "character.h" instead of "charset.h".
12364 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12365 (syms_of_alloc): Remove defsubr for Smake_char_table.
12366
12367 * buffer.c: Include "character.h" instead of "charset.h", don't
12368 include "coding.h".
12369 (Fset_buffer_multibyte): Adjust for UTF-8.
12370
12371 * buffer.h: EXFUN Fbuffer_live_p.
12372
12373 * callproc.c: Include "character.h" instead of "charset.h".
12374 (Fcall_process): Big change for the new code-conversion APIs.
12375
12376 * casetab.c: Include "character.h" instead of "charset.h".
12377 (set_canon, set_identity, shuffle): Adjust for the new
12378 map_char_table spec.
12379 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12380 accessing the char table structure.
12381
12382 * chartab.c: New file that implements char table.
12383
12384 * category.c: Include "character.h".
12385 (copy_category_entry): New function.
12386 (copy_category_table): Call map_char_table and copy_category_entry.
12387 (Fmake_category_table): Initialize all top-level slots.
12388 (char_category_set): New function.
12389 (modify_lower_category_set): Delete.
12390 (Fmodify_category_entry): Call char_table_ref_and_range.
12391
12392 * category.h (CATEGORY_SET): Just call char_category_set.
12393
12394 * ccl.c: Include "character.h".
12395 (Qccl, Qcclp): New variables.
12396 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12397 it's less than 256.
12398 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12399 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12400 and DST type.
12401 (ccl_driver): Change types of argument, adjust code accordingly.
12402 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12403 ccl_driver.
12404 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12405
12406 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12407 New members src_multibyte, dst_multibyte, consumed, and produced.
12408 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12409 (CODING_SPEC_CCL_PROGRAM): New macro.
12410 (ccl_driver): Update prototype.
12411 (Qccl, Qcclp, Fccl_program_p): Extern them.
12412 (CHECK_CCL_PROGRAM): New macro.
12413
12414 * character.c, character.h, chartab.c: New files.
12415
12416 * charset.c: Mostly re-written. Move character and multibyte sequence
12417 handling codes to character.c.
12418
12419 * charset.h: Mostly re-written. Move character and multibyte sequence
12420 handling codes to character.h.
12421
12422 * coding.c, coding.h: Mostly re-written.
12423
12424 * composite.c: Include "character.h" instead of "charset.h".
12425 (CHAR_WIDTH): Move to character.h.
12426 (HASH_KEY, HASH_VALUE): Delete.
12427
12428 * composite.h (enum composition_method): Change order of enumeration
12429 symbols.
12430
12431 * data.c: Include "character.h" instead of "charset.h".
12432 (Faref): Call CHAR_TABLE_REF for a char table.
12433 (Faset): Call CHAR_TABLE_SET for a char table.
12434
12435 * dispextern.h (free_realized_face, check_face_attribytes)
12436 (generate_ascii_font): Extern them.
12437 (free_realized_multibyte_face): Delete extern.
12438
12439 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12440 table structure.
12441
12442 * editfns.c: Include "character.h" instead of "charset.h".
12443 (Fchar_to_string): Always call CHAR_STRING.
12444
12445 * emacs.c (main): Call init_charset_once, init_charset,
12446 syms_of_chartab, and syms_of_character.
12447
12448 * fileio.c: Include "character.h" instead of "charset.h".
12449 (Finsert_file_contents): Big change for the new code-conversion API.
12450 (choose_write_coding_system, Fwrite_region): Likewise.
12451 (build_annotations_2): Delete.
12452 (e_write): Big change for the new code-conversion API.
12453
12454 * fns.c: Include "character.h" instead of "charset.h".
12455 (copy_sub_char_table): Move to chartab.c.
12456 (Fcopy_sequence): Call copy_char_table for a char table.
12457 (concat): Delete codes calling count_multibyte.
12458 (string_char_to_byte, string_byte_to_char): Adjust for the new
12459 multibyte form.
12460 (internal_equal): Adjust for the change of char table structure.
12461 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12462 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12463 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12464 (char_table_translate, optimize_sub_char_table)
12465 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12466 chartab.c.
12467 (char_table_ref_and_index): Delete.
12468 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12469 (Fmd5): Call preferred_coding_system instead of accessing
12470 Vcoding_category_list. Adjust for the new code-conversion API.
12471 (syms_of_fns): Move defsubr for char table related functions to
12472 chartab.c.
12473
12474 * fontset.c: Mostly re-written.
12475
12476 * fontset.h (struct font_info): Change type of the member encoding_type.
12477 (enum FONT_SPEC_INDEX): New enum.
12478 (fontset_font_pattern, fs_load_font): Update prototype.
12479 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12480
12481 * indent.c: Include "character.h" instead of "charset.h".
12482 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12483
12484 * insdel.c: Include "character.h" instead of "charset.h".
12485 (copy_text): Don't refer to Vnonascii_translation_table.
12486 (insert_from_gap): New function.
12487
12488 * keyboard.c: Include "character.h" instead of "charset.h".
12489 (command_loop_1): Never call direct_output_forward_char before
12490 a non-ASCII character.
12491 (read_char): If Vkeyboard_translate_table is a char table, always
12492 translate a character.
12493
12494 * keymap.c: Include "character.h".
12495 (store_in_keymap): Handle the case that IDX is a cons.
12496 (Fdefine_key): Handle the case that KEY is a cons and the car part
12497 is also a cons (range).
12498 (push_key_description): Adjust for the new character code.
12499 (describe_vector): Call describe_char_table for a char table.
12500 (describe_char_table): New function.
12501
12502 * keymap.h (describe_char_table): Extern it.
12503
12504 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12505 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12506 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12507 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12508 Delete.
12509 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12510 structure.
12511 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12512 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12513 (CHARTAB_SIZE_BITS_3): New macros.
12514 (chartab_size): Extern it.
12515 (struct Lisp_Char_Table): Re-design.
12516 (struct Lisp_Sub_Char_Table): New structure.
12517 (HASH_KEY, HASH_VALUE): Move from fns.c.
12518 (CHARACTERBITS): Define as 22.
12519 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12520 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12521 (GC_SUB_CHAR_TABLE_P): New macro.
12522 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12523 (code_convert_string_norecord): Deleted extern.
12524 (init_character_once, syms_of_character, init_charset)
12525 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12526
12527 * lread.c: Include "character.h".
12528 (read_multibyte): New arg NBYTES.
12529 (read_escape): Change the meaning of returned *BYTEREP.
12530 (to_multibyte): Delete.
12531 (read1): Adjust the handling of char table and string.
12532
12533 * print.c: Include "character.h" instead of "charset.h".
12534 (print_string): Convert 8-bit raw bytes to octal form by
12535 string_escape_byte8.
12536 (print_object): Adjust for the new multibyte form. Print 8-bit
12537 raw bytes always in octal form. Handle sub char table correctly.
12538
12539 * process.c: Include "character.h" instead of "charset.h".
12540 (read_process_output, send_process): Adjust for the new
12541 code-conversion API.
12542
12543 * puresize.h (BASE_PURESIZE): Increase.
12544
12545 * regex.c: Include "character.h" instead of "charset.h".
12546 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12547 (regex_compile): Accept a range whose starting and ending
12548 character have different leading bytes.
12549 (analyse_first): Adjust for the above change.
12550
12551 * search.c: Include "character.h" instead of "charset.h".
12552 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12553 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12554
12555 * syntax.c: Include "character.h" instead of "charset.h".
12556 (syntax_parent_lookup): Delete.
12557 (Fmodify_syntax_entry): Accept a cons as CHAR.
12558 (skip_chars): Adjust for the new multibyte form.
12559 (init_syntax_once): Call char_table_set_range instead of directly
12560 accessing the structure of a char table.
12561
12562 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12563 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12564 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12565 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12566
12567 * term.c: Include "buffer.h" and "character.h".
12568 (encode_terminal_code, write_glyphs): Adjust for the new
12569 code-conversion API.
12570 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12571
12572 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12573
12574 * xdisp.c: Include "character.h".
12575 (get_next_display_element): Adjust for the new multibyte form.
12576 (disp_char_vector): Adjust for the new char table structure.
12577 (decode_mode_spec_coding): Adjust for the new structure of
12578 coding system.
12579 (decode_mode_spec): Adjust for the new code-conversion API.
12580
12581 * xfaces.c: Include "character.h" instead of "charset.h".
12582 (load_face_font): Adjust for the change of choose_face_font and
12583 FS_LOAD_FONT.
12584 (generate_ascii_font): New function.
12585 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12586 (set_font_frame_param): Adjust for the change of choose_face_font.
12587 (free_realized_face): Make it public.
12588 (free_realized_faces_for_fontset): Rename from
12589 free_realized_multibyte_face. Free also faces realized for ASCII.
12590 (choose_face_font): Change arguments. Adjust for the change of
12591 fontset_font_pattern and FS_LOAD_FONT.
12592
12593 * xfns.c: Include "character.h".
12594 (x_encode_text): Adjust for the new code-conversion API.
12595
12596 * xselect.c: Don't include "charset.h".
12597 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12598
12599 * xterm.c: Include "character.h".
12600 (x_encode_char): New argument CHARSET. Change caller.
12601 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12602 Call ENCODE_CHAR instead of SPLIT_CHAR.
12603 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12604 CHAR_WIDTH instead of CHARSET_WIDTH.
12605 (XTread_socket): Adjust for the new code-conversion API.
12606 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12607 (x_load_font): Adjust for the change of struct font.
12608
126092008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12610
12611 * xfaces.c (face_at_buffer_position): Remove unused vars.
12612
126132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12614
12615 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12616 Fix overflow checking.
12617
126182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12619
12620 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12621 Cancel previous change.
12622
126232008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12624
12625 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12626 ccl->eight_bit_control. Fix check for buffer overflow.
12627 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12628 (ccl_driver): Initialize extra_bytes to 0.
12629
126302008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12631
12632 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12633 return it ORed with ctrl_modifier.
12634
126352008-01-29 Miles Bader <miles@gnu.org>
12636
12637 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12638
126392008-01-28 Jason Rumney <jasonr@gnu.org>
12640
12641 * w32.c (stat): Don't double check for networked drive.
12642
126432008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12644
12645 * window.c (run_window_configuration_change_hook): New function.
12646 Code extracted from set_window_buffer. Set the selected frame.
12647 (set_window_buffer): Use it.
12648 * window.h (run_window_configuration_change_hook): Declare.
12649 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12650
12651 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12652
126532008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12654
12655 * Makefile.in: Remove references to unused macros.
12656
126572008-01-26 Eli Zaretskii <eliz@gnu.org>
12658
12659 * w32.c (g_b_init_get_sid_sub_authority)
12660 (g_b_init_get_sid_sub_authority_count): New static variables.
12661 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12662 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12663 (init_user_info): Use them to retrieve uid and gid.
12664 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12665 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12666 st_uid and st_gid of the file.
12667
126682008-01-26 Jason Rumney <jasonr@gnu.org>
12669
12670 * w32.c (logon_network_drive): New function.
12671 (stat): Use it.
12672
126732008-01-26 Chong Yidong <cyd@stupidchicken.com>
12674
12675 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12676 invisible text covered with an ellipsis.
12677
126782008-01-25 Richard Stallman <rms@gnu.org>
12679
12680 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12681 jump back to beginning. Move some other initializations after that.
12682 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12683 New variables.
12684 (syms_of_xdisp): Init them.
12685
12686 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12687
12688 * buffer.c (reset_buffer_local_variables):
12689 Implement `permanent-local-hook'.
12690 (Qpermanent_local_hook): New variable.
12691 (syms_of_buffer): Init and staticpro it.
12692
126932008-01-25 Michael Albinus <michael.albinus@gmx.de>
12694
12695 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12696
126972008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12698
12699 * fns.c (Fclrhash): Return TABLE.
12700
127012008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12702
12703 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12704 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12705 is set even without positional changes.
12706 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12707
12708 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12709
127102008-01-23 Jason Rumney <jasonr@gnu.org>
12711
12712 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12713
12714 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12715 the unicode range available in MULE by locale-coding-system.
12716 Improve dbcs lead byte detection. Set event timestamp and modifiers
12717 earlier.
12718
127192008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12720
12721 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12722 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12723 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12724 when used on child processes.
12725
127262008-01-21 Michael Albinus <michael.albinus@gmx.de>
12727
12728 * dbusbind.c (Fdbus_method_return_internal): Rename from
12729 Fdbus_method_return.
12730 (Fdbus_unregister_object): Move to dbus.el.
12731 (Fdbus_call_method, Fdbus_method_return_internal)
12732 (Fdbus_send_signal): Improve debug messages.
12733
127342008-01-20 Martin Rudalics <rudalics@gmx.at>
12735
12736 * undo.c (undo_inhibit_record_point): New variable.
12737 (syms_of_undo): Initialize it.
12738 (record_point): Don't record point when undo_inhibit_record_point
12739 is set.
12740
127412008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12742
12743 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12744
12745 * xdisp.c (Qauto_hscroll_mode): New var.
12746 (syms_of_xdisp): Initialize it.
12747 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12748 window's buffer.
12749 (hscroll_windows): Don't check automatic_hscrolling_p here.
12750
12751 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12752 vscroll if we're setting window-buffer to the value it already has.
12753
127542008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12755
12756 * m/intel386.h: Remove references to XENIX.
12757
127582008-01-17 Andreas Schwab <schwab@suse.de>
12759
12760 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12761 instead of HAVE_X86_64_LIB64_DIR.
12762 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12763
127642008-01-17 Glenn Morris <rgm@gnu.org>
12765
12766 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12767 to HAVE_X86_64_LIB64_DIR.
12768
127692008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12770
12771 * s/irix3-3.h:
12772 * s/irix4-0.h:
12773 * s/386-ix.h:
12774 * s/domain.h:
12775 * s/hpux9-x11r4.h:
12776 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12777
12778 * sysdep.c: Remove code containing references to symbols defined
12779 by unsupported systems.
12780
127812008-01-16 Glenn Morris <rgm@gnu.org>
12782
12783 * coding.c (select-safe-coding-system-function): Doc fix.
12784
127852008-01-15 Glenn Morris <rgm@gnu.org>
12786
12787 * config.in: Revert 2008-01-13 change: this is a generated file.
12788
127892008-01-13 Tom Tromey <tromey@redhat.com>
12790
12791 * lisp.h: Fix typo.
12792
127932008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12794
12795 * m/sequent-ptx.h:
12796 * m/sequent.h:
12797 * s/ptx.h:
12798 * s/ptx4-2.h:
12799 * s/ptx4.h: Remove files for systems no longer supported.
12800
12801 * callproc.c (Fcall_process): Fix previous change.
12802
128032008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12804
12805 * unexsunos4.c: Remove file, system not supported anymore.
12806
12807 * m/mips.h:
12808 * m/intel386.h:
12809 * callproc.c:
12810 * config.in:
12811 * ecrt0.c:
12812 * emacs.c:
12813 * fileio.c:
12814 * frame.c:
12815 * getpagesize.h:
12816 * keyboard.c:
12817 * lread.c:
12818 * process.c:
12819 * puresize.h:
12820 * sysdep.c:
12821 * systty.h:
12822 * syswait.h:
12823 * unexec.c:
12824 * xdisp.c:
12825 * alloc.c: Remove code containing references to symbols defined by
12826 unsupported systems.
12827
128282008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12829
12830 * coding.c (detect_coding_mask): Fix previous change.
12831
128322008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12833
12834 * coding.c (detect_coding_iso2022): New arg
12835 latin_extra_code_state. Allow Latin extra codes only
12836 when *latin_extra_code_state is nonzero.
12837 (detect_coding_mask): If there is a NULL byte, detect the encoding
12838 as UTF-16 or binary. If Latin extra codes exist, detect the
12839 encoding as ISO-2022 only when there's no other proper encoding is
12840 found.
12841
128422008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12843
12844 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12845 #ifdef MAC_OS.
12846
128472008-01-08 Richard Stallman <rms@gnu.org>
12848
12849 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12850
128512008-01-06 Nick Roberts <nickrob@snap.net.nz>
12852
12853 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12854 menu bar in parentheses.
12855
128562008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12857
12858 * m/7300.h:
12859 * m/acorn.h:
12860 * m/alliant-2800.h:
12861 * m/alliant.h:
12862 * m/alliant1.h:
12863 * m/alliant4.h:
12864 * m/altos.h:
12865 * m/amdahl.h:
12866 * m/apollo.h:
12867 * m/att3b.h:
12868 * m/aviion-intel.h:
12869 * m/aviion.h:
12870 * m/celerity.h:
12871 * m/clipper.h:
12872 * m/cnvrgnt.h:
12873 * m/convex.h:
12874 * m/cydra5.h:
12875 * m/delta88k.h:
12876 * m/dpx2.h:
12877 * m/dual.h:
12878 * m/elxsi.h:
12879 * m/f301.h:
12880 * m/gould-np1.h:
12881 * m/gould.h:
12882 * m/i860.h:
12883 * m/ibmps2-aix.h:
12884 * m/ibmrt-aix.h:
12885 * m/ibmrt.h:
12886 * m/irist.h:
12887 * m/is386.h:
12888 * m/isi-ov.h:
12889 * m/mega68.h:
12890 * m/mg1.h:
12891 * m/news-r6.h:
12892 * m/news-risc.h:
12893 * m/news.h:
12894 * m/nh3000.h:
12895 * m/nh4000.h:
12896 * m/ns16000.h:
12897 * m/ns32000.h:
12898 * m/nu.h:
12899 * m/orion.h:
12900 * m/orion105.h:
12901 * m/paragon.h:
12902 * m/pfa50.h:
12903 * m/plexus.h:
12904 * m/pyramid.h:
12905 * m/pyrmips.h:
12906 * m/sh3el.h:
12907 * m/sps7.h:
12908 * m/sr2k.h:
12909 * m/stride.h:
12910 * m/sun1.h:
12911 * m/sun2.h:
12912 * m/sun3-68881.h:
12913 * m/sun3-fpa.h:
12914 * m/sun3-soft.h:
12915 * m/sun3.h:
12916 * m/sun386.h:
12917 * m/symmetry.h:
12918 * m/tad68k.h:
12919 * m/tahoe.h:
12920 * m/targon31.h:
12921 * m/tek4300.h:
12922 * m/tekxd88.h:
12923 * m/tower32.h:
12924 * m/tower32v3.h:
12925 * m/ustation.h:
12926 * m/wicat.h:
12927 * m/xps100.h:
12928 * s/cxux.h:
12929 * s/cxux7.h:
12930 * s/dgux.h:
12931 * s/dgux4.h:
12932 * s/dgux5-4-3.h:
12933 * s/dgux5-4r2.h:
12934 * s/esix.h:
12935 * s/esix5r4.h:
12936 * s/hiuxmpp.h:
12937 * s/hiuxwe2.h:
12938 * s/iris3-5.h:
12939 * s/iris3-6.h:
12940 * s/isc2-2.h:
12941 * s/isc3-0.h:
12942 * s/isc4-0.h:
12943 * s/isc4-1.h:
12944 * s/newsos5.h:
12945 * s/newsos6.h:
12946 * s/osf1.h:
12947 * s/osf5-0.h:
12948 * s/riscix1-1.h:
12949 * s/riscix12.h:
12950 * s/sco4.h:
12951 * s/sco5.h:
12952 * s/sunos4-0.h:
12953 * s/sunos4-1.h:
12954 * s/sunos413.h:
12955 * s/sunos4shr.h:
12956 * s/umax.h:
12957 * s/unipl5-2.h:
12958 * s/xenix.h:
12959 * cxux-crt0.s:
12960 * unexapollo.c:
12961 * unexconvex.c:
12962 * unexenix.c:
12963 * unexsni.c: Remove files for systems no longer supported.
12964
12965 * m/intel386.h: Remove references to unsupported systems.
12966
12967 * w32.c (get_emacs_configuration): Remove reference to i860.
12968
12969 * sysdep.c: Remove dead code.
12970
129712008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12972
12973 * s/rtu.h:
12974 * m/masscomp.h: Remove files. Platform is obsolete.
12975
129762008-01-04 Michael Albinus <michael.albinus@gmx.de>
12977
12978 * dbusbind.c (Fdbus_method_return): New function.
12979 (xd_read_message): Add the serial number to the event.
12980 (Fdbus_register_method): Activate the function.
12981
129822008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12983
12984 * keyboard.c (read_key_sequence): Fix typo.
12985
129862008-01-03 Michael Albinus <michael.albinus@gmx.de>
12987
12988 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12989 (xd_signature, xd_append_arg): Handle element type detection for
12990 empty arrays.
12991 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12992 SDATA () calls; this must be solved more general.
12993 (Fdbus_register_signal): Use SBYTES instead of strlen.
12994
129952008-01-03 Magnus Henoch <magnus@zemdatav>
12996
12997 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12998 unsigned int for byte values (necessary for big-endian platform).
12999 (Fdbus_call_method): Handle the case of no returned arguments.
13000
130012007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13002
13003 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13004
130052007-12-31 Magnus Henoch <mange@freemail.hu>
13006
13007 * dbusbind.c (xd_signature): Signature of variant is just "v".
13008
130092007-12-30 Michael Albinus <michael.albinus@gmx.de>
13010
13011 * dbusbind.c: Fix several errors and compiler warnings.
13012 Reported by Tom Tromey <tromey@redhat.com>.
13013 (XD_ERROR, XD_DEBUG_MESSAGE)
13014 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13015 (xd_append_arg): Part for basic D-Bus types rewritten.
13016 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13017 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13018 appropriate.
13019 (xd_read_message): Return Qnil. Don't signal an error; it is not
13020 useful during event reading.
13021 (Fdbus_register_signal): Signal an error if the check for
13022 FUNCTIONP fails.
13023 (Fdbus_register_method): New function. The implementation is not
13024 complete, the call of the function signals an error therefore.
13025 (Fdbus_unregister_object): New function, renamed from
13026 Fdbus_unregister_signal. The initial check signals an error, if
13027 the object is not well formed.
13028
130292007-12-30 Richard Stallman <rms@gnu.org>
13030
13031 * textprop.c (get_char_property_and_overlay):
13032 Signal error if POSITION is out of range in a buffer.
13033
130342007-12-29 Martin Rudalics <rudalics@gmx.at>
13035
13036 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13037 because the original parameters are in pure storage now.
13038
130392007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13040
13041 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13042
130432007-12-22 Eli Zaretskii <eliz@gnu.org>
13044
13045 * callint.c (syms_of_callint) <command-history>: Add reference to
13046 history-length in the doc string.
13047
130482007-12-17 Jason Rumney <jasonr@gnu.org>
13049
13050 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13051 before passing as wParam.
13052
130532007-12-22 Michael Albinus <michael.albinus@gmx.de>
13054
13055 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13056 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13057 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13058 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13059 as number.
13060 (Fdbus_call_method): Fix docstring.
13061
130622007-12-21 Michael Albinus <michael.albinus@gmx.de>
13063
13064 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13065 New macros.
13066 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13067 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13068 Simplify.
13069 (xd_signature): New function.
13070 (xd_append_arg): Compute also signatures. Major rewrite.
13071 (xd_retrieve_arg): Make debug messages friendly.
13072 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13073 Check for signatures of arguments.
13074
130752007-12-19 Michael Albinus <michael.albinus@gmx.de>
13076
13077 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13078 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13079 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13080 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13081 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13082 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13083 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13084 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13085 (xd_retrieve_value): Remove. Functionality included in ...
13086 (xd_append_arg): New function.
13087 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13088
130892007-12-16 Michael Albinus <michael.albinus@gmx.de>
13090
13091 * dbusbind.c (top): Include <stdio.h>.
13092 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13093 dbus_message_new_method_call and dbus_message_new_signal.
13094 (Fdbus_register_signal): Rename unique_name to uname.
13095 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13096 non-existing unique name. Fix typos in matching rule. Return an
13097 object which is useful in Fdbus_unregister_signal.
13098 (Fdbus_unregister_signal): Reimplementation, in order to remove
13099 only the corresponding entry.
13100 (Vdbus_registered_functions_table): Change the order of entries.
13101 Apply these changes in xd_read_message and Fdbus_register_signal.
13102
131032007-12-16 Andreas Schwab <schwab@suse.de>
13104
13105 * fileio.c (Finsert_file_contents): Fix overflow check to not
13106 depend on undefined integer overflow.
13107
131082007-12-14 Jason Rumney <jasonr@gnu.org>
13109
13110 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13111 for characters above 127.
13112
131132007-12-13 Jason Rumney <jasonr@gnu.org>
13114
13115 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13116 before dereferencing array.
13117 (lookup_vk_code): Remove zero comparison.
13118
131192007-12-14 Michael Albinus <michael.albinus@gmx.de>
13120
13121 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13122 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13123 Use `unsigned int' instead of `uint'.
13124 (xd_read_message, Fdbus_register_signal): Split expressions into
13125 multiple lines before operators "&&" and "||", according to the
13126 GNU Coding Standards.
13127
131282007-12-14 Eli Zaretskii <eliz@gnu.org>
13129
13130 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13131
131322007-12-12 Juri Linkov <juri@jurta.org>
13133
13134 * buffer.c (Frename_buffer): In interactive spec replace
13135 `read-buffer' with `read-string' that uses `buffer-name-history'
13136 as history, and the current buffer's name as default.
13137
131382007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13139
13140 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13141 manipulating the backtrace manually.
13142 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13143 (struct backtrace, backtrace_list): Remove.
13144 (command_loop_1): Remove dead var `no_direct'.
13145
13146 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13147 preserve non-built-in buffer-local variables.
13148 (Fkill_all_local_variables): Don't re-create&re-set permanent
13149 buffer-local variables.
13150
131512007-12-09 Juri Linkov <juri@jurta.org>
13152
13153 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13154 Lisp code that uses `read-buffer' with current buffer as default.
13155
131562007-12-08 Michael Albinus <michael.albinus@gmx.de>
13157
13158 * dbusbind.c (xd_read_message): Generate an event for every
13159 registered handler. There might be several handlers registered
13160 for the same signal.
13161 (Fdbus_register_signal): Don't overwrite a registration for the
13162 same signal. Add a new registration if handlers are different.
13163 (Vdbus_registered_functions_table): Rework doc string.
13164
131652007-12-07 Michael Albinus <michael.albinus@gmx.de>
13166
13167 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13168 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13169 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13170 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13171 Unify argument lists.
13172 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13173 arguments and hash table keys. Use unique name for service.
13174 (Fdbus_unregister_signal): Remove checks.
13175 (Vdbus_registered_functions_table): Fix doc string.
13176
131772007-12-05 Magnus Henoch <mange@freemail.hu>
13178
13179 * process.c (make_process): Initialize pty_flag to 0.
13180
131812007-12-05 Jason Rumney <jasonr@gnu.org>
13182
13183 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13184 specified XBMs.
13185
131862007-12-05 Richard Stallman <rms@gnu.org>
13187
13188 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13189
131902007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13191
13192 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13193 New variable.
13194 (mac_try_close_socket) [MAC_OSX]: New function.
13195 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13196 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13197
13198 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13199 Use mac_try_close_socket.
13200
132012007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13202
13203 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13204 reloc_base.
13205 (copy_dysymtab): Compute relocation base here.
13206 (rebase_reloc_address) [__ppc64__]: New function.
13207 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13208 changed.
13209
132102007-12-05 Jason Rumney <jasonr@gnu.org>
13211
13212 * w32proc.c (sys_spawnve): Quote args with wildcards.
13213
132142007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13215
13216 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13217 __objc_* sections.
13218 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13219
132202007-12-05 Michael Albinus <michael.albinus@gmx.de>
13221
13222 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13223 Move check for Vdbus_registered_functions_table to
13224 xd_read_queued_messages.
13225 (xd_read_queued_messages): Protect xd_read_message calls by
13226 internal_condition_case_1.
13227
132282007-12-04 Michael Albinus <michael.albinus@gmx.de>
13229
13230 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13231 Qdbus_system_bus and Qdbus_session_bus, respectively.
13232 (Vdbus_intern_symbols): Remove.
13233 (Vdbus_registered_functions_table): New hash table.
13234 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13235 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13236 Rewrite in order to manage registered functions by hash table
13237 Vdbus_registered_functions_table.
13238
132392007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13240
13241 * xterm.c: Update URL to Window Manager Specification in comment.
13242
132432007-12-02 Michael Albinus <michael.albinus@gmx.de>
13244
13245 * config.in (HAVE_DBUS): Add.
13246
13247 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13248 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13249 (obj): Add $(DBUS_OBJ).
13250 (LIBES): Add $(DBUS_LIBS).
13251 (dbusbind.o): New target.
13252
13253 * dbusbind.c: New file.
13254
13255 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13256
13257 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13258 (Qdbus_event): New Lisp symbol.
13259 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13260 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13261 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13262
13263 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13264
132652007-12-01 Richard Stallman <rms@gnu.org>
13266
13267 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13268
132692007-11-30 Jason Rumney <jasonr@gnu.org>
13270
13271 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13272 (w32con_reset_terminal_modes): Clear screen buffer.
13273 (w32_face_attributes): Don't use color indexes that are out of range.
13274 Only reverse the default colors.
13275
13276 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13277 WINDOWSNT.
13278
13279 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13280
132812007-11-29 Jason Rumney <jasonr@gnu.org>
13282
13283 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13284 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13285 if the terminal colors are initialized.
13286 (unspecified_fg, unspecified_bg): Remove unused declarations.
13287
132882007-11-29 Andreas Schwab <schwab@suse.de>
13289
13290 * keyboard.c (apply_modifiers): Fix typo.
13291
132922007-11-29 Richard Stallman <rms@gnu.org>
13293
13294 * keymap.c (Fcurrent_local_map): Doc fix.
13295
132962007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13297
13298 * s/gnu-kfreebsd.h: New file.
13299
133002007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13301
13302 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13303 Don't cast redundantly.
13304
13305 * keyboard.c (KEY_TO_CHAR): New macro.
13306 (parse_modifiers, apply_modifiers): Accept integer arguments.
13307 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13308 for chars and symbol keys.
13309 After doing such remapping, apply function-key-map again.
13310
133112007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13312
13313 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13314 compiled anymore.
13315
133162007-11-26 Andreas Schwab <schwab@suse.de>
13317
13318 * process.c (list_processes_1): Fix indentation level of the
13319 command column.
13320
133212007-11-23 Andreas Schwab <schwab@suse.de>
13322
13323 * editfns.c (Fformat): Handle %c specially since it requires the
13324 argument to be of type int.
13325
133262007-11-23 Markus Triska <markus.triska@gmx.at>
13327
13328 * emacs.c (main): Call init_editfns before init_process, since
13329 init_process sets Vprocess_connection_type depending on OS release.
13330
133312007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13332
13333 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13334 (find_symbol_value): Use do_symval_forwarding.
13335
13336 * data.c (set_internal): Set the value in the `cons-cell' (for
13337 Buffer_Local_values) not only for frame-local variables.
13338
133392007-11-22 Andreas Schwab <schwab@suse.de>
13340
13341 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13342 values to sprintf.
13343 * keymap.c (Fsingle_key_description): Likewise.
13344 * print.c (print_object): Likewise.
13345
133462007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13347
13348 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13349 file for image is nil.
13350
133512007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13352
13353 * term.c: Include stdarg.h.
13354 (fatal): Implement using varargs.
13355 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13356
133572007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13358
13359 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13360 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13361 Update call to buffer_slot_type_mismatch.
13362 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13363 (buffer_slot_type_mismatch): Update.
13364 * buffer.c (buffer_local_types): Remove.
13365 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13366 (defvar_per_buffer): Set the type in the buffer_objfwd.
13367
133682007-11-21 Jason Rumney <jasonr@gnu.org>
13369
13370 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13371 CreateFileMapping returns NULL on failure.
13372
133732007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13374
13375 * search.c (Fset_match_data): Remove the `evaporate' feature.
13376 (unwind_set_match_data): Don't use the `evaporate' feature.
13377
133782007-11-21 Jason Rumney <jasonr@gnu.org>
13379
13380 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13381
13382 * w32console.c (w32con_write_glyphs): Remove unused variables.
13383
133842007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13385
13386 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13387
13388 * s/darwin.h (MULTI_KBOARD): Remove.
13389
13390 * macfns.c (x_create_tip_frame, Fx_create_frame)
13391 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13392
133932007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13394
13395 * buffer.c (Fbuffer_local_value): Remove redundant test.
13396 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13397 than in `current-buffer' to match the comment.
13398 Do the swap using swap_in_global_binding.
13399
13400 * data.c (store_symval_forwarding, set_internal):
13401 * eval.c (specbind): Remove dead code.
13402
13403 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13404 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13405 Since we do not want to see internal Lisp_*fwd objects here.
13406
134072007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13408
13409 * sysdep.c (init_system_name): Use getaddrinfo if available.
13410
13411 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13412 (x_scroll_bar_note_movement): start, end, with, height in struct
13413 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13414
134152007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13416
13417 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13418
134192007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13420
13421 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13422 This undoes Richard's change of 14-Oct-2002.
13423
13424 * alloc.c (allocate_other_vector):
13425 * lisp.h (allocate_other_vector): Remove.
13426
13427 * window.c (struct save_window_data): Move non-lisp data to the end
13428 and make it `int' rather than Lisp_Object.
13429 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13430 Done wrap/unwrap integer values.
13431 (Fset_window_configuration, compare_window_configurations):
13432 Update use of fields to their new types.
13433
13434 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13435 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13436 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13437 (SET_SCROLL_BAR_X_WINDOW): Remove.
13438 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13439 Access the new x_window field directly.
13440 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13441 Don't wrap/unwrap integers into Lisp_Objects.
13442 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13443 (x_scroll_bar_report_motion):
13444 Don't wrap/unwrap integers into Lisp_Objects.
13445 (x_term_init): Use SDATA.
13446 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13447 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13448 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13449 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13450 * xfns.c (x_set_background_color):
13451 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13452 Access the new x_window field directly.
13453
13454 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13455 (allocate_pseudovector): Make non-static.
13456
13457 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13458 (allocate_pseudovector): Declare.
13459 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13460
134612007-11-15 Andreas Schwab <schwab@suse.de>
13462
13463 * editfns.c (Fformat): Correctly format EMACS_INT values.
13464 Also take precision into account when formatting an integer.
13465
13466 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13467
134682007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13469
13470 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13471 (syms_of_keyboard): Defsubr it.
13472
13473 * data.c (swap_in_global_binding): Fix longstanding bug where
13474 store_symval_forwarding was not called with the right second argument,
13475 thus causing objfwd-ing from being dropped.
13476
134772007-11-14 Juanma Barranquero <lekktu@gmail.com>
13478
13479 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13480 (Fx_display_pixel_height, Fx_display_planes)
13481 (Fx_display_color_cells, Fx_server_max_request_size)
13482 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13483 (Fx_display_visual_class, Fx_display_save_under):
13484 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13485 (Fx_display_pixel_height, Fx_display_planes)
13486 (Fx_display_color_cells, Fx_server_max_request_size)
13487 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13488 (Fx_display_mm_height, Fx_display_mm_width)
13489 (Fx_display_backing_store, Fx_display_visual_class)
13490 (Fw32_select_font, Fx_display_save_under):
13491 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13492 (Fx_display_pixel_height, Fx_display_planes)
13493 (Fx_display_color_cells, Fx_server_max_request_size)
13494 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13495 (Fx_display_save_under): Fix typos in docstrings.
13496
134972007-11-14 Juanma Barranquero <lekktu@gmail.com>
13498
13499 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13500 corresponding to deleted entries; they are an implementation detail.
13501 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13502 Remove variables.
13503 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13504 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13505 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13506 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13507 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13508 (Fw32_define_rgb_color, Fw32_load_color_file)
13509 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13510 Fix typos in docstrings.
13511 (Fx_server_version): Reflow docstring.
13512 (Fw32_shell_execute): Doc fixes.
13513
135142007-11-13 Juanma Barranquero <lekktu@gmail.com>
13515
13516 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13517 if w32_parse_hot_key returned nil.
13518
135192007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13520
13521 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13522
135232007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13524
aac0c6e3
MR
13525 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13526
13527 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13528
13529 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13530 Remove W32_SCROLL_BAR_CLICK_EVENT.
13531
13532 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13533 Add MULTIMEDIA_KEY_EVENT.
13534
13535 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13536 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13537 (make_lispy_event) [WINDOWSNT]: Use it to translate
13538 MULTIMEDIA_KEY_EVENT.
13539
13540 * w32term.h (WM_APPCOMMAND): Define if not already.
13541 (GET_APPCOMMAND_LPARAM): Likewise.
13542
13543 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13544 WM_APPCOMMAND.
13545
13546 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13547 (syms_of_w32fns): Export and initialize it.
13548 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13549
135502007-11-09 Chong Yidong <cyd@stupidchicken.com>
13551
13552 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13553 twice.
13554
13555 * xdisp.c (handle_face_prop): Fix last change.
13556
135572007-11-09 Richard Stallman <rms@gnu.org>
13558
13559 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13560 not just for after-strings and before-strings.
13561 Call face_for_overlay_string and pass the overlay to it.
13562 (handle_display_prop): Determine whether property came from an overlay.
13563 Pass OVERLAY arg to handle_single_display_spec.
13564 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13565 (load_overlay_strings): Fill in it->string_overlays.
13566 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13567
13568 * xfaces.c (face_for_overlay_string): Function renamed from
13569 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13570
13571 * dispextern.h (struct it): New elt string_overlays.
13572 New elt from_overlay, also in stack.
13573 Rearrange a few elements.
13574 (face_for_overlay_string): Decl renamed from
13575 face_at_buffer_position_no_overlays, and add argument.
13576
135772007-11-09 Richard Stallman <rms@gnu.org>
13578
13579 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13580 to get the base face for an overlay string.
13581
13582 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13583
13584 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13585
13586 * xdisp.c (handle_stop): Move some code out of loop.
13587
135882007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13589
13590 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13591 Fix conversion from Lisp object to ATSUFontID.
13592
135932007-11-09 Jason Rumney <jasonr@gnu.org>
13594
13595 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13596
135972007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13598
13599 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13600 Don't assume regions are aligned to page boundary.
13601 (print_load_command_name): Add LC_UUID if defined.
13602
136032007-11-09 Richard Stallman <rms@gnu.org>
13604
13605 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13606
136072007-11-07 Jason Rumney <jasonr@gnu.org>
13608
13609 * s/windows95.h: Remove.
13610
136112007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13612
13613 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13614 abort with a message on unhandled store_type values.
13615
136162007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13617
13618 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13619 Remove HAVE_X11R5 and HAVE_X11R4.
13620
136212007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13622
13623 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13624
136252007-11-01 Johan Bockgård <bojohan@gnu.org>
13626
13627 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13628 Don't set s->stippled_p here, since it has already been set by
13629 x_set_glyph_string_gc from x_draw_glyph_string.
13630
136312007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13632
13633 * sunfns.c: Remove file.
13634
13635 * m/sun386.h:
13636 * m/sun2.h:
13637 * m/sparc.h: Remove Sun windows code.
13638
136392007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13640
13641 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13642 (init_keyboard): Set current_kboard's window-system to nil.
13643 (tty_read_avail_input): Typo.
13644 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13645
136462007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13647
13648 * s/usg5-4.h:
13649 * s/usg5-3.h:
13650 * s/ptx.h:
13651 * m/is386.h:
13652 * m/ibmps2-aix.h:
13653 * Makefile.in: Remove all mentions of X10.
13654
13655 * dispnew.c (syms_of_display): Don't mention version 10.
13656
136572007-10-28 Juanma Barranquero <lekktu@gmail.com>
13658
13659 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13660 ($(BLD)/abbrev.$(O)): Remove.
13661
136622007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13663
13664 Rewrite abbrev.c in Elisp.
13665 * image.c (Qcount): Don't declare as extern.
13666 (syms_of_image): Initialize and staticpro `Qcount'.
13667 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13668 * emacs.c (main): Don't call syms_of_abbrev.
13669 * Makefile.in (obj): Remove abbrev.o.
13670 (abbrev.o): Remove.
13671 * abbrev.c: Remove.
13672
136732007-10-26 Martin Rudalics <rudalics@gmx.at>
13674
13675 * window.c (window_min_size_2): Don't count header-line.
13676
136772007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13678
13679 * frame.h (struct frame): Move all bit fields after the first bit
13680 field to take advantage of the available space. Group all the
13681 chars together to reduce wasted space due to padding.
13682
136832007-10-26 Juanma Barranquero <lekktu@gmail.com>
13684
13685 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13686
13687 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13688 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13689 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13690 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13691 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13692 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13693 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13694 (last_marked, mark_object_loop_halt): Make static.
13695
13696 * frame.c (syms_of_frame) <delete-frame-functions>:
13697 Fix typo in docstring.
13698
136992007-10-25 Juanma Barranquero <lekktu@gmail.com>
13700
13701 * w32.c (init_environment): Fix tiny memory leak.
13702 (w32_get_resource): Remove unused variable `ok'.
13703
137042007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13705
13706 Make `window-system' into a keyboard-local variable (rather than
13707 frame-local as done originally by multi-tty).
13708
13709 * keyboard.h (struct kboard): Add Vwindow_system.
13710 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13711 (mark_kboards): Mark Vwindow_system.
13712
13713 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13714 (init_display): Don't set the obsolete `window-system' frame-param.
13715
13716 * xterm.c (x_term_init):
13717 * w32term.c (w32_create_terminal):
13718 * term.c (init_tty): Set Vwindow_system.
13719 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13720 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13721
13722 * xfns.c (Fx_create_frame, x_create_tip_frame):
13723 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13724 * macfns.c (Fx_create_frame):
13725 Don't set the obsolete `window-system' frame-param.
13726
13727 * frame.h (Qwindow_system): Remove.
13728 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13729 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13730
137312007-10-24 Richard Stallman <rms@gnu.org>
13732
13733 * frame.c (x_figure_window_size): For fullscreen case,
13734 set USPosition | PPosition without clobbering rest of window_prompting.
13735
13736 * keyboard.c (Fcurrent_idle_time): Doc fix.
13737
13738 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13739
137402007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13741
13742 * process.c (unwind_request_sigio): Only define if __ultrix__.
13743
13744 * callproc.c (child_setup): Remove spurious *.
13745
13746 * lisp.h (Fget_text_property): Declare.
13747 (have_menus_p): Declare it here rather than in sys-dep header files.
13748 * macterm.h (have_menus_p):
13749 * msdos.h (have_menus_p):
13750 * xterm.h (have_menus_p): Remove.
13751
13752 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13753 (Fmake_variable_frame_local): Just check the variable's const-ness
13754 rather than checking nil or t.
13755
137562007-10-22 Jason Rumney <jasonr@gnu.org>
13757
13758 * w32fns.c: Include math.h.
13759 (w32_abort): Declaration moved to nt/config.nt.
13760
13761 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13762 (abort): Redefinition moved to nt/config.nt.
13763
13764 * m/windowsnt.h: Remove.
13765
137662007-10-22 Juanma Barranquero <lekktu@gmail.com>
13767
13768 * emacs.c (Fdump_emacs): Fix typo in message.
13769 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13770 <installation-directory>: Reflow docstring.
13771
137722007-10-22 Juri Linkov <juri@jurta.org>
13773
13774 * minibuf.c: Allow minibuffer default to be a list of default values.
13775 With empty input use the first element of this list as returned default.
13776 (string_to_object)
13777 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13778 (read_minibuf): If defalt is cons, set histstring to its car.
13779 (Fread_string): If default_value is cons, set val to its car.
13780 (Fread_buffer): If def is cons, use its car.
13781 (Fcompleting_read): If defalt is cons, set val to its car.
13782
137832007-10-21 Michael Albinus <michael.albinus@gmx.de>
13784
13785 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13786
137872007-10-20 Juanma Barranquero <lekktu@gmail.com>
13788
13789 * doc.c (Fdocumentation): Check for advice in all cases.
13790
137912007-10-19 Chong Yidong <cyd@stupidchicken.com>
13792
13793 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13794
137952007-10-19 Richard Stallman <rms@gnu.org>
13796
13797 * doc.c (Fdocumentation): Check for and handle an advised function.
13798
137992007-10-19 Juanma Barranquero <lekktu@gmail.com>
13800
13801 * process.c (Fset_process_filter): Doc fix.
13802
138032007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13804
13805 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13806 which caused key-translation-map to applied repeatedly (thus breaking
13807 double-mode).
13808
138092007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13810
13811 * xselect.c (x_own_selection, x_handle_selection_clear)
13812 (x_clear_frame_selections):
13813 * w32menu.c (list_of_panes, list_of_items):
13814 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13815 * textprop.c (validate_plist, interval_has_all_properties)
13816 (interval_has_some_properties, interval_has_some_properties_list)
13817 (add_properties, text_property_list):
13818 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13819 * minibuf.c (Fassoc_string):
13820 * macselect.c (x_own_selection, x_clear_frame_selections)
13821 (Fx_disown_selection_internal):
13822 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13823 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13824
138252007-10-17 Chong Yidong <cyd@stupidchicken.com>
13826
13827 * process.c: Link to libs for calling res_init() if available.
13828 (Fmake_network_process): Call res_init() before getaddrinfo or
13829 gethostbyname, if possible.
13830
138312007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13832
13833 * lread.c (read1): Set pvectype for char_tables.
13834
13835 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13836 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13837 Add type checks.
13838 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13839
13840 * alloc.c (free_misc): Use XMISCTYPE.
13841 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13842
138432007-10-17 Glenn Morris <rgm@gnu.org>
13844
13845 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13846 (syms_of_minibuf): Add Qcompletion_ignore_case.
13847 * dired.c (Qcompletion_ignore_case): Change to external.
13848 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13849 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13850 (Fread_file_name): Use it rather than intern'ing.
13851
13852 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13853 (Fread_coding_system): Ignore case of user input.
13854
138552007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13856
13857 * xdisp.c (handle_display_prop): Ignore display specs after
13858 replacing one when string text is being replaced.
13859 (handle_single_display_spec): Pretend as if characters with display
13860 property haven't been consumed only when buffer text is being replaced.
13861
138622007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13863
13864 * xfns.c (Fx_create_frame, Fx_display_list):
13865 * window.c (window_fixed_size_p, enlarge_window)
13866 (shrink_window_lowest_first):
13867 * macterm.c (init_font_name_table):
13868 * macfns.c (Fx_create_frame, Fx_display_list):
13869 * lread.c (close_load_descs):
13870 * keyboard.c (read_char_x_menu_prompt):
13871 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13872 * coding.c (code_convert_region_unwind): Test the type of an object
13873 rather than just !NILP before extracting data from it.
13874
13875 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13876
13877 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13878 (XMISCANY): New macro.
13879 (XMISCTYPE): Use it.
13880 (struct Lisp_Misc_Any): New type.
13881 (union Lisp_Misc): Use it.
13882 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13883 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13884 (find_symbol_value, set_internal, default_value, Fset_default)
13885 (Fmake_variable_buffer_local, Fmake_local_variable)
13886 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13887 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13888 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13889 * alloc.c (allocate_buffer): Set the size and tag.
13890 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13891 Use XMISCANY.
13892 (die): Follow the GNU convention for error messages.
13893 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13894 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13895 tag any more.
13896 (set_buffer_internal_1):
13897 * frame.c (store_frame_param):
13898 * eval.c (specbind):
13899 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13900
13901 * doc.c (Fsnarf_documentation): Simplify.
13902
139032007-10-14 Juanma Barranquero <lekktu@gmail.com>
13904
13905 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13906 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13907
139082007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13909
13910 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13911
139122007-10-14 Juanma Barranquero <lekktu@gmail.com>
13913
13914 * eval.c (do_autoload): Don't save autoloads.
13915
13916 * data.c (Ffset): Save autoload of the function being set.
13917
139182007-10-07 John Paul Wallington <jpw@pobox.com>
13919
13920 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13921 parameter before setting up faces.
13922
139232007-10-13 Eli Zaretskii <eliz@gnu.org>
13924
13925 * ccl.c (Fregister_code_conversion_map):
13926 * keyboard.c (append_tool_bar_item): Reformat last change.
13927
13928 * lisp.h (eabs): Rename from `abs'. All callers changed.
13929
139302007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13931
13932 * buffer.c (add_overlay_mod_hooklist):
13933 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13934 * fontset.c (make_fontset):
13935 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13936 (append_tool_bar_item):
13937 * macmenu.c (grow_menu_items):
13938 * w32menu.c (grow_menu_items):
13939 * xmenu.c (grow_menu_items): Use larger_vector.
13940
139412007-10-13 Eli Zaretskii <eliz@gnu.org>
13942
13943 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13944 selected frame'' on MSDOS).
13945
139462007-10-12 Martin Rudalics <rudalics@gmx.at>
13947
13948 * frame.c (Qexplicit_name): New variable.
13949 (x_report_frame_params): Report it in parameter alist.
13950 (syms_of_frame): Intern and staticpro it.
13951
139522007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13953
13954 * macfns.c (x_create_tip_frame): Set terminal for frame.
13955
139562007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13957
13958 * frame.c (Qenvironment): Remove.
13959 (syms_of_frame) <Qenvironment>: Don't initialize.
13960 (Fdelete_frame): Don't treat the `environment' param specially.
13961 * frame.h (Qenvironment): Don't declare.
13962 * callproc.c (set_initial_environment): Don't set unused frame param.
13963
13964 * frame.c (Fframe_with_environment): Remove.
13965 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13966
13967 * lisp.h (Fframe_with_environment): Don't declare.
13968
139692007-10-10 Juanma Barranquero <lekktu@gmail.com>
13970
13971 * indent.c (indent_tabs_mode, last_known_column)
13972 (last_known_column_modified): Make static.
13973 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13974
139752007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13976
13977 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13978
139792007-10-09 Jason Rumney <jasonr@gnu.org>
13980
13981 * w32term.c (x_set_window_size): Disable code that attempts to tell
13982 Lisp code about a size change before it actually happens.
13983
139842007-10-09 Richard Stallman <rms@gnu.org>
13985
13986 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13987 return HANDLED_RETURN.
13988
139892007-10-08 Martin Rudalics <rudalics@gmx.at>
13990
13991 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13992 when there's an unread command event.
13993
13994 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13995 window autoselection act appropriately when leaving selected frame.
13996 (syms_of_frame): Initialize focus_follows_mouse.
13997 * frame.h (focus_follows_mouse): Extern it.
13998 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13999 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14000 * msdos.c (dos_rawgetc): Likewise.
14001 * w32term.c (w32_read_socket): Likewise.
14002 * xterm.c (handle_one_xevent): Likewise.
14003 * xdisp.c (syms_of_xdisp): In doc-string of
14004 mouse-autoselect-window mention focus-follows-mouse.
14005
140062007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14007
14008 * macterm.c (mac_load_query_font): Fix missing return value.
14009 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14010 Add BLOCK_INPUT.
14011
140122007-10-08 Richard Stallman <rms@gnu.org>
14013
14014 * xdisp.c (get_window_cursor_type): Implement documented behavior
14015 for cursor-in-non-selected-windows = t.
14016
140172007-10-08 Jason Rumney <jasonr@gnu.org>
14018
14019 * w32.c (w32_get_resource): Always close registry keys.
14020
140212007-10-08 Jason Rumney <jasonr@gnu.org>
14022
14023 * makefile.w32-in (LIBS): Add COMCTL32.
14024
14025 * w32fns.c (globals_of_w32fns): Init common controls.
14026
140272007-10-08 Richard Stallman <rms@gnu.org>
14028
14029 * image.c (our_memory_buffer): Rename from omfib_buffer.
14030
140312007-10-08 Richard Stallman <rms@gnu.org>
14032
14033 * buffer.c (Foverlays_at): Doc fix.
14034
140352007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14036
14037 * fns.c (Fplist_put): Preserve uneven tail data.
14038
140392007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14040
14041 * termhooks.h (enum event_kind): Remove trailing comma.
14042
14043 * frame.h (enum): Remove trailing comma.
14044
140452007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14046
14047 * w32proc.c (delete_child): Don't terminate threads of zombies.
14048
140492007-10-08 Martin Rudalics <rudalics@gmx.at>
14050
14051 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14052
14053 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14054 last-repeatable-command.
14055 (init_kboard): Initialize Vlast_repeatable_command.
14056 (command_loop_1): Set it to real_this_command unless that was
14057 bound to an input event.
14058 (mark_kboards): Mark it.
14059
140602007-10-08 Richard Stallman <rms@gnu.org>
14061
14062 * eval.c (condition-case): Doc fix.
14063
140642007-10-08 Masatake YAMATO <jet@gyve.org>
14065
14066 * xfaces.c (tty_supports_face_attributes_p): Fix code
14067 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14068 was copied and not edited.
14069
140702007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14071
14072 Add new `input-decode-map' keymap and use it for terminal
14073 escape sequences.
14074 * keyboard.h (struct kboard): Add Vinput_decode_map.
14075 Remove Vlocal_key_translation_map.
14076 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14077 (init_kboard): Init input-decode-map.
14078 Replace local-key-translation-map back with key-translation-map.
14079 (syms_of_keyboard): Declare input-decode-map.
14080 Remove local-key-translation-map. Update docstrings.
14081 (mark_kboards): Mark Vinput_decode_map.
14082 Don't mark Vlocal_key_translation_map.
14083 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14084 Replace local-key-translation-map back with key-translation-map.
14085 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14086 Bind in input-decode-map rather than function-key-map.
14087
14088 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14089 This was made redundant by the previous introduction of XSETPVECTYPE.
14090
140912007-10-09 Richard Stallman <rms@gnu.org>
14092
14093 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14094
140952007-09-29 Richard Stallman <rms@gnu.org>
14096
14097 * eval.c (internal_condition_case_2, internal_condition_case_1)
14098 (internal_condition_case): Reenable abort if x_catching_errors ()
14099 to see if that really happens and why.
14100
141012007-10-06 Andreas Schwab <schwab@suse.de>
14102
14103 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14104
141052007-10-04 Juanma Barranquero <lekktu@gmail.com>
14106
14107 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14108
141092007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14110
14111 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14112
141132007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14114
14115 * window.h (struct window):
14116 * window.c (struct save_window_data, struct saved_window):
14117 * termhooks.h (struct terminal):
14118 * process.h (struct Lisp_Process):
14119 * frame.h (struct frame):
14120 * buffer.h (struct buffer):
14121 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14122 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14123 The size field of (pseudo)vectors is now unsigned.
14124 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14125
14126 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14127 Turn `count' into an integer.
14128
14129 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14130 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14131 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14132 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14133 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14134
14135 * alloc.c (allocate_pseudovector): New fun.
14136 (ALLOCATE_PSEUDOVECTOR): New macro.
14137 (allocate_window, allocate_terminal, allocate_frame)
14138 (allocate_process): Use it.
14139 (mark_vectorlike): New function.
14140 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14141 (mark_terminals): Use it.
14142 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14143 (Fmake_byte_code): Use XSETPVECTYPE.
14144
14145 * frame.c (Fframe_parameters): Minor simplification.
14146
14147 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14148
14149 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14150
14151 * buffer.c (Fget_buffer_create, init_buffer_once):
14152 * lread.c (defsubr):
14153 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14154
14155 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14156 defined differently in the m/*.h files.
14157 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14158 (XSETPVECTYPE): New macro.
14159 (XSETPSEUDOVECTOR): Use it.
14160
14161 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14162 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14163
14164 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14165 * lread.c (defvar_per_buffer):
14166 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14167
14168 * window.c (candidate_window_p): Only consider as visible frames that
14169 are on the same terminal.
14170
14171 * m/ibms390x.h (MARKBIT): Remove unused macro.
14172
141732007-10-01 Juanma Barranquero <lekktu@gmail.com>
14174
14175 * lread.c (Fload): Fix typo in docstring.
14176
141772007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14178
14179 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14180 of a non-zero value can't yield zero.
14181
141822007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14183
14184 * term.c (term_clear_mouse_face, term_mouse_highlight)
14185 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14186
14187 * print.c (safe_debug_print): Use XHASH.
14188
14189 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14190 Lisp elements such as tags.
14191 (XHASH): New macro.
14192 (EQ): Use it.
14193 (SREF, SSET, STRING_COPYIN): Use SDATA.
14194 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14195
14196 * alloc.c (mark_terminal): Remove left-over declaration.
14197 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14198 (allocate_vectorlike): Remove type argument. Adjust callers.
14199 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14200 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14201
14202 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14203 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14204 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14205 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14206 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14207 Use them.
14208
14209 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14210 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14211 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14212
142132007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14214
14215 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14216 loaded by default.
14217
142182007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14219
14220 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14221 on this tty.
14222 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14223
14224 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14225 Update all users.
14226 (handle_one_term_event): Use Gpm_DrawPointer.
14227 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14228 Signal errors instead of returning nil. Always return nil.
14229 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14230 Make it a noop if gpm-mouse was not activated.
14231 (syms_of_term): Update names.
14232
142332007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14234
14235 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14236 (init_sys_modes): Check that gpm_tty is the current tty.
14237
14238 * alloc.c (allocate_terminal): Set the vector size to only count the
14239 lisp fields. Initialize those to nil.
14240 (mark_object): Don't treat terminals specially.
14241 (mark_terminal): Remove.
14242 (mark_terminals): Use mark_object instead.
14243
14244 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14245 the GC to the beginning.
14246
14247 * indent.h:
14248 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14249
14250 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14251
142522007-09-25 Jason Rumney <jasonr@gnu.org>
14253
14254 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14255
14256 * w32console.c (create_w32cons_output): Remove.
14257
14258 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14259
14260 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14261 (reset_sys_modes): Use reset_terminal_modes_hook.
14262
142632007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14264
14265 * eval.c (do_autoload): Don't output any message.
14266
142672007-09-24 Juri Linkov <juri@jurta.org>
14268
14269 * emacs.c (standard_args): Change priority of "--no-splash"
14270 from 40 to 3. Add "--no-desktop" with the same priority.
14271
142722007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14273
14274 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14275 and optimize the case where they are all 1.
14276
142772007-09-23 Johannes Weiner <hannes@saeurebad.de>
14278
14279 * lisp.h (abs): Define if not defined.
14280 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14281 Don't define `abs', since it's defined in lisp.h.
14282
142832007-09-22 Eli Zaretskii <eliz@gnu.org>
14284
14285 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14286 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14287 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14288 (init_tty): Use DEV_TTY instead of "/dev/tty".
14289 [WINDOWSNT]: No need to protect from NAME arg being null.
14290
142912007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14292
14293 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14294 up the tty state.
14295
142962007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14297
14298 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14299 (gpm_tty): Change its type.
14300 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14301 (gpm_tty): Change its type and initialize it.
14302 (Fterm_open_connection): Check the frame is indeed a tty.
14303 Use the new gpm_tty.
14304 (Fterm_close_connection): Use the new gpm_tty.
14305 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14306 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14307
143082007-09-21 Juanma Barranquero <lekktu@gmail.com>
14309
14310 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14311 underline_color, to draw strike-through.
14312
143132007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14314
14315 * lisp.h (allocate_terminal): Declare.
14316
14317 * window.c (candidate_window_p): Consider frames that are being placed
14318 by the user as somewhere between visible and iconified.
14319 (window_loop): Prefer windows on the current frame.
14320 (Fselect_window): Move the use of select-frame to the beginning so we
14321 can just delegate all the work (it'll call us back anyway).
14322
14323 * frame.c (Qdisplay_environment_variable):
14324 * frame.h (Qdisplay_environment_variable): Delete.
14325
14326 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14327 of the first arg, since that value may be a union.
14328
14329 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14330 parameter rather than Qdisplay_environment_variable. If all else
14331 fails, look for DISPLAY in initial-environment.
14332
143332007-09-21 Glenn Morris <rgm@gnu.org>
14334
14335 * Makefile.in (emacstool): Remove target.
14336 (lisp, shortlisp): Remove termdev.elc.
14337
143382007-09-21 Markus Triska <markus.triska@gmx.at>
14339
14340 * xterm.c (x_delete_display): Compile session management conditionally.
14341
143422007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14343
14344 * callproc.c (getenv_internal_1): New function.
14345 (getenv_internal): Use it.
14346 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14347
14348 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14349 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14350 (Fset_terminal_parameter): Work with dead terminals as well.
14351 (Fmodify_terminal_parameters): Remove.
14352
14353 * terminal.c (get_terminal): Handle terminals.
14354 Make sure the terminal returned is live.
14355 (create_terminal): Use allocate_terminal.
14356 (mark_terminals): Move to alloc.c.
14357 (delete_terminal): Use terminal->name as liveness status.
14358 NULL out fields after freeing their contents.
14359 Don't deallocate the object.
14360 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14361 rather than an int.
14362 (Fterminal_live_p): Accept non-integer arguments.
14363 (Fterminal_list): Return terminal objects rather than an ints.
14364
14365 * alloc.c (enum mem_type): New member for `terminal' objects.
14366 (allocate_terminal): New function.
14367 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14368 Handle terminals.
14369 (mark_terminal): New fun.
14370 (mark_terminals): Move from terminal.c.
14371
14372 * term.c (get_tty_terminal): Don't treat output_initial specially.
14373 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14374 (delete_tty): Use terminal->name as liveness status.
14375
14376 * termhooks.h (struct terminal): Make it into a pseudovector.
14377 Remove `deleted' replaced by checking `name's nullness.
14378
14379 * print.c (print_object): Handle terminals.
14380
14381 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14382 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14383
14384 * frame.c (make_terminal_frame):
14385 * keyboard.c (tty_read_avail_input):
14386 * w32term.c (x_delete_terminal):
14387 * xfns.c (Fx_create_frame, x_create_tip_frame):
14388 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14389
143902007-09-20 Glenn Morris <rgm@gnu.org>
14391
14392 * process.c (Fmake_network_process): Doc fix.
14393
143942007-09-19 Jason Rumney <jasonr@gnu.org>
14395
14396 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14397
143982007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14399
14400 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14401 Fix a C warning regarding variable constness.
14402
14403 * xterm.c (handle_one_xevent): Fix a C warning.
14404
144052007-09-18 Jason Rumney <jasonr@gnu.org>
14406
14407 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14408
144092007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14410
14411 * gtkutil.c (gdpy_def): New variable.
14412 (xg_initialize): Initialize gdpy_def.
14413 (xg_display_close): If no other display exists, set gdpy_def to a
14414 new connection.
14415
144162007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14417
14418 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14419 when we have no file name for the icon.
14420 (xg_tool_bar_expose_callback): Remove.
14421 (xg_create_tool_bar): Don't connect expose signal to
14422 xg_tool_bar_expose_callback.
14423 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14424
144252007-09-16 Andreas Schwab <schwab@suse.de>
14426
14427 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14428 values instead of zapping them.
14429
144302007-09-14 Glenn Morris <rgm@gnu.org>
14431
14432 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14433 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14434 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14435 scope and rename to omfib_buffer for clarity.
14436 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14437
144382007-09-14 Kenichi Handa <handa@m17n.org>
14439
14440 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14441
144422007-09-13 Jason Rumney <jasonr@gnu.org>
14443
14444 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14445
14446 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14447
14448 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14449 (mac_term_init): Call here instead, passing rif.
14450
144512007-09-13 Glenn Morris <rgm@gnu.org>
14452
14453 * s/hpux.h: No longer define `static' as nothing.
14454
144552007-09-13 Johan Bockgård <bojohan@gnu.org>
14456
14457 * callint.c (Fcall_interactively): Remove unused var `fun'.
14458
144592007-09-12 Romain Francoise <romain@orebokech.com>
14460
14461 * window.c (prefer_window_split_horizontally, display_buffer):
14462 Revert 2007-09-08 change.
14463
144642007-09-12 Glenn Morris <rgm@gnu.org>
14465
14466 * alloca.c: Remove file.
14467 * Makefile.in (alloca): Do not undef.
14468 (allocaobj, alloca.o): Remove.
14469 (otherobj): Remove allocaobj.
14470 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14471 * regex.c (C_ALLOCA): Remove all references and code that was only
14472 used when this was defined.
14473 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14474 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14475 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14476
14477 * Makefile.in (SOURCES, unlock, relock): Delete.
14478
14479 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14480 (menu_grab_callback): All uses changed.
14481
14482 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14483 (x_reply_selection_request): All uses changed.
14484
144852007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14486
14487 * lread.c (load_warn_old_style_backquotes): Change message to look
14488 better when it appears in the middle of byte-compiler messages.
14489
144902007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14491
14492 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14493
14494 * xterm.c (x_create_terminal): Add comment.
14495
14496 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14497
144982007-09-10 Richard Stallman <rms@gnu.org>
14499
14500 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14501
145022007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14503
14504 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14505 (DEFUN): Document `intspec', use it instead of `prompt'.
14506
14507 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14508
14509 * data.c (Finteractive_form): If the interactive specification starts
14510 with a `(', use it as a Lisp form.
14511
14512 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14513 name and file modes.
14514
14515 * callint.c (Fcall_interactively): Comment fixes.
14516
145172007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14518
14519 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14520 and compiled functions.
14521
145222007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14523
14524 * window.c (prefer_window_split_horizontally): New variable.
14525 (display_buffer): Consider splitting window horizontally depending
14526 on prefer_window_split_horizontally.
14527
145282007-09-08 Eli Zaretskii <eliz@gnu.org>
14529
14530 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14531
145322007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14533
14534 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14535
14536 * frame.c (x_set_frame_parameters): Check number is positive before
14537 using XFASTINT.
14538
14539 * window.c (freeze_window_start): Don't presume selected_window holds
14540 a window object.
14541 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14542
145432007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14544
14545 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14546
145472007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14548
14549 * window.c (Vsplit_window_preferred_function): New var.
14550 (Fdisplay_buffer): Use it.
14551 (syms_of_window): Export, and initialize it.
14552
145532007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14554
14555 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14556
145572007-09-06 Glenn Morris <rgm@gnu.org>
14558
14559 * gtkutil.c (menu_grab_callback) <cnt>:
14560 * xselect.c (x_reply_selection_request) <cnt>: Move static
14561 variable to file scope.
14562
145632007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14564
14565 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14566 consistent values of selected_frame and selected_window.
14567
145682007-09-04 Jason Rumney <jasonr@gnu.org>
14569
14570 * w32console.c (initialize_w32_display): Zero unused hooks.
14571
145722007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14573
14574 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14575 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14576
145772007-09-04 Jason Rumney <jasonr@gnu.org>
14578
14579 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14580 in w32console.c. Set up input. Remove XXX comments that have been
14581 confirmed as correct.
14582
14583 * s/ms-w32.h (MULTI_KBOARD): Define.
14584
14585 * w32console.c (one_and_only_w32cons): Remove.
14586 (initialize_w32_display): Take terminal argument.
14587
14588 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14589 initialize_w32_display.
14590 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14591
14592 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14593
14594 * keyboard.c (discard_mouse_events): Discard it.
14595 (make_lispy_event): Translate it to a lisp event.
14596 (lispy_wheel_names): Add wheel-left and right events.
14597 (syms_of_keyboard): Enlarge wheel_syms.
14598
14599 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14600 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14601
14602 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14603
14604 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14605 from WM_MOUSEHWHEEL.
14606 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14607
14608 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14609 terminal.
14610
14611 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14612 keyboard for the terminal.
14613
146142007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14615
14616 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14617 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14618 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14619 and resume-tty-function to resume-tty-hook.
14620 (Fsuspend_tty, Fresume_tty): Use new names.
14621
146222007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14623
14624 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14625 if it starts with "n:".
14626
146272007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14628
14629 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14630
146312007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14632
14633 * frame.h:
14634 * frame.c (Qterm_environment_variable): Remove.
14635 (syms_of_frame): Don't init and staticpro it.
14636
14637 * callproc.c (getenv_internal): Remove special case for $TERM.
14638
14639 * callproc.c (Vinitial_environment): New variable.
14640 (set_initial_environment): Initialize it.
14641 (syms_of_callproc): Declare it.
14642 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14643 TERM under which a process runs is never related to the TERM in which
14644 Emacs is running.
14645
146462007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14647
14648 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14649 * s/darwin.h: ... do it here.
14650
146512007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14652
14653 * lisp.h (set_initial_environment): Rename from set_global_environment.
14654
14655 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14656 removed by mistake on the multi-tty branch.
14657
14658 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14659 (Fmodify_frame_parameters): Return a value.
14660
14661 * image.c (png_load): Comment-out var only used in commented-out code.
14662
14663 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14664 before passing it to mark_object.
14665
14666 * xfaces.c (internal_resolve_face_name): Return a value.
14667 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14668
14669 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14670 (x_icon): Comment-out var only used in commented-out code.
14671
146722007-08-29 Romain Francoise <romain@orebokech.com>
14673
14674 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14675 QUIT hasn't been provided.
14676
146772007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14678
14679 * callproc.c (child_setup, getenv_internal): Use the
14680 display-environment-variable and term-environment-variable frame params.
14681 (set_initial_environment): Initialise Vprocess_environment.
14682
14683 * config.in: Disable multi-keyboard support on a mac.
14684
14685 * frame.c (Qterm_environment_variable)
14686 (Qdisplay_environment_variable): New variables.
14687 (syms_of_frame): Intern and staticpro them.
14688 (Fmake_terminal_frame): Disable output method test.
14689
14690 * frame.h: Declare them here.
14691
14692 * macfns.c (x_set_mouse_color): Get rif from the frame.
14693 (x_set_tool_bar_lines): Don't use updating_frame.
14694 (mac_window): Add 2 new parameters for consistency with other systems.
14695 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14696 frame parameters following what is done in X11 and w32. Don't use
14697 FRAME_MAC_DISPLAY_INFO.
14698 (Fx_open_connection, start_hourglass): Remove window-system check.
14699 (x_create_tip_frame): Get the keyboard from the terminal.
14700
14701 * macmenu.c: Reorder includes.
14702 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14703
14704 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14705 terminal parameter.
14706 (x_clear_frame): Add a frame parameter.
14707 (note_mouse_movement): Get rif from the frame.
14708 (mac_term_init): Initialize the terminal.
14709 (mac_initialize): Make static and move terminal initialization ...
14710 (mac_create_terminal): ... to this new function.
14711
14712 * macterm.h (struct mac_display_info): Add terminal.
14713 (mac_initialize): Delete declaration.
14714
14715 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14716
14717 * sysdep.c: Comment out text after #endif.
14718
14719 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14720 is defined. Better initialize ttys in windows. Use terminal
14721 specific mouse_position_hook.
14722
14723 * termhooks.h (union display_info): Add mac_display_info.
14724
14725 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14726 Set the default minibuffer frame, window_system and the rest of the
14727 frame parameters following what is done in X11.
14728
14729 * w32term.c (w32_initialize): Make static.
14730
14731 * xselect.c (x_handle_selection_clear): Only access
14732 terminal->kboard when MULTI_KBOARD is defined.
14733
14734 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14735 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14736
147372007-08-29 Jason Rumney <jasonr@gnu.org>
14738
14739 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14740 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14741
14742 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14743 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14744
14745 * keyboard.c (restore_kboard_configuration): Only define when
14746 MULTI_KBOARD defined.
14747
14748 * makefile.w32-in: Update dependancies from Makefile.in.
14749 (OBJ1): Add terminal.$(O)
14750
14751 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14752 Don't define function body.
14753 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14754
14755 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14756
14757 * w32.c (request_sigio, unrequest_sigio): Remove.
14758
14759 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14760 (w32con_clear_frame, w32con_clear_end_of_line)
14761 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14762 (w32con_delete_glyphs, w32con_set_terminal_window)
14763 (scroll_line, w32_sys_ring_bell): Add frame arg.
14764 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14765 Add terminal arg.
14766 (PICK_FRAME): Remove.
14767 (w32con_write_glyphs): Use frame specific terminal coding.
14768 (one_and_only_w32cons): New global variable.
14769 (initialize_w32_display): Use it for storing hooks.
14770 (create_w32cons_output): New function.
14771
14772 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14773 arg a frame.
14774
14775 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14776 Set window_system.
14777 (x_set_tool_bar_lines): Don't use updating_frame.
14778 (Fx_create_frame): Set terminal and ref count.
14779 (Fx_open_connection): Remove window-system check.
14780
14781 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14782
14783 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14784 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14785 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14786 Add frame arg.
14787 (x_delete_terminal, w32_create_terminal): New functions.
14788 (w32_term_init): Create a terminal.
14789 (w32_initialize): Move terminal specific initialization to
14790 w32_create_terminal.
14791
14792 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14793 (w32_clear_rect, w32_clear_area): Use background from frame.
14794 (w32_display_info): Add terminal.
14795 (w32_sys_ring_bell, x_delete_display): Declare here.
14796
14797 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14798
14799 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14800
148012007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14802
14803 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14804 Fix get_named_tty calls for the controlling tty.
14805
148062007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14807
14808 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14809
148102007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14811
14812 * term.c (tty_insert_glyphs): Add missing first parameter.
14813
148142007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14815
14816 * buffer.c (Fbuffer_list, Fbury_buffer):
14817 Take frame->buried_buffer_list into account.
14818
14819 * cm.c (current_tty): New variable, for cmputc().
14820 (cmputc): Use it.
14821 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14822 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14823 (cmgoto): Add tty parameter. Pass it on to calccost().
14824 Use emacs_tputs() instead of tputs().
14825
14826 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14827 tputs().
14828 (current_tty): New variable, for cmputc().
14829 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14830
14831 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14832 (internal_condition_case, internal_condition_case_1)
14833 (internal_condition_case_2): Don't abort when x_catching_errors.
14834
14835 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14836 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14837 prevent crashes caused by bogus longjmps in read_char.
14838
14839 * keymap.h (Fset_keymap_parent): Add EXFUN.
14840
14841 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14842 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14843 Remove redundant definition.
14844
14845 * macfns.c (x_set_mouse_color, x_make_gc):
14846 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14847
14848 * w32term.c (x_free_frame_resources):
14849 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14850 (w32_initialize): Use the accessor macros for terminal characteristics.
14851
14852 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14853 Use the accessor macros for terminal characteristics.
14854 * msdos.c (internal_terminal_init): Use the accessor macros for
14855 terminal characteristics.
14856 (ScreenVisualBell, internal_terminal_init):
14857 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14858
14859 * termopts.h (no_redraw_on_reenter): Declare.
14860
14861 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14862 (mark_terminals, mark_ttys): Declare.
14863 (Fgarbage_collect): Call them.
14864 (mark_object): Mark buried_buffer_list.
14865
14866 * prefix-args.c: Include stdlib.h for exit.
14867
14868 * syssignal.h: Add comment.
14869
14870 * indent.c: Include stdio.h.
14871
14872 * window.h (Vinitial_window_system): Declare.
14873 (Vwindow_system): Delete declaration.
14874
14875 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14876
14877 * image.c (lookup_image): Don't initialize `c' until the xasserts
14878 have been run.
14879
14880 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14881 FRAME_FOREGROUND_PIXEL.
14882
14883 * print.c (print_preprocess): Don't lose print_depth levels while
14884 iterating.
14885
14886 * widget.c (update_from_various_frame_slots):
14887 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14888
14889 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14890 frames.
14891 (window_internal_height): Remove bogus make_number call.
14892 (init_window_once): Call make_terminal_frame with two zero parameters.
14893
14894 * fileio.c (Fread_file_name): Update comment.
14895
14896 * callint.c (Fcall_interactively):
14897 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14898 Make sure it is correctly unwound.
14899
14900 * xsmfns.c (x_session_close): New function.
14901
14902 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14903 Delete declarations.
14904
14905 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14906 (x_output): Remove background_pixel and foreground_pixel fields.
14907 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14908 (x_delete_device, x_session_close): Declare.
14909
14910 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14911 (read_filtered_event): Call `read_char' with a local
14912 `wrong_kboard_jmpbuf'.
14913
14914 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14915 Don't call single_kboard_state. Use FRAME_RIF.
14916
14917 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14918 systems.
14919
14920 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14921 (Fframe_with_environment, Fset_input_meta_mode)
14922 (Fset_quit_char): EXFUN.
14923 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14924 (init_sys_modes, reset_sys_modes): Update prototypes.
14925 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14926
14927 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14928 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14929 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14930 Delete declarations.
14931 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14932 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14933 New declarations.
14934
14935 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14936 already does that during init_display(). Call syms_of_keymap
14937 before syms_of_keyboard. Call `syms_of_terminal'.
14938 Call set_initial_environment, not set_process_environment.
14939 (shut_down_emacs): Call reset_all_sys_modes() instead of
14940 reset_sys_modes().
14941
14942 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14943 (internal_resolve_face_name, resolve_face_name_error): New functions.
14944 (resolve_face_name): Protect against loops and errors thrown by Fget.
14945 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14946 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14947
14948 * scroll.c: Replace CURTTY() with local variables throughout the
14949 file (where applicable).
14950 (calculate_scrolling, calculate_direct_scrolling)
14951 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14952 characteristics.
14953
14954 * keymap.c (Vfunction_key_map): Remove.
14955 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14956 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14957 (Vkey_translation_map): Remove.
14958 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14959 (Fdescribe_buffer_bindings)
14960 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14961 Update for terminal-local key-translation-map.
14962
14963 * Makefile.in (callproc.o): Update dependencies.
14964 (lisp, shortlisp): Add termdev.elc.
14965 (obj): Add terminal.o.
14966 (terminal.o): Add dependencies.
14967 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14968 (data.o, fns.o): Add termhooks.h dependency.
14969 (SOME_MACHINE_LISP): Add dnd.elc.
14970 (minibuf.o): Fix typo.
14971 Update dependencies.
14972
14973 * data.c (do_symval_forwarding, store_symval_forwarding)
14974 (find_symbol_value): Use the selected frame's keyboard, not
14975 current_kboard.
14976
14977 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14978 Vwindow_system.
14979
14980 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14981 Fmenu_bar_open.
14982 (syms_of_xmenu): Update defsubr.
14983 (mouse_position_for_popup, Fx_popup_menu)
14984 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14985 (set_frame_menubar, free_frame_menubar)
b97439ce 14986 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
14987 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14988 an X frame.
14989
14990 * xselect.c (x_own_selection): Abort if not an X frame.
14991 (some_frame_on_display): Check if it is an X frame.
14992 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14993
14994 * coding.c: Include frame.h and termhooks.h.
14995 (terminal_coding, keyboard_coding): Delete.
14996 (Fset_terminal_coding_system_internal)
14997 (Fset_keyboard_coding_system_internal)
14998 (Fkeyboard_coding_system)
14999 (Fterminal_coding_system): Add a terminal parameter.
15000 Get terminal_coding from the terminal.
15001 (init_coding_once): Don't call setup_coding_system here.
15002
15003 * dispextern.h (set_scroll_region, turn_off_insert)
15004 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15005 (tty_clear_end_of_line, tty_setup_colors)
15006 (delete_tty, updating_frame)
15007 (produce_special_glyphs, produce_glyphs, write_glyphs)
15008 (insert_glyphs): Remove.
15009 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15010 (tty_turn_off_highlight, get_tty_size): Add declaration.
15011 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15012
15013 * frame.h (enum output_method): Add output_initial.
15014 (struct x_output): Delete.
15015 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15016 Access foreground_pixel and background_pixel directly from the frame.
15017 (tty_display): Delete.
15018 (struct frame): Add buried_buffer_list, foreground_pixel,
15019 background_pixel and terminal. Delete kboard.
15020 (union output_data): Add tty.
15021 (FRAME_KBOARD): Get the kboard from the terminal.
15022 (FRAME_INITIAL_P): New macro.
15023 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15024 (Qterm_environment_variable, Qdisplay_environment_variable)
15025 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15026 New declarations.
15027
15028 * termchar.h (tty_output, tty_display_info): New structures.
15029 (tty_list): Declare.
15030 (FRAME_TTY, CURTTY): New macros.
15031 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15032 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15033 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15034 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15035
15036 * callproc.c: Include frame.h and termhooks.h, for terminal
15037 parameters.
15038 (add_env): New function.
15039 (child_setup): Use it.
15040 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15041 (getenv_internal): Fix get_terminal_param call.
15042 (Fgetenv_internal, egetenv): Update doc.
15043 (syms_of_callproc): Initialize Vprocess_environment to nil.
15044 Register and initialize them. Remove obsolete defvars. Update doc
15045 strings.
15046 (child_setup): Handle Vlocal_environment_variables.
15047 (getenv_internal): Add terminal parameter.
15048 Handle Vlocal_environment_variables.
15049 (Fgetenv_internal): Add terminal parameter.
15050 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15051 environment in a frame (not terminal) parameter. Update doc strings.
15052 (set_initial_environment): Rename from set_global_environment.
15053 Store Emacs environment in initial frame parameter.
15054
15055 * xdisp.c (redisplay_internal): Update references to
15056 `previous_terminal_frame'.
15057 (display_mode_line, Fformat_mode_line): Replace calls to
15058 `push_frame_kboard' with `push_kboard'.
15059 (get_glyph_string_clip_rects): Add extra parentheses and
15060 braces to prevent compiler warnings.
15061 (calc_pixel_width_or_height): Add xassert to check that the
15062 frame is alive. Don't call `lookup_image' on a termcap frame.
15063 (message2_nolog, message3_nolog, redisplay_internal)
15064 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15065 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15066 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15067 (Fx_display_pixel_width, Fx_display_pixel_height)
15068 (Fx_display_planes, Fx_display_color_cells)
15069 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15070 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15071 (Fx_display_backing_store, Fx_display_visual_class)
15072 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15073 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15074
15075 * xfns.c (x_set_foreground_color x_set_background_color)
15076 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15077 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15078 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15079 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15080 terminal that is being deleted.
15081 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15082 frame parameter, and make sure it overrides any user-supplied setting.
15083 (Fx_close_connection, Fx_synchronize): Unify argument names with
15084 the rest of the DEFUNs.
15085
15086 * dispnew.c (Fsend_string_to_terminal): Update call to
15087 `get_tty_terminal'.
15088 (Fredraw_frame, Fsend_string_to_terminal)
15089 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15090 FRAME_TERMCAP_P and FRAME_TTY.
15091 (window_change_signal): Don't believe width/height values that are
15092 impossibly small.
15093 (Vinitial_window_system): Rename from Vwindow_system.
15094 (termscript, Wcm, rif): Delete.
15095
15096 * termhooks.h (struct terminal): New struct containing the
15097 previously global text display hooks and new members NAME,
15098 DELETED and PARAM_ALIST.
15099 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15100 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15101 (FRAME_RIF): New macros.
15102 (get_terminal_param, get_device): New declarations.
15103 (termscript): Delete declaration.
15104
15105 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15106 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15107 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15108 FRAME_FOREGROUND_PIXEL.
15109 (x_fully_uncatch_errors): Disable definition.
15110 (x_scroll_bar_expose): Fix reference to foreground pixel.
15111 (XTread_socket): Disable loop on all X displays.
15112 (x_delete_terminal): Don't set terminal->deleted and let
15113 delete_terminal delete the frames on the terminal.
15114 (x_delete_display): Doc update to reflect changes in
15115 delete_terminal.
15116 (x_display_info) <terminal>: Move member earlier in the struct.
15117 (deleting_tty): Remove old variable.
15118 (Fsuspend_tty): Call clear_tty_hooks.
15119 (Fresume_tty, init_tty): Call set_tty_hooks.
15120 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15121 errors on X frames.
15122 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15123 (handle_one_xevent): Initialize `f' to NULL.
15124 (x_delete_terminal, x_create_terminal): New functions.
15125 (XTset_terminal_modes, XTreset_terminal_modes)
15126 (XTread_socket, x_connection_closed, x_term_init)
15127 (x_term_init, x_delete_display): Add terminal parameter.
15128 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15129 X connections.
15130
15131 * frame.c: Include termchar.h.
15132 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15133 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15134 (Qdisplay_environment_variable): New vars.
15135 (Fframep): Deal with output_initial.
15136 (Fframe-live-p): Doc fix.
15137 (Fwindow-system): New function.
15138 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15139 (make_terminal_frame): Don't create frames on a terminal that is
15140 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15141 (store_frame_param): Check for found_for_frame before calling XFRAME.
15142 (Fmake_terminal_frame): Handle NULL tty names correctly.
15143 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15144 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15145 frames to refer to a deleted frame in their 'environment parameter.
15146 (Fframe_with_environment): New function.
15147 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15148 (get_future_frame_param): New function.
15149 (Fmake_terminal_frame): Use it.
15150 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15151
15152 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15153 * sysdep.c (reset_sys_modes): Update for renames.
15154
15155 * keyboard.c (tty_read_avail_input): New function.
15156 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15157 (syms_of_keyboard): Defsubr them.
15158 (Fset_input_meta_mode, Fset_quit_char): New functions.
15159 (Fset_input_mode): Split to above functions.
15160 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15161 parameter. Use it in call to `read_char'.
15162 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15163 Set wrong_kboard_jmpbuf correctly in recursive calls.
15164 Use current_kboard to access Vkeyboard_translate_table.
15165 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15166 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15167 Update longjmp invocations. Remember the original current_kboard,
15168 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15169 changes it. Comment out unnecessary calls to
15170 `record_single_kboard_state' and `any_kboard_state'.
15171 Update recursive calls.
15172 (wrong_kboard_jmpbuf): Remove global variable.
15173 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15174 Handle deleted interrupted_kboards correctly; that is a legal
15175 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15176 and read_char calls. Abort if interrupted_kboard died in read_char.
15177 (any_kboard_state, single_kboard_state)
15178 (push_frame_kboard): Remove function.
15179 (pop_kboard): Switch out of single_kboard mode if the kboard has
15180 been deleted. Remove unused variable. Help debugging by not
15181 changing current_kboard unnecessarily. Set current_kboard to the
15182 kboard of the selected frame when the stored kboard object has
15183 been deleted before pop_kboard.
15184 (temporarily_switch_to_single_kboard): Change first parameter to a
15185 frame pointer. Throw an error when caller wants to change kboards
15186 while in single_kboard mode. Don't push_kboard if we weren't in
15187 single kboard state. Don't pop_kboard if we popped into any
15188 kboard state.
15189 (restore_kboard_configuration): Abort if pop_kboard changed the
15190 kboard in single_kboard mode. Call pop_kboard only after setting
15191 up single_kboard mode.
15192 (Frecursive_edit): Switch to single_kboard mode only in nested
15193 command loops.
15194 (cmd_error, command_loop, command_loop_1, timer_check):
15195 Comment out unnecessary call to `any_kboard_state' and
15196 `record_single_kboard_state'.
15197 (delete_kboard): Exit single_kboard mode if we have just deleted
15198 that kboard. Use FRAME_KBOARD.
15199 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15200 `fatal_error_signal'.
15201 (record_single_kboard_state): Don't push_kboard if we weren't in
15202 single kboard state. Don't pop_kboard if we popped into any
15203 kboard state.
15204 (push_frame_kboard): Rename to push_kboard.
15205 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15206 (read_avail_input): Read input from all terminals.
15207 (mark_kboards): Also mark Vkeyboard_translate_table.
15208 (kbd_buffer_store_event_hold): Simplify condition.
15209 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15210 (Vkeyboard_translate_table): Move to struct kboard.
15211 (init_kboard): Initialize Vkeyboard_translate_table.
15212 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15213 Vkeyboard_translate_table. Update doc strings. Update docs of
15214 local-function-key-map and function-key-map.
15215
15216 * terminal.c: New file.
15217
15218 * term.c: Include errno.h.
15219 (Vring_bell_function, device_list, initial_device)
15220 (next_device_id, ring_bell, update_begin, update_end)
15221 (set_terminal_window, cursor_to, raw_cursor_to)
15222 (clear_to_end, clear_frame, clear_end_of_line)
15223 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15224 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15225 (syms_of_term): Move their initialization to terminal.c.
15226 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15227 (Ftty_display_color_cells)
15228 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15229 (clear_tty_hooks, set_tty_hooks)
15230 (init_tty, maybe_fatal): New functions.
15231 (Ftty_type): Return nil if terminal is not on a tty instead of
15232 throwing an error. Doc update.
15233 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15234 Doc update. Initialize new subrs and variables.
15235 (delete_tty): Use terminal->deleted.
15236 (tty_set_terminal_modes): Rename from set_terminal_modes.
15237 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15238 (set_scroll_region): Rename to `tty_set_scroll_region'.
15239 (turn_on_insert): Rename to `tty_turn_on_insert'.
15240 (turn_off_insert): Rename to `tty_turn_off_insert'.
15241 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15242 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15243 (toggle_highligh): Rename to `tty_toggle_highlight'.
15244 (background_highlight): Rename to `tty_background_highlight'.
15245 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15246 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15247 (tty_set_scroll_region, tty_background_highlight)
15248 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15249 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15250 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15251 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15252 Add static modifier.
15253 (tty_reset_terminal_modes, tty_set_terminal_window)
15254 (tty_set_scroll_region, tty_background_highlight)
15255 (tty_highlight_if_desired, tty_cursor_to)
15256 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15257 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15258 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15259 renames.
15260
152612007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15262
15263 * keyboard.c: Qrtl is new.
15264 (parse_tool_bar_item): Handle :rtl keyword.
15265 (syms_of_keyboard): Intern :rtl keyword.
15266
15267 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15268
15269 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15270 so no Lisp code is executed.
15271 (file_for_image, find_rtl_image): New functions.
15272 (xg_get_image_for_pixmap): Use file_for_image.
15273 (update_frame_tool_bar): If direction is RTL, use RTL image if
15274 defined. Use Gtk stock images if defined.
15275
152762007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15277
15278 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15279 for nonexistent or zero-width glyph in composition glyph.
15280
152812007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15282
15283 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15284
15285 * xdisp.c (Finvisible_p): New function.
15286 (syms_of_xdisp): defsubr it.
15287
152882007-08-24 Juanma Barranquero <lekktu@gmail.com>
15289
15290 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15291 Doc fixes.
15292
152932007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15294
15295 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15296
152972007-08-24 Martin Rudalics <rudalics@gmx.at>
15298
15299 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15300 whether decoding has modified buffer contents.
15301
153022007-08-24 Jason Rumney <jasonr@gnu.org>
15303
15304 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15305 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15306 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15307 (init_svg_functions) [HAVE_NTGUI]: New function.
15308 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15309 (svg_load_image): Use them.
15310 (svg_load_image) [HAVE_NTGUI]: Implement background.
15311
153122007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15313
15314 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15315 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15316 (LIBX): Remove @RSVG_LIBS@.
15317 (LIBES): Add $(RSVG_LIBS).
15318
15319 * image.c (svg_load_image): Blend with specified background if exists.
15320 Use IMAGE_BACKGROUND. Add Mac OS Support.
15321
15322 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15323 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15324 Remove macros.
15325 [MAC_OSX] (socket_callback): Do nothing.
15326 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15327 ReceiveNextEvent.
15328 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15329 socket_callback.
15330 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15331
153322007-08-22 Glenn Morris <rgm@gnu.org>
15333
15334 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15335
153362007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15337
15338 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15339
15340 * image.c: Add support for SVG images. Some additional comments
15341 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15342 (svg_image_p): New function to test for SVG image.
15343 (svg_load): New function to load SVG image.
15344 (svg_load_image): New function, helper for svg_load.
15345 (Qsvg): New Lisp_object.
15346 (svg_keyword_index): New enum.
15347 (svg_format): New static `image_keyword' struct.
15348 (svg_type): New static `image_type' struct.
15349 (librsvg/rsvg.h): Include it.
15350
153512007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15352
15353 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15354
153552007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15356
15357 * lread.c (Qold_style_backquotes): New var.
15358 (syms_of_lread): Init and staticpro it.
15359 (load_warn_old_style_backquotes): New fun.
15360 (Fload): Use them to warn about old style backquotes.
15361 (end_of_file_error, Fload): Remove unused vars.
15362
15363 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15364
15365 * lread.c (Vold_style_backquotes): New var.
15366 (syms_of_lread): Init and export it to Elisp.
15367 (read1): Set it when we find an old-style (back)quote.
15368
153692007-08-22 Jason Rumney <jasonr@gnu.org>
15370
15371 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15372
153732007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15374
15375 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15376
153772007-08-19 Richard Stallman <rms@gnu.org>
15378
15379 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15380
153812007-08-19 Andreas Schwab <schwab@suse.de>
15382
15383 * alloc.c (pure): Round PURESIZE up.
15384
153852007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15386
15387 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15388 active frame.
15389
153902007-08-16 Richard Stallman <rms@gnu.org>
15391
15392 * eval.c (Fcommandp): Add parens to clarify.
15393
15394 * minibuf.c (Fall_completions): Use enum for type of table.
15395
15396 * emacs.c (USAGE2): Improve text.
15397
153982007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15399
15400 * term.c (tty_default_color_capabilities): Declare static
15401 variables in file scope, to avoid HPUX compiler problem.
15402
154032007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15404
15405 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15406 to gtk_toolbar_insert.
15407
154082007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15409
15410 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15411
15412 * insdel.c (reset_var_on_error): New fun.
15413 (signal_before_change, signal_after_change):
15414 Use it to reset (after|before)-change-functions to nil in case of error.
15415 Bind inhibit-modification-hooks to t.
15416 Don't bind (after|before)-change-functions to nil while they run.
15417
154182007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15419
15420 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15421 filling pixmap with stippled background.
15422
154232007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15424
15425 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15426 Don't use invisible frame as parent window for repositioning.
15427
154282007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15429
15430 * print.c (new_backquote_output): Rename from old_backquote_output.
15431 (print): Inverse its logic (according to its name) so as to match the
15432 behavior of new_backquote_flag in lread.c.
15433
154342007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15435
15436 * gmalloc.c (posix_memalign): New function.
15437
15438 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15439 ActivateControl/DeactivateControl here.
15440 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15441 frame-notice-user-settings is non-nil.
15442 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15443 for kEventParamFMFontStyle.
15444 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15445 mac_pass_command_to_system and mac_pass_control_to_system here.
15446 (XTread_socket): Call ActivateControl/DeactivateControl here.
15447 (XTread_socket) [TARGET_API_MAC_CARBON]:
15448 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15449 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15450 for window repositioning.
15451
154522007-08-08 Glenn Morris <rgm@gnu.org>
15453
15454 * Replace `iff' in doc-strings and comments.
15455
154562007-08-07 Chong Yidong <cyd@stupidchicken.com>
15457
15458 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15459
154602007-08-07 Martin Rudalics <rudalics@gmx.at>
15461
15462 * fileio.c (Finsert_file_contents): Run format-decode and
15463 after_insert_file_functions on entire buffer when REPLACE is
15464 non-nil and inhibit modification_hooks and point_motion_hooks.
15465 For consistency, run after_insert_file_functions iff something
15466 got inserted. Move signal_after_change and update_compositions
15467 after code running after_insert_file_functions. Make sure that
15468 undo_list doesn't record intermediate steps of the decoding process.
15469
154702007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15471
15472 * emacs.c (main)
15473 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15474 Call malloc_enable_thread on interactive startup.
15475
15476 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15477 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15478 [USE_PTHREAD]: Conditionalize with it.
15479 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15480 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15481 New functions.
15482
154832007-08-06 Chong Yidong <cyd@stupidchicken.com>
15484
15485 * xdisp.c (redisplay_window): When restoring original buffer
15486 position, make sure it is still valid.
15487
15488 * image.c (png_load): Ignore png-supplied background color.
15489
154902007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15491
15492 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15493 Use kCFAbsoluteTimeIntervalSince1970.
15494
15495 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15496 New variable.
15497 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15498 event loop should be quit.
15499 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15500 Quit dialog event loop if quit_dialog_event_loop is set.
15501
15502 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15503 (Selection): New typedef. Use instead of ScrapRef.
15504 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15505 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15506 (mac_clear_selection): Rename from clear_scrap.
15507 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15508 scrap_has_target_type. All uses changed.
15509 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15510 (mac_selection_has_target_p): New functions.
15511 (mac_put_selection_value): Rename from put_scrap_string.
15512 (mac_get_selection_value): Rename from get_scrap_string.
15513 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15514 (put_scrap_private_timestamp, scrap_has_target_type)
15515 (get_scrap_private_timestamp): Remove functions.
15516 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15517 (x_own_selection, x_get_local_selection):
15518 Use mac_valid_selection_value_p.
15519 (x_own_selection): Don't use put_scrap_private_timestamp.
15520 Record OWNERSHIP-INFO into Vselection_alist instead.
15521 (x_get_local_selection): Don't check type if request is local.
15522 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15523 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15524
155252007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15526
15527 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15528 add comment explaining why.
15529
155302007-08-03 Richard Stallman <rms@gnu.org>
15531
15532 * fileio.c (Fvisited_file_modtime): Use make_time.
15533
155342007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15535
15536 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15537 build.
15538
155392007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15540
15541 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15542
155432007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15544
15545 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15546
155472007-07-30 Richard Stallman <rms@gnu.org>
15548
15549 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15550
155512007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15552
15553 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15554
155552007-07-28 Nick Roberts <nickrob@snap.net.nz>
15556
15557 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15558 remote default-directory.
15559
15560 * buffer.c (mode-line-format): Update doc string.
15561
155622007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15563
15564 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15565 scroll bar gap.
15566 (x_scroll_bar_create): Set bar->fringe_extended_p.
15567 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15568 on frame edge. Check fringe background extension. Don't clear
15569 extended fringe background area.
15570
15571 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15572 (w32_fill_area): Enclose multiple statements with do ... while (0).
15573
15574 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15575 Extend fringe background to scroll bar gap.
15576 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15577 Set bar->fringe_extended_p.
15578 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15579 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15580 background extension. Don't clear extended fringe background area.
15581
15582 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15583 New member fringe_extended_p.
15584
155852007-07-25 Glenn Morris <rgm@gnu.org>
15586
15587 * Relicense all FSF files to GPLv3 or later.
15588
15589 * COPYING: Switch to GPLv3.
15590
155912007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15592
15593 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15594
15595 * data.c (Finteractive_form): Check for the presence of an
15596 `interactive-form' symbol property more thoroughly.
15597
15598 * data.c (Finteractive_form): Use an `interactive-form' property if
15599 present, analogous to the function-documentation property.
15600
156012007-07-24 Jason Rumney <jasonr@gnu.org>
15602
15603 * w32fns.c (x_real_positions): Get real position from OS instead of
15604 calculating it.
15605
156062007-07-23 Jason Rumney <jasonr@gnu.org>
15607
15608 * filelock.c (current_lock_owner): Allow for @ sign in username.
15609
156102007-07-22 Nick Roberts <nickrob@snap.net.nz>
15611
15612 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15613 remote default-directory.
15614
15615 * buffer.c (mode-line-format): Describe above case in doc string.
15616
156172007-07-20 Eli Zaretskii <eliz@gnu.org>
15618
15619 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15620 Define if not defined.
15621
156222007-07-18 Jason Rumney <jasonr@gnu.org>
15623
15624 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15625
156262007-07-18 Richard Stallman <rms@gnu.org>
15627
15628 * data.c (Fsetq_default): Doc fix.
15629
15630 * eval.c (Fsetq): Doc fix.
15631
156322007-07-18 Juanma Barranquero <lekktu@gmail.com>
15633
15634 * coding.c (Ffind_operation_coding_system):
15635 * eval.c (For, Fand): Doc fixes.
15636 Reported by Johan Bockgård.
15637
156382007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15639
15640 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15641
15642 * xterm.h: Declare x_ewmh_activate_frame.
15643
15644 * xterm.c (x_ewmh_activate_frame): New function.
15645 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15646
156472007-07-17 Martin Rudalics <rudalics@gmx.at>
15648
15649 * window.c (Fdisplay_buffer): If largest or LRU window is the
15650 only window, split it even if it is not eligible for splitting.
15651 This restores the original behavior broken by the 2007-07-15
15652 change.
15653
156542007-07-17 Glenn Morris <rgm@gnu.org>
15655
15656 * abbrev.c (abbrev_check_chars): New function.
15657 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15658 Call abbrev_check_chars to check abbrev characters are word
15659 constituents. Doc fix.
15660
156612007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15662
15663 * process.c (Fstart_process, Fmake_network_process)
15664 (read_process_output): Fix up last changes.
15665
156662007-07-16 Eli Zaretskii <eliz@gnu.org>
15667
15668 * makefile.w32-in (clean): Don't delete *~.
15669
156702007-07-16 Andreas Schwab <schwab@suse.de>
15671
15672 * window.c (Fdisplay_buffer): Use NILP.
15673 (Fset_window_scroll_bars): Likewise.
15674
156752007-07-15 Martin Rudalics <rudalics@gmx.at>
15676
15677 * window.c (window_min_size_2): New function.
15678 (window_min_size_1, size_window, Fdisplay_buffer)
15679 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15680 windows without mode- or header-lines when window-min-height is
15681 too small.
15682 (size_window): Reset nodelete_p after testing it, following an
15683 earlier note by Kim F. Storm.
15684 (display_buffer): Do not set split_height_threshold to twice the
15685 value of window_min_height to avoid changing the value of a
15686 customizable variable. Rather explicitly check whether the
15687 height of the window that shall be splitted is at least as large
15688 as split_height_threshold.
15689 (Fwindow_full_width_p): New defun.
15690 (syms_of_window): Defsubr it.
15691
15692 * window.h: Add EXFUN for Fwindow_full_width_p.
15693
156942007-07-14 Jason Rumney <jasonr@gnu.org>
15695
15696 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15697
156982007-07-14 Richard Stallman <rms@gnu.org>
15699
15700 * eval.c (maybe_call_debugger): New function.
15701 (find_handler_clause): Use maybe_call_debugger.
15702 Call it when the handler says `debug'.
15703 Eliminate DEBUGGER_VALUE_PTR.
15704 (Fsignal): Eliminate debugger_value.
15705 (Qdebug): New variable.
15706 (syms_of_eval): Initialize it.
15707
157082007-07-14 Juanma Barranquero <lekktu@gmail.com>
15709
15710 * eval.c (Fprogn):
15711 * keyboard.c (Ftrack_mouse):
15712 * print.c (Fwith_output_to_temp_buffer):
15713 * window.c (Fsave_window_excursion): Doc fix.
15714
157152007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15716
15717 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15718
157192007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15720
15721 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15722 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15723 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15724 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15725 Remove unused encoding_carryover.
15726 * process.c: Adjust all functions accordingly.
15727
157282007-07-12 Richard Stallman <rms@gnu.org>
15729
15730 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15731
157322007-07-11 Jason Rumney <jasonr@gnu.org>
15733
15734 * makefile.w32-in (LIBS): Include OLE32.
15735
15736 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15737 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15738
157392007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15740
15741 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15742 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15743 from a Lisp_Object into a bare pointer.
15744 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15745 Adjust the code correspondingly.
15746
15747 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15748
15749 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15750 (term_show_mouse_face): Remove unused var `j'.
15751 (handle_one_term_event): Remove unused vars `i' and `j'.
15752 Don't cast return value of ttyname since it's not necessary.
15753
157542007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15755
15756 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15757 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15758
15759 * fns.c (map_char_table): Use an array of int for `indices' rather than
15760 an array of Lisp_Objects (which are only ever integers anyway).
15761 (Fmap_char_table): Update caller.
15762 * lisp.h: Update prototype.
15763 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15764 * fontset.c (Ffontset_info):
15765 * casetab.c (set_case_table): Update callers.
15766
15767 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15768
15769 * keymap.c (struct accessible_keymaps_data)
15770 (struct where_is_internal_data): New structures.
15771 (accessible_keymaps_1, where_is_internal_1): Use them to change
15772 interface to adhere to the one used by map_keymap.
15773 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15774 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15775
15776 * keymap.h (map_keymap_function_t): More informative prototype.
15777
157782007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15779
15780 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15781 (looking_at_1): Don't change search_regs and last_thing_searched
15782 if `inhibit-changing-match-data' is non-nil.
15783 (string_match_1, search_buffer, set_search_regs): Likewise.
15784 (syms_of_search): Add Lisp level definition for
15785 `inhibit-changing-match-data' and set it to nil.
15786 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15787 start and end of the match, instead of using values in search_regs.
15788
157892007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15790
15791 * minibuf.c (Fcompleting_read): New value `confirm-only'
15792 for `require-match'.
15793
157942007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15795
15796 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15797 part of the 2007-06-27 change to syms_of_fileio.
15798
157992007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15800
15801 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15802 Check WINDOWP before using XWINDOW. Consolidate return statements.
15803
158042007-06-27 Richard Stallman <rms@gnu.org>
15805
15806 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15807
158082007-06-27 Juanma Barranquero <lekktu@gmail.com>
15809
15810 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15811
158122007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15813
15814 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15815 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15816 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15817 (_free_internal, memalign): Use them.
15818 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15819 Initialize to PTHREAD_MUTEX_INITIALIZER.
15820 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15821 (morecore_nolock): Rename from morecore. All uses changed.
15822 Use only nolock versions of internal allocation functions.
15823 (_malloc_internal_nolock, _realloc_internal_nolock)
15824 (_free_internal_nolock): New functions created from
15825 _malloc_internal, _realloc_internal, and _free_internal.
15826 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15827 Copy hook value to automatic variable before its use.
15828 (memalign): Copy hook value to automatic variable before its use.
15829
158302007-06-26 Kenichi Handa <handa@m17n.org>
15831
15832 * coding.c (Ffind_operation_coding_system): Docstring improved.
15833 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15834
158352007-06-25 David Kastrup <dak@gnu.org>
15836
15837 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15838 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15839 cater for additional parameter.
15840
15841 * keymap.h: Adjust number of parameters to `current-active-maps'.
15842
15843 * doc.c (Fsubstitute_command_keys): Adjust call of
15844 `current-active-maps'.
15845
158462007-06-25 David Kastrup <dak@gnu.org>
15847
15848 * callint.c (Fcall_interactively): Make the parsing of interactive
15849 specs somewhat more readable.
15850
158512007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15852
15853 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15854 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15855 if extended background has already been filled.
15856
158572007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15858
15859 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15860 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15861
15862 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15863 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15864 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15865 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15866 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15867 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15868 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15869 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15870 Run timers during dialog popup.
15871 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15872
158732007-06-21 Jason Rumney <jasonr@gnu.org>
15874
15875 * image.c (convert_mono_to_color_image): Swap fore and background.
15876
158772007-06-20 Jason Rumney <jasonr@gnu.org>
15878
15879 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15880 (w32_free_bdf_font): Unmap memory not handle.
15881
158822007-06-20 Sam Steingold <sds@gnu.org>
15883
15884 * gmalloc.c (__morecore): Fix the declaration to comply with the
15885 definition.
15886
158872007-06-20 Juanma Barranquero <lekktu@gmail.com>
15888
15889 * w32term.c (w32_delete_display): Remove leftover declaration.
15890 (w32_define_cursor, w32_initialize): Make static.
15891
15892 * w32.c (_wsa_errlist): Fix typo in error message.
15893 (init_environment): Ignore any environment variable from the
15894 registry having a null value.
15895
158962007-06-20 Glenn Morris <rgm@gnu.org>
15897
15898 * Makefile.in (LIBGIF): Default to -lgif.
15899
159002007-06-17 Jason Rumney <jasonr@gnu.org>
15901
15902 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15903 unicode strings.
15904
159052007-06-16 Juanma Barranquero <lekktu@gmail.com>
15906
15907 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15908 Fix typo in docstring.
15909
159102007-06-16 Eli Zaretskii <eliz@gnu.org>
15911
15912 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15913 and their keybindings.
15914
159152007-06-15 Chong Yidong <cyd@stupidchicken.com>
15916
15917 * composite.c (update_compositions): Fix last fix.
15918
159192007-06-14 Jason Rumney <jasonr@gnu.org>
15920
15921 * w32.c (get_process_times_fn): New function pointer.
15922 (globals_of_w32): Intialize it if present in kernel32.dll.
15923 (w32_get_internal_run_time): New function.
15924
15925 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15926
159272007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15928
15929 * composite.c (update_compositions): Check the validness of
15930 compositions.
15931
159322007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15933
15934 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15935 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15936
15937 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15938 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15939
15940 * macgui.h (USE_MAC_TOOLBAR): New define.
15941
15942 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15943 Return immediately unless popup is activated.
15944
15945 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15946 background to scroll bar gap.
15947 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15948 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15949 scroll bars on frame edge. Check fringe background extension.
15950 Don't clear extended fringe background area.
15951 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15952 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15953 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15954 [USE_MAC_TOOLBAR]: New macros.
15955 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15956 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15957 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15958 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15959 [USE_MAC_TOOLBAR]: New functions.
15960 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15961 manually if previous repositioning has failed.
15962 (mac_handle_keyboard_event): Use precomputed event kind.
15963 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15964 as tool bar item click. Handle mouse movement over tool bar items.
15965
15966 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15967 toolbar_win_gravity.
15968 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15969 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15970 Add externs.
15971
15972 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15973 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15974
159752007-06-14 Chong Yidong <cyd@stupidchicken.com>
15976
15977 * image.c (search_image_cache): Remove unused variable.
15978
159792007-06-13 Chong Yidong <cyd@stupidchicken.com>
15980
15981 * xfns.c, xmenu.c: Link to xaw3d if available.
15982
159832007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15984
15985 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15986 frame_foreground and frame_background.
15987
15988 * image.c (lookup_image): Save frame foreground and background colors.
15989 (search_image_cache): Check if saved and current frame colors match.
15990
159912007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15992
15993 * regex.c (regex_compile): Remove the `regnum' counter.
15994 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15995
159962007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15997
15998 * term.c: Include intervals.h to declare Fget_text_property.
15999
160002007-06-10 Jason Rumney <jasonr@gnu.org>
16001
16002 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16003
160042007-06-08 Juanma Barranquero <lekktu@gmail.com>
16005
16006 * callint.c (Fcall_interactively):
16007 * editfns.c (Fdelete_and_extract_region):
16008 * fileio.c (Fread_file_name):
16009 * fns.c (Fmapconcat):
16010 * keyboard.c (cmd_error_internal):
16011 * keymap.c (Fkey_description):
16012 * lread.c (openp):
16013 * minibuf.c (read_minibuf):
16014 * search.c (wordify):
16015 * sunfns.c (sel_read):
16016 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16017 * xfns.c (x_default_scroll_bar_color_parameter):
16018 * xmenu.c (menu_help_callback):
16019 * xselect.c (Fx_get_atom_name):
16020 * xterm.c (x_term_init): Use empty_unibyte_string.
16021
160222007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16023
16024 * alloc.c (init_strings): Initialize canonical empty strings.
16025 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16026 canonical empty string when the requested size is 0.
16027
16028 * emacs.c (empty_unibyte_string): Rename from empty_string.
16029 (empty_multibyte_string): New canonical empty string.
16030 (syms_of_emacs): Don't initialize empty_string.
16031
16032 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16033 string, if appropriate.
16034 (empty_unibyte_string, empty_multibyte_string): New externs.
16035 (empty_string): Remove extern.
16036
16037 * lread.c (syms_of_lread): Use empty_unibyte_string.
16038
160392007-06-07 Jason Rumney <jasonr@gnu.org>
16040
16041 * s/ms-w32.h: Don't define HAVE_TZNAME.
16042
16043 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16044
160452007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16046
16047 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16048
16049 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16050 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16051
16052 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16053 Don't call next handler.
16054 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16055 Remove argument. Install handler to application.
16056 (set_frame_menubar): Don't change deep_p.
16057 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16058 FRAME_OUTER_TO_INNER_DIFF_Y.
16059 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16060 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16061 [HAVE_DIALOGS]: New macros.
16062 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16063 Use them.
16064 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16065
16066 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16067 init_service_handler. All callers changed. Return OSStatus value.
16068
16069 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16070 All callers changed so as not to call SetPortWindowPort.
16071 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16072 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16073 mac_draw_string_common.
16074 (mac_draw_image_string_qd): Likewise.
16075 (mac_draw_string_common): Use them. Add INLINE.
16076 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16077 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16078 GetGlobalMouse.
16079 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16080 and FRAME_OUTER_TO_INNER_DIFF_Y.
16081 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16082 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16083 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16084 repositioning window to mac_handle_window_event.
16085 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16086 saving window location to mac_handle_window_event
16087 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16088 (install_menu_target_item_handler): Remove argument in extern.
16089 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16090 Also accept command events.
16091 (do_keystroke): New function created from XTread_socket.
16092 (init_command_handler): Remove functions.
16093 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16094 and save window location by kEventWindowShowing and kEventWindowHiding
16095 handlers here. Don't call next handler for window state change and
16096 focus events.
16097 (mac_handle_application_event, mac_handle_keyboard_event)
16098 [TARGET_API_MAC_CARBON]: New functions.
16099 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16100 kEventWindowShowing and kEventWindowHiding events. Move installation
16101 of mouse, font, text input and menu target item handlers to
16102 install_application_handler.
16103 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16104 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16105 New function.
16106 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16107 Register it.
16108 (XTread_socket) [TARGET_API_MAC_CARBON]:
16109 Consolidate SendEventToEventTarget calls.
16110 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16111 Move application activation handler to mac_handle_application_event.
16112 Move keyboard handler to mac_handle_keyboard_event.
16113 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16114 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16115 init_command_handler. Call install_application_handler.
16116
16117 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16118 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16119
161202007-06-07 Glenn Morris <rgm@gnu.org>
16121
16122 * emacs.c (main): Use `emacs-copyright' in --version output.
16123
161242007-06-06 Chong Yidong <cyd@stupidchicken.com>
16125
16126 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16127
161282007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16129
16130 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16131
16132 * macgui.h: Replace WindowPtr with WindowRef.
16133
16134 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16135 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16136 Replace ControlHandle with ControlRef.
16137 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16138
16139 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16140 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16141 Replace ControlHandle with ControlRef.
16142 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16143 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16144
16145 * macterm.h (struct scroll_bar): Rename member control_handle_low
16146 and control_handle_high to control_ref_low and control_ref_high.
16147 All uses changed.
16148 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16149 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16150 respectively. All uses changed.
16151 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16152 (install_window_handler, remove_window_handler): Replace WindowPtr
16153 with WindowRef in externs.
16154
161552007-06-05 Juanma Barranquero <lekktu@gmail.com>
16156
16157 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16158
161592007-06-03 Nick Roberts <nickrob@snap.net.nz>
16160
16161 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16162
16163 * frame.c (Fmouse_position, Fmouse_pixel_position):
16164 Condition on HAVE_GPM too.
16165
16166 * term.c (term_mouse_highlight): Remove unused variables.
16167 (Fterm_open_connection): Set gpm_zerobased to 1.
16168 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16169 Use zero based co-ordinates.
16170 (handle_one_term_event): Report a drag as mouse movement too.
16171
16172 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16173
161742007-06-03 Chong Yidong <cyd@stupidchicken.com>
16175
16176 * image.c (search_image_cache): New function. Require background
16177 color match if background color is unspecified in the image spec.
16178 (uncache_image, lookup_image): Use it.
16179
161802007-06-01 Juanma Barranquero <lekktu@gmail.com>
16181
16182 * window.c (Fshrink_window): Reflow docstring.
16183
161842007-06-02 Chong Yidong <cyd@stupidchicken.com>
16185
16186 * Version 22.1 released.
16187
161882007-06-01 Richard Stallman <rms@gnu.org>
16189
16190 * xfns.c (x_encode_text): Add GCPRO.
16191
161922007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16193
16194 * xfns.c (x_set_name_internal): Save encoded name before
16195 x_encode_text in case string data is relocated.
16196
161972007-05-31 Richard Stallman <rms@gnu.org>
16198
16199 * buffer.c (syms_of_buffer): Doc fix.
16200
162012007-05-30 Nick Roberts <nickrob@snap.net.nz>
16202
16203 * sysdep.c (init_sys_modes): Add rather than replace with
16204 O_NONBLOCK.
16205
16206 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16207 term_mouse_moveto.
16208
16209 * termhooks.h (term_mouse_moveto): New extern.
16210
16211 * term.c (mouse_face_window): Rename...
16212 (Qmouse_face_window): ...to this.
16213 (term_show_mouse_face, term_clear_mouse_face)
16214 (term_mouse_highlight): Use Qmouse_face_window.
16215 (term_mouse_moveto): New function.
16216 (term_mouse_position): Make it work.
16217 (syms_of_term): Uncomment assignment to mouse_position_hook.
16218 Staticpro Qmouse_face_window.
16219
162202007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16221
16222 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16223 around current_column call.
16224
162252007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16226
16227 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16228 * xdisp.c (next_element_from_buffer):
16229 * window.c (delete_window):
16230 * term.c (term_mouse_highlight):
16231 * msdos.c (getdefdir):
16232 * macterm.c (mac_create_bitmap_from_bitmap_data)
16233 (init_font_name_table):
16234 * fns.c (Fsxhash):
16235 * data.c (Fmake_local_variable):
16236 * ccl.c (ccl_driver): Likewise.
16237
162382007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16239
16240 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16241 Call mac_wakeup_from_rne on window size change.
16242
162432007-05-25 Chong Yidong <cyd@stupidchicken.com>
16244
16245 * image.c (uncache_image): Fix typo.
16246
162472007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16248
16249 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16250
162512007-05-22 Richard Stallman <rms@gnu.org>
16252
16253 * xterm.c (x_connection_closed): Remove NO_RETURN.
16254
162552007-05-22 Martin Rudalics <rudalics@gmx.at>
16256
16257 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16258
162592007-05-21 Chong Yidong <cyd@stupidchicken.com>
16260
16261 * image.c (uncache_image): New function.
16262 (Fimage_refresh): New function.
16263
162642007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16265
16266 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16267
162682007-05-20 Nick Roberts <nickrob@snap.net.nz>
16269
16270 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16271 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16272
162732007-05-20 Nick Roberts <nickrob@snap.net.nz>
16274
16275 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16276 conditional on [HAVE_GPM_H].
16277
162782007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16279
16280 * syntax.c (skip_chars): Update syntax-table only after we checked that
16281 the new location is valid.
16282
162832007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16284
16285 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16286 mac_get_window_bounds.
16287
162882007-05-20 Nick Roberts <nickrob@snap.net.nz>
16289
16290 * Makefile.in (LIBGPM): Allow it to be set from configure.
16291 If set then link Emacs with it.
16292
16293 * config.in: Regenerate.
16294
16295 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16296 New externs.
16297
16298 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16299 Include gpm.h.
16300 (handle_one_term_event, term_gpm): New externs.
16301
16302 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16303 and allow it to be interrupted by SIGIO.
16304
16305 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16306 (wait_reading_process_output): Wait on gpm_fd too.
16307 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16308 (add_gpm_wait_descriptor_called_flag): New variable.
16309 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16310
16311 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16312 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16313 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16314 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16315 (make_lispy_event): Add case GPM_CLICK_EVENT.
16316 (read_avail_input): Handle mouse input.
16317
16318 * term.c (write_glyphs_with_face): New function.
16319 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16320 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16321 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16322 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16323 (last_mouse_x, last_mouse_y): New variables.
16324 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16325 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16326 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16327 (Fterm_close_connection): New functions.
16328 (term_init): Initialise mouse_face_window.
16329
163302007-05-19 Chong Yidong <cyd@stupidchicken.com>
16331
16332 * xdisp.c (redisplay_window): If first window line is a
16333 continuation line, recompute the new window start instead of
16334 recentering.
16335
163362007-05-18 Glenn Morris <rgm@gnu.org>
16337
16338 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16339 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16340
163412007-05-17 Glenn Morris <rgm@gnu.org>
16342
16343 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16344
163452007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16346
16347 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16348 dead key repeat and up events.
16349
163502007-05-14 Chong Yidong <cyd@stupidchicken.com>
16351
16352 * image.c (pbm_load): Check image size for monochrome pbm.
16353
163542007-05-13 Chong Yidong <cyd@stupidchicken.com>
16355
16356 * xterm.c (XTread_socket): Revert last change.
16357
163582007-05-12 Chong Yidong <cyd@stupidchicken.com>
16359
16360 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16361
16362 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16363
163642007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16365
16366 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16367 mixup (YAILOM).
16368
163692007-05-07 Andreas Schwab <schwab@suse.de>
16370
16371 * keymap.c (Flookup_key): Fix typo in last change.
16372
163732007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16374
16375 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16376 mapping for unibyte strings.
16377
163782007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16379
16380 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16381 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16382
163832007-04-29 Richard Stallman <rms@gnu.org>
16384
16385 * insdel.c (replace_range): For undo, record insertion first.
16386
163872007-04-29 Andreas Schwab <schwab@suse.de>
16388
16389 * lisp.h (VECSIZE): Use OFFSETOF.
16390
163912007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16392
16393 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16394 disabled lines.
16395
163962007-04-28 Richard Stallman <rms@gnu.org>
16397
16398 * lread.c (read_escape): In a string, \s is always space.
16399
164002007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16401
16402 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16403
16404 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16405 submenu for menu bar items.
16406
16407See ChangeLog.10 for earlier changes.
16408
16409;; Local Variables:
16410;; coding: utf-8
16411;; add-log-time-zone-rule: t
16412;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16413;; End:
16414
16415 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16416
16417 This file is part of GNU Emacs.
16418
16419 GNU Emacs is free software: you can redistribute it and/or modify
16420 it under the terms of the GNU General Public License as published by
16421 the Free Software Foundation, either version 3 of the License, or
16422 (at your option) any later version.
16423
16424 GNU Emacs is distributed in the hope that it will be useful,
16425 but WITHOUT ANY WARRANTY; without even the implied warranty of
16426 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16427 GNU General Public License for more details.
16428
16429 You should have received a copy of the GNU General Public License
16430 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16431
16432;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40