(decode_coding_utf_8): Likewise.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
3a8406e1
KH
12008-12-03 Kenichi Handa <handa@m17n.org>
2
3 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base
4 to 0.
453b38f0 5 (decode_coding_utf_8): Likewise.
3a8406e1 6
651df7d9
CY
72008-12-02 Chong Yidong <cyd@stupidchicken.com>
8
9 * keyboard.c (make_lispy_position): Only use PT if the selected
10 window is current.
11
1f625c6c
AS
122008-12-02 Andreas Schwab <schwab@suse.de>
13
f7741ce9
AS
14 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
15
1f625c6c
AS
16 * doprnt.c (doprnt1): Fix size of charbuf.
17
92bc2678
CY
182008-12-02 Chong Yidong <cyd@stupidchicken.com>
19
20 * keyboard.c (timer_check): Revert last change.
21
93b9e8cc
JB
222008-12-02 Juanma Barranquero <lekktu@gmail.com>
23
24 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
25
fd7a37d5
JB
262008-12-01 Juanma Barranquero <lekktu@gmail.com>
27
28 * makefile.w32-in: Update dependencies.
29 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
30
c115043b
AS
312008-12-01 Andreas Schwab <schwab@suse.de>
32
33 * font.c (register_font_driver): Use xmalloc.
34 (font_put_frame_data): Likewise.
35
f5668d2a
CY
362008-12-01 Chong Yidong <cyd@stupidchicken.com>
37
860d96be
CY
38 * xfaces.c (realize_x_face): Make abort condition clearer.
39
f5668d2a
CY
40 * gtkutil.c (update_frame_tool_bar): Initialize variable.
41
379c17e7
CY
422008-11-30 Chong Yidong <cyd@stupidchicken.com>
43
44 * keyboard.c (timer_check): After a timer runs, ensure that the
45 selected window's buffer is current.
46
35f36d65
JB
472008-11-30 Juanma Barranquero <lekktu@gmail.com>
48
f952c61c
JB
49 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
50 It was accidentally restored by the Unicode merge.
51
35f36d65
JB
52 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
53
b23077df
JB
542008-11-29 Juanma Barranquero <lekktu@gmail.com>
55
56 * w32proc.c: Include "coding.h".
57 (Fw32_short_file_name): Encode filename passed to Windows API.
58 (Fw32_long_file_name): Encode filename passed to Windows API and
59 decode back the result. (Bug#1433)
60
b8ebe9dd
KH
612008-11-29 Kenichi Handa <handa@m17n.org>
62
8cc53f96
KH
63 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
64 not before accessing it.
65
b8ebe9dd
KH
66 * charset.c (Fdefine_charset_internal): After calculating
67 min_char, max_char, and fastmap, copy the charset structure again.
68 (encode_char): Fix the previous change.
69
59bc82c0
SZ
702008-11-28 Seiji Zenitani <zenitani@mac.com>
71
72 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
73
74 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
75
76 * nsterm.m (x_set_frame_alpha): New function.
77
32247e3d
EZ
782008-11-27 Eli Zaretskii <eliz@gnu.org>
79
80 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
81
b003e5ff
JB
822008-11-27 Juanma Barranquero <lekktu@gmail.com>
83
84 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
85 pointer to check_face_name.
86
708550f5
KH
872008-11-27 Kenichi Handa <handa@m17n.org>
88
89 * category.h (SET_CATEGORY_SET): Call set_category_set.
90 (set_category_set): Extern it.
91
92 * category.c (hash_get_category_set): New function.
93 (Fmodify_category_entry): Adjusted for the change of
94 char_table_ref_and_range. Call hash_get_category_set to get a
95 category set to store in the table.
96
97 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
98 Funify_charset.
99
100 * charset.h (enum charset_method): Delete
101 CHARSET_METHOD_MAP_DEFERRED.
102 (DECODE_CHAR): Check if the decoder vector is ready.
103 (ENCODE_CHAR): Check if the encoder char-table is ready.
104 (maybe_unify_char): Extern it.
105
106 * charset.c (Vchar_unified_charset_table): Delete it.
107 (inhibit_load_charset_map): New variable.
108 (temp_charset_work): New variable.
109 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
110 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
111 New macros.
112 (load_charset_map): Meaning of control_flag changed. If
113 inhibit_load_charset_map is nonzero, setup a table in
114 temp_charset_work.
115 (load_charset): New argument control_flag.
116 (map_charset_for_dump): New function.
117 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
118 map_charset_for_dump.
119 (Fdefine_charset_internal): If the charset method is MAP, load
120 mapping tables by calling load_charset.
121 (Funify_charset): Don't load a mapping table but directly set
122 Vchar_unify_table.
123 (maybe_unify_char): New function.
124 (decode_char): Don't handle the deleted method MAP_DEFERRED.
125 Handle the case of inhibit_load_charset_map being nonzero.
126 (encode_char): Don't handle the deleted method MAP_DEFERRED.
127 Handle the case of inhibit_load_charset_map being nonzero.
128 (Fclear_charset_maps): Just free temp_charset_work.
129 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
130 variable.
131
132 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
133 change of char_table_ref_and_range.
134 (char_table_ref_and_range): Change the meaning of argument FROM
135 and TO. Now the caller must provide initial values for *FROM
136 and *TO.
137
138 * fontset.c (fontset_add): Adjusted for the change of
139 char_table_ref_and_range.
140 (fontset_get_font_group): Likewise.
141 (Ffontset_info): Likewise.
142
143 * keymap.c (describe_vector): Adjusted for the change of
144 char_table_ref_and_range. For char-table, put boundary between
145 non-ASCII and 8-bit characters.
146
147 * print.c (print_object): For bool-vector, delete unnecessary
148 check of ASCII_BYTE_P.
149
9196133b
JR
1502008-11-26 Jason Rumney <jasonr@gnu.org>
151
152 * w32font.c (w32font_open_internal): Don't include external
153 leading in font height.
154
9f688acf
GM
1552008-11-26 Glenn Morris <rgm@gnu.org>
156
157 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
158 redefinition with ifdef. (Bug#1383)
159
90d19aff
AR
1602008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
161
162 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
163
1642008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
165
166 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
167 New EmacsView methods.
168 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
169 Fixes bug #1048,1357,1414.
170
1712008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
172
173 Fix bug #1362.
174 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
175 is not an indexed color.
176 * nsterm.m (free_indexed_color): Add argument checking.
177 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
178
e7d5ecb3
CY
1792008-11-24 Chong Yidong <cyd@stupidchicken.com>
180
181 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
182 Document confirm-after-completion value for
183 minibuffer-completion-confirm.
184
c285743c
JR
1852008-11-24 Jason Rumney <jasonr@gnu.org>
186
187 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
188 warning.
189
b0857706
JR
1902008-11-23 Jason Rumney <jasonr@gnu.org>
191
192 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
193 restored before returning.
194
195 * w32font.c (check_face_name): New function.
196 (add_font_entity_to_list): Use it to filter out common substituted
197 fonts.
198
ee50ff07
MR
1992008-11-22 Martin Rudalics <rudalics@gmx.at>
200
201 * buffer.c (Fswitch_to_buffer): Reword and mention new option
202 confirm-nonexistent-file-or-buffer in doc-string.
203
b8ff72fa
SM
2042008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
205
206 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
207 Fix copy/paste typo. Add checks.
208
cee53ed4
KH
2092008-11-21 Kenichi Handa <handa@m17n.org>
210
211 * coding.c (detect_coding_iso_2022): Reject invalid composition
212 sequence.
213 (DECODE_COMPOSITION_START): If the current source is the last
214 block, and the current composition doesn't end, regard this
215 sequence as invalid.
216 (decode_coding_iso_2022): Handle invalid composition sequence.
217
f6ef1e65
MR
2182008-11-20 Martin Rudalics <rudalics@gmx.at>
219
220 * window.c (coordinates_in_window): Don't return
221 ON_VERTICAL_BORDER for the rightmost position of a mode/header
222 line when the window is not the rightmost one. (Bug#1372)
223
e08b1705
MR
2242008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
225
226 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
227
ad98e89f
EZ
2282008-11-15 Eli Zaretskii <eliz@gnu.org>
229
230 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
231 and bright_bg if noninteractive is non-zero.
232
fb098a4b
CY
2332008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
234
235 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
236 x_draw_glyph_string_background.
237
238 * w32term.c (x_draw_glyph_string): Likewise.
239
ce952b6e
CY
2402008-11-15 Chong Yidong <cyd@stupidchicken.com>
241
242 * xterm.c (x_draw_glyph_string): Stop drawing the background of
243 the next glyph string once past the overhang width.
244
245 * nsterm.m (ns_draw_glyph_string): Likewise.
246
247 * w32term.c (x_draw_glyph_string): Likewise.
248
26ea7079
CY
2492008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
250
251 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
252 double file close.
253
1c33c906
MR
2542008-11-14 Martin Rudalics <rudalics@gmx.at>
255
256 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
257 dedicated status of window before attempting to display another
258 buffer in it.
259
8fc29035
JB
2602008-11-14 Juanma Barranquero <lekktu@gmail.com>
261
262 * msdos.c (Fmsdos_long_file_names):
263 (syms_of_msdos) <dos-unsupported-char-glyph>:
264 * dosfns.c (Fint86): Fix typos in docstrings.
265
55fb4286
EZ
2662008-11-14 Eli Zaretskii <eliz@gnu.org>
267
268 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
269
3fda0315
KY
2702008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
271
272 * puresize.h (BASE_PURESIZE): Increase to 1260000.
273
7e849c17
CY
2742008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
275
276 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
277
278 * frame.h: Negative alpha means "don't touch".
279
280 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
281
282 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
283
b9fd67bd
DN
2842008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
285
286 * hftctl.c:
287 * chpdef.h:
288 * acldef.h: Remove files used only for systems no longer supported.
289
290 * Makefile.in: Fix .o alphabetical ordering.
291 (hftctl.o): Remove dependency, file removed.
292 (keymap.o, print.o): Depend on charset.h.
293
d5998e03
KH
2942008-11-10 Kenichi Handa <handa@m17n.org>
295
296 * character.c (Fget_byte): Fix and make it faster for unibyte
297 target.
298
be70e183
CY
2992008-11-08 Chong Yidong <cyd@stupidchicken.com>
300
301 * dired.c (file_name_completion): If completion_ignore_case is
302 enabled, ignore case when checking completion-regexp-list.
303
7cf94eac
EZ
3042008-11-08 Eli Zaretskii <eliz@gnu.org>
305
306 * vm-limit.c (get_lim_data): Fix last change.
307
ee107a89
KH
3082008-11-08 Kenichi Handa <handa@m17n.org>
309
310 * character.c (Fget_byte): New function.
311 (syms_of_character): Defsubr Fget_byte.
312
5fd15622
CY
3132008-11-07 Chong Yidong <cyd@stupidchicken.com>
314
315 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
316 cursor position is valid after scrolling.
317
13d62fad
JB
3182008-11-06 Juanma Barranquero <lekktu@gmail.com>
319
320 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
321
a1dd2936
GM
3222008-11-06 Glenn Morris <rgm@gnu.org>
323
324 * xterm.c (handle_one_xevent): Don't let popup menus cause
325 mouse-autoselect-window related window switching. (Bug#1261)
326
860cd236
CY
3272008-11-04 David Smith <davidsmith@acm.org> (tiny change)
328
329 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
330
653a3150
AS
3312008-11-04 Andreas Schwab <schwab@suse.de>
332
333 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
334
870f5cac
CY
3352008-11-03 Chong Yidong <cyd@stupidchicken.com>
336
337 * xfns.c (Fx_wm_set_size_hint): New function.
338
1e02f3cb
MR
3392008-11-03 Martin Rudalics <rudalics@gmx.at>
340
341 * textprop.c (Fprevious_single_char_property_change): Return 0
342 when there's no change in a string. (Bug#1301)
343
e630dfc6
MR
3442008-11-02 Martin Rudalics <rudalics@gmx.at>
345
346 * frame.c (do_switch_frame): New argument NORECORD passed to
347 Fselect_window.
348 (Fselect_frame): New argument NORECORD passed to
349 do_switch_frame.
350 (Fset_frame_selected_window): New argument NORECORD passed to
351 Fselect_frame.
352 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
353 in call of do_switch_frame.
354 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
355 Handle NORECORD argument in call of Fselect_frame.
356 * lisp.h (do_switch_frame, Fselect_frame)
357 (Fset_frame_selected_window): Adjust declarations.
358 * window.c (select_frame_norecord): New function.
359 (run_window_configuration_change_hook): Use it and call
360 Fselect_frame with NORECORD set.
361 (Fselect_window): Pass NORECORD to Fselect_frame.
362 (Fset_window_configuration): Handle NORECORD argument in call of
363 do_switch_frame.
364 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
365 Fset_frame_selected_window.
366 * keyboard.c (command_loop_1): Handle NORECORD in call of
367 Fselect_frame (currently ifdefd).
368
9020b223
GM
3692008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
370
371 * emacs.c (USAGE2): Untabify.
372
793ffee8
SM
3732008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
374
375 * composite.c (fill_gstring_header): Fix copy/paste typo.
376
ab6d1131
MR
3772008-10-31 Martin Rudalics <rudalics@gmx.at>
378
379 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
380 (Fother_window): Rename argument and rewrite doc-string.
381 (select_window_norecord): Fix return value. (Bug#1276)
382
601a9cf1
JB
3832008-10-30 Juanma Barranquero <lekktu@gmail.com>
384
385 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
386 new frames overriding foreground for tooltips. Based on similar patch
387 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
388
813b0652
CY
3892008-10-29 Chong Yidong <cyd@stupidchicken.com>
390
391 * emacs.c (Fdaemon_initialized): Initialize nfd.
392
4414f58f
MR
3932008-10-29 Martin Rudalics <rudalics@gmx.at>
394
395 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
396 (Fwindow_text_height): Clarify doc-strings.
397 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
398 doc-string of window-scroll-functions.
399
ecdcaa09
RS
4002008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
401
402 * category.c (syms_of_category): Fix typo in docstring.
403
23fe745a
JB
4042008-10-28 Juanma Barranquero <lekktu@gmail.com>
405
406 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
407 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
408 Fix typos in docstrings.
409
ff808935
DN
4102008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
411
412 * emacs.c (daemon_pipe): Make non-static.
413 (IS_DAEMON): Move definition ...
414 * lisp.h (IS_DAEMON): ... here.
415 (daemon_pipe): Declare.
416 (is_daemon): Remove.
417 * dispnew.c (init_display): Use IS_DAEMON.
418
fc012771
SM
4192008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
420
421 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
422 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
423
424 * emacs.c (is_daemon): Remove.
425 (main): Don't set is_daemon.
426 (IS_DAEMON): New macro.
427 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 428 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
429 parent exits.
430 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
431
d8bdbe6f
CY
4322008-10-27 Chong Yidong <cyd@stupidchicken.com>
433
d1a072bf
CY
434 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
435 over-sized glyph, draw it with the default glyph width.
436
e2e325aa
CY
437 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
438 glyph, draw it with the default glyph width.
439
440 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
441 glyph, draw it with the default glyph width.
442
d8bdbe6f
CY
443 * xdisp.c (try_scrolling): When computing the distance from the
444 scroll margin to PT, try moving some distance past the window
445 bottom before giving up.
446
7bfac547
MR
4472008-10-27 Martin Rudalics <rudalics@gmx.at>
448
449 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
450 (Fset_window_buffer): Explain in doc-string that a window can be
451 "strongly" dedicated to its buffer.
452
4ff029f6
DN
4532008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
454
455 * emacs.c (daemon_name): New variable.
456 (main): Deal with --daemon=SERVER_NAME.
457 (Fdaemonp): Return a name if one was passed to --daemon.
458
5790ef40
DN
4592008-10-26 Romain Francoise <romain@orebokech.com>
460
f9bd0df9 461 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
462 (main): Create a pipe before forking, make the parent exit only after
463 the child has closed its end of the pipe. Move closing the
464 descriptors ...
465 (Fdaemon_initialized): ... here. New function.
466
f5385255
SM
4672008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
468
4d632321
SM
469 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
470 the previous unoptimized table.
471
f5385255
SM
472 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
473 the distinction between non-nil and non-t value of `dedicated'.
474
6c56a0f3
CY
4752008-10-25 Chong Yidong <cyd@stupidchicken.com>
476
477 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 478 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 479
fec89261
MR
4802008-10-25 Martin Rudalics <rudalics@gmx.at>
481
482 * window.c (Fget_buffer_window, Fdelete_windows_on)
483 (Freplace_buffer_in_windows): Make buffer argument optional and
484 rename to buffer_or_name.
485
34fcddd0
CY
4862008-10-24 Chong Yidong <cyd@stupidchicken.com>
487
f5385255
SM
488 * xdisp.c (handle_single_display_spec, handle_display_prop):
489 Undo 2005-05-16 change.
34fcddd0
CY
490 (handle_stop): Pop iterator if it's loaded with an empty string.
491 (get_overlay_strings_1): Don't save iterator if it's loaded with
492 an empty string (bug#1201).
493
064766f2
KH
4942008-10-24 Kenichi Handa <handa@m17n.org>
495
496 * ftfont.c (ftfont_otf_features): Fix previous change.
497 (ftfont_otf_capability): Check FeatureList.FeatureCount before
498 calling ftfont_otf_features.
499
f9bd0df9 5002008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
501
502 * font.c (font_match_p): Fix for the case that a vector of
503 characters is in script-representative-chars.
504
1dae9197
MA
5052008-10-24 Michael Albinus <michael.albinus@gmx.de>
506
507 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 508 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
509 (xd_read_queued_messages): Catch Qdbus_error from the macros.
510 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
511 macro. (Bug#1186).
512
f9bd0df9 5132008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
514
515 * s/sol2-10.h: New file.
516
878a4584
JB
5172008-10-23 Juanma Barranquero <lekktu@gmail.com>
518
519 * xdisp.c (fill_glyph_string): Fix typo in source (though the
520 poor beast has survived 9+ years and the jump from xterm.c!).
521
cd265ca6
MR
5222008-10-23 Martin Rudalics <rudalics@gmx.at>
523
524 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
525 Reword doc-string.
f5385255 526 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 527
472a4dc9
JB
5282008-10-23 Juanma Barranquero <lekktu@gmail.com>
529
530 * character.c (syms_of_character) <script-representative-chars>:
531 <unicode-category-table>: Doc fixes.
532
159bd5a2
NF
5332008-10-23 Noah Friedman <friedman@splode.com>
534
535 * coding.c (make_conversion_work_buffer): Check that
536 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
537 Fget_buffer_create.
538
49f9c344
KH
5392008-10-23 Kenichi Handa <handa@m17n.org>
540
541 * font.c (font_add_log): Check the values of extra properties.
542
12bb3111
MR
5432008-10-22 Martin Rudalics <rudalics@gmx.at>
544
545 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
546 Reword doc-string.
547 (Fset_window_parameter): Use NILP.
548 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 549 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 550
bbeb4e99
JB
5512008-10-22 Juanma Barranquero <lekktu@gmail.com>
552
553 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
554
5552008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
556
557 * nsfns.m (ns_appkit_version): New function.
558 (x-server-version): Use it.
559 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
560 (x-server-vendor): Don't check_ns().
561
562 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
563
a9b555d3
JB
5642008-10-22 Juanma Barranquero <lekktu@gmail.com>
565
566 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
567 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
568
4626499f
KH
5692008-10-22 Kenichi Handa <handa@m17n.org>
570
e3681952
KH
571 * syntax.c (scan_words): Call word_boundary_p instead of comparing
572 scripts.
573
4626499f
KH
574 * category.c (word_boundary_p): Check scripts instead of charset.
575 Handle nil value in word-separating-categories and
576 word-combining-categories.
577 (syms_of_category): Fix docstrings of word-separating-categories
578 and word-combining-categories.
579
1560f91a
EZ
5802008-10-21 Eli Zaretskii <eliz@gnu.org>
581
582 * coding.c (Fencode_coding_region, Fdecode_coding_region)
583 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
584
f4668441
MR
5852008-10-21 Martin Rudalics <rudalics@gmx.at>
586
587 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
588 Rename arg "buffer" to "buffer_or_name".
589 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
590 it optional.
591 (no_switch_window): Remove since the return value is not used.
a9b555d3 592 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
593 Consider window as dedicated when Fwindow_dedicated_p returns a
594 non-nil value.
595 * lisp.h: Remove prototype for no_switch_window.
596
fd75ddb2
JD
5972008-10-21 Jan Djärv <jan.h.d@swipnet.se>
598
599 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
600 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
601
07295713
KH
6022008-10-21 Kenichi Handa <handa@m17n.org>
603
604 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
605 check Vlatin_extra_code_table.
606
712adc82
EZ
6072008-10-20 Eli Zaretskii <eliz@gnu.org>
608
609 * fileio.c (Fset_file_modes): Doc fix.
610
f549eb0b
MA
6112008-10-19 Michael Albinus <michael.albinus@gmx.de>
612
613 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
614 in arrays.
615
aac0c6e3
MR
6162008-10-19 Martin Rudalics <rudalics@gmx.at>
617
618 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
619 Mention kill-buffer in doc-string.
620 (Fset_window_buffer): Reinsert tem check removed in last commit.
621 (Fenlarge_window, Fshrink_window): Have argument names and
622 doc-string follow Elisp manual more closely.
623
6242008-10-18 Eli Zaretskii <eliz@gnu.org>
625
626 * fileio.c (Fset_file_modes): Doc fix.
627
6282008-10-18 Martin Rudalics <rudalics@gmx.at>
629
630 * window.c (Fwindow_width, Fset_window_start)
631 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
632 (Fdelete_windows_on, Freplace_buffer_in_windows):
633 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
634 (Fwindow_dedicated_p): Make window argument optional.
635 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
636 (Fset_window_buffer): Respect any non-nil dedicated value for
637 window. Rename "buffer" argument to "buffer_or_name".
638
6392008-10-18 Ulrich Mueller <ulm@gentoo.org>
640
641 * m/sh3.h: New file, machine description for SuperH.
642
6432008-10-17 Martin Rudalics <rudalics@gmx.at>
644
645 * window.c (Fsplit_window): Rename arg horflag to horizontal.
646
6472008-10-17 Kenichi Handa <handa@m17n.org>
648
649 * ftfont.c (ftfont_otf_features): Fix indexing
650 gsub_gpos->FeatureList.Feature. Check the validity of indices.
651
6522008-10-16 Magnus Henoch <mange@freemail.hu>
653
654 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
655 (Fdbus_call_method_asynchronously): Ditto.
656 This change makes C-h f display the argument list.
657
6582008-10-16 Chong Yidong <cyd@stupidchicken.com>
659
660 * fileio.c (Fexpand_file_name): Doc fix.
661
662 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
663 of :foreground and :background equivalent to unspecified (20.x
664 compatibility).
665
6662008-10-15 Eli Zaretskii <eliz@gnu.org>
667
668 * buffer.c (syms_of_buffer): Doc fix.
669
6702008-10-14 Kenichi Handa <handa@m17n.org>
671
672 * font.c (font_clear_prop): When clearing font width, clear the
673 average width field too.
674
6752008-10-12 Andreas Schwab <schwab@suse.de>
676
677 * ftfont.c (ftfont_shape_by_flt): Make static.
678 * ftfont.h (ftfont_shape_by_flt): Don't declare.
679
680 * font.c: Don't include <m17n-flt.h>.
681
6822008-10-10 Eli Zaretskii <eliz@gnu.org>
683
684 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
685
6862008-10-09 Eli Zaretskii <eliz@gnu.org>
687
688 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
689 away code.
690
6912008-10-09 Chong Yidong <cyd@stupidchicken.com>
692
693 * dispnew.c (update_text_area): Avoid looping due to large glyph
694 overhangs (bug#1070).
695
6962008-10-09 Kenichi Handa <handa@m17n.org>
697
698 * fontset.c (face_for_char): If face->fontset is negative, just
699 return ascii_face.
700
f5385255
SM
701 * font.c (font_delete_unmatched): Fix previous change.
702 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
703
7042008-10-09 Martin Rudalics <rudalics@gmx.at>
705
706 * frame.c (Fraise_frame): On text-only terminals select frame in
707 order to make it visible. (Bug#1061)
708
7092008-10-08 Chong Yidong <cyd@stupidchicken.com>
710
711 * fontset.c (fontset_find_font): Check frame validity.
712
7132008-10-07 Chong Yidong <cyd@stupidchicken.com>
714
a9b555d3 715 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
716 (xg_display_close): Allow Emacs to close all displays (bug#985).
717
7182008-10-06 Andreas Schwab <schwab@suse.de>
719
f5385255 720 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
721
7222008-10-06 Chong Yidong <cyd@stupidchicken.com>
723
f5385255 724 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 725
a9b555d3 726 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
727
728 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
729 during initialization.
730
7312008-10-04 Eli Zaretskii <eliz@gnu.org>
732
733 * xdisp.c (redisplay_internal): If frame switched, redisplay the
734 whole thing on MSDOS frames as well as on a TTY.
735
736 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
737 well as for TTY.
738 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
739 well as on a TTY.
740
741 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
742 as well as for TTY.
743
744 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
745
746 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
747 MSDOS frames as well.
748
7492008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
750
751 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
752 correct arguments.
753 * menu.c (find_and_return_menu_selection) Add cast.
754
7552008-10-03 Glenn Morris <rgm@gnu.org>
756
757 * emacs.c (USAGE1): Add --daemon.
758
7592008-10-02 Eli Zaretskii <eliz@gnu.org>
760
761 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
762 100, so it's in percents as advertised.
763
7642008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
765
766 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
767 (ns_output.current_cursor, ns_output.desired_cursor)
768 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
769 (FRAME_NEW_CURSOR_COLOR): Remove.
770
771 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 772 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
773 enumeration (HOLLOW_BOX_CURSOR, etc.).
774
775 * nsterm.m (ns_frame_rehighlight): Remove commented code.
776 (draw_window_cursor): Simplify code.
f5385255
SM
777 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
778 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 779 updates manually.
a9b555d3
JB
780 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
781 Use core Emacs cursor types.
aac0c6e3 782
b8ff72fa 783 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
784
7852008-10-02 Martin Rudalics <rudalics@gmx.at>
786
787 * process.c (Faccept_process_output): Fix doc-string.
788
7892008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
790
791 * gmalloc.c (__sbrk): Also define for uClibc.
792
793 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
794 for uClibc.
795
7962008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
797
798 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
799 styles.
800 (nsfont_open): Reenable the cache.
801
8022008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
803
804 * font.c (font_matching_entity): Reflect ATTRS in font selection.
805 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
806
8072008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
808
809 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
810 a suspended terminal.
811
8122008-09-30 Michael Albinus <michael.albinus@gmx.de>
813
814 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
815
8162008-09-30 Eli Zaretskii <eliz@gnu.org>
817
818 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
819
8202008-09-30 Chong Yidong <cyd@stupidchicken.com>
821
822 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
823 in a continued line coincides with a line beginning.
824
8252008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
826
827 * nsfont.m (nsfont_trait_distance): Fix bug.
828 (nsfont_list): Return a list rather than a vector (syncs with Handa
829 changes of 2008-05-14).
830 (nsfont_open): Improve logging.
831
8322008-09-29 Andreas Schwab <schwab@suse.de>
833
834 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
835
8362008-09-28 Martin Rudalics <rudalics@gmx.at>
837
838 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
839 name as char-resolve-modifiers.
840 Reported by: Markus Triska <markus.triska@gmx.at>
841
8422008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
843
844 * dispnew.c (init_display): Return earlier when running as a daemon.
845
8462008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
847
848 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
849
8502008-09-27 Eli Zaretskii <eliz@gnu.org>
851
852 * composite.c (Fcomposition_get_gstring)
853 (Fcompose_region_internal, Fcompose_string_internal)
854 (Ffind_composition_internal): Doc fix.
855 (syms_of_composite) <compose-chars-after-function>: Doc fix.
856 (syms_of_composite) <auto-composition-function>: Doc fix.
857 (syms_of_composite) <composition-function-table>: Doc fix.
858
8592008-09-25 Chong Yidong <cyd@stupidchicken.com>
860
861 * search.c (wordify): New argument for lax word-ends.
862 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
863
8642008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
865
866 * lisp.h (is_daemon): Declare.
867 * dispnew.c (init_display): Do not try to initialize the terminal
868 when running as a daemon.
869
8702008-09-22 Chong Yidong <cyd@stupidchicken.com>
871
872 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
873 x_display_pixel_height.
874
8752008-09-22 Martin Rudalics <rudalics@gmx.at>
876
877 * undo.c (record_point): Don't call Fundo_boundary for first
878 change. (Bug#731)
879
8802008-09-22 Juanma Barranquero <lekktu@gmail.com>
881
882 * emacs.c (Fdaemonp): Doc fix.
883
8842008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
885
886 * emacs.c (main): Place #ifdef in the proper place.
887
8882008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
889
890 * emacs.c (standard_args): Add --daemon.
891 (main): Disconnect from the terminal when --daemon is passed.
892 (is_daemon): New variable.
893 (Fdaemonp): New function.
894 (syms_of_emacs): Defsubr it.
895
8962008-09-20 Chong Yidong <cyd@stupidchicken.com>
897
898 * xdisp.c (get_next_display_element): Handle string display
899 correctly when checking for the end of a box run.
900
9012008-09-20 Glenn Morris <rgm@gnu.org>
902
903 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
904 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
905 (Frename_file): Avoid copying to trash if a rename involves
906 a delete. (Bug#964).
907
9082008-09-20 Eli Zaretskii <eliz@gnu.org>
909
910 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
911 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
912 frames as well as termcap frames.
913 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
914 get_named_tty.
915
9162008-09-19 Eli Zaretskii <eliz@gnu.org>
917
918 * process.c (procfs_system_process_attributes): Fix cmdline in
919 case /proc/PID/cmdline is empty.
920
921 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
922 x_display_pixel_height.
923
9242008-09-19 Juanma Barranquero <lekktu@gmail.com>
925
926 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
927
928 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
929 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
930
9312008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
932
933 * dispextern.h (struct it): Move line_wrap away from the middle of
934 bitfields. Move voffset in struct iterator_stack_entry after the
935 bitfields. Move tab_width near after another short.
936
9372008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
938
939 * frame.h (struct frame): Move alpha from the middle of bitfields.
940
941 * window.h (struct window): Move frozen_window_start_p after the
942 rest of the bitfields to reduce padding.
943
9442008-09-18 Chong Yidong <cyd@stupidchicken.com>
945
946 * xterm.h (x_display_info): Remove `height' and `width' members.
947
948 * nsterm.h (ns_display_info): Remove `height' and `width' members.
949
950 * w32term.h (w32_display_info): Remove `height', `width',
951 `height_in', and `width_in' members.
952
b8ff72fa
SM
953 * xterm.c (x_display_pixel_height, x_display_pixel_width):
954 New functions.
aac0c6e3
MR
955 (x_calc_absolute_position): Use them.
956 (x_term_init): Omit removed `height' and `width' members.
957
b8ff72fa
SM
958 * w32term.c (x_display_pixel_height, x_display_pixel_width):
959 New functions.
aac0c6e3
MR
960 (w32_read_socket, x_calc_absolute_position): Use them.
961 (w32_initialize_display_info, w32_term_init): Omit removed members
962 of w32_display_info.
963
b8ff72fa
SM
964 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
965 New functions.
966 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 967
b8ff72fa
SM
968 * xterm.c (x_display_pixel_height, x_display_pixel_width):
969 New functions.
aac0c6e3
MR
970 (x_calc_absolute_position): Use them.
971 (x_term_init): Omit removed `height' and `width' members.
972
973 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
974 (compute_tip_xy):
975 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
976 * xmenu.c (menu_position_func): Use x_display_pixel_height and
977 x_display_pixel_width.
978
9792008-09-18 Kenichi Handa <handa@m17n.org>
980
981 * composite.c (fill_gstring_header): Don't check FROM and TO here.
982 (composition_compute_stop_pos): Fix handling of static composition.
983 (Fcomposition_get_gstring): Check FROM and TO at first.
984
9852008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
986
987 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
988 mixup (YAILOM).
989
9902008-09-17 Chong Yidong <cyd@stupidchicken.com>
991
992 * indent.c (Fvertical_motion): Use position reported by iterator
993 instead of PT for determining screen motion (bug#943).
994
9952008-09-17 Romain Francoise <romain@orebokech.com>
996
997 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
998
9992008-09-17 Kenichi Handa <handa@m17n.org>
1000
1001 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1002
1003 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1004 if necessary.
1005
10062008-09-16 Kenichi Handa <handa@m17n.org>
1007
1008 * coding.c (make_conversion_work_buffer): Avoid calling
1009 Fget_buffer_create if it is not necessary.
1010
10112008-09-15 Martin Rudalics <rudalics@gmx.at>
1012
1013 * window.c (Fselect_window): Don't update window_select_count and
1014 use_time when norecord is not nil.
1015
10162008-09-14 Kenichi Handa <handa@m17n.org>
1017
1018 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1019 specpdl_ptr.
1020
10212008-09-12 Kenichi Handa <handa@m17n.org>
1022
1023 * indent.c (scan_for_column): Don't handle automatic composition
1024 if the current buffer is not associated with a window.
1025
1026 * composite.c (composition_reseat_it): If the current buffer is
1027 not associated with a window, ignore the automatic composition.
1028 (find_automatic_composition): Likewise.
1029
10302008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1031
1032 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1033 (Fgpm_mouse_stop): Use it.
1034 * termhooks.h (close_gpm): Declare.
1035 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1036 connection if Gpm_GetEvent fails.
1037
1038 * window.c (set_window_buffer): Always preserve current-buffer.
1039
10402008-09-12 Glenn Morris <rgm@gnu.org>
1041
1042 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1043
10442008-09-11 Glenn Morris <rgm@gnu.org>
1045
1046 * charset.c (charset-map-path): Doc fix.
1047
10482008-09-10 Kenichi Handa <handa@m17n.org>
1049
1050 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1051
1052 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1053 compose a grapheme cluster with the preceding base glyph.
1054
1055 * composite.c (composition_compute_stop_pos): Fix previous change.
1056 Reset cmp_it->id to -1 at first.
1057
10582008-09-10 Glenn Morris <rgm@gnu.org>
1059
1060 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1061
10622008-09-09 Chong Yidong <cyd@stupidchicken.com>
1063
1064 * keyboard.c (read_key_sequence): Reapply translation maps when
1065 switching keyboards.
1066
10672008-09-09 Kenichi Handa <handa@m17n.org>
1068
1069 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1070 characters.
1071
1072 * composite.c (FORWARD_CHAR): Fix calculation
1073 of (POSITION).pos_byte.
1074 (composition_compute_stop_pos): Limit the search of composition to
1075 at most 500 characters ahead. If we reach the limit or find a
1076 newline, set cmp_it->ch to -2 and return 0.
1077 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1078
10792008-09-08 Kenichi Handa <handa@m17n.org>
1080
1081 * indent.c (Fvertical_motion): Be sure to set
1082 it_overshoot_expected if it.cmp_it.id is non-negative.
1083
10842008-09-07 Andreas Schwab <schwab@suse.de>
1085
1086 * callproc.c (Fcall_process): Don't hold references to string data
1087 across garbage collection. Move initialisation of new_argv down
1088 to avoid compiler bug.
1089
10902008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1091
1092 * process.c (Fsystem_process_attributes): Doc fix.
1093
10942008-09-07 Chong Yidong <cyd@stupidchicken.com>
1095
1096 * callproc.c (Fcall_process): Canonicalize current directory name.
1097
1098 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1099 iterator advances to the next line if the current line ends in a
1100 continued tab.
1101
11022008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1103
1104 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1105 member to point to cmp_from.
1106
1107 * xdisp.c: Doc fix for references to gidx data member.
1108
11092008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1110
1111 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1112
11132008-09-07 Kenichi Handa <handa@m17n.org>
1114
1115 * composite.c (FORWARD_CHAR): Check STOP after
1116 incrementing (POSITION).pos.
1117
11182008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1119
1120 * process.c (Fsystem_process_attributes): Doc fix.
1121
11222008-09-06 Chong Yidong <cyd@stupidchicken.com>
1123
1124 * keyboard.c (Ftop_level): Doc fix.
1125
11262008-09-06 Eli Zaretskii <eliz@gnu.org>
1127
1128 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1129 minibuffer, don't let lower part of menu invade the echo area.
1130
1131 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1132 "char *q" to access menu text and advance through it. Revert the
1133 change that displayed ">" instead of ASCII character 0x10.
1134
11352008-09-05 Eli Zaretskii <eliz@gnu.org>
1136
1137 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1138 toggle boxes and radio buttons on MS-DOS as well.
1139
11402008-09-05 Kenichi Handa <handa@m17n.org>
1141
1142 * composite.c (autocmp_chars): Check lookback count.
1143 (composition_compute_stop_pos): Set cmp_it->lookback.
1144 (composition_reseat_it): Check lookback count.
1145 (struct position_record): New struct.
1146 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1147 (find_automatic_composition): New function.
1148 (composition_adjust_point): Use find_automatic_composition.
1149
1150 * dispextern.h (struct composition_it): New member lookback.
1151
11522008-09-02 Chong Yidong <cyd@stupidchicken.com>
1153
1154 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1155 if moving by a single line.
1156
11572008-09-02 Andreas Schwab <schwab@suse.de>
1158
1159 * xterm.c (x_delete_display): Fix merge error.
1160
1161 * fileio.c (Fexpand_file_name): Remove unused variables.
1162
11632008-09-02 Eli Zaretskii <eliz@gnu.org>
1164
1165 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1166 storage on all platforms, not just on DOS_NT.
1167
11682008-09-02 Jason Rumney <jasonr@gnu.org>
1169
b8ff72fa
SM
1170 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1171 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1172
11732008-09-01 Chong Yidong <cyd@stupidchicken.com>
1174
1175 * xfaces.c (Finternal_set_alternative_font_family_alist)
1176 (Finternal_set_alternative_font_registry_alist): Properly copy
1177 entire alist structure.
1178
11792008-09-01 Kenichi Handa <handa@m17n.org>
1180
1181 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1182 representative chars of the script is a vector.
1183 (ftfont_list): Handle the case the representative chars of the
1184 script is a vector.
1185
1186 * character.c (syms_of_character): Docstring of
1187 script-representative-chars fixed.
1188
11892008-08-31 Eli Zaretskii <eliz@gnu.org>
1190
1191 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1192 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1193 the menu. Allocate larger buffer for `text', to account for
1194 possible ^C characters.
1195
11962008-08-31 Martin Rudalics <rudalics@gmx.at>
1197
1198 * xdisp.c (prepare_menu_bars): Don't call
1199 Vwindow_size_change_functions with arg Qt.
1200
12012008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1202
1203 * font.h (font_range):
1204 * fileio.c (report_file_error):
1205 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1206
12072008-08-30 Glenn Morris <rgm@gnu.org>
1208
1209 * data.c (Fmake_variable_frame_local): Doc fix.
1210
1211 * frame.c (Fmodify_frame_parameters): Doc fix.
1212
12132008-08-30 Eli Zaretskii <eliz@gnu.org>
1214
1215 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1216 needed by GetTokenInformation.
1217 (w32_system_process_attributes): Check return values of all system
1218 APIs.
1219
1220 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1221 only when the state changes.
1222 (IT_update_begin, IT_update_end): Add termscript trace.
1223
1224 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1225 clipboard is unavailable. Set dst to NULL if it doesn't point to
1226 malloc'ed data.
1227 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1228 passing random values to xfree.
1229
1230 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1231 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1232
12332008-08-29 Jason Rumney <jasonr@gnu.org>
1234
1235 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1236
12372008-08-29 Eli Zaretskii <eliz@gnu.org>
1238
1239 * composite.c (fill_gstring_body): Avoid compiler warnings.
1240
1241 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1242 LGLYPH_SET_CODE to avoid compiler warnings.
1243
1244 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1245
1246 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1247
1248 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1249 LGLYPH_SET_CODE.
1250
12512008-08-29 Kenichi Handa <handa@m17n.org>
1252
1253 * fileio.c (report_file_error): Don't downcase the first character
1254 of errstring if it is still unibyte.
1255
12562008-08-29 Kenichi Handa <handa@m17n.org>
1257
1258 These changes are to re-implement the automatic composition so
1259 that it doesn't use text properties.
1260
1261 * Makefile.in (ftfont.o): Depend on composite.h.
1262 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1263
1264 * character.h (Vunicode_category_table): Extern it.
1265
1266 * character.c (Vunicode_category_table): New variable.
1267 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1268
1269 * chartab.c (optimize_sub_char_table): Perform more greedy
1270 optimization.
1271
b8ff72fa
SM
1272 * composite.h (enum composition_method):
1273 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1274 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1275 (Vcomposition_function_table): Extern it.
1276 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1277 (composition_gstring_put_cache, composition_gstring_from_id)
1278 (composition_gstring_p, composition_gstring_width)
1279 (composition_compute_stop_pos, composition_reseat_it)
1280 (composition_update_it, composition_adjust_point): Extern them.
1281 (Fcomposition_get_gstring): EXFUN it.
1282
1283 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1284 (Vcomposition_function_table)
1285 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1286 (gstring_hash_table, gstring_work, gstring_work_headers):
1287 New variables.
aac0c6e3
MR
1288 (gstring_lookup_cache, composition_gstring_put_cache)
1289 (composition_gstring_from_id, composition_gstring_p)
1290 (composition_gstring_width, fill_gstring_header)
1291 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1292 (composition_reseat_it, composition_update_it)
b8ff72fa 1293 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1294 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1295 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1296 Defsubr compostion_get_gstring.
1297
1298 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1299 cmp_id.
1300 (struct glyph_string): Delete the member gidx. New members
1301 cmp_id, cmp_from, and cmp_to.
1302 (enum it_method): Delete GET_FROM_COMPOSITION.
1303 (struct composition_it): New struct.
1304 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1305 Delete c, len, cmp_id, cmp_len in u.comp.
1306
1307 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1308 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1309 (enum lglyph_indices): Likewise.
b8ff72fa 1310 (font_range): Adjust extern.
aac0c6e3
MR
1311 (font_fill_lglyph_metrics): Extern it.
1312
1313 * font.c (QCf): New variable.
1314 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1315 (font_prepare_composition): Delete this function.
1316 (font_range): Type and arguments changed.
1317 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1318 (font_fill_lglyph_metrics): New function.
b8ff72fa 1319 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1320 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1321 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1322 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1323
1324 * fontset.h (font_for_char): Extern it.
1325
1326 * fontset.c (font_for_char): New function.
1327
1328 * ftfont.c: Include composite.h.
1329 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1330 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1331
1332 * indent.c: Include composite.h and dispextern.h.
1333 (check_composition): Delete this function.
1334 (scan_for_column): Handle composition by
1335 composition_compute_stop_pos, composition_reseat_it, and
1336 composition_update_it.
1337 (compute_motion): Likewise.
1338 (Fvertical_motion): Fix checking of composition.
1339
1340 * keyboard.c (adjust_point_for_property): Check composition by
1341 composition_adjust_point.
1342
b8ff72fa 1343 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1344 struct glyph_string.
1345
b8ff72fa
SM
1346 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1347 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1348 struct glyph.
1349 (produce_composite_glyph): Likewise.
1350
b8ff72fa
SM
1351 * w32term.c (x_draw_composite_glyph_string_foreground):
1352 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1353 (x_draw_glyph_string): Likewise.
1354
1355 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1356 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1357
1358 * xdisp.c: Include font.h.
1359 (it_props): Delete the entry for Qauto_composed.
1360 (init_iterator): Initialize it->cmp_it.id to -1.
1361 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1362 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1363 (handle_auto_composed_prop): Delete it.
1364 (handle_composition_prop): Handle only static composition.
1365 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1366 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1367 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1368 (pop_it): Likewise.
1369 (get_next_element): Delete next_element_from_composition.
1370 (CHAR_COMPOSED_P): New macro.
1371 (get_next_display_element): For automatic composition, get a face
1372 from the font in the glyph-string.
1373 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1374 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1375 (next_element_from_string): Check if the character at the current
1376 position is composed by CHAR_COMPOSED_P.
1377 (next_element_from_buffer): Likewise.
b8ff72fa 1378 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1379 it. Update it->cmp_it.
b8ff72fa
SM
1380 (dump_glyph): Adjust for the change of struct glyph.
1381 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1382 it and struct glyph. Don't handle automatic composition here.
1383 (fill_gstring_glyph_string): New function.
1384 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1385 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1386 (BUILD_GSTRING_GLYPH_STRING): New macro.
1387 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1388 automatic composition.
b8ff72fa 1389 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1390 struct glyph.
b8ff72fa 1391 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1392
b8ff72fa 1393 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1394 the change of struct glyph_string.
1395 (x_draw_glyph_string): Likewise.
1396
13972008-08-29 Glenn Morris <rgm@gnu.org>
1398
1399 * buffer.c (word-wrap): Doc fix.
1400 * xdisp.c (truncate-partial-width-windows): Doc fix.
1401 Increase default to 50.
1402
14032008-08-29 Chong Yidong <cyd@stupidchicken.com>
1404
1405 * xdisp.c (update_tool_bar_unwind): New function.
1406 (update_tool_bar): Temporarily set selected frame before building
1407 tool-bar items.
1408
14092008-08-28 Michael Albinus <michael.albinus@gmx.de>
1410
1411 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1412 snprintf, respectively.
1413 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1414
14152008-08-28 Chong Yidong <cyd@stupidchicken.com>
1416
1417 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1418 LDFLAGS to GNUstep CC invocation.
1419
14202008-08-27 Chong Yidong <cyd@stupidchicken.com>
1421
1422 * indent.c (Fvertical_motion): Revert last change. Handle the
1423 general case where we are moving forward, and PT spans multiple
1424 screen lines.
1425
1426 * eval.c (find_handler_clause): Temporarily increase
1427 max-lisp-eval-depth while printing the backtrace buffer, to
1428 guarantee that help-mode code can run.
1429
14302008-08-27 Eli Zaretskii <eliz@gnu.org>
1431
1432 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1433 colors under -rv.
1434 (IT_set_frame_parameters): Don't swap foreground and background
1435 colors if `(reverse . t)' is present in the frame properties.
1436 (internal_terminal_init): Call init_frame_faces only for the
1437 initial frame.
1438
14392008-08-27 Andreas Schwab <schwab@suse.de>
1440
1441 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1442
14432008-08-27 Andreas Schwab <schwab@suse.de>
1444
1445 * search.c (search_buffer): Set char_base to zero only at the end.
1446
14472008-08-27 Kenichi Handa <handa@m17n.org>
1448
b8ff72fa 1449 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1450
14512008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1452
1453 * xterm.c (x_term_init): Temporarily hide the partially
1454 initialized terminal while calling vendor-specific-keysyms.
1455
14562008-08-26 Eli Zaretskii <eliz@gnu.org>
1457
1458 * msdos.c (internal_terminal_init): Most initializations done only
1459 once, especially initial_screen_colors[] and termscript open.
1460
14612008-08-26 Chong Yidong <cyd@stupidchicken.com>
1462
1463 * eval.c (Fcondition_case): Doc fix.
1464
1465 * widgetprv.h (EmacsFramePart): Change font member to the new font
1466 struct.
1467
1468 * widget.c: Include character.h and font.h for XSETFONT.
1469 (setup_frame_gcs): Compute X font id from font struct, just once.
1470
14712008-08-26 Eli Zaretskii <eliz@gnu.org>
1472
1473 * term.c (get_named_tty): Fix last change.
1474
14752008-08-26 Chong Yidong <cyd@stupidchicken.com>
1476
1477 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1478 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1479
14802008-08-25 Eli Zaretskii <eliz@gnu.org>
1481
1482 * frame.c (do_switch_frame): Mark previously displayed frame as
1483 obscured for FRAME_MSDOS_P frames as well.
1484
14852008-08-24 Eli Zaretskii <eliz@gnu.org>
1486
1487 * frame.c (make_terminal_frame): Initialize f->terminal,
1488 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1489 Set the top frame to newly created frame.
1490 (Fmake_terminal_frame): Reuse the_only_display_info.
1491
1492 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1493 estimating available memory.
1494
b97439ce 14952008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
1496
1497 * nsterm.m (ns_draw_window_cursor): Don't call
1498 NSDisableScreenUpdates and NSEnableScreenUpdates on
1499 non-NS_IMPL_COCOA systems.
1500
15012008-08-23 Andreas Schwab <schwab@suse.de>
1502
1503 * process.c (procfs_system_process_attributes): Fix use of
1504 uninitialized variables.
1505
15062008-08-23 Eli Zaretskii <eliz@gnu.org>
1507
1508 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1509
1510 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1511 calling tty-set-up-initial-frame-faces.
1512
b8ff72fa
SM
1513 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1514 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1515
1516 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1517 addition to output_termcap.
1518
1519 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1520
1521 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1522 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1523 highlight.
1524
1525 * process.c [!subprocesses]: Define QCname.
1526 (syms_of_process): Intern and staticpro it.
1527
1528 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1529 Adjust for changes in encoding/decoding routines.
1530 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1531 encode_coding and decode_coding.
1532
b8ff72fa 1533 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1534
1535 * dosfns.c: Include frame.h before termhooks.h.
1536 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1537 variable termscript.
1538
1539 * s/msdos.h (USER_FULL_NAME): Define.
1540 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1541
1542 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1543 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1544 pw->pw_gecos.
1545
1546 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1547 SELECTED_FRAME as additional (1st) argument.
1548 (tty_read_avail_input): Handle output_msdos_raw in
1549 addition to output_termcap.
1550
1551 * msdos.c: Include frame.h before termhooks.h.
1552 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1553 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1554 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1555 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1556 (IT_set_terminal_modes, IT_reset_terminal_modes)
1557 (IT_set_frame_parameters): Use tty->termscript instead of a global
1558 variable termscript.
1559 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1560 global variable terminal_coding. Don't refer to
1561 Vnonascii_translation_table.
1562 (internal_terminal_init): Set Vwindow_system in current_kboard.
1563 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1564 Announce date and time of session start, if termscript is open.
1565 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1566 term.c:init_tty). Open termscript only of not already open.
1567 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1568 here instead of dos_ttraw. Don't initialize display if this is an
1569 initial tty. Don't set FRAME_FONT.
1570 (Vwindow_system_version): Bump to 23.
1571 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1572 is available, set up mouse_position_hook.
1573 (dos_ttraw, IT_set_terminal_modes): If called with initial
1574 terminal, do nothing.
1575 (IT_set_frame_parameters): Handle the Qtty_type frame
1576 parameter by calling internal_terminal_init.
1577 (dos_set_window_size, show_mouse_face)
1578 (clear_mouse_face, IT_note_mode_line_highlight)
1579 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1580 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1581 (initialize_msdos_display): New function.
1582 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1583 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1584 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1585 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1586 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1587 (request_sigio, unrequest_sigio): Don't define, now defined on
1588 sysdep.c.
1589 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1590
1591 * term.c [MSDOS]: Include msdos.h.
1592 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1593 conditional to DOS_NT. Allow only one call to this function in a
1594 session. Don't allocate a new struct tty_display_info; instead,
1595 reuse the_only_display_info. Call get_tty_size to get screen
1596 dimensions. Call init_baud_rate to set bad_rate.
1597 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1598 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1599 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1600 (get_tty_terminal, get_named_tty, Ftty_type)
1601 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1602 output_termcap.
b8ff72fa
SM
1603 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1604 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1605 only when subprocesses are supported
1606
1607 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1608 f->output_data.x.
1609 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1610 terminal devices.
1611
1612 * msdos.h Remove definition of struct x_display_info and struct
1613 x_output.
1614 (FRAME_FONT): Use output_data.tty.
1615 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1616 (struct x_display_info): Rename from display_info. Update all users in
1617 msdos.c.
aac0c6e3 1618 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1619 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1620 (dos_ttraw): Update prototype.
1621
1622 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1623 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1624
16252008-08-23 Jason Rumney <jasonr@gnu.org>
1626
1627 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1628 (fn_TIFFSetDirectory): New library function used.
1629 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1630 (tiff_load): Use :index to select among multiple images. Set count
1631 property when multiple images exist.
1632 (gif_format): Use :index, not :image.
1633
16342008-08-23 Chong Yidong <cyd@stupidchicken.com>
1635
1636 * xdisp.c (try_scrolling): Check INT_MAX instead of
1637 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1638 to obtain INT_MAX.
1639
16402008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1641
1642 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1643
16442008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1645
1646 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1647 GNUstep library location.
1648
16492008-08-21 Chong Yidong <cyd@stupidchicken.com>
1650
1651 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1652 before using it.
1653
1654 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1655
16562008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1657
1658 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1659 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1660 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1661 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1662 (EmacsApp-cursor_blink_handler): Remove declaration.
1663 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1664 match 01 Feb 2008 changes in xterm.c.
1665 (ns_read_socket): Add cast to avoid warning.
1666 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1667 GNUstep.
1668
16692008-08-20 Chong Yidong <cyd@stupidchicken.com>
1670
1671 * xselect.c (x_get_foreign_selection): Return nil if desired
1672 selection could not be obtained, instead of signalling an error.
1673
16742008-08-20 David Reitter <david.reitter@gmail.com>
1675
1676 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1677 * nsterm.m: Remove ns-specific code for cursor blinking.
1678 (ns_draw_window_cursor): Clear cursor properly rather than
1679 redrawing the area. Respect width of bar cursors.
1680 These changes enable the use of generic blink-cursor-mode and
1681 generic cursor types in NS and support smooth cursor movements (do
1682 not blink off after command).
1683 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1684 Nextstep, too.
1685
16862008-08-19 Kenichi Handa <handa@m17n.org>
1687
1688 * font.c (Vfont_log_deferred): New variable.
1689 (font_add_log): Check Vfont_log_deferred.
1690 (font_deferred_log): New function.
1691
1692 * font.h (font_deferred_log): Extern it.
1693
1694 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1695 for sorting.
1696 (face_for_char): Use deferred log.
1697
16982008-08-18 Kenichi Handa <handa@m17n.org>
1699
1700 * fontset.c (face_for_char): Add font log.
1701
1702 * font.c (font_add_log): Add the font properties :script, :lang,
1703 and :otf in the log.
1704
17052008-08-17 Chong Yidong <cyd@stupidchicken.com>
1706
1707 * xdisp.c: Remove dead code.
1708 (handle_invisible_prop, next_overlay_string): Defer call to
1709 setup_for_ellipsis.
1710 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1711
17122008-08-15 Chong Yidong <cyd@stupidchicken.com>
1713
1714 * xfaces.c (lookup_derived_face): Properly handle possible zero
1715 return value of get_lface_attributes.
1716 (merge_faces): Don't tell lookup_derived_face to signal an error
1717 if face is not found.
1718
1719 * dired.c (Fdirectory_files): Doc fix.
1720
1721 * process.c (make_process): Initialize kill_without_query struct
1722 member.
1723
17242008-08-15 Eli Zaretskii <eliz@gnu.org>
1725
1726 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1727 Alternative calculation of totphys for Visual Studio 6.
1728
1729 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1730
1731 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1732 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1733 All users changed.
1734 (stat): Only root directory passed to GetDriveType. Allow RAM
1735 disk as well as local fixed disk when w32-get-true-file-attributes
1736 is set to `local'.
1737 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1738 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1739 (w32_cached_id, w32_add_to_cache): New functions.
1740 (get_name_and_id): Look account names in the cache before calling
1741 lookup_account_sid.
1742 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1743 New initialization flags.
1744 (globals_of_w32): Initialize them to zero.
1745 (w32_system_process_attributes): Use w32_cached_id and
1746 w32_add_to_cache.
1747
17482008-08-14 Lawrence Mitchell <wence@gmx.li>
1749
1750 * lread.c (Fread_char, Fread_char_exclusive): If no character
1751 event is read before timeout is reached, return nil, rather than
1752 converting to a number.
1753
17542008-08-14 Chong Yidong <cyd@stupidchicken.com>
1755
1756 * fns.c (use_dialog_box): Doc fix.
1757
1758 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1759 on OS X.
1760
17612008-08-13 Chong Yidong <cyd@stupidchicken.com>
1762
1763 * frame.c (Qns_parse_geometry): New var.
1764 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1765
17662008-08-11 Chong Yidong <cyd@stupidchicken.com>
1767
1768 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1769 space character in calculating tabs.
1770
17712008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1772
1773 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1774
17752008-08-10 Glenn Morris <rgm@gnu.org>
1776
1777 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1778 silence gcc "limited range of data type" warnings in some
1779 make_fixnum_or_float calls.
1780
17812008-08-09 Eli Zaretskii <eliz@gnu.org>
1782
1783 * w32.c (w32_system_process_attributes): If the process does not
1784 exist, return nil.
1785
1786 * w32.c: Include thelp32.h, psapi.h and coding.h.
1787 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1788 declarations.
1789 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1790 (Process32Next_Proc): New typedefs.
1791 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1792 (g_b_init_process32_next, g_b_init_open_thread_token)
1793 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1794 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1795 (g_b_init_get_process_working_set_size)
1796 (g_b_init_global_memory_status_ex): New static variables.
1797 (globals_of_w32): Initialize them.
1798 (create_toolhelp32_snapshot, process32_first, process32_next)
1799 (open_thread_token, impersonate_self, revert_to_self)
1800 (get_process_memory_info, get_process_working_set_size)
1801 (global_memory_status, global_memory_status_ex): New wrapper
1802 functions.
1803 (w32_list_system_processes, w32_system_process_attributes)
1804 (enable_privilege, restore_privilege, ltime, process_times):
1805 New functions.
1806 (convert_time_raw): New function.
1807 (convert_time): Remove conversion of FILETIME into time in 100
1808 nsec units, call convert_time_raw instead.
1809
1810 * process.h (w32_list_system_processes, w32_system_process_attributes):
1811 Add prototypes.
1812 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1813 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1814 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1815 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1816
1817 * process.c (Fsystem_process_attributes): Doc fix.
1818
18192008-08-08 Chong Yidong <cyd@stupidchicken.com>
1820
1821 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1822 a continued multi-char glyph; if so, advance to the actual glyph.
1823
18242008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1825
1826 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1827
1828 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1829 (.m.o): Use it.
1830 * config.in: Regenerate.
1831
18322008-08-07 Chong Yidong <cyd@stupidchicken.com>
1833
1834 * xdisp.c (redisplay_window): Revert last change.
1835 (try_window): Check bottom scroll margin too.
1836
18372008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1838
1839 * config.in: Regenerate.
1840
1841 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1842 -list-load-path-shadows'.
1843 (nsgui.h): Reduce number of things depending on it.
1844
18452008-08-06 Chong Yidong <cyd@stupidchicken.com>
1846
1847 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1848 instead of window-end which does the wrong thing at eob.
1849 (try_cursor_movement): Minor optimization.
1850 (redisplay_window): If scroll margin is defined, don't assume
1851 window doesn't need scrolling.
1852
18532008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1854
1855 * config.in: Regenerate.
1856
1857 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1858 (mostlyclean): Don't delete *.d under NS.
1859
1860 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1861
18622008-08-06 Kenichi Handa <handa@m17n.org>
1863
1864 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1865
18662008-08-06 Andreas Schwab <schwab@suse.de>
1867
1868 * config.in: Regenerate.
1869
18702008-08-05 Chong Yidong <cyd@stupidchicken.com>
1871
1872 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1873 forcing a window start.
1874
1875 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1876 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1877
18782008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1879
1880 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1881 argument.
1882
18832008-08-05 Juanma Barranquero <lekktu@gmail.com>
1884
1885 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1886 <scroll-down-aggressively, before-change-functions>:
1887 <after-change-functions>: Reflow docstrings.
1888
18892008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1890 Ken Raeburn <raeburn@gnu.org>
1891
1892 Dock menu customization, based on a patch by Ken Raeburn, plus some
1893 other fixes.
1894 * nsmenu.m (dockMenu): New variable.
1895 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1896
1897 * nsterm.h (dockMenu): Declare.
1898
1899 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1900 (ns_term_init): Initialize dockMenu.
1901 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1902 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1903 left.
1904
1905 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1906
19072008-08-04 Chong Yidong <cyd@stupidchicken.com>
1908
1909 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1910
1911 * config.in: Regenerate.
1912
19132008-08-04 Seiji Zenitani <zenitani@mac.com>
1914
1915 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1916
19172008-08-04 Chong Yidong <cyd@stupidchicken.com>
1918
1919 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1920
19212008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1922
1923 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1924
1925 * keyboard.h: Comment an #endif.
1926
1927 * lisp.h (have_menus_p): Adjust comment.
1928
1929 * menu.c (find_and_return_menu_selection): Fix comparison with
1930 client_data.
1931
1932 * nsmenu.m (popup_activated_flag): New variable.
1933 (popup_activated): New function.
1934 (menu-or-popup-active-p): New exported lisp definition.
1935 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1936 when popup done.
1937 (ns_popup_dialog): Set popup_activated_flag.
1938
1939 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1940 version for GNUstep (handled by conditional typedef in nsterm.m).
1941 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1942 in rgb.txt).
1943
1944 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1945
1946 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1947
1948 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1949
1950 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1951 shortcircuit if popup_activated like GTK and X toolkit.
1952
1953 * m/inter386.h: Change DARWIN to DARWIN_OS.
1954
1955 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1956 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1957 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1958 comment on NO_SOCK_SIGIO.
1959
19602008-08-03 Chong Yidong <cyd@stupidchicken.com>
1961
1962 * nsterm.m (windowDidResize): Remove stopModal call.
1963
19642008-08-03 Andreas Schwab <schwab@suse.de>
1965
1966 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1967 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1968
19692008-08-02 Chong Yidong <cyd@stupidchicken.com>
1970
1971 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1972 Don't use uninitialized pointer variable when using getrlimit.
1973
19742008-08-02 Jason Rumney <jasonr@gnu.org>
1975
1976 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1977
19782008-08-02 Eli Zaretskii <eliz@gnu.org>
1979
1980 * alloc.c (NSTATICS): Bump to 0x640.
1981
1982 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1983
1984 * lisp.h: Add prototype for directory_files_internal.
1985
1986 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1987 New functions.
1988 (syms_of_process): Defsubr them. Add initializations for various
1989 Q* symbols used in procfs_system_process_attributes.
1990 (procfs_list_system_processes, procfs_system_process_attributes)
1991 [HAVE_PROCFS]: New functions.
1992 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1993 (procfs_get_total_memory): New functions.
1994
19952008-08-01 Juanma Barranquero <lekktu@gmail.com>
1996
1997 * xfaces.c (Fx_load_color_file): Fix previous change;
1998 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1999
20002008-08-01 Michael Albinus <michael.albinus@gmx.de>
2001
2002 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2003
20042008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2005
2006 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2007
20082008-08-01 Chong Yidong <cyd@stupidchicken.com>
2009
2010 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2011
2012 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2013 define NSApplicationDelegateReplySuccess.
2014 (EmacsView -converstationIdentifier): Use long instead of
2015 NSInteger for GNUstep, since it doesn't have NSInteger.
2016
2017 * xmenu.c: Revert last change.
2018
2019 * keyboard.h: Fix last change.
2020
20212008-08-01 Juanma Barranquero <lekktu@gmail.com>
2022
2023 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2024 on Windows.
2025
20262008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2027
2028 Warning clearing and clean-up in NS port.
2029 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2030 Add prototypes.
2031 * nsgui.h (FACE_DEFAULT): Remove, unused.
2032 (XGCValues): Change colors to unsigned long.
2033 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2034 nsterm.m.
2035 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2036 (ns_list_fonts): Remove, unused.
2037 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2038 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2039 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2040 (nsfont_draw): Compare face colors to 0, not nil.
2041 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2042 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2043 (-addSubmenuWithTitle:): Use NSMenuItem class.
2044 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2045 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2046 (ns_clip_to_row): Make gc arg a BOOL.
2047 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2048 ns_clip_to_row() call.
2049 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2050 used). Cast FRAME_FONT assignments.
2051 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2052 (ns_string_to_lispmod): Change arg to const char.
2053 (ns_term_init): Use NSMenuItem class.
2054 (EmacsApp -openFile:): Move to different section of file.
2055 (EmacsApp -application:openFiles:): Don't return a value, call
2056 -replyToOpenOrPrint:.
2057 (EmacsView -keyDown:): Fix up cast.
2058 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2059 (EmacsView -menuDown:): Cast tag in call to
2060 find_and_call_menu_selection().
2061 (ns_list_fonts): Remove, unused.
2062 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2063 (ns_fontname_to_xlfd): Make static.
2064 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2065 Remove prototypes (now in keyboard.h).
2066 (next_menubar_widget_id): Remove, unused.
2067 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2068 Remove prototypes (now in keyboard.h).
2069 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2070
20712008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2072
2073 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2074 (floatfns.o): Depend on syssignal.h.
2075 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2076
2077 * systty.h: Fix previous change that removed BSD_TERMIOS.
2078 Add comments to #ifdefs.
2079
20802008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2081
2082 * w32fns.c (w32-load-color-file): Remove.
2083 (x-open-connection): Use renamed Fx_load_color_file.
2084 * xfaces.c (x-load-color-file): Add.
2085 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2086 Emacs.clr.
2087 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2088
20892008-07-31 Michael Albinus <michael.albinus@gmx.de>
2090
2091 * dbusbind.c (Fdbus_call_method_asynchronously)
2092 (Fdbus_method_error_internal): New defuns.
2093 (xd_read_message): Handle also reply messages.
2094 (Vdbus_registered_functions_table): Extend docstring.
2095
20962008-07-31 Juanma Barranquero <lekktu@gmail.com>
2097
2098 * keyboard.c (gobble_input): Fix previous change.
2099
21002008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2101
2102 * bitmaps/README:
2103 * xfns.c:
2104 * termcap.c:
2105 * term.c:
2106 * syswait.h:
2107 * systty.h:
2108 * systime.h:
2109 * syssignal.h:
2110 * sysdep.c:
2111 * process.h:
2112 * process.c:
2113 * print.c:
2114 * ndir.h:
2115 * lread.c:
2116 * keyboard.c:
2117 * getpagesize.h:
2118 * floatfns.c:
2119 * fileio.c:
2120 * emacs.c:
2121 * doc.c:
2122 * dispnew.c:
2123 * dired.c:
2124 * data.c:
2125 * callproc.c:
2126 * buffer.c:
2127 * README:
2128 * Makefile.in:
2129 * s/template.h:
2130 * s/msdos.h:
2131 * m/vax.h: Remove VMS support.
2132 * s/vms.h:
2133 * vlimit.h:
2134 * uaf.h:
2135 * temacs.opt:
2136 * param.h:
2137 * ioctl.h: Remove file.
2138
21392008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2140
2141 * s/ms-w32.h (MULTI_KBOARD): Remove.
2142 * xterm.c:
2143 * xselect.c:
2144 * xfns.c:
2145 * window.c:
2146 * w32term.c:
2147 * w32fns.c:
2148 * terminal.c:
2149 * termhooks.h:
2150 * term.c:
2151 * sysdep.c:
2152 * keyboard.h:
2153 * keyboard.c:
2154 * frame.h:
2155 * frame.c:
2156 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2157 * config.in: Regenerate.
2158
21592008-07-30 Jason Rumney <jasonr@gnu.org>
2160
2161 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2162
2163 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2164 (w32font_open_internal): Get unicode version of textmetrics.
2165 Don't enable or disable glyph indices here.
2166 (w32font_open): Disable use of glyph indices.
2167
2168 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2169
21702008-07-30 Chong Yidong <cyd@stupidchicken.com>
2171
2172 * minibuf.c (Vread_buffer_function): Doc fix.
2173
21742008-07-30 John Paul Wallington <jpw@pobox.com>
2175
2176 * minibuf.c (read_buffer_completion_ignore_case): New var.
2177 (Fread_buffer): Use it.
2178
21792008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2180
2181 * systty.h (sensemode): Remove empty #if. Remove reference to
2182 BSD_TERMIOS, unused.
2183
2184 * sysdep.c: Remove reference to DGUX.
2185 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2186
2187 * config.in: Regenerate.
2188
21892008-07-30 Jason Rumney <jasonr@gnu.org>
2190
2191 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2192
21932008-07-29 Jason Rumney <jasonr@gnu.org>
2194
2195 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2196 is populated.
2197 (uniscribe_encode_char): Always use uniscribe.
2198 Avoid using context if cache is populated.
2199
22002008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2201
2202 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2203 open menu.
2204
2205 * gtkutil.c (menu_nav_ended): Remove.
2206 (create_menus): Remove signal connect for menu_nav_ended.
2207
22082008-07-28 Chong Yidong <cyd@stupidchicken.com>
2209
2210 * xdisp.c (redisplay_window): Check return value of
2211 compute_window_start_on_continuation_line before forcing a window
2212 start.
2213
22142008-07-28 Jason Rumney <jasonr@gnu.org>
2215
2216 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2217
2218 * w32term.c (w32_enable_unicode_output, cleartype_active):
2219 Remove obsolete display options.
2220 (x_draw_glyph_string_background): Don't use old cleartype_active
2221 workaround.
2222 (w32_initialize): Remove cleartype_active initialization.
2223 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2224
22252008-07-28 Andreas Schwab <schwab@suse.de>
2226
2227 * lisp.h (init_weak_hash_tables, syms_of_font)
2228 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2229 (remove_hash_entry): Don't declare.
2230 * eval.c (maybe_call_debugger): Make static and move before use.
2231 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2232 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2233 * xterm.h (x_set_frame_alpha): Declare.
2234
22352008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2236
2237 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2238 (create_menus): Connect selection-done to menu_nav_ended.
2239
22402008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2241
2242 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2243 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2244 parameter with read of 'alpha' one.
2245 (Qns_frame_parameter): Remove.
2246 * nsselection.m (selection-coding-system)
2247 (next-selection-coding-system, Vselection_coding_system)
2248 (Vnext_selection_coding_system): Drop.
2249
22502008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2251
2252 * nsfns.m (do-applescript, do_applescript): Rename to
2253 ns-do-applescript, ns_do_applescript, and move within file.
2254
22552008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2256
2257 Remove support for Mac Carbon.
2258 * mactoolbox.c:
2259 * macterm.h:
2260 * macterm.c:
2261 * macselect.c:
2262 * macmenu.c:
2263 * macgui.h:
2264 * macfns.c:
2265 * mac.c: Remove file.
2266 * s/darwin.h:
2267 * m/intel386.h:
2268 * xfaces.c:
2269 * xdisp.c:
2270 * window.c:
2271 * tparam.c:
2272 * termhooks.h:
2273 * termcap.c:
2274 * term.c:
2275 * syssignal.h:
2276 * sysselect.h:
2277 * sysdep.c:
2278 * process.c:
2279 * lread.c:
2280 * lisp.h:
2281 * keyboard.c:
2282 * image.c:
2283 * fringe.c:
2284 * frame.h:
2285 * frame.c:
2286 * fontset.c:
2287 * font.h:
2288 * font.c:
2289 * fns.c:
2290 * fileio.c:
2291 * emacs.c:
2292 * dispnew.c:
2293 * dispextern.h:
2294 * config.in:
2295 * atimer.c:
2296 * Makefile.in: Remove code for Carbon
2297
22982008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2299
2300 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2301
23022008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2303
2304 * macterm.h (kCGBitmapByteOrder32Host): New define for
2305 non-universal SDKs.
2306
2307 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2308 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2309
2310 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2311 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2312
23132008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2314
2315 * w32inevt.c: Include dispextern.h.
2316
23172008-07-26 Andreas Schwab <schwab@suse.de>
2318
2319 * print.c (print_object): Fix off-by-one in last change.
2320
23212008-07-25 Juanma Barranquero <lekktu@gmail.com>
2322
2323 * term.c (syms_of_term): Don't initialize default_orig_pair,
2324 default_set_foreground and default_set_background on Windows.
2325
23262008-07-25 Jason Rumney <jasonr@gnu.org>
2327
2328 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2329 ScriptItemize. Clean up return value checking. Remove unused
2330 variables.
2331 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2332 shaping engine.
2333
2334 * w32font.c (w32font_has_char): Handle the case where we can't
2335 determine the script for a character.
2336
23372008-07-25 Chong Yidong <cyd@stupidchicken.com>
2338
2339 * term.c (syms_of_term): Initialize default_orig_pair,
2340 default_set_foreground, and default_set_background.
2341
2342 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2343 clash (bug#86).
2344 (getloadavg): Callers changed.
2345
2346 * image.c (svg_load_image): Fix last change.
2347 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2348 image size is valid. Use g_object_unref instead of deprecated
2349 rsvg_handle_free to free rsvg handle.
2350 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2351
23522008-07-25 Jason Rumney <jasonr@gnu.org>
2353
2354 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2355 surrogates before looking up glyph index.
2356 (w32font_text_extents): Encode as surrogates if falling back to
2357 functions that need UTF-16 wide chars.
2358
2359 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2360 BMP as surrogates before looking up glyph index.
2361
23622008-07-25 Chong Yidong <cyd@stupidchicken.com>
2363
2364 * image.c (svg_load_image): Check for failure in return value of
2365 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2366
23672008-07-25 Jason Rumney <jasonr@gnu.org>
2368
2369 * w32font.c (Fx_select_font): Reverse sense of second arg.
2370
23712008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2372
2373 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2374 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2375
2376 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2377 (PURESIZE): Use it.
2378
23792008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2380
2381 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2382 * m/alpha.h (TEXT_END):
2383 * m/ibmrs6000.h (TEXT_END):
2384 * m/macppc.h (TEXT_END):
2385 * s/darwin.h (TEXT_END):
2386 * s/msdos.h (TEXT_END): Remove, unused.
2387 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2388 * s/cygwin.h: Remove comment.
2389
2390 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2391 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2392 * m/intel386.h (DOT_GLOBAL_START):
2393 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2394 (USG): Remove, file not used on USG platforms.
2395
2396 * Makefile.in (HAVE_X11): Remove empty #else.
2397
23982008-07-24 Andreas Schwab <schwab@suse.de>
2399
2400 * fileio.c (Finsert_file_contents): Properly adjust undo list
2401 after format conversion.
2402
24032008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2404
2405 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2406 (menu_nav_ended): Remove.
2407 (create_menus): Remove signal connect for menu_nav_ended.
2408 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2409 create_menus.
2410 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2411
24122008-07-23 Jason Rumney <jasonr@gnu.org>
2413
2414 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2415 with opened font.
2416 (w32font_open): Set font type to gdi.
2417
2418 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2419
24202008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2421
2422 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2423 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2424 defines it.
2425 * unexec.c (ADDR_CORRECT): Define unconditionally.
2426
2427 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2428
2429 * unexec.c: Remove code depending on !COFF and USG, the file is
2430 not used for such systems.
2431
2432 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2433 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2434 (LD_SWITCH_SYSTEM_1): Remove, update users.
2435
2436 * s/darwin.h (DATA_END):
2437 * m/intel386.h (DATA_END):
2438 * m/ibmrs6000.h (DATA_END):
2439 * m/alpha.h (DATA_END): Remove, unused.
2440
2441 * config.in: Regenerate.
2442 * s/ms-w32.h (subprocesses): Define unconditionally.
2443 * s/template.h (subprocesses): Update comment.
2444 * s/vms.h (subprocesses):
2445 * s/usg5-4.h (subprocesses):
2446 * s/hpux10-20.h (subprocesses):
2447 * s/gnu-linux.h (subprocesses):
2448 * s/cygwin.h (subprocesses):
2449 * s/bsd-common.h (subprocesses):
2450 * s/aix4-2.h (subprocesses):
2451 * s/darwin.h (subprocesses): Do not define, defined by default now.
2452
2453 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2454 Remove all references.
2455 (temacs): Add GNUstep specific ld flags.
2456
2457 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2458 similarly to what X does.
2459
24602008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2461
2462 * nsfns.m (x-list-fonts): Remove.
2463 (syms_of_nsfns): Drop the x-list-fonts declaration.
2464 * nsterm.m: Get rid of remaining "//" comments.
2465
24662008-07-22 Chong Yidong <cyd@stupidchicken.com>
2467
2468 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2469
2470 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2471 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2472 (Fns_own_selection_internal, Fx_disown_selection_internal)
2473 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2474
2475 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2476 ... */' style of docstrings. Doc fixes.
2477
24782008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2479
2480 * terminfo.c (UP, BC, PC): Undo previous change.
2481
2482 * nsfns.m: Rename ns prefixed functions/variables to the
2483 corresponding x versions. Update references.
2484
24852008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2486
2487 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2488
24892008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2490
2491 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2492 Remove forwarding functions.
2493 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2494 non-static.
2495 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2496 non-static.
2497 (ns_frame_parm_handlers): Use the new names.
2498 (syms_of_nsfns): Move to the end of file.
2499
2500 * nsterm.m (syms_of_nsterm): Move to the end of file.
2501
2502 * dispnew.c (init_display): Remove code for X10.
2503
25042008-07-22 Jason Rumney <jasonr@gnu.org>
2505
2506 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2507 bare drive.
2508
25092008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2510
2511 * nsterm.m (syms_of_nsterm): Remove debugging println.
2512
25132008-07-22 David Reitter <david.reitter@gmail.com>
2514
2515 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2516 Carbon implementation of the same functionality: execute arbitrary
2517 AppleScript code.
2518
25192008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2520
2521 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2522 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2523 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2524 (Fx_display_mm_height, Fx_display_mm_width)
2525 (Fx_display_backing_store, Fx_display_visual_class)
2526 (Fx_display_save_under, Fx_open_connection)
2527 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2528 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2529 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2530 (Fx_display_pixel_width, Fx_display_pixel_height)
2531 (Fx_display_usable_bounds, Fx_display_planes)
2532 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2533 ... */' style of docstrings.
2534
25352008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2536
2537 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2538 on this platform.
2539 (mips):
2540 * m/iris4d.h (mips): Do not define.
2541 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2542
2543 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2544
2545 * image.c:
2546 * nsfns.m:
2547 * nsselect.m:
2548 * nsterm.h:
2549 * nsterm.m: Rename ns prefixed functions/variables to the
2550 corresponding x versions. Update references.
2551
2552 * m/ibms390x.h (NO_REMAP): Do not undefine.
2553
2554 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2555
25562008-07-21 Chong Yidong <cyd@stupidchicken.com>
2557
2558 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2559 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2560 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2561 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2562 (Fns_display_mm_height, Fns_display_mm_width)
2563 (Fns_display_backing_store, Fns_display_visual_class)
2564 (Fns_display_save_under, Fns_open_connection)
2565 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2566 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2567 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2568 (Fns_display_pixel_width, Fns_display_pixel_height)
2569 (Fns_display_usable_bounds, Fx_display_planes)
2570 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2571
25722008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2573
2574 * print.c (print_object): Check print_depth before searching for
2575 circularities.
2576
25772008-07-21 Michael Albinus <michael.albinus@gmx.de>
2578
2579 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2580 only sprintf.
2581
25822008-07-21 Kenichi Handa <handa@m17n.org>
2583
2584 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2585
25862008-07-20 Andreas Schwab <schwab@suse.de>
2587
2588 * syntax.c (find_start_pos, find_start_value)
2589 (find_start_value_byte, find_start_begv, find_defun_start)
2590 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2591
25922008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2593
2594 * s/sol2-3.h: Insert contents of s/sol2.h.
2595 (LD_SWITCH_SYSTEM): Remove redundant definition.
2596 * s/sol2.h: Remove, unused.
2597
25982008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2599
2600 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2601
26022008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2603
2604 * Makefile.in (ns_appdir): Fix typo in find command.
2605
26062008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2607
2608 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2609
2610 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2611 added not supported anymore.
2612
2613 * s/usg5-4-2.h (LIBS_SYSTEM):
2614 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2615
2616 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2617 * s/lynxos.h (GETPGRP_NO_ARG):
2618 * s/hpux10-20.h (NO_SIOCTL_H):
2619 * s/gnu.h (GETPGRP_NO_ARG):
2620 * s/gnu-linux.h (NO_SIOCTL_H):
2621 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2622 * s/cygwin.h (GETPGRP_NO_ARG):
2623 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2624 (C_DEBUG_SWITCH): Remove duplicate definition.
2625
2626 * m/ibms390.h: Remove boilerplate comments.
2627
2628 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2629
2630 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2631 (wait_reading_process_output): Remove code for SunOS, platform not
2632 supported anymore. Use SOLARIS2 instead of sun.
2633
26342008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2635
2636 * font.c (font_open_by_name): Under NS, default lface height to zero.
2637 (font_open_for_lface): Under NS, set size based on frame fontsize.
2638 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2639 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2640
26412008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2642
2643 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2644 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2645 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2646 YES/NO.
2647 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2648 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2649 * Makefile.in (clean): Clear out build destination dir.
2650
26512008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2652
2653 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2654 xterm, xselect.
2655 * lisp.h: Remove declaration of hash_remove.
2656 * nsgui.h: Remove redefinitions of hash_remove.
2657 * fns.c (hash_remove): Rename to hash_remove_from_table.
2658
26592008-07-19 Seiji Zenitani <zenitani@mac.com>
2660
2661 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2662 strdup() the family UTF8String before modifying it.
2663
26642008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2665
2666 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2667 NS_FACE_BACKGROUND with 0 instead of nil.
2668 * nsfont.m (nsfont_draw): Same.
2669
26702008-07-19 Chong Yidong <cyd@stupidchicken.com>
2671
2672 * nsfns.m (ns_set_background_color): Fix crash.
2673
26742008-07-18 Chong Yidong <cyd@stupidchicken.com>
2675
2676 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2677
26782008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2679
2680 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2681
26822008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2683
2684 * gtkutil.c: Include <config.h> instead of "config.h".
2685
2686 * lisp.h (Foverlay_buffer): Add EXFUN.
2687
2688 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2689 child process to complete child_setup. Undo 2005-09-21 change.
2690
2691 * s/darwin.h: Mention setsid after vfork.
2692
26932008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2694
2695 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2696 Depend on macgui.h.
2697
2698 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2699 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2700
2701 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2702 and f19.
2703 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2704
2705 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2706 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2707 Remove enumerators.
2708
2709 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2710 Check if FACE_FROM_ID returns NULL.
2711
27122008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2713
2714 * w32inevt.c (change_frame_size): Remove extern declaration.
2715 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2716 change_frame_size.
2717
27182008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2719
2720 * getloadavg.c: Revert last change (2008-07-15).
2721
27222008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2723
2724 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2725 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2726 from configure.
2727
27282008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2729
2730 * s/sol2.h:
2731 * s/sol2-4.h: Reorganize conditionals.
2732
2733 * ecrt0.c: Remove code depending on m68000, not used anymore.
2734
2735 * fns.c (hash_remove): Make static.
2736 * lisp.h (hash_remove): Don't prototype.
2737
2738 * m/ibmrs6000.h:
2739 * m/ibms390x.h:
2740 * m/macppc.h: Remove boilerplate comments.
2741
2742 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2743 Solaris, which does not need them.
2744
2745 * m/vax.h: Remove comments about unsupported systems.
2746
2747 * s/darwin.h: Reorganize ifdefs.
2748
27492008-07-17 Andreas Schwab <schwab@suse.de>
2750
2751 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2752
27532008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2754
2755 Use SDATA. Follow coding convention of placing operators at
2756 beginning of next line rather than end of previous line, and placing
2757 spaces around infix operators.
2758
2759 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2760 in case it was defined already.
2761 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2762 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2763 ns_default.
2764 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2765 Lisp_Objects.
2766 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2767 (ns_defined_color, ns_color_to_lisp): Declare.
2768 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2769 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2770 it's accepted even with USE_LISP_UNION_TYPE.
2771 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2772 (update_frame_tool_bar): Remove apparently obsolete tests for
2773 non-integerness of f->tool_bar_lines.
2774 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2775 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2776 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2777 (nsfont_open): Don't confuse NULL for Qnil.
2778 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2779 * menu.h (find_and_call_menu_selection):
2780 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2781 (find_and_return_menu_selection): Always return something.
2782 * frame.h: Include dispextern.h for Display_Info.
2783 (display_x_get_resource): Declare.
2784
27852008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2786
2787 * syntax.c: Remove stdio.h include accidentally introduced in
2788 Emacs.app commit.
2789 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2790 NS_IMPL_COCOA.
2791 * keyboard.c (handle_async_input, input_available_signal): Remove
2792 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2793
27942008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2795
2796 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2797 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2798 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2799 Use SDATA.
2800
2801 * keymap.c: Remove all NS-specific code.
2802 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2803 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2804 where_is_preferred_modifier, return a different value depending on how
2805 preferred is the binding.
2806 (where_is_internal): Adjust accordingly.
2807 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2808 Adjust to new preferred_sequence_p.
2809 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2810 * keyboard.c (parse_solitary_modifier): Not static any more.
2811 * keyboard.h (parse_solitary_modifier): Declare.
2812
28132008-07-16 Andreas Schwab <schwab@suse.de>
2814
2815 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2816 of easymenu.
2817
28182008-07-16 Chong Yidong <cyd@stupidchicken.com>
2819
2820 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2821 that we don't move off the line.
2822
28232008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2824
2825 * keyboard.c (Qsuper): Remove.
2826 (parse_menu_item): Don't call where_is_internal specially for NS.
2827
28282008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2829
2830 * s/gnu-linux.h: Remove boilerplate comments.
2831
2832 * m/alpha.h (__ELF__): Consolidate conditions.
2833
2834 * m/m68k.h (linux): Use GNU_LINUX instead.
2835 Remove boilerplate comments.
2836
2837 * m/intel386.h: Undo refactoring from previous change.
2838 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2839 too, remove dead code.
2840 (linux): Use GNU_LINUX instead.
2841
28422008-07-16 Jason Rumney <jasonr@gnu.org>
2843
2844 * w32gui.h: Repeat 26 June changes lost by last change.
2845
28462008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2847
2848 * systty.h: Remove code for Aix on 386, unsupported platform.
2849
2850 * s/ms-w32.h: Remove boilerplate comments.
2851 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2852
2853 * s/gnu-linux.h (TERM): Remove support.
2854 (HAVE_SYSVIPC): Remove, unused.
2855 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2856 for this system.
2857
2858 * process.c: Remove support for IRIS, unused.
2859 Remove support for TERM, not relevant anymore.
2860
2861 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2862 used with the definition.
2863
2864 * s/aix4-2.h (static): Do not undef.
2865
2866 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2867 only used on Aix.
2868 (HAVE_SYSVIPC): Remove, unused.
2869
2870 * m/hp800.h (CANNOT_DUMP): Do not undef.
2871
2872 * m/alpha.h: Fix comment.
2873
2874 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2875 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2876 used by this configuration.
2877 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2878 * unexec.c: Remove code depending on HPUX and
2879 USG_SHARED_LIBRARIES, not used with this file. Remove code
2880 depending on IRIS, unused. Remove if 0-ed code.
2881
2882 * s/template.h: Remove comments about static.
2883
2884 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2885 Remove if 0-ed code.
2886 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2887 were the same as the default.
2888 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2889 Remove boilerplate comments.
2890 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2891 (HAVE_SYSVIPC): Remove, unused.
2892 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2893
2894 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2895 Remove boilerplate comments.
2896 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2897 Remove boilerplate comments.
2898 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2899 Remove boilerplate comments.
2900 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2901
2902 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2903 USG systems which do not use DATA_SEG_BITS.
2904 Refactor code. Remove boilerplate comments.
2905
2906 * m/ibms390.h:
2907 * m/m68k.h:
2908 * s/bsd-common.h:
2909 * s/cygwin.h:
2910 * s/darwin.h:
2911 * s/freebsd.h:
2912 * s/gnu.h:
2913 * s/msdos.h: Remove boilerplate comments.
2914
2915 * m/iris4d.h: Remove boilerplate comments and code for systems that
2916 do not use this file.
2917 (IRIS_4D): Remove, unused.
2918
2919 * m/mips.h: Remove boilerplate comments and code for systems that
2920 do not use this file.
2921 (SIGN_EXTEND_CHAR):
2922 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2923 * unexmips.c: Remove file, unused.
2924
2925 * editfns.c (Fuser_full_name): Replace the only use of
2926 USER_FULL_NAME with its value.
2927 * config.in: Regenerate.
2928
29292008-07-16 David Reitter <david.reitter@gmail.com>
2930
2931 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2932 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2933
29342008-07-16 Glenn Morris <rgm@gnu.org>
2935
2936 * emacs.c (system-type): Doc fix.
2937
29382008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2939
2940 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2941 If the cache doesn't work, let's fix it, rather than work around it.
2942
29432008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2944
2945 * Makefile.in: Correct additions for nsfont.o in last commit.
2946 * nsfont.m: New file (forgot last commit).
2947
29482008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2949
2950 * callproc.c (set_initial_environment): Initialize
2951 Vprocess_environment under CANNOT_DUMP (fixes crash when
2952 batch-compiling for bootstrap).
2953
29542008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2955 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2956
2957 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2958 fix crash due to different init order.
2959
29602008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2961
2962 Changes and additions for NeXTstep windowing system (Cocoa and
2963 GNUstep) support.
2964
2965 * Makefile.in:
2966 * config.in: Support defines and build commands for NS port.
2967 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2968 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2969 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2970 windowing.
2971 (struct face): Add synth_ital field.
2972 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2973 (init_display): Initialize Vinitial_window_system to "ns" when so
2974 compiled.
2975 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2976 (display_arg): Use under NS.
2977 (main): Under NS, allocate autorelease pool and handle command line
2978 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2979 (standard_args): Add NS-specific args.
2980 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2981 * font.c (DEFAULT_ENCODING): New variable.
2982 (font_find_for_lface): Use it.
2983 (syms_of_font): Load syms_of_nsfont under NS.
2984 * font.h: Declare nsfont_driver when compiled under NS.
2985 * fontset.c: When compiling under NS, include nsterm.h.
2986 (fontset_from_font): Autoconstruct fontset under NS.
2987 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2988 symbol, document and use it.
2989 (do_switch_frame): When for_deletion under Cocoa, add
2990 Fraise_frame(Qnil).
2991 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2992 (x_get_arg): Allow "yes" and "no" as boolean values.
2993 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2994 Qright under Cocoa.
2995 (focus-follows-mouse): Default to 0 under NS.
2996 * frame.h (enum output_method): Add output_ns.
2997 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2998 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2999 (FRAME_WINDOW_P): NS-specific definition.
3000 * fringe.c (max_used_fringe_bitmap): Make public.
3001 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3002 (getloadavg): Use NeXT code under descendant OS's.
3003 * image.c (includes and header section, x_create_bitmap_from_data)
3004 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3005 (image_background_transparent, x_clear_image_1)
3006 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3007 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3008 (x_to_xcolors, x_from_xcolors, x_disable_image)
3009 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3010 other GUIs, including XPM support using code originally written for
3011 Carbon GUI.
3012 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3013 using NS API.
3014 (image_ascent): Use font metrics macros instead of direct struct field
3015 access.
3016 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3017 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3018 Also, handle NS as GTK for menu bar purposes.
3019 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3020 toolkit where they differ.
3021 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3022 use cachelist, still needed under NS.
3023 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3024 (struct widget_value): Define it here for menu.c.
3025 * keymap.c (includes): Include modifier internals.
3026 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3027 NS.
3028 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3029 support for preferring sequences using certain modifiers, specified by
3030 the FIRSTONLY argument.
3031 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3032 under NS GNUstep implementation.
3033 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3034 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3035 * menu.c: Include nsterm.h under NS.
3036 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3037 (free_menubar_widget_tree_value, update_submenu_strings)
3038 (find_and_call_menu_selection): Treat NS as X and NT.
3039 (find_and_return_menu_selection): New function, used for popup menus.
3040 * nsgui.h:
3041 * nsterm.h:
3042 * nsfns.m:
3043 * nsimage.m:
3044 * nsmenu.m:
3045 * nsselect.m:
3046 * nsterm.m: New files.
3047 * process.c (wait_reading_process_output): Under NS, call ns_select()
3048 instead of plain select().
3049 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3050 beginning of buffer.
3051 * sysselect.h (init_process): Rename when compiling under Cocoa to
3052 avoid name conflict.
3053 * termhooks.h (display_info): Add ns_display_info to union.
3054 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3055 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3056 COCOA environment.
3057 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3058 unexec() signature. (Note, this will dump, but the resulting file
3059 crashes; unexosx is used instead; keeping around for reference and
3060 possible aid in getting dump working under GNUstep.)
3061 * w32gui.h (button_type, widget_value): Remove definitions (now in
3062 keyboard.h).
3063 * window.c: Include nsterm.h when compiling under NS.
3064 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3065 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3066 other GUI windowing systems.
3067 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3068 GTK.
3069 (x_consider_frame_title): Under NS, set icon type and frame
3070 modified-state indicator; use ns_set_name_as_filename() when using
3071 formatted title.
3072 (update_window_cursor): Make public when compiling under NS.
3073 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3074 (hourglass_atimer, Vhourglass_delay
3075 * xfaces.c (header section, init_frame_faces, clear_font_table)
3076 (defined_color, unload_color, x_face_list_fonts)
3077 (prepare_face_for_display): Add NS support parallel to other GUIs.
3078 Emulate GCs like other non-X GUIs.
3079 (split_font_name): Don't lowercase font name under NS.
3080 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3081 under NS.
3082 * s/darwin.h: Add support for compilation under NS.
3083
30842008-07-15 Jason Rumney <jasonr@gnu.org>
3085
3086 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3087 (w32_show_hourglass): Rename from show_hourglass.
3088 (w32_hide_hourglass): Rename from hide_hourglass.
3089 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3090 (Vhourglass_delay): Declare extern.
3091 (hourglass_started): Remove.
3092
3093 * xdisp.c (Vhourglass_delay): Remove static.
3094 (hourglass_started, start_hourglass, cancel_hourglass):
3095 Don't include these versions on WINDOWSNT.
3096
30972008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3098
3099 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3100 variables (formerly in xfns.c).
3101 (show_hourglass, hide_hourglass): New prototypes (same).
3102 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3103 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3104 in xfns.c).
3105 (syms_of_xdisp): Declare/initialize display-hourglass,
3106 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3107 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3108 formerly in xfns.c.
3109 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3110 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3111 (start_hourglass, cancel_hourglass): Remove.
3112 (show_hourglass, hide_hourglass): Remove prototypes and static
3113 modifiers.
3114 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3115 hourglass_atimer, hourglass_shown_p declaration/initialization.
3116 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3117 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3118 (start_hourglass, cancel_hourglass): Remove.
3119 (show_hourglass, hide_hourglass): Remove prototypes and static
3120 modifiers.
3121 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3122 hourglass_atimer, hourglass_shown_p declaration/initialization.
3123 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3124 (DEFAULT_HOURGLASS_DELAY): Remove.
3125 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3126 hourglass_shown_p declaration/initialization.
3127
31282008-07-14 Jason Rumney <jasonr@gnu.org>
3129
3130 * w32fns.c (w32_get_arg): Remove wrapper function.
3131 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3132 directly.
3133 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3134
31352008-07-14 Kenichi Handa <handa@m17n.org>
3136
3137 * xfont.c (xfont_open): Add workaround for X's bug.
3138
31392008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3140
3141 * fontset.c: Include <stdio.h> unconditionally.
3142
31432008-07-13 Michael Albinus <michael.albinus@gmx.de>
3144
3145 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3146 for filtering.
3147
31482008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3149
3150 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3151
3152 * m/macppc.h:
3153 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3154
3155 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3156 (SPECIAL_EMACS_INT):
3157 * m/ia64.h (SPECIAL_EMACS_INT):
3158 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3159 * s/gnu.h (NLIST_STRUCT):
3160 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3161 * s/gnu-linux.h (LINUX):
3162 * s/msdos.h (HAVE_FACES):
3163 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3164
3165 * systty.h:
3166 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3167 anymore.
3168
31692008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3170
3171 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3172 always defined as int.
3173
3174 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3175 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3176 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3177 * s/freebsd.h (HAVE_WAIT_HEADER):
3178 * s/bsd-common.h (HAVE_UNION_WAIT):
3179 * s/aix4-2.h (HAVE_WAIT_HEADER):
3180 * m/mips.h (HAVE_UNION_WAIT):
3181 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3182 (COFF, static): Do not define, they are undefined later in the file.
3183
3184 * process.c (update_status): Don't use a union.
3185 (status_convert):
3186 (sigchld_handler): Use int instead of WAITTYPE.
3187
31882008-07-12 Chong Yidong <cyd@stupidchicken.com>
3189
3190 * indent.c (Fvertical_motion): Restore hscroll before moving to
3191 goal column.
3192
31932008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3194
3195 * lisp.h: Remove left over code.
3196
31972008-07-11 Andreas Schwab <schwab@suse.de>
3198
3199 * lisp.h: Fix logic in last change.
3200
3201 * menu.h: New file.
3202 * menu.c: Include it.
3203 * xmenu.c: Likewise.
3204 * Makefile.in: Update dependencies.
3205
32062008-07-11 Kenichi Handa <handa@m17n.org>
3207
3208 * fontset.c (fontset_from_font): Cancel the previous change.
3209
32102008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3211
3212 * lisp.h:
3213 * w32heap.c:
3214 * emacs.c:
3215 * alloc.c: Replace all references of NO_UNION_TYPE with
3216 USE_LISP_UNION_TYPE.
3217
3218 * m/xtensa.h (NO_UNION_TYPE):
3219 * m/vax.h (NO_UNION_TYPE):
3220 * m/template.h (NO_UNION_TYPE):
3221 * m/sparc.h (NO_UNION_TYPE):
3222 * m/mips.h (NO_UNION_TYPE):
3223 * m/macppc.h (NO_UNION_TYPE):
3224 * m/m68k.h (NO_UNION_TYPE):
3225 * m/iris4d.h (NO_UNION_TYPE):
3226 * m/intel386.h (NO_UNION_TYPE):
3227 * m/ibms390x.h (NO_UNION_TYPE):
3228 * m/ibms390.h (NO_UNION_TYPE):
3229 * m/ibmrs6000.h (NO_UNION_TYPE):
3230 * m/ia64.h (NO_UNION_TYPE):
3231 * m/hp800.h (NO_UNION_TYPE):
3232 * m/arm.h (NO_UNION_TYPE):
3233 * m/amdx86-64.h (NO_UNION_TYPE):
3234 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3235 defining it the same.
3236
32372008-07-10 Chong Yidong <cyd@stupidchicken.com>
3238
3239 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3240
32412008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3242
3243 * fileio.c:
3244 * sysdep.c
3245 * systty.h:
3246 * m/ibmrs6000.h:
3247 * m/iris4d.h:
3248 * s/aix4-2.h:
3249 * s/freebsd.h:
3250 * s/gnu-linux.h:
3251 * s/hpux10-20.h:
3252 * s/hpux11.h:
3253 * s/netbsd.h:
3254 * s/sol2-3.h:
3255 * s/sol2-4.h:
3256 * s/sol2.h:
3257 * s/usg5-4.h:
3258 * s/vms.h: Remove references to unused variables.
3259
32602008-07-10 Andreas Schwab <schwab@suse.de>
3261
3262 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3263 pattern before matching the generic family.
3264
32652008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3266
3267 * unexec.c:
3268 * s/vms.h:
3269 * s/usg5-4-2.h:
3270 * s/sol2-5.h:
3271 * s/freebsd.h:
3272 * s/darwin.h: Remove dead code.
3273
3274 * m/template.h:
3275 * m/sparc.h:
3276 * m/mips.h:
3277 * m/m68k.h:
3278 * m/iris4d.h:
3279 * m/intel386.h:
3280 * m/ibms390x.h:
3281 * m/ibms390.h:
3282 * m/ia64.h:
3283 * m/hp800.h:
3284 * m/arm.h:
3285 * m/amdx86-64.h: Remove dead code and references to unused
3286 and compiler defined symbols.
3287
3288 * unexmips.c:
3289 * unexelf.c: Remove references to desupported systems.
3290
3291 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3292
3293 * m/powermac.h: Remove boilerplate comments.
3294 (NO_REMAP): Remove unused definition.
3295
3296 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3297 define them.
3298
32992008-07-10 Kenichi Handa <handa@m17n.org>
3300
3301 * xfont.c (xfont_open): Log the reason of failure.
3302
33032008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3304
3305 * fontset.c (fontset_get_font_group):
3306 * font.c (font_check_otf): Specify argument types.
3307
33082008-07-09 Kenichi Handa <handa@m17n.org>
3309
3310 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3311 non-ASCII char is found.
3312
3313 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3314 (reorder_font_vector): Change the arg preferred_family to font.
3315 Prefer the spec matching with font.
3316 (fontset_get_font_group): New function.
3317 (fontset_find_font): Change the format of an element of a realized
3318 fontset. Use fontset_get_font_group.
3319 (fontset_font): Try the current fontset, the default fontset, the
3320 fallbacks of the current fontset, and the fallbacks of the default
3321 fontset in this order.
3322 (face_for_char): Delete the shortcut to use the current font.
3323 (fontset_from_font): Don't set fonts for Latin in the fontset.
3324
3325 * font.h (font_make_object, font_match_p): Adjust prototypes.
3326
3327 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3328
3329 * font.c (font_make_object): New arg entity and pixelsize.
3330 (font_check_otf_features, font_check_otf): New functions.
3331 (font_match_p): Check :lang, :script, and :otf properties.
3332
3333 * xfont.c (xfont_open): Adjust it for the change of
3334 font_make_object.
3335 (xfont_text_extents): Fix initial setting of metrics.
3336
3337 * ftfont.c (struct ftfont_info): New member index, delete member
3338 fc_charset_idx. Make the member order compatible with struct
3339 xftfont_info.
3340 (fc_charset_table): Change charset names to registry names.
3341 (ftfont_pattern_entity): Delete the args registry and
3342 fc_charset_idx. Change the value of :font-entity property
3343 to (FONTNAME . INDEX). Always set :registry property to
3344 `iso10646-1'.
3345 (struct ftfont_cache_data): New struct.
3346 (ftfont_lookup_cache): New arg for_face.
3347 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3348 (ftfont_driver): Set the member otf_capability.
3349 (ftfont_get_charset): Adjust it for the change of
3350 fc_charset_table.
3351 (OTF_TAG_SYM): New macro.
3352 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3353 for the change of fc_charset_table.
3354 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3355 ftfont_pattern_entity. Add FC_INDEX to objset.
3356 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3357 and ftfont_pattern_entity.
3358 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3359 font_make_object, struct ftfont_info.
3360 (ftfont_has_char): Use ftfont_get_fc_charset.
3361 (ftfont_otf_features, ftfont_otf_capability): New functions.
3362 (ftfont_shape): Use ftfont_get_otf.
3363 (ftfont_text_extents): Fix initial setting of metrics.
3364
3365 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3366 member order compatible with struct ftfont_info.
3367 (xftfont_open): Add FC_CHARSET to the pattern. Set
3368 xftfont_info->ft_size. Don't unlock the face. Check BDF
3369 properties if appropriate.
3370 (xftfont_close): Unlock the face.
3371 (xftfont_anchor_point, xftfont_shape): Deleted.
3372 (syms_of_xftfont): Don't set members anchor_point and shape of
3373 xftfont_driver.
3374
3375 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3376 font_make_object.
3377
3378 * w32font.c (w32font_open): Adjust it for the change of
3379 font_make_object.
3380 (w32font_open_internal): Don't set properties of font_object here.
3381
33822008-07-08 Chong Yidong <cyd@stupidchicken.com>
3383
3384 * macfns.c (x_create_tip_frame):
3385 * w32fns.c (x_create_tip_frame):
3386 * xfns.c (x_create_tip_frame): Pass parameter argument to
3387 face-set-after-frame-default.
3388
3389 * xfaces.c (Finternal_merge_in_global_face): Save merged
3390 attributes for the default face back into the face vector.
3391
33922008-07-08 Andreas Schwab <schwab@suse.de>
3393
3394 * fontset.h: Declare fontset_from_font. Don't declare
3395 new_fontset_from_font and fontset_from_font_name.
3396 * xterm.c: Include "fontset.h".
3397 * Makefile.in (xterm.o): Update dependencies.
3398
33992008-07-08 Glenn Morris <rgm@gnu.org>
3400
3401 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3402 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3403
34042008-07-07 Chong Yidong <cyd@stupidchicken.com>
3405
3406 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3407 (x_set_frame_parameters): Don't bind it.
3408
34092008-07-07 Juanma Barranquero <lekktu@gmail.com>
3410
3411 * w32fns.c (map_w32_filename): Declare extern.
3412
34132008-07-07 Jason Rumney <jasonr@gnu.org>
3414
3415 * w32term.c (WS_EX_LAYERED): Define if not already.
3416
34172008-07-06 Chong Yidong <cyd@stupidchicken.com>
3418
3419 * xfaces.c (set_font_frame_param): Don't try to set the font
3420 parameter if it is still unspecified in the lface.
3421
34222008-07-05 Chong Yidong <cyd@stupidchicken.com>
3423
3424 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3425 face if it didn't already exist.
3426
3427 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3428
34292008-07-05 Andreas Schwab <schwab@suse.de>
3430
3431 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3432
34332008-07-05 Chong Yidong <cyd@stupidchicken.com>
3434
3435 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3436 word-wrapping.
3437 (IT_DISPLAYING_WHITESPACE): New macro.
3438 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3439 when word-wrapping. Simplify word-wrapping logic. Use correct
3440 pixel positions when saving copies of the iterator.
3441 (display_line): Use proper wrap point if the last character on a
3442 line was preceded by whitespace.
3443
34442008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3445
3446 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3447
34482008-07-04 Kenichi Handa <handa@m17n.org>
3449
3450 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3451
3452 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3453
34542008-07-02 Jason Rumney <jasonr@gnu.org>
3455
3456 * xfns.c (syms_of_xfns): Only define x-select-font when both
3457 HAVE_FREETYPE and USE_GTK
3458
3459 * xdisp.c (next_element_from_display_vector): Move assignment out
3460 of if statement.
3461
34622008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3463
3464 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3465
3466 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3467 (syms_of_fileio): Initialize and export them.
3468 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3469
3470 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3471 (Fsystem_move_file_to_trash): New function.
3472 (syms_of_w32fns): Export it to lisp.
3473
34742008-07-01 Jason Rumney <jasonr@gnu.org>
3475
3476 * w32font.c (w32font_text_extents): Don't count overhang as part
3477 of width.
3478
34792008-06-30 Miles Bader <miles@gnu.org>
3480
3481 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3482 Add `avoid_cursor_p' field.
3483
3484 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3485 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3486 (append_glyph, append_composite_glyph, produce_image_glyph)
3487 (append_stretch_glyph): Initialize avoid_cursor_p.
3488 (get_it_property): Rename from `get_line_height_property'.
3489 (x_produce_glyphs): Use get_it_property.
3490 (handle_line_prefix, push_display_prop): New functions.
3491 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3492 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3493 New variables.
3494 (syms_of_xdisp): Initialize them.
3495
34962008-06-30 Kenichi Handa <handa@m17n.org>
3497
3498 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3499 XftDefaultSubstitute (they are called in XftFontMatch).
3500 (xftfont_open): Fix args to ftfont_font_format.
3501
3502 * ftfont.c (fc_charset_table): New member lang.
3503 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3504 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3505 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3506 (ftfont_open): Fix args to ftfont_font_format.
3507 (ftfont_font_format): New arg filename.
3508
35092008-06-30 Chong Yidong <cyd@stupidchicken.com>
3510
3511 * xfaces.c (Finternal_merge_in_global_face): If default face was
3512 modified, realize it again. Update the font face attribute.
3513
35142008-06-29 Jason Rumney <jasonr@gnu.org>
3515
3516 * w32term.c (x_set_frame_alpha): Fix logic.
3517
35182008-06-29 Kenichi Handa <handa@m17n.org>
3519
3520 * fontset.c (Finternal_char_font): Return font-object instead of
3521 font-name.
3522
3523 * composite.c (get_composition_id): Fix the width calculation for TAB.
3524
35252008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3526
3527 * indent.c (Fvertical_motion): Properly handle float column arg.
3528
35292008-06-28 Jason Rumney <jasonr@gnu.org>
3530
3531 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3532 (pfnSetLayeredWindowAttributes): New function pointer.
3533 (w32_initialize): Initialize it when supported.
3534 (x_set_frame_alpha): New function.
3535
3536 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3537 (w32_frame_parm_handlers): Set alpha handler.
3538
3539 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3540
35412008-06-27 Jason Rumney <jasonr@gnu.org>
3542
3543 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3544 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3545 (w32_to_x_charset, x_to_w32_charset)
3546 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3547 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3548 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3549 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3550 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3551 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3552 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3553 (Qw32_charset_unicode): Remove.
3554 (syms_of_w32fns): Update for above changes.
3555
3556 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3557 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3558 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3559 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3560 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3561 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3562 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3563 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3564 (syms_of_w32font): Update for above changes.
3565
35662008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3567
3568 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3569 removed #if.
3570 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3571
35722008-06-26 Juanma Barranquero <lekktu@gmail.com>
3573 Eli Zaretskii <eliz@gnu.org>
3574
3575 * makefile.w32-in (LOCAL_FLAGS):
3576 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3577
3578 * sysdep.c (_spawnlp, _getpid):
3579 Declare with explicit _cdecl instead of _CRTAPI1.
3580
3581 * editfns.c (Fget_internal_run_time):
3582 Check for WINDOWSNT with #ifdef, not #if.
3583
35842008-06-26 Jason Rumney <jasonr@gnu.org>
3585
3586 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3587
3588 * w32term.c (x_draw_glyph_string_foreground)
3589 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3590 Use FONT_HANDLE macro.
3591 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3592
3593 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3594 (uniscribe_encode_char): Use FONT_HANDLE macro.
3595
3596 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3597 (w32font_text_extents): Use precast w32_font.
3598 (w32font_close): Free cached metrics.
3599 (w32font_open_internal): Allocate space for name on stack.
3600
36012008-06-26 Chong Yidong <cyd@stupidchicken.com>
3602
3603 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3604
36052008-06-26 Jason Rumney <jasonr@gnu.org>
3606
3607 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3608 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3609
36102008-06-26 Juanma Barranquero <lekktu@gmail.com>
3611
3612 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3613
36142008-06-26 Jason Rumney <jasonr@gnu.org>
3615
3616 * w32bdf.c, w32bdf.h: Remove obsolete files.
3617
3618 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3619
3620 * w32gui.h: Don't include w32bdf.h.
3621 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3622 Remove obsolete font support.
3623
3624 * w32font.h (struct w32font_info): Remove compat_w32_font.
3625 Add hfont member.
3626 (FONT_COMPAT): Remove obsolete macro.
3627
3628 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3629 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3630 (w32font_open_internal): Remove compat code. Set new hfont member.
3631 (Fx_select_font): Use new hfont member.
3632
3633 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3634 (uniscribe_encode_char): Use new hfont member.
3635
3636 * w32term.c (x_draw_glyph_string_foreground)
3637 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3638 (x_draw_glyph_string): Use metrics in w32font_info.
3639
36402008-06-26 Kenichi Handa <handa@m17n.org>
3641
3642 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3643
36442008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3645
3646 * unexnext.c:
3647 * m/ews4800.h:
3648 * m/hp9000s300.h:
3649 * m/ibm370aix.h:
3650 * m/mips-siemens.h:
3651 * m/ncr386.h:
3652 * m/next.h:
3653 * m/pmax.h:
3654 * m/powerpcle.h:
3655 * m/tandem-s2.h:
3656 * s/386bsd.h:
3657 * s/bsd386.h:
3658 * s/bsd4-1.h:
3659 * s/bsd4-2.h:
3660 * s/bsdos2-1.h:
3661 * s/bsdos2.h:
3662 * s/bsdos3.h:
3663 * s/bsdos4.h:
3664 * s/nextstep.h:
3665 * s/ultrix4-3.h:
3666 * s/usg5-0.h:
3667 * s/usg5-2-2.h:
3668 * s/usg5-2.h:
3669 * s/usg5-4-3.h:
3670 * s/ux4800.h:
3671 * s/uxpds.h:
3672 * s/uxpv.h: Remove support for obsolete systems.
3673 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3674 Remove, insert contents in s/hpux-10.20.h.
3675 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3676 Remove, insert contents in s/aix4-2.h.
3677 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3678 * s/bsd4-3.h: Rename to ...
3679 * s/bsd-common.h: ... this.
3680 * data.c:
3681 * doc.c:
3682 * ecrt0.c:
3683 * emacs.c:
3684 * fileio.c:
3685 * floatfns.c:
3686 * keyboard.c:
3687 * mem-limits.h:
3688 * print.c:
3689 * process.c:
3690 * sysdep.c:
3691 * syssignal.h:
3692 * systty.h:
3693 * syswait.h:
3694 * term.c:
3695 * unexec.c:
3696 * unexelf.c:
3697 * unexhp9k800.c:
3698 * m/hp800.h:
3699 * m/ibmrs6000.h:
3700 * m/mips.h:
3701 * m/vax.h:
3702 * s/darwin.h:
3703 * s/freebsd.h:
3704 * s/gnu.h:
3705 * s/ms-w32.h:
3706 * s/msdos.h:
3707 * s/netbsd.h:
3708 * s/template.h: Remove references to obsolete variables.
3709
3710 * Makefile.in: Add dependencies for all unexec files.
3711 (admindir): Remove unused variable.
3712 (UNEXEC_SRC): Remove references.
3713
37142008-06-25 Chong Yidong <cyd@stupidchicken.com>
3715
3716 * xfns.c (x_default_font_parameter): If Xft is available, first
3717 try Monospace-12 for the default font.
3718
37192008-06-25 Jason Rumney <jasonr@gnu.org>
3720
3721 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3722
37232008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3724
3725 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3726
3727 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3728
37292008-06-25 Juanma Barranquero <lekktu@gmail.com>
3730
3731 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3732 <scroll-conservatively>: Fix typo in docstring.
3733
3734 * xselect.c (Fx_send_client_event): Doc fix.
3735
37362008-06-25 Kenichi Handa <handa@m17n.org>
3737
3738 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3739
3740 * font.c (font_parse_fcname): Remove unused variables.
3741 (font_sort_entites): Delete the arg SPEC. Caller changed.
3742 Fix for the case of ! best_only.
3743 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3744
3745 * lisp.h (Fstring_to_unibyte): EXFUN it.
3746
3747 * character.h (str_to_unibyte): Extern it.
3748
3749 * character.c (str_to_unibyte): New function.
3750
3751 * fns.c (Fstring_to_unibyte): New function.
3752 (syms_of_fns): Defsubr it.
3753
37542008-06-24 Kenichi Handa <handa@m17n.org>
3755
3756 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3757 DPI too.
3758 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3759
37602008-06-24 Andreas Schwab <schwab@suse.de>
3761
3762 * Makefile.in (${lispsource}loaddefs.el): Rename from
3763 ../lisp/loaddefs.el.
3764 (bootstrap-clean): Do what distclean does but don't remove
3765 Makefile.
3766 (distclean): Depend on bootstrap-clean and remove Makefile.
3767
37682008-06-24 Chong Yidong <cyd@stupidchicken.com>
3769
3770 * buffer.h (struct buffer): New member word_wrap.
3771
3772 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3773 word-wrap.
3774 (init_buffer_once): Initialize them.
3775
3776 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3777 line_wrap enum possessing three possible values.
3778
3779 * termopts.h: Replace truncate_partial_width_windows with
3780 Vtruncate_partial_width_windows.
3781
3782 * dispnew.c (direct_output_for_insert): Avoid direct output when
3783 inserting a space with word wrap on.
3784
3785 * indent.c (compute_motion): Obey integer values of
3786 truncate-partial-width-windows.
3787
3788 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3789 replacing truncate_partial_width_windows.
3790 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3791 truncate only if the window width is below that integer.
3792 (start_display, resize_mini_window, produce_stretch_glyph)
3793 (display_string, move_it_in_display_line_to): Use line_wrap.
3794 (back_to_previous_visible_line_start, reseat_1): Reset
3795 string_from_display_prop_p.
3796 (display_line): Extend default face to end of line when wrapping.
3797
37982008-06-24 Kim F. Storm <storm@cua.dk>
3799
3800 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3801 to wrap continued lines at word boundaries.
3802
38032008-06-24 Jason Rumney <jasonr@gnu.org>
3804
3805 * font.c (Ffont_face_attributes): Multiply pixel size before point
3806 conversion to avoid multiplying rounding error.
3807
38082008-06-23 Jason Rumney <jasonr@gnu.org>
3809
3810 * w32term.c (x_draw_glyph_string_background)
3811 (x_draw_glyph_string): Remove old bdf font code.
3812
3813 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3814
38152008-06-22 Kenichi Handa <handa@m17n.org>
3816
3817 * font.c (font_find_for_lface): Try the adstyle specified in
3818 the property of LFACE_FONT of LFACE (if any).
3819
38202008-06-21 Seiji Zenitani <zenitani@mac.com>
3821 Ryo Yoshitake <ryo@shiftmode.net>
3822
3823 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3824
38252008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3826
3827 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3828 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3829 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3830 (witness-emacs): Remove.
3831 (lisp, shortlisp): Move loaddefs.el earlier.
3832 (mostlyclean): Forget about witness-emacs.
3833
38342008-06-22 Glenn Morris <rgm@gnu.org>
3835
3836 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3837 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3838
38392008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3840
3841 * Makefile.in (PRECOMP): Remove.
3842 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3843 (witness-emacs): Run `compile-first'.
3844 (.el.elc): Use the new compile-onefile target.
3845
38462008-06-21 Kenichi Handa <handa@m17n.org>
3847
3848 * xftfont.c (xftfont_open): Handle QCembolden only when
3849 FC_EMBOLDEN is defined.
3850
38512008-06-21 Andreas Schwab <schwab@suse.de>
3852
3853 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3854 (.el.elc): Likewise.
3855
38562008-06-21 Miles Bader <miles@gnu.org>
3857
3858 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3859 build dir, not the lisp source dir.
3860
38612008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3862
3863 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3864 (bootstrapclean): Remove.
3865 (.el.elc): New rule.
3866 (PRECOMP): New var.
3867 (../lisp/subdirs.el): Remove.
3868 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3869 (witness-emacs): New target.
3870 (mostlyclean): Remove witness-emacs as well.
3871 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3872 Add witness-emacs dependency.
3873
38742008-06-20 Chong Yidong <cyd@stupidchicken.com>
3875
3876 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3877 defined by the font.
3878
38792008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3880
3881 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3882 (bootstrap-clean): New target that keeps TAGS around.
3883 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3884 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3885
38862008-06-20 Jason Rumney <jasonr@gnu.org>
3887
3888 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3889 Remove obsolete font code.
3890
3891 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3892 to determine language support.
3893
38942008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3895
3896 * sysdep.c (cfsetspeed): New fun extracted from the code.
3897 (cfmakeraw): Move before first use.
3898
38992008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3900
3901 * sysdep.c (cfmakeraw): Provide fallback implementation.
3902 (serial_configure): Provide fallback implementation of cfsetspeed.
3903
39042008-06-20 Kenichi Handa <handa@m17n.org>
3905
3906 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3907 the pattern.
3908
3909 * fontset.c (fontset_from_font): Copy font_spec before changing
3910 the elements.
3911
3912 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3913
39142008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3915
3916 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3917 for explicit `font' parameters.
3918
3919 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3920
39212008-06-19 Kenichi Handa <handa@m17n.org>
3922
3923 * frame.c: Include <ctype.h>.
3924 (x_set_font_backend): Allow spacing characters in the X resource
3925 for FontBackend.
3926
39272008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3928
3929 * w32fns.c, xfns.c (Qfont_param): New var.
3930 (syms_of_w32fns): Initialize it.
3931 (x_default_font_parameter): Record explicit `font' into
3932 `font-parameter'.
3933
39342008-06-18 Kenichi Handa <handa@m17n.org>
3935
3936 * font.c (font_parse_xlfd): Fix previous change.
3937 (font_parse_fcname): Don't use :fc-unknown-spec.
3938 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3939 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3940 (font_add_log): Prepend the driver name to the resulting fonts.
3941
3942 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3943 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3944 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3945
3946 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3947 (QCembolden): New variables.
3948 (syms_of_xftfont): DEFSYM them.
3949 (xftfont_open): Call XftFontMatch. Don't trust the result of
3950 XftTextExtents8 if the pixel_size is less than 5.
3951
39522008-06-18 Andreas Schwab <schwab@suse.de>
3953
3954 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3955 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3956
39572008-06-18 Jason Rumney <jasonr@gnu.org>
3958
3959 * w32font.c (w32font_list, w32font_match): Add logging.
3960
3961 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3962
39632008-06-17 Chong Yidong <cyd@stupidchicken.com>
3964
3965 * font.c (font_parse_fcname): Store divider characters for
3966 unknown-spec list. For known key symbols, intern using correct
3967 symbol name.
3968
39692008-06-17 Kenichi Handa <handa@m17n.org>
3970
3971 * xfaces.c (realize_default_face): If the frame is not on window
3972 system, set the fontset of face to nil.
3973
39742008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3975
3976 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3977
39782008-06-16 Juanma Barranquero <lekktu@gmail.com>
3979
3980 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3981 (build_font_name_from_vector): Delete externs.
3982
3983 * xfaces.c (struct font_name): Don't declare.
3984
39852008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3986
3987 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3988
39892008-06-16 Chong Yidong <cyd@stupidchicken.com>
3990
3991 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3992
39932008-06-16 Juanma Barranquero <lekktu@gmail.com>
3994
3995 * font.c (Ffont_spec): Fix usage in docstring.
3996 (Ffont_face_attributes): Doc fix.
3997
39982008-06-16 Andreas Schwab <schwab@suse.de>
3999
4000 * font.c (Ffont_face_attributes): Fix definition.
4001
40022008-06-16 Jason Rumney <jasonr@gnu.org>
4003
4004 * font.h (font_style_symbolic_from_value): Remove.
4005
4006 * font.c (font_style_symbolic_from_value): Remove.
4007 (font_style_symbolic): Revert to pre 2008-06-13 version.
4008
4009 * w32font.c (w32_to_fc_weight): New function.
4010 (w32font_full_name, logfont_to_fcname): Use it.
4011
40122008-06-16 Kenichi Handa <handa@m17n.org>
4013
4014 * font.c (font_check_object): Delete it.
4015 (font_clear_cache): Check if a font-object is alive.
4016 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4017 font-object to nil.
4018 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4019 (font_at): Don't call font_check_object.
4020 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4021
40222008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4023
4024 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4025
40262008-06-16 Chong Yidong <cyd@stupidchicken.com>
4027
4028 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4029
40302008-06-15 Chong Yidong <cyd@stupidchicken.com>
4031
4032 * font.c (font_parse_fcname): Only one decimal point.
4033 (font_unparse_fcname): Handle data in family and foundry indices
4034 as symbols, not strings.
4035 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4036
4037 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4038
4039 * font.h (font_unparse_gtkname): Add prototype.
4040
40412008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4042
4043 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4044
40452008-06-15 Andreas Schwab <schwab@suse.de>
4046
4047 * font.c (font_update_drivers): Fix crash when no drivers match.
4048
40492008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4050
4051 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4052 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4053
40542008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4055
4056 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4057
40582008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4059
4060 * process.c (Fserial_process_configure, Fprocess_send_eof):
4061 Use EQ to compare Lisp_Objects.
4062
40632008-06-13 Jason Rumney <jasonr@gnu.org>
4064
4065 * w32fns.c (Fw32_select_font): Remove old font API function.
4066
4067 * w32font.c (logfont_to_fcname): New function.
4068 (Fx_select_font): New font dialog function compatible with
4069 GTK/fontconfig version.
4070
4071 * font.c (font_style_symbolic_from_value): New function.
4072 (font_style_symbolic): Use it.
4073
4074 * font.h (font_style_symbolic_from_value): Declare new function.
4075
40762008-06-13 Juanma Barranquero <lekktu@gmail.com>
4077
4078 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4079 <font-width-table>: Fix typos in docstrings.
4080
40812008-06-13 Daniel Engeler <engeler@gmail.com>
4082
4083 These changes add serial port access.
4084 * process.c: Add HAVE_SERIAL.
4085 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4086 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4087 (list_processes_1, select_wrapper, Fstop_process)
4088 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4089 (status_notify): Modify to handle serial processes.
4090 [HAVE_SERIAL] (Fserial_process_configure)
4091 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4092 New functions.
4093 * process.h (struct Lisp_Process): Add `type'.
4094 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4095 New functions.
4096 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4097 serial ports.
4098 (serial_open, serial_configure) New functions.
4099 * w32.h: Add FILE_SERIAL.
4100 (struct _child_process): Add ovl_read, ovl_write.
4101
41022008-06-13 Kenichi Handa <handa@m17n.org>
4103
4104 * dispextern.h (enum lface_attribute_index): New member
4105 LFACE_FOUNDRY_INDEX.
4106
4107 * font.c (font_score): Delete arg alternate_families. Check only
4108 weight, slant, width, and size. Ignore the difference of alias
4109 style symbols.
4110 (font_sort_entites): Adjust for the above change. Reflect the
4111 order of font-driver to scores.
4112 (font_list_entities): Don't check alternate_familes here.
4113 (font_clear_prop): Handle foundry.
4114 (font_update_lface): Don't parse "foundry-family" form here.
4115 Handle FONT_FOUNDRY_INDEX.
4116 (font_find_for_lface): Likewise. Handle alternate families here.
4117 If registry is nil, try iso8859-1 and ascii-0.
4118 (font_open_for_lface): Pay attention to size in ENTITY.
4119 (font_open_by_name): Simplify by calling font_load_for_lface.
4120 (free_font_driver_list): Delete it.
4121 (font_update_drivers): Preserve the order of backends.
4122 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4123 of font_score and font_sort_entites.
4124 (font_update_sort_order): Likewise.
4125
4126 * xfaces.c (LFACE_FOUNDRY): New macro.
4127 (check_lface_attrs): Check foundry.
4128 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4129 (merge_face_vectors): Check foundry.
4130 (merge_face_ref): Likewise.
4131 (Finternal_set_lisp_face_attribute): Likewise.
4132 (x_update_menu_appearance): Likewise.
4133 (Finternal_get_lisp_face_attribute): Likewise.
4134 (lface_hash): Likewise.
4135 (lface_same_font_attributes_p): Likewise.
4136 (x_supports_face_attributes_p): Likewise.
4137 (tty_supports_face_attributes_p): Likewise.
4138 (Finternal_set_alternative_font_family_alist): Intern strings.
4139 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4140 (realize_default_face): Set LFACE_FOUNDRY (lface).
4141
4142 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4143 font-driver at first.
4144
4145 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4146
41472008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4148
4149 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4150
41512008-06-12 Jim Meyering <meyering@redhat.com>
4152
4153 Make unexec_free handle NULL the same way free does.
4154 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4155
41562008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4157
4158 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4159 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4160 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4161 (WEAK_ALIAS): Simplify.
4162 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4163 when searching a unibyte buffer.
4164
41652008-06-12 Chong Yidong <cyd@stupidchicken.com>
4166
4167 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4168
41692008-06-12 Juanma Barranquero <lekktu@gmail.com>
4170
4171 * w32font.c: Include ctype.h.
4172
41732008-06-11 Jason Rumney <jasonr@gnu.org>
4174
4175 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4176 misreported as space.
4177 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4178 as aliases for registry iso10646-1.
4179
41802008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4181
4182 * buffer.c (clone_per_buffer_values): Skip `name'.
4183
41842008-06-11 Chong Yidong <cyd@stupidchicken.com>
4185
4186 * font.c (font_parse_fcname): Fix last change; accept decimal
4187 points in font size.
4188
41892008-06-10 Jason Rumney <jasonr@gnu.org>
4190
4191 * w32uniscribe.c (add_opentype_font_name_to_list):
4192 Skip non unicode fonts.
4193
41942008-06-10 Chong Yidong <cyd@stupidchicken.com>
4195
4196 * xfns.c (Fx_font_dialog): New function.
4197
4198 * gtkutil.c (xg_dialog_response_cb): Rename from
4199 xg_file_response_callback.
4200 (pop_down_dialog): Rename from pop_down_file_dialog.
4201 (xg_get_file_name): Callers changed.
4202 (xg_get_font_name): New function.
4203
4204 * gtkutil.h (xg_get_font_name): Insert prototype.
4205
42062008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4207
4208 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4209 x_underline_minimum_display_offset.
4210 (syms_of_xdisp): Declare it here rather than in xterm.c.
4211 * dispextern.h (underline_minimum_offset): Declare it.
4212 * w32term.c (x_draw_glyph_string): Use it.
4213 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4214 (syms_of_xterm): Don't declare it any more.
4215 (x_draw_glyph_string): Adjust to the new name.
4216
42172008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4218
4219 * xterm.c (x_underline_minimum_display_offset): New var.
4220 (x_draw_glyph_string): Use it.
4221 (syms_of_xterm): Declare it.
4222
42232008-06-10 Chong Yidong <cyd@stupidchicken.com>
4224
4225 * font.c (font_parse_fcname): Accept GTK-style font names too.
4226
42272008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4228
4229 * dired.c (file_name_completion): Don't return t if the match is exact
4230 but with different capitalization.
4231 * minibuf.c (Ftry_completion): Simplify.
4232
4233 * window.c (Vwindow_point_insertion_type): New var.
4234 (set_window_buffer): Use it.
4235 (syms_of_window): Init and export it to Lisp.
4236
42372008-06-10 Kenichi Handa <handa@m17n.org>
4238
4239 * font.h (font_intern_prop): Prototype adjusted.
4240
4241 * font.c (font_intern_prop): New arg force_symbol.
4242 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4243 Adjust for the change of font_intern_prop.
4244
4245 * ftfont.c (ftfont_pattern_entity):
4246 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4247 (w32_registry):
4248 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4249 the change of font_intern_prop.
4250
42512008-06-09 Juanma Barranquero <lekktu@gmail.com>
4252
4253 * w32menu.c (digest_single_submenu): Declare extern.
4254
42552008-06-09 Jason Rumney <jasonr@gnu.org>
4256
4257 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4258
4259 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4260 (parse_single_submenu): Remove.
4261 (digest_single_submenu): Remove.
4262 (syms_of_w32menu): Don't initialise variables that have moved
4263 to menu.c.
4264 (set_frame_menubar): Sync with version in xmenu.c.
4265 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4266
4267 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4268 Make static again.
4269
42702008-06-09 Jason Rumney <jasonr@gnu.org>
4271
4272 Changes to w32 files related to the move of common menu code
4273 to menu.c on 2008-06-08 by Chong Yidong.
4274
4275 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4276 defs to w32gui.h.
4277 (single_keymap_panes, push_menu_item, push_menu_pane):
4278 Make globally visible.
4279
4280 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4281 (local_free, malloc_widget_value, free_widget_value)
4282 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4283 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4284 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4285 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4286 (menu_items, menu_items_allocated, menu_items_used)
4287 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4288 (init_menu_items, finish_menu_items, discard_menu_items)
4289 (grow_menu_items, push_submenu_start, push_submenu_end)
4290 (push_left_right_boundary, push_menu_pane, push_menu_item)
4291 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4292 (free_menubar_widget_tree_value, parse_single_submenu)
4293 (update_submenu_strings): Remove functions.
4294 (xmalloc_widget_value): Remove and declare extern.
4295
4296 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4297 (OBJ1): Build it.
4298
4299 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4300 (local_heap, local_alloc, local_free, malloc_widget_value)
4301 (free_widget_value): Define here.
4302
43032008-06-09 Kenichi Handa <handa@m17n.org>
4304
4305 * font.h (Qascii_0): Extern it.
4306
4307 * font.c (Qascii_0): New variable.
4308 (syms_of_font): DEFSYM it.
4309 (font_open_by_name): If the registry "iso8859-1" fails, try also
4310 "ascii-0".
4311
4312 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4313
43142008-06-08 Kenichi Handa <handa@m17n.org>
4315
4316 * .gdbinit (xfont): New command.
4317
43182008-06-08 Andreas Schwab <schwab@suse.de>
4319
4320 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4321 * Makefile.in (menu.o): Update dependencies.
4322
4323 * Makefile.in (obj): Always add menu.o.
4324 * emacs.c (main): Always call syms_of_menu.
4325 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4326
43272008-06-08 Chong Yidong <cyd@stupidchicken.com>
4328
4329 * Makefile.in: Compile menu.c.
4330
4331 * lisp.h: Declare syms_of_menu.
4332
4333 * emacs.c (main): Call syms_of_menu.
4334
4335 * keyboard.h: Relocate platform-independent menu definitions from
4336 xmenu.c.
4337
4338 * menu.c: New file. Relocate platform-independent menu
4339 definitions from xmenu.c. Suggested by Adrian Robert.
4340
4341 * xmenu.c: Remove platform-independent menu definitions.
4342 (menu_items menu_items_inuse, menu_items_allocated)
4343 (menu_items_used, menu_items_n_panes)
4344 (menu_items_submenu_depth): Move to keyboard.h.
4345 (init_menu_items, finish_menu_items, unuse_menu_items)
4346 (discard_menu_items, restore_menu_items, save_menu_items)
4347 (grow_menu_items, push_submenu_start, push_submenu_end)
4348 (push_left_right_boundary, push_menu_pane, push_menu_item)
4349 (keymap_panes, single_keymap_panes, single_menu_item)
4350 (list_of_panes, list_of_items, find_and_call_menu_selection)
4351 (xmalloc_widget_value, free_menubar_widget_value_tree)
4352 (parse_single_submenu, digest_single_submenu)
4353 (update_submenu_strings): Move to menu.c.
4354
43552008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4356
4357 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4358
43592008-06-06 Miles Bader <miles@gnu.org>
4360
4361 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4362 face, not frame default.
4363
43642008-06-05 Martin Rudalics <rudalics@gmx.at>
4365
4366 * window.c (pop_up_windows, pop_up_frames)
4367 (display_buffer_reuse_frames, Vpop_up_frame_function)
4368 (Vdisplay_buffer_function, Veven_window_heights)
4369 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4370 (Vspecial_display_function, Vsame_window_buffer_names)
4371 (Vsame_window_regexps, split_height_threshold)
4372 (Vsplit_window_preferred_function): Move those vars to window.el.
4373 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4374 (Fdisplay_buffer): Move those functions to window.el.
4375 (syms_of_window): Remove corresponding declarations.
4376 (display_buffer): New function.
4377 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4378 * dispnew.c (Flast_nonminibuf_frame): New function.
4379 * buffer.c (Fpop_to_buffer): Move to window.el.
4380
43812008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4382
4383 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4384
43852008-06-05 Kenichi Handa <handa@m17n.org>
4386
4387 * coding.c (detect_coding): Fix previous change.
4388 (detect_coding_system): Likewise.
4389
43902008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4391
4392 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4393
4394 * keymap.c (Vminibuffer_local_filename_must_match_map):
4395 Rename from Vminibuffer_local_must_match_filename_map.
4396 (syms_of_keymap):
4397 * minibuf.c (Fcompleting_read): Adjust accordingly.
4398 * commands.h: Rename declaration as well.
4399
44002008-06-05 Kenichi Handa <handa@m17n.org>
4401
4402 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4403 family name.
4404 (Ffont_put): Likewise.
4405
4406 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4407 current font-spec.
4408
4409 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4410 is unspecified.
4411
4412 * xfaces.c (realize_x_face): If the font-related face attributes
4413 are the same as those of default face, realize a new fontset from
4414 default->fontset.
4415 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4416
44172008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4418
4419 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4420 (move_it_in_display_line): New wrapper.
4421
4422 * window.c (window_scroll_pixel_based_preserve_x)
4423 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4424 (window_scroll_pixel_based, window_scroll_line_based):
4425 Use them to preserve column positions.
4426 (syms_of_window): Initialize them.
4427
4428 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4429 (HPOS . VPOS) pair.
4430
4431 * dispextern.h (move_it_in_display_line): Declare.
4432
44332008-06-05 Juanma Barranquero <lekktu@gmail.com>
4434
4435 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4436 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4437 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4438
44392008-06-04 Juanma Barranquero <lekktu@gmail.com>
4440
4441 * window.c (Fset_window_parameter): Doc fix.
4442 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4443
44442008-06-04 Joakim Verona <joakim@verona.se>
4445
4446 * window.h (struct window): Add new member window_parameters.
4447
4448 * window.c (Fwindow_parameters, Fwindow_parameter)
4449 (Fset_window_parameter): New defuns.
4450 (syms_of_window): Defsubr the new defuns.
4451 (make_window): Initialize window_parameters to nil.
4452
44532008-06-04 John Paul Wallington <jpw@pobox.com>
4454
4455 * eval.c (Fdefmacro): Doc fix.
4456
44572008-06-04 Kenichi Handa <handa@m17n.org>
4458
4459 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4460 Be sure to call setup_coding_system when we find a proper coding system.
4461 (detect_coding_system): Fix handling of coding->head_ascii.
4462
44632008-06-03 Andreas Schwab <schwab@suse.de>
4464
4465 * font.c (font_prop_validate_spacing): Fix last change.
4466
44672008-06-03 Kenichi Handa <handa@m17n.org>
4468
4469 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4470 (font_parse_fcname): Fix handling of unknown key.
4471
4472 * xfont.c (xfont_list): Try an alias.
4473
4474 * charset.c (char_charset): Return NULL if the arg charset_list is
4475 specified and C doesn't belong to any of them.
4476
44772008-06-02 Chip Coldwell <coldwell@redhat.com>
4478
4479 * font.c (font_pixel_size): Don't take cdr of an integer.
4480
44812008-06-02 Jim Meyering <meyering@redhat.com>
4482
4483 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4484 * alloc.c (xfree): Return right away for a NULL arg.
4485 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4486 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4487 * mac.c (create_apple_event_from_event_ref): Likewise.
4488 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4489 Likewise.
4490 * doprnt.c (doprnt1): Likewise.
4491 * frame.c (frame): Likewise.
4492 * keyboard.c (wipe_kboard): Likewise.
4493 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4494 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4495 * term.c (tty_default_color_capabilities, maybe_fatal)
4496 (delete_tty): Likewise.
4497 * w16select.c (string): Likewise.
4498 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4499 * w32bdf.c (w32_free_bdf_font): Likewise.
4500 * w32fns.c (w32_unload_font): Likewise.
4501 * w32font.c (w32font_close): Likewise.
4502 * window.c (size_window): Likewise.
4503 * xselect.c (receive_incremental_selection): Likewise.
4504 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4505 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4506 * w32.c (stat): Likewise.
4507
4508 Remove useless if-before-free tests.
4509 * editfns.c (Fset_time_zone_rule): Likewise.
4510 * lread.c (nosuffix): Likewise.
4511 * ralloc.c (get_bloc): Likewise.
4512 * regex.c (reg_free): Likewise.
4513 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4514 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4515 * xsmfns.c (smc_save_yourself_CB): Likewise.
4516
45172008-06-02 Kenichi Handa <handa@m17n.org>
4518
4519 * font.c (font_find_for_lface): Handle float font size.
4520 (font_open_for_lface): Likewise.
4521
4522 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4523 comparing the properties.
4524
45252008-06-01 Jason Rumney <jasonr@gnu.org>
4526
4527 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4528 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4529 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4530 Don't add empty script list.
4531 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4532
45332008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4534
4535 * Makefile.in (dot, dotdot): Remove, update users.
4536 ".." has been used elsewhere in the file for a long time.
4537 (LIBXT_STATIC): Remove conditional based on unused variable.
4538
45392008-06-01 Miles Bader <miles@gnu.org>
4540
4541 * xfaces.c (Vface_remapping_alist): New variable.
4542 (syms_of_xfaces): Initialize it.
4543 (enum named_merge_point_kind): New type.
4544 (struct named_merge_point): Add `named_merge_point_kind' field.
4545 (push_named_merge_point): Make cycle detection respect different
4546 named-merge-point kinds.
4547 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4548 Remove face-name alias resolution.
4549 (lface_from_face_name): New definition using
4550 `lface_from_face_name_no_resolve'.
4551 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4552 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4553 (get_lface_attributes): New definition that layers face-remapping on
4554 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4555 (lookup_basic_face): New function.
4556 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4557 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4558 `get_lface_attributes'.
4559 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4560 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4561 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4562
4563 * xdisp.c (init_iterator): Pass base_face_id through
4564 `lookup_basic_face' when we actually use it as a face-id.
4565 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4566 DEFAULT_FACE_ID.
4567
4568 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4569 lookup the initial face-id.
4570
4571 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4572
45732008-06-01 Juanma Barranquero <lekktu@gmail.com>
4574
4575 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4576 (Fremove_text_properties): Fix typos in docstrings.
4577
45782008-05-31 Kenichi Handa <handa@m17n.org>
4579
4580 * font.c (font_list_entities): Fix the car part of data to be
4581 stored in the cache.
4582
4583 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4584
45852008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4586
4587 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4588 Add a `test' argument so another predicate than `equal' can be used.
4589 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4590 (map_char_table): Remove unused vars `c' and `i'.
4591 * lisp.h (Foptimize_char_table): Adjust declaration.
4592 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4593
45942008-05-30 Kenichi Handa <handa@m17n.org>
4595
4596 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4597 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4598 defined.
4599
46002008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4601
4602 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4603 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4604 frame-local settings for the same variable.
4605
46062008-05-30 Kenichi Handa <handa@m17n.org>
4607
4608 * fontset.c (Ffont_info): Move to font.c.
4609 (syms_of_fontset): Delete defsubr of Sfont_info.
4610
4611 * font.c (font_style_to_value, font_score): Delete casting of the
4612 args to xstcasecmp.
4613 (register_font_driver): Increment num_font_drivers only when
4614 registering the driver globally.
4615 (Ffont_info): Move from fontset.c. Handle a font object too.
4616 (syms_of_font): Defsubr Sfont_info.
4617
46182008-05-29 Kenichi Handa <handa@m17n.org>
4619
4620 * coding.h (enum define_coding_utf8_arg_index): New enum.
4621 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4622 coding_attr_utf_bom.
4623 (enum utf_bom_type): Rename from utf_16_bom_type.
4624 (struct utf_16_spec): Adjust for the above change.
4625 (struct coding_system): Add utf_8_bom in `spec' union.
4626
4627 * coding.c (CODING_UTF_8_BOM): New macro.
4628 (enum coding_category): Delete coding_category_utf_8, add
4629 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4630 coding_category_utf_8_sig.
4631 (CATEGORY_MASK_UTF_8): Delete it.
4632 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4633 (CATEGORY_MASK_UTF_8_SIG): New macros.
4634 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4635 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4636 CATEGORY_MASK_UTF_8_SIG.
4637 (CATEGORY_MASK_UTF_8): New macro.
4638 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4639 (detect_coding_utf_8): Check BOM.
4640 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4641 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4642 (encode_coding_utf_16): Likewise.
4643 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4644 (detect_coding, detect_coding_system): Handle utf-8-auto.
4645 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4646 (syms_of_coding): Fix setting up of Vcoding_category_table.
4647
46482008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4649
4650 * process.c (Faccept_process_output): If `millisec' is non-nil,
4651 `seconds' default to 0.
4652 (wait_reading_process_output): Also return non-nil if we read output
4653 from a non-running process.
4654
46552008-05-29 Jason Rumney <jasonr@gnu.org>
4656
4657 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4658 `raster' specified.
4659 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4660 in the uniscribe backend, but disallow any font that has no
4661 unicode subrange support.
4662
46632008-05-29 Juanma Barranquero <lekktu@gmail.com>
4664
4665 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4666 Fix typos in docstrings.
4667
46682008-05-29 Kenichi Handa <handa@m17n.org>
4669
4670 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4671 (Fx_family_fonts): Set frame correctly.
4672
46732008-05-28 Jason Rumney <jasonr@gnu.org>
4674
4675 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4676
46772008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4678
4679 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4680 calling build_annotations.
4681
46822008-05-28 Juanma Barranquero <lekktu@gmail.com>
4683
4684 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4685 (Fencode_coding_string):
4686 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4687 <latin-extra-code-table>: Fix typos in docstrings.
4688 (syms_of_coding) <coding-system-alist>: Doc fix.
4689 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4690
46912008-05-28 Kenichi Handa <handa@m17n.org>
4692
4693 * fontset.c (Ffont_info): Don't call font_close_object.
4694
4695 * font.c (font_parse_family_registry): Use Ffont_put to validate
4696 foundry and family.
4697 (font_delete_unmatched): Don't check spacing.
4698 (font_list_entities): Add spacing to the spec to list fonts.
4699
4700 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4701 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4702
4703 * coding.c (encode_coding_raw_text): Fix previous change.
4704 (encode_coding_object): When the dst_object is a buffer and is
4705 different from src_object, move gap to PT.
4706
47072008-05-27 Chong Yidong <cyd@stupidchicken.com>
4708
4709 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4710
47112008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4712
4713 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4714 all branches. Compute it differently.
4715
4716 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4717
47182008-05-27 Juanma Barranquero <lekktu@gmail.com>
4719
4720 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4721 into "else if () ... else ...".
4722
47232008-05-27 Jason Rumney <jasonr@gnu.org>
4724
4725 * w32font.c (w32font_open_internal): Determine if glyph indices
4726 are likely to work here.
4727
47282008-05-27 Chong Yidong <cyd@stupidchicken.com>
4729
4730 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4731 draw overlap glyphs with appropriate highlighting.
4732
47332008-05-27 Kenichi Handa <handa@m17n.org>
4734
4735 * xfont.c (xfont_open): Fix calculation of font->average_width.
4736
47372008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4738
4739 * casefiddle.c (casify_object): Try to guess better whether the
4740 argument is a byte or a char.
4741
47422008-05-26 Andreas Schwab <schwab@suse.de>
4743
4744 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4745 Always send multiples of format size.
4746
4747 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4748
47492008-05-26 Jason Rumney <jasonr@gnu.org>
4750
4751 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4752 (compute_metrics): Don't set failure if we just cleared the cache.
4753 (w32_weight_table): Remove unused variable.
4754 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4755 backwards compatibility.
4756
47572008-05-25 Kenichi Handa <handa@m17n.org>
4758
4759 * w32term.c (x_draw_glyph_string):
4760 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4761
4762 * xfaces.c: Delete unused function prototypes.
4763 (xstrlwr, font_frame): Delete them.
4764 (clear_face_cache): Delete unused variable.
4765
4766 * xftfont.c (xftfont_open): Delete unused variable.
4767 If underline_thickness is not 1, adjust underline_position.
4768
4769 * ftxfont.c (ftxfont_open): Delete unused variable.
4770
4771 * fontset.c (face_for_char): Optimize for the case of no charset
4772 property.
4773
4774 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4775 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4776 (otf_open, font_otf_capability, generate_otf_features)
4777 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4778 Comment out by surrounding "#if 0" and "#endif" for the moment.
4779 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4780 (syms_of_font): Codes for accessing above commented out.
4781
47822008-05-24 Eli Zaretskii <eliz@gnu.org>
4783
4784 * w32proc.c: Include dispextern.h.
4785
4786 * w32.c: Include dispextern.h.
4787
47882008-05-23 Juanma Barranquero <lekktu@gmail.com>
4789
4790 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4791 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4792 Fix typos in docstrings.
4793
47942008-05-23 Jason Rumney <jasonr@gnu.org>
4795
4796 * xsmfns.c: Remove includes that are already included by config.h.
4797
47982008-05-23 Kenichi Handa <handa@m17n.org>
4799
4800 * charset.c (Qemacs, charset_emacs): New variables.
4801 (char_charset): Fix for non-Unicode characters.
4802 (syms_of_charset): Define charset_emacs.
4803
4804 * w32term.c (x_draw_glyph_string): Be sure to update
4805 s->underline_thickness and s->underline_position. Be sure to draw
4806 underline within the current line area.
4807
4808 * xterm.c (x_draw_glyph_string): Be sure to update
4809 s->underline_thickness and s->underline_position. Be sure to draw
4810 underline within the current line area.
4811
4812 * fontset.c: Delete unused variables and add casting for char *
4813 throughout the file.
4814 (fontset_font): Try the fallback fonts of the current fontset
4815 before consulting the default fontset.
4816
4817 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4818
4819 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4820
48212008-05-22 Jason Rumney <jasonr@gnu.org>
4822
4823 * font.c: Don't include strings.h.
4824
4825 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4826
4827 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4828 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4829 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4830 to call xstrcasecmp.
4831
4832 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4833
4834 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4835
4836 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4837
4838 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4839
48402008-05-22 Kenichi Handa <handa@m17n.org>
4841
4842 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4843
4844 * font.c (font_prop_validate_style): Adjust for the format
4845 change of font_style_table.
4846
4847 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4848 two args.
4849
4850 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4851 two args.
4852
48532008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4854
4855 * minibuf.c (keys_of_minibuf): Delete.
4856 * lisp.h (keys_of_minibuf): Delete.
4857 * emacs.c (main): Don't call keys_of_minibuf.
4858
48592008-05-22 Kenichi Handa <handa@m17n.org>
4860
4861 * ftfont.c (ftfont_resolve_generic_family): Rename from
4862 ftfont_list_generic_family. Return a single family for each
4863 generic family.
4864 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4865 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4866 Call font_add_log.
4867 (ftfont_match): Call font_add_log.
4868
4869 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4870 (FONT_DEBUG): Define it.
4871 (font_add_log): Extern it.
4872 (font_assert): Rename from xassert.
4873
4874 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4875 (xfont_list_family): Call font_add_log.
4876 (xfont_match): Likewise.
4877 (memq_no_quit): Delete.
4878
4879 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4880 call of Ffont_xlfd_name.
4881
4882 * xfaces.c (struct table_entry, slant_table, weight_table)
4883 (swidth_table): Move to font.c.
4884
4885 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4886 xassert are changed to font_assert. Delete many unused variables.
4887 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4888 New variables.
4889 (struct table_entry): Move from xfaces.c and modified.
4890 (weight_table, slant_table, width_table): Move from xfaces.c and
4891 contents adjusted for the change of struct table_entry.
4892 (font_style_to_value, font_style_symbolic): Adjust for the
4893 format change of font_style_table.
4894 (font_parse_family_registry): Don't overwrite existing foundry and
4895 family of font_spec.
4896 (font_score): Fix calculation of diff for sizes.
4897 (font_sort_entites): Call font_add_log.
4898 (font_delete_unmatched): Return a newly created list.
4899 (font_list_entities): Fix previous change. Call font_add_log.
4900 (font_matching_entity, font_open_entity, font_close_entity):
4901 Call font_add_log.
4902 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4903 (Finternal_set_font_style_table): Delete.
4904 (BUILD_STYLE_TABLE): New macro.
4905 (build_style_table): New function.
4906 (Vfont_log, font_log_env_checked): New variables.
4907 (font_add_log): New function.
4908 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4909 Declare Lisp variables "font-weight-table", "font-slant-table",
4910 "font-width-table", and "font-log". Initialize font_style_table.
4911
49122008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4913
4914 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4915
49162008-05-21 Seiji Zenitani <zenitani@mac.com>
4917 Ryo Yoshitake <ryo@shiftmode.net>
4918
4919 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4920 (Vframe_alpha_lower_limit): New variable.
4921 (x_set_alpha): New function.
4922
4923 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4924
4925 * xfns.c (x-create-frame, Qalpha):
4926 Initialize the frame parameter `alpha'.
4927 * xterm.c (OPAQUE, OPACITY): New.
4928 (x_set_frame_alpha): New function.
4929 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4930
4931 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4932 * w32fns.c (w32_frame_parm_handlers): Likewise.
4933
49342008-05-20 Jason Rumney <jasonr@gnu.org>
4935
4936 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4937 truetype fonts to opentype list.
4938
49392008-05-20 Juanma Barranquero <lekktu@gmail.com>
4940
4941 * fontset.c (Ffontset_info): Doc fix.
4942 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4943 <ignore-relative-composition>: Fix typos in docstrings.
4944
4945 * font.c (syms-of-font) <font-encoding-alist>:
4946 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4947 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4948 (Ffont_otf_alternates): Doc fixes.
4949
49502008-05-20 Kenichi Handa <handa@m17n.org>
4951
4952 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4953 font.h through out the file.
4954 (FONT_DRIVERS): Rename from FONTOBJ.
4955 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4956 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4957
4958 * emacs.c (main): Call syms_of_font unconditionally.
4959
4960 * font.h (find_font_encoding): Extern it.
4961
4962 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4963 fontset.c.
4964 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4965 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4966 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4967 only when HAVE_WINDOW_SYSTEM is defined.
4968 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4969 when HAVE_WINDOW_SYSTEM is defined.
4970
4971 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4972 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4973
4974 * xfaces.c: Include font.h unconditionally.
4975 (merge_face_ref, merge_face_vectors)
4976 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4977
49782008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4979
4980 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4981 indirect_variable.
4982 * eval.c (lisp_indirect_variable): New fun.
4983 (Fuser_variable_p): Use it.
4984
49852008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * lisp.h (indirect_variable):
4988 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4989 Use Lisp_Symbol pointers rather than Lisp_Object.
4990 Adjust callers.
4991 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4992 To this end, change calling-convention.
4993
4994 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4995 if some non-hidden buffers are selected by string&pred.
4996
49972008-05-19 Chong Yidong <cyd@stupidchicken.com>
4998
4999 * process.c (wait_reading_process_output): Always check status
5000 when in batch mode.
5001
50022008-05-19 Kenichi Handa <handa@m17n.org>
5003
5004 * font.c (font_list_entities): Fix handling of cache.
5005 (font_matching_entity): Likewise.
5006
5007 * ftfont.c (cs_iso8859_1): Delete.
5008 (ft_face_cache): New variable.
5009 (struct ftfont_info): New member fc_charset_idx.
5010 (ftfont_build_basic_charsets): Delete.
5011 (fc_charset_table): New variable.
5012 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5013 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5014 Callers changed.
5015 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5016 (ftfont_spec_pattern): New argument fc_charset_idx.
5017 Check registry more rigidly. Change callers.
5018 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5019 change of :font-entity property of the font.
5020
5021 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5022 property of the font.
5023
50242008-05-18 Juanma Barranquero <lekktu@gmail.com>
5025
5026 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5027 (Funencodable_char_position, Fcheck_coding_systems_region)
5028 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5029 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5030 (Ffind_operation_coding_system, Fset_coding_system_priority)
5031 (Fcoding_system_eol_type): Doc fixes.
5032
50332008-05-17 Glenn Morris <rgm@gnu.org>
5034
5035 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5036
50372008-05-16 Eli Zaretskii <eliz@gnu.org>
5038
5039 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5040 and st_gid.
5041
5042 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5043 HAVE_WINDOW_SYSTEM is not defined.
5044
5045 * xfaces.c (merge_face_ref, merge_face_vectors)
5046 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5047 HAVE_WINDOW_SYSTEM is defined.
5048 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5049
50502008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5051
5052 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5053
50542008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5055
5056 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5057
50582008-05-15 Kenichi Handa <handa@m17n.org>
5059
5060 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5061 preference.
5062
50632008-05-15 Glenn Morris <rgm@gnu.org>
5064
5065 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5066
50672008-05-15 Chong Yidong <cyd@stupidchicken.com>
5068
5069 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5070 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5071
5072 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5073
50742008-05-15 Kenichi Handa <handa@m17n.org>
5075
5076 * ftfont.c (ftfont_list): Downcase family name to check generic
5077 families.
5078
5079 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5080 font-spec for QCfont value.
5081
5082 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5083 buffer. Check the return value of it.
5084
50852008-05-14 Jason Rumney <jasonr@gnu.org>
5086
5087 * w32term.c (w32_get_glyph_overhangs): Remove.
5088 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5089
50902008-05-14 Kenichi Handa <handa@m17n.org>
5091
5092 * font.c (font_prop_validate): Make nil a valid value.
5093 (font_clear_cache): Check if the cached vector of entities is nil
5094 or not.
5095
50962008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5097
5098 * emacs.c (main_thread): Conditionalize on
5099 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5100 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5101
5102 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5103 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5104 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5105
51062008-05-14 Kenichi Handa <handa@m17n.org>
5107
5108 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5109 has no corresponding coding system.
5110
51112008-05-14 Jason Rumney <jasonr@gnu.org>
5112
5113 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5114
5115 * w32font.h (w32font_open_internal): Update declaration.
5116
5117 * w32font.c (w32font_open_internal): Change last argument from
5118 w32font_info struct to font object. Fill in font object from
5119 font_entity. Get Outline metrics if possible. Use them to
5120 calculate underline position and thickness. Use xlfd name as name
5121 property. Don't set codepage.
5122 (w32font_open): Pass font_object to w32font_open_internal. Don't
5123 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5124 (w32font_draw): Use s->font.
5125 (clear_cached_metrics): Don't clear non-existent blocks.
5126
5127 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5128 font was not found.
5129 (x_draw_glyph_string): Use underline position and thickness from font.
5130
5131 * w32uniscribe.c (uniscribe_open): Pass font_object to
5132 w32font_open_internal.
5133
51342008-05-14 Kenichi Handa <handa@m17n.org>
5135
5136 These changes are to delete all legacy font-handling codes, and
5137 make Emacs use only font-backends.
5138
5139 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5140 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5141
5142 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5143
5144 * charset.h (Vcharset_non_preferred_head)
5145 (Vcurrent_iso639_language): Extern them.
5146
5147 * charset.c (Vcharset_non_preferred_head): New variable.
5148 (Vcurrent_iso639_language): New variable.
5149 (syms_of_charset): Declare it as a Lisp variable.
5150 (char_charset): Don't check non preferred charsets. As a last
5151 resort, return charset_unicode.
5152 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5153
5154 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5155 conditionals. Don't check enable_font_backend. Delete all codes
5156 used only when USE_FONT_BACKEND is not defined.
5157
5158 * dispextern.h (struct glyph_string): Change type of `font' to
5159 `struct font *'.
5160 (struct glyph_string): New member underline_position and
5161 underline_thickness.
5162 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5163 (struct face): Change type of `font' to `struct font *'. Remove
5164 members `font_name', `font_info_id'.
5165 (per_char_metric, encode_char): Delete externs.
5166 (calc_pixel_width_or_height): Adjust the prototype.
5167
5168 * emacs.c (enable_font_backend): Delete extern.
5169 (main): Don't set enable_font_backend. Don't check the command
5170 line argument "-disable-font-backend".
5171
5172 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5173 (enum font_property_index): New members FONT_DPI_INDEX,
5174 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5175 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5176 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5177 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5178 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5179 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5180 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5181 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5182 (struct font_spec, struct font_entity): New structs.
5183 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5184 (struct font): Many members from old "struct font_info" moved to
5185 here. Members font and entity deleted.
5186 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5187 the new font-related objects.
5188 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5189 (CHECK_FONT_GET_OBJECT): Likewise.
5190 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5191 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5192 (struct font_driver): New members case_sensitive anc check. Type
5193 of the member list and open changed.
5194 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5195 (font_symbolic_width, font_find_object, font_get_spec)
5196 (font_set_lface_from_name): Delete extern.
5197 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5198
5199 * font.c: Include <strings.h>.
5200 (enable_font_backend): Delete it.
5201 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5202 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5203 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5204 (null_string): Delete it.
5205 (null_vector): Make it static.
5206 (font_family_alist): Delete it.
5207 (Qnormal): Extern it.
5208 (QCextra, QClanguage): Delete it.
5209 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5210 (font_make_spec, font_make_entity, font_make_object)
5211 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5212 the string. Callers changed.
5213 (font_pixel_size): Adjusted for the format change of font-related
5214 objects.
5215 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5216 (font_style_to_value, font_style_symbolic): New function.
5217 (build_font_family_alist): Delete it.
5218 (font_registry_charsets): Use Fassoc_string instead of
5219 assq_no_quit.
5220 (font_prop_validate_symbol): Don't return null_string.
5221 (font_prop_validate_style): Adjusted for the change of
5222 style-related values in a font vector.
5223 (font_property_table): Delete entries for QClanguage and
5224 QCantialias, add entries for QCavgwidth.
5225 (get_font_prop_index): Delete the 2nd argument FROM.
5226 (font_prop_validate): Arguments changed.
5227 (font_put_extra): Adjusted for the change of font-related objects.
5228 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5229 (font_parse_fcname, font_unparse_fcname)
5230 (font_prepare_composition): Likewise.
5231 (font_parse_family_registry): Renamed from font_merge_old_spec.
5232 (otf_open): Delete the 1st arg entity.
5233 (font_otf_capability): Adjusted for the above change.
5234 (font_score): New arg alternate_families. Adjusted for the change
5235 of font-related objects.
5236 (font_sort_entites): New arg best_only.
5237 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5238 Delete them.
5239 (font_match_p): Check alternate families.
5240 (font_find_object): Delete it.
5241 (font_check_object): New function.
5242 (font_clear_cache): Adjusted for the change of font-related objects.
5243 (font_delete_unmatched): New arg.
5244 (font_list_entities): Call font_driver->list with a spec that
5245 doesn't specify style-related properties.
5246 (font_matching_entity): Arguments changed. Caller changed.
5247 (font_open_entity): Adjusted for the change of font-related objects.
5248 (font_close_object, font_has_char, font_encode_char)
5249 (font_get_name, font_get_spec): Likewise.
5250 (font_spec_from_name, font_clear_prop, font_update_lface):
5251 New functions.
5252 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5253 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5254 (font_at): Adjusted for the change of font-related objects.
5255 (font_range): New function.
5256 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5257 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5258 (Fcopy_font_spec, Fmerge_font_spec): New function.
5259 (Ffont_family_list): Renamed from list-families.
5260 (Finternal_set_font_style_table): Arguments changed.
5261 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5262 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5263 change of font-related objects.
5264 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5265
5266 * fontset.h (struct font_info): Delete it. Most members go to
5267 struct font.
5268 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5269 (enum FONT_SPEC_INDEX): Delete it.
5270 (font_info, list_fonts_func, load_font_func, query_font_func)
5271 (set_frame_fontset_func, find_ccl_program_func)
5272 (get_font_repertory_func, new_fontset_from_font_name): Delete
5273 externs.
5274 (fontset_from_font_name): Extern it.
5275 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5276 (FONT_INFO_FROM_FACE): Deleted.
5277 (face_for_font): Adjust prototype.
5278
5279 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5280 conditionals. Don't check enable_font_backend. Delete all codes
5281 used only when USE_FONT_BACKEND is not defined.
5282 (get_font_info_func, list_font_func, load_font_func)
5283 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5284 (get_font_repertory_func): Delete them.
5285 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5286 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5287 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5288 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5289 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5290 (fontset_compare_rfontdef): New function.
5291 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5292 rfont-defs by qsort. Adjusted for the change of font-group vector.
5293 (load_font_get_repertory): Deleted.
5294 (fontset_find_font): Use new macros to ref/set elements of
5295 font-def and rfont-def.
5296 (fontset_font): Fix the timing of remembering that no font for C.
5297 (free_face_fontset): Do nothing if the face has no fontset.
5298 (face_suitable_for_char_p): Use new macros to ref/set elements of
5299 rfont-def.
5300 (face_for_char): Likewise. Call face_for_char with font_object.
5301 (fs_load_font): Delete. Delete #pragma surrounding it.
5302 (fs_query_fontset): Use strcasecmp instead of strcmp.
5303 (generate_ascii_font_name): Adjusted for the format change of
5304 font-spec.
5305 (Fset_fontset_font): Likewise. Use new macros to set elements of
5306 font-def.
5307 (Fnew_fontset): Use font_unparse_xlfd to generate
5308 FONTSET_ASCII (fontset).
5309 (new_fontset_from_font_name): Deleted.
5310 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5311 a fontset is already created for the font. FIx updating of
5312 Vfontset_alias_alist.
5313 (fontset_ascii_font): Deleted.
5314 (Ffont_info): Adjusted for the format change of font-spec.
5315 (Finternal_char_font): Likewise.
5316 (Ffontset_info): Likewise.
5317 (syms_of_fontset): Don't check load_font_func.
5318
5319 * fns.c (internal_equal): Handle PREV_FONT.
5320
5321 * frame.h: Delete USE_FONT_BACKEND conditional.
5322
5323 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5324 conditionals. Don't check enable_font_backend. Delete all codes
5325 used only when USE_FONT_BACKEND is not defined.
5326 (x_set_font): Call x_new_font, not x_new_fontset2.
5327 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5328 already set for the frame.
5329
5330 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5331 a font-entity by font_make_entity. Use font_intern_prop instead
5332 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5333 font property. If a font is scalable, set avgwidth property to 0.
5334 Set font-entity property by font_put_extra.
5335 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5336 (ffont_driver): Adjusted for the change of struct font_driver.
5337 (ftfont_spec_pattern): New function.
5338 (ftfont_list): Return a list, not vector.
5339 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5340 (ftfont_list_family): Don't downcase names.
5341 (ftfont_free_entity): Deleted.
5342 (ftfont_open): Return a font-object. Adjusted for the change of
5343 struct font. Get underline_thickness and underline_position from
5344 font property. Don't update dpyinfo->smallest_font_height and
5345 dpyinfo->smallest_char_width.
5346 (ftfont_close): Don't free `struct font'.
5347 (ftfont_has_char): Adjusted for the format change of font-entity.
5348 (ftfont_encode_char, ftfont_text_extents): Likewise.
5349
5350 * ftxfont.c (ftxfont_list): Return a list, not vector.
5351 (ftxfont_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 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5356 (ftxfont_draw): Adjusted for the change of struct font.
5357
5358 * image.c (image_ascent): Don't include "charset.h". Include
5359 "character.h" and "font.h".
5360
5361 * lisp.h (enum pvec_type): New member PREV_FONT.
5362 (Fassoc_string): EXFUN it.
5363
5364 * print.c: Include font.h.
5365 (print_object): Handle font-related objects.
5366
5367 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5368 conditionals. Don't check enable_font_backend. Delete all codes
5369 used only when USE_FONT_BACKEND is not defined.
5370 (handle_auto_composed_prop): Do nothing if it->f is not on a
5371 window system. Check how many following characters can be
5372 displayed by the same font.
5373 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5374 'struct font *'.
5375 (get_char_face_and_encoding): Assign the whole encoding task to
5376 the `encode-char' method of a font driver.
5377 (fill_composite_glyph_string): Adjusted for the change of `struct
5378 face' and `struct glyph_string'.
5379 (fill_glyph_string): Likewise.
5380 (get_per_char_metric): Arguments changed.
5381 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5382 and `struct glyph_string'.
5383 (produce_stretch_glyph, calc_line_height_property)
5384 (x_produce_glyphs): Likewise.
5385
5386 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5387 conditionals. Don't check enable_font_backend. Delete all codes
5388 used only when USE_FONT_BACKEND is not defined. Use
5389 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5390 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5391 (Qp): Extern them.
5392 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5393 Deleted.
5394 (struct font_name): Deleted.
5395 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5396 (compare_fonts_by_sort_order): New function.
5397 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5398 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5399 Deleted.
5400 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5401 compare_fonts_by_sort_order.
5402 (Fx_font_family_list): Call Ffont_family_list.
5403 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5404 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5405 (face_symbolic_slant, face_symbolic_swidth)
5406 (split_font_name_into_vector, build_font_name_from_vector)
5407 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5408 (font_rescale_ratio, split_font_name, build_font_name)
5409 (free_font_names, sort_fonts, x_face_list_fonts)
5410 (face_font_available_p, sorted_font_list, cmp_font_names)
5411 (font_list_1, concat_font_list, font_list, remove_duplicates):
5412 Deleted.
5413 (Fx_list_fonts): Use Ffont_list.
5414 (LFACE_AVGWIDTH): Deleted.
5415 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5416 by FONTP.
5417 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5418 (set_lface_from_font_name): Delete it.
5419 (set_lface_from_font): Renamed from
5420 set_lface_from_font_and_fontset. Caller changed. Don't set
5421 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5422 for face.
5423 (merge_face_vectors): Copy font-spec if necessary.
5424 Clear properties of the font-spec if necessary.
5425 (merge_face_ref): Clear properties of the font-spec if necessary.
5426 (Finternal_set_lisp_face_attribute): Likewise.
5427 (set_font_frame_param): Use font_load_for_lface to load a
5428 font-object, and call Fmodify_frame_parameters with it.
5429 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5430 font name by Ffont_xlfd_name.
5431 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5432 QCslant, and QCwidth.
5433 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5434 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5435 Compare fonts by EQ.
5436 (lookup_non_ascii_face): Deleted.
5437 (face_for_font): The 2nd argument changed.
5438 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5439 Check atomic font properties by case insensitive.
5440 (realize_non_ascii_face): Set face->overstrike correctly.
5441 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5442 (dump_realized_face): Get font name from
5443 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5444
5445 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5446 conditionals. Don't check enable_font_backend. Delete all codes
5447 used only when USE_FONT_BACKEND is not defined.
5448 (xic_create_xfontset): Original code deleted and renamed from
5449 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5450 (x_make_gc): Don't set GCFont in GCs.
5451 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5452 opened by "fixed".
5453 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5454 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5455 get_font_repertory_func.
5456
5457 * xfont.c: Include <stdlib.h> and "ccl.h".
5458 (struct xfont_info): New structure.
5459 (xfont_query_font): Deleted.
5460 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5461 moved from xterm.c.
5462 (xfont_driver): Adjusted for the change of struct font_driver.
5463 (compare_font_names): New function.
5464 (xfont_list_pattern): Sort font names case insensitively. Make
5465 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5466 (xfont_list): Return a list, not vector.
5467 (xfont_match): If the font doesn't have QCname property, generate
5468 a name from the other font properties.
5469 (xfont_open): Return a font-object. Adjusted for the change of
5470 struct font. Get underline_thickness and underline_position from
5471 font property. Don't update dpyinfo->smallest_font_height and
5472 dpyinfo->smallest_char_width.
5473 (xfont_close): Don't free struct font.
5474 (xfont_prepare_face): Adjusted for the change of struct font.
5475 (xfont_done_face): Deleted.
5476 (xfont_has_char): Adjusted for the change of struct font.
5477 (xfont_encode_char, xfont_draw): Likewise.
5478 (xfont_check): New function.
5479
5480 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5481 callback function.
5482 (xftfont_match): Adjusted for the format change of font-entity.
5483 (xftfont_open): Adjusted for the format change of font-entity and
5484 font-object. Adjusted for the change of struct font. Return a
5485 font-object. Don't update dpyinfo->smallest_font_height and
5486 dpyinfo->smallest_char_width.
5487 (xftfont_close): Block input while calling XftFontClose.
5488 (xftfont_prepare_face): Don't block input while calling
5489 xftfont_get_colors. Adjusted for the change of struct font.
5490 (xftfont_shape): Return value of error case fixed.
5491
5492 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5493
5494 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5495 conditionals.
5496 (FONT_WIDTH): Return (f)->max_width.
5497 (struct x_display_info): Delete member `font'.
5498 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5499 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5500 (struct x_output): Change type of `font' to `struct font *'.
5501
5502 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5503 conditionals. Don't check enable_font_backend. Delete all codes
5504 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5505 (x_per_char_metric, x_encode_char): Deleted.
5506 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5507 (x_compute_glyph_string_overhangs): Adjusted for the change of
5508 `struct face'.
5509 (x_draw_glyph_string_foreground)
5510 (x_draw_composite_glyph_string_foreground): Likewise.
5511 (x_draw_glyph_string): Likewise. Use font->underline_position and
5512 font->underline_thickness.
5513 (x_new_font): Renamed from x_new_fontset2.
5514 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5515 (x_check_font): Call `check' method of a font driver.
5516 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5517 (x_query_font, x_get_font_repertory): Deleted.
5518 (x_find_ccl_program): Renamed and moved to xfont.c.
5519 (x_redisplay_interface): Adjusted for the change of `struct
5520 redisplay_interface'.
5521
5522 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5523 conditionals. Don't check enable_font_backend. Delete all codes
5524 used only when USE_FONT_BACKEND is not defined. Surround non-used
5525 code by "#ifdef OLD_FONT" and "endif".
5526 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5527
5528 * w32font.h (struct w32font_info): New member.
5529 (FONT_COMPAT): New macro.
5530 (w32font_open_internal): Prototype adjusted.
5531
5532 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5533 OLD_FONT" and "endif".
5534
5535 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5536 conditionals. Don't check enable_font_backend. Delete all codes
5537 used only when USE_FONT_BACKEND is not defined.
5538 (w32font_open): Return a font-object. Make a font-object by
5539 font_make_object. Adjusted for the change of struct w32font_info.
5540 (w32font_close): Don't free struct font. Adjusted for the change
5541 of struct w32font_info.
5542 (w32font_encode_char, w32font_text_extents, w32font_draw):
5543 Adjusted for the change of struct w32font_info.
5544 (w32font_draw): Likewise.
5545 (w32font_list_internal): Return a list, not vector.
5546 (w32font_open_internal): Change the 4th arg to font-object.
5547 Adjusted for the change of struct w32font_info and font-object format.
5548 (add_font_name_to_list): Don't downcase names.
5549 (w32_enumfont_pattern_entity): Make a font-entity by
5550 font_make_entity. Adjusted for the format change of font-entity.
5551 Use FONT_SET_STYLE to set a style-related font property. If a
5552 font is scalable, set avgwidth property to 0. Set font-entity
5553 property by font_put_extra.
5554 (font_matches_spec): Adjusted for the format change of font-entity.
5555 (w32_weight_table, w32_decode_weight): New variables.
5556 (w32_encode_weight): New function.
5557 (fill_in_logfont): Adjusted for the format change of font-spec.
5558 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5559 weight value.
5560 (w32font_driver): Adjusted for the change of struct font_driver.
5561
5562 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5563 conditionals. Don't check enable_font_backend. Surround non-used
5564 code by "#ifdef OLD_FONT" and "endif".
5565 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5566 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5567
5568 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5569 conditionals. Don't check enable_font_backend. Delete all codes
5570 used only when USE_FONT_BACKEND is not defined. Surround non-used
5571 code by "#ifdef OLD_FONT" and "endif".
5572
5573 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5574 (uniscribe_open): Return value changed to font-object.
5575 Adjusted for the format change of font-object.
5576 (uniscribe_otf_capability): Adjusted for the change of struct font.
5577 (add_opentype_font_name_to_list): Don't downcase names.
5578 (uniscribe_font_driver): Adjusted for the change of struct
5579 font_driver.
5580
55812008-05-13 Chong Yidong <cyd@stupidchicken.com>
5582
5583 * dispnew.c (update_frame_1): Check if tty output is still valid
5584 before flushing it.
5585
55862008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5587
5588 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5589 to Gtk+ menus.
5590
55912008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5592
5593 * dired.c (file_name_completion): Tweak the code so as to always do it
5594 in a single pass. Tighten the scope of some variables.
5595
5596 * dired.c (Qdefault_directory): New var.
5597 (file_name_completion): Use it instead of Fexpand_file_name.
5598 (syms_of_dired): Initialize it.
5599
56002008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5601
5602 * fileio.c (double_dollars): Remove dead code.
5603
56042008-05-10 Eli Zaretskii <eliz@gnu.org>
5605
5606 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5607 Mention w32-get-true-file-attributes in doc string.
5608
5609 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5610
56112008-05-09 Glenn Morris <rgm@gnu.org>
5612
5613 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5614 2008-04-23.
5615
56162008-05-09 Eli Zaretskii <eliz@gnu.org>
5617
5618 Support for reporting owner and group of each file on MS-Windows:
5619 * dired.c (stat_uname, stat_gname): New functions, with special
5620 implementation for w32.
5621 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5622
5623 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5624 (dflt_group_name): New static variable.
5625 (dflt_group): Rename from the_group.
5626 (init_user_info): Init dflt_group fields. Get user's group name
5627 from LookupAccountSid.
5628 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5629 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5630 New initialization states.
5631 (globals_of_w32): Initialize them to zero. Initialize the default
5632 group name to "None".
5633 (GetFileSecurity_Name): New global var, the name of the function
5634 to call for GetFileSecurity.
5635 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5636 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5637 (get_file_security, get_security_descriptor_owner)
5638 (get_security_descriptor_group, is_valid_sid)
5639 (get_file_security_desc, get_rid, get_name_and_id)
5640 (get_file_owner_and_group): New functions.
5641 (stat): Use get_file_security_desc and get_file_owner_and_group to
5642 report the owner and primary group of each file. Don't ignore the
5643 high 32 bits of file's size, now that st_size is 64-bit wide.
5644 Fix test when to get true file attributes.
5645 (init_user_info): Use get_rid instead of equivalent inline code.
5646 (fstat): Don't ignore the high 32 bits of file's size.
5647
56482008-05-09 Chong Yidong <cyd@stupidchicken.com>
5649
5650 * image.c (png_load): Use correct bit-depth for setting background
5651 color.
5652
56532008-05-08 Eli Zaretskii <eliz@gnu.org>
5654
5655 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5656 epa-hook.elc.
5657
56582008-05-08 Juanma Barranquero <lekktu@gmail.com>
5659
5660 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5661
56622008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5663
5664 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5665 because the original parameters are in pure storage now.
5666 (mac_window): Remove unused params. Update callers.
5667
56682008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5669
5670 * lread.c (substitute_object_recurse): Use lower-level primitives.
5671 Don't signal errors when traversing sub-char-tables.
5672 Don't loop over all the possible characters when traversing char-tables.
5673
5674 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5675 just like we do in print.c.
5676
56772008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5678
5679 * minibuf.c (Ftry_completion): Remove code left over from when we used
5680 scmp instead of Fcompare_strings.
5681
56822008-05-04 Juanma Barranquero <lekktu@gmail.com>
5683
5684 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5685
56862008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5687
5688 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5689 Create bitmap context in native byte order.
5690
5691 * macterm.c (XDrawLine)
5692 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5693 context in native byte order.
5694
56952008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5696
5697 * config.in: Regenerate.
5698
5699 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5700 New definitions for Image I/O support.
5701 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5702 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5703 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5704 (mac_data_provider_release_data, image_load_image_io)
5705 [USE_MAC_IMAGE_IO]: New functions.
5706 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5707 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5708 (init_image_func_pointer) [MAC_OSX]: Remove function.
5709 (image_load_quartz2d) [MAC_OSX]: Check availability of
5710 CGImageCreateWithPNGDataProvider at compile time.
5711 Use lowercase `false' for boolean constant.
5712 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5713 Use image_load_image_io.
5714 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5715 Don't check MyCGImageCreateWithPNGDataProvider.
5716 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5717 Don't call init_image_func_pointer.
5718
5719 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5720
5721 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5722 Make variable non-static.
5723 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5724 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5725
5726 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5727 (RED_FROM_ULONG): Mask off higher bits.
5728 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5729
5730 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5731 Include AvailabilityMacros.h.
5732 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5733 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5734
57352008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5736
5737 * chartab.c (Fset_char_table_range): If range is t, really set all
5738 chars to that value.
5739
57402008-05-03 Eli Zaretskii <eliz@gnu.org>
5741
5742 * dired.c (Ffile_attributes): Don't allow the device number become
5743 negative.
5744
57452008-05-02 Daiki Ueno <ueno@unixuser.org>
5746
5747 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5748
57492008-05-02 Juri Linkov <juri@jurta.org>
5750
5751 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5752 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5753 DEFAULT argument as a list of default values in docstrings.
5754
57552008-05-01 Chong Yidong <cyd@stupidchicken.com>
5756
5757 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5758
57592008-05-01 Martin Rudalics <rudalics@gmx.at>
5760
5761 * dispnew.c (change_frame_size_1): Preserve small windows when
5762 shrinking frames by calling set_window_height|width with third
5763 arg 2.
5764
5765 * window.h (struct window): Replace field too_small_ok by field
5766 resize_proportionally.
5767
5768 * window.c (make_window): Initialize resize_proportionally.
5769 (enlarge_window): Temporarily set resize_proportionally to make
5770 sure that shrink_windows does scale the window proportionally.
5771 (shrink_windows): When window has resize_proportionally set try
5772 to shrink it proportionally by stealing from other windows.
5773 (struct saved_window, Fset_window_configuration)
5774 (compare_window_configurations): Handle resize_proportionally.
5775 (WINDOW_TOTAL_SIZE): New macro.
5776 (window_min_size, shrink_windows, size_window): Use it.
5777 (check_min_window_sizes): Remove. Invalid values of
5778 window-min-height|width are handled by window_min_size_2 now.
5779 (size_window, Fsplit_window, enlarge_window)
5780 (adjust_window_trailing_edge, grow_mini_window): Don't call
5781 check_min_window_sizes.
5782 (window_min_size_2, window_min_size_1, window_min_size):
5783 New argument safe_p for retrieving "safe" minimum sizes.
5784 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5785 (adjust_window_trailing_edge, grow_mini_window):
5786 Adjust arguments of window_min_size... functions.
5787 (shrink_windows): Argument min_size removed. New argument
5788 safe_p allows shrinking windows to their safe minimum sizes.
5789 Calculate minimum size and decide whether a window shall be
5790 deleted for each window individually.
5791 (size_window): When nodelete_p equals 2, tell shrink_windows to
5792 delete windows only if their new minimum size is no more safe.
5793 (shrink_window_lowest_first): Call window_min_size_1 to make
5794 sure to preserve modeline of bottom-most window when resizing
5795 the minibuffer.
5796 (Fset_window_configuration, Fcurrent_window_configuration)
5797 (compare_window_configurations): Do not handle
5798 window-min-height|width any more.
5799 (syms_of_window): Clarify window-min-height|width doc-strings.
5800
58012008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5802
5803 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5804 some more. Copy some of the code from Ftry_completions.
5805 Remove special case code that dates back to initial revision when the
5806 slash was only added when necessary and that can't trigger nowadays.
5807
58082008-04-27 Kenichi Handa <handa@m17n.org>
5809
5810 * font.c (font_prop_validate): Signal `error' instead of `font'.
5811
58122008-04-29 Jason Rumney <jasonr@gnu.org>
5813
5814 * w32fns.c (Fw32_battery_status): New defun.
5815 (syms_of_w32fns): Defsubr it.
5816
58172008-04-28 Andreas Schwab <schwab@suse.de>
5818
5819 * dired.c (file_name_completion): Fix another mixing of encoded
5820 and decoded names.
5821
58222008-04-28 Juanma Barranquero <lekktu@gmail.com>
5823
5824 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5825
58262008-04-27 Juanma Barranquero <lekktu@gmail.com>
5827
5828 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5829
58302008-04-27 Andreas Schwab <schwab@suse.de>
5831
5832 * dired.c (file_name_completion): Fix inappropriate mixing of
5833 encoded and decoded names.
5834
5835 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5836
5837 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5838
58392008-04-26 Eli Zaretskii <eliz@gnu.org>
5840
5841 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5842 2008-03-31, it's not needed anymore with `struct stat' definition
5843 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5844 for the same reasons.
5845
58462008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5847
5848 * m/sparc.h: Additional redefinitions for GNU/Linux.
5849
58502008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5851
5852 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5853 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5854 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5855 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5856 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5857 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5858 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5859 Likewise.
5860
5861 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5862 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5863 (mac_ax_number_of_characters): Add externs.
5864 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5865 [USE_MAC_TSM]: Likewise.
5866 (mac_handle_text_input_event) [MAC_OSX]:
5867 Handle kEventTextInputOffsetToPos for no active input area case.
5868 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5869 (mac_handle_document_access_event)
5870 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5871 (install_application_handler) [MAC_OSX]: Register handlers for
5872 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5873 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5874 Register mac_handle_document_access_event.
5875
5876 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5877 Make functions non-static.
5878
58792008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5880
5881 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5882 (read_file_name_completion_ignore_case, insert_default_directory)
5883 (Qdefault_directory): Move to minibuffer.el.
5884 (Fread_file_name): Call the new `read-file-name' instead.
5885
58862008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5887
5888 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5889 Make function non-static.
5890 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5891 Remove function.
5892 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5893 Move to mactoolbox.c.
5894 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5895
5896 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5897 (mac_rect_make): New macro.
5898
5899 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5900 instead of float.
5901 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5902 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5903 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5904 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5905 CGRectMake.
5906 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5907 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5908 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5909 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5910 instead of WindowRef in argument type.
5911 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5912 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5913 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5914 instead of DISPLAY. All uses changed.
5915 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5916 (x_calc_absolute_position): Simplify so as not to use
5917 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5918
5919 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5920 instead of WindowRef in argument type.
5921 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5922 [TARGET_API_MAC_CARBON]: Remove externs.
5923 (create_apple_event, mac_event_parameters_to_lisp)
5924 [TARGET_API_MAC_CARBON]: Add externs.
5925
5926 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5927 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5928 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5929 is clicked.
5930 (x_activate_menubar): Remove extern for saved_menu_event_location.
5931 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5932 Move from mac.c.
5933
59342008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5935
5936 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5937 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5938
59392008-04-23 Jason Rumney <jasonr@gnu.org>
5940
5941 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5942 attributes only for local files.
5943
5944 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5945 default to Qlocal.
5946
59472008-04-22 Juri Linkov <juri@jurta.org>
5948
5949 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5950 read-buffer-to-switch instead of using the letter "B".
5951
59522008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5953
5954 * fileio.c (Qdefault_directory): New variable.
5955 (Fread_file_name): Use it to pass `dir' to the completion functions.
5956
59572008-04-20 Chong Yidong <cyd@stupidchicken.com>
5958
5959 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5960
59612008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5962
5963 * keyboard.c (Vpre_help_message): Remove.
5964 (show_help_echo): Remove default C code.
5965
5966 * dired.c (directory_files_internal, file_name_completion):
5967 Only call ENCODE_FILE if the string is indeed decoded.
5968
59692008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5970
5971 * Makefile.in (TOOLKIT_DEFINES): Remove.
5972 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5973
59742008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5975
5976 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5977 (mactoolbox.o): New target.
5978
5979 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5980 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5981
5982 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5983 Use mac_set_frame_window_background instead of XSetWindowBackground.
5984 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5985 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5986 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5987 instead of SetWindowTitleWithCFString.
5988 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5989 Move function to mactoolbox.c.
5990 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5991 Use mac_set_window_modified instead of SetWindowModified.
5992 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5993 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5994 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5995 FrontNonFloatingWindow. Use mac_activate_window instead of
5996 ActivateWindow. Use mac_active_non_floating_window instead of
5997 ActiveNonFloatingWindow.
5998 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5999 Use mac_show_hourglass and mac_hide_hourglass.
6000 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6001 instead of GetGlobalMouse.
6002 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6003 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6004 Use mac_bring_window_to_front instead of BringToFront.
6005 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6006 mactoolbox.c.
6007 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6008 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6009 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6010 mactoolbox.c.
6011
6012 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6013 (XtPointer): Move typedef from macmenu.c.
6014 (enum button_type): Move enum from macmenu.c.
6015 (widget_value): Move typedef from macmenu.c.
6016 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6017 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6018 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6019 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6020 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6021 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6022 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6023 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6024 (Selection): Move typedef from macselect.c.
6025 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6026 macterm.c.
6027 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6028 (mac_is_window_collapsed, mac_bring_window_to_front)
6029 (mac_send_window_behind, mac_hide_window, mac_show_window)
6030 (mac_collapse_window, mac_front_non_floating_window)
6031 (mac_active_non_floating_window, mac_activate_window)
6032 (mac_move_window_structure, mac_move_window, mac_size_window)
6033 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6034
6035 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6036 (enum mac_menu_kind): Move enum to mactoolbox.c.
6037 (min_menu_id): Move variable to mactoolbox.c.
6038 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6039 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6040 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6041 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6042 [TARGET_API_MAC_CARBON]: Likewise.
6043 (XtPointer): Move typedef to macgui.h.
6044 (enum button_type): Move enum to macgui.h.
6045 (widget_value): Move typedef to macgui.h.
6046 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6047 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6048 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6049 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6050 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6051 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6052 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6053 (popup_activated_flag): Make variable non-static.
6054 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6055 (add_menu_item, fill_menu, dispose_menus):
6056 Move functions to mactoolbox.c.
6057 (restore_show_help_function, menu_target_item_handler)
6058 (install_menu_target_item_handler, mac_handle_dialog_event)
6059 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6060 [TARGET_API_MAC_CARBON]: Likewise.
6061 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6062 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6063 (find_and_call_menu_selection, name_is_separator): Make function
6064 non-static.
6065 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6066 to mactoolbox.c.
6067 (set_frame_menubar): Don't call install_menu_quit_handler.
6068 (menu_item_selection): New variable.
6069 (mac_menu_show): Use create_and_show_popup_menu.
6070 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6071 selection but set variable menu_item_selection. All uses changed.
6072 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6073 Call install_menu_quit_handler. Move to mactoolbox.c.
6074
6075 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6076 (Selection): Move typedef to macgui.h.
6077 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6078 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6079 Make variables non-static.
6080 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6081 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6082 Make functions non-static.
6083 (Vmac_service_selection) [MAC_OSX]: Likewise.
6084 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6085 (mac_valid_selection_target_p, mac_clear_selection)
6086 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6087 (mac_put_selection_value, mac_selection_has_target_p)
6088 (mac_get_selection_value, mac_get_selection_target_list)
6089 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6090 Move functions to mactoolbox.c.
6091 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6092 Likewise.
6093 (copy_scrap_flavor_data, mac_handle_service_event)
6094 (install_service_handler) [MAC_OSX]: Likewise.
6095 (syms_of_macselect) <Vmac_dnd_known_types>:
6096 Use mac_dnd_default_known_types.
6097
6098 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6099 Move to mactoolbox.c.
6100 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6101 (Fx_selection_owner_p): Add EXFUN.
6102 (install_window_handler, remove_window_handler, XSetWindowBackground):
6103 Remove externs.
6104 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6105 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6106 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6107 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6108 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6109 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6110 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6111 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6112 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6113 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6114 (mac_valid_selection_target_p, mac_clear_selection)
6115 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6116 (mac_put_selection_value, mac_selection_has_target_p)
6117 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6118 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6119 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6120 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6121 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6122 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6123 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6124 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6125 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6126
6127 * mactoolbox.c: New file.
6128
61292008-04-18 Jason Rumney <jasonr@gnu.org>
6130
6131 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6132
61332008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6134
6135 * character.c (Fmultibyte_char_to_unibyte):
6136 Return latin1 chars unchanged.
6137
6138 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6139 relocated if it points to `name'.
6140
61412008-04-17 Kenichi Handa <handa@m17n.org>
6142
6143 * data.c (Faset): Allow setting a multibyte character in an
6144 ASCII-only unibyte string.
6145
6146 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6147
61482008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6149
6150 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6151 done in config.h.
6152
61532008-04-16 Juanma Barranquero <lekktu@gmail.com>
6154
6155 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6156 (Fchar_direction): Add usage in the docstring.
6157
61582008-04-15 Chong Yidong <cyd@stupidchicken.com>
6159
6160 * keyboard.c (read_key_sequence): Remove always-true checks.
6161
61622008-04-14 Jason Rumney <jasonr@gnu.org>
6163
6164 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6165 compatibility struct, for better underline positioning.
6166
61672008-04-13 David Hansen <david.hansen@gmx.net>
6168
6169 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6170 string.
6171
61722008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6173
6174 * m/hp800.h (XUINT, XSET): Remove.
6175
61762008-04-12 Juanma Barranquero <lekktu@gmail.com>
6177
6178 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6179 previous change.
6180
61812008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6182
6183 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6184 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6185
61862008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6187
6188 * keymap.h (map_keymap_canonical): Declare.
6189 * xmenu.c (single_keymap_panes): Use it.
6190
61912008-04-11 Glenn Morris <rgm@gnu.org>
6192
6193 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6194 set the target's value to that of the alias.
6195
61962008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6197
6198 * term.c (set_tty_color_mode): Left over typo.
6199
62002008-04-10 Michael Albinus <michael.albinus@gmx.de>
6201
6202 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6203 only after check for file name handler functions. Signal, when
6204 native functionality is not supported.
6205 (syms_of_fileio): Declare it unconditionally.
6206
62072008-04-10 Jason Rumney <jasonr@gnu.org>
6208
6209 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6210 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6211
6212 * w32.c (logon_network_drive): Also logon to remote drives that
6213 are mapped to drive letters.
6214
62152008-04-10 Glenn Morris <rgm@gnu.org>
6216
6217 * xdisp.c (truncate-partial-width-windows): Doc fix.
6218
62192008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6220
6221 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6222 Move functions to minibuffer.el.
6223 (syms_of_fileio): Don't declare them.
6224
62252008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6226
6227 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6228 (syms_of_minibuf): Remove its initialization.
6229
6230 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6231
62322008-04-09 Juanma Barranquero <lekktu@gmail.com>
6233
6234 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6235
62362008-04-09 Jason Rumney <jasonr@gnu.org>
6237
6238 * makefile.w32-in (distclean): Delete makefile too.
6239 (maintainer-clean): New target.
6240
6241 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6242
6243 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6244 for new font backend and composite cases.
6245
62462008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6247
6248 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6249 Most of the code moved to run_timers.
6250 (do_pending_atimers): Call run_timers.
6251 (run_timers): New function.
6252
6253 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6254 run atimers.
6255
6256 * process.c (wait_reading_process_output): The same as above.
6257
62582008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6259
6260 * minibuf.c (last_exact_completion): Remove variable.
6261 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6262 (complete_and_exit_1, complete_and_exit_2)
6263 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6264 (Fdisplay_completion_list, display_completion_list_1)
6265 (Fminibuffer_completion_help, Fself_insert_and_exit)
6266 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6267 minibuffer.el.
6268 (syms_of_minibuf): Remove corresponding initializations.
6269
6270 * keyboard.c (Qdeactivate_mark): New var.
6271 (command_loop_1): Use it to call `deactivate-mark'.
6272 (syms_of_keyboard): Initialize it.
6273
6274 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6275 to another frame.
6276 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6277 Don't call set_tty_color_mode.
6278 (store_frame_param): Reset previous_frame rather than call
6279 set_tty_color_mode.
6280 * term.c (set_tty_color_mode): Rewrite.
6281 * dispextern.h (set_tty_color_mode): New type.
6282 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6283
62842008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6285
6286 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6287 for generic chars, which do not exist any more in emacs-unicode.
6288
62892008-04-08 Michael Albinus <michael.albinus@gmx.de>
6290
6291 * coding.c (detect_coding_emacs_mule)
6292 (Ffind_operation_coding_system): Fix typo.
6293
62942008-04-08 Jason Rumney <jasonr@gnu.org>
6295
6296 * w32uniscribe.c (SNAME): Extract only symbol name.
6297
6298 * w32font.h (struct w32_metric_cache): New struct.
6299 (w32font_info): Use it.
6300 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6301 (CACHE_BLOCKSIZE): New constants.
6302
6303 * w32font.c (Qja, Qko, Qzh): New symbols.
6304 (syms_of_w32font): Initialise them.
6305 (font_matches_spec): Use them to filter by language.
6306 (recompute_cached_metrics): Remove function.
6307 (compute_metrics, clear_cached_metrics): New functions.
6308 (w32font_encode_char): Use them to manage metric cache.
6309 (w32font_text_extents): Cache metrics for all glyphs on demand.
6310 Delay converting glyph indices to WORD until needed.
6311 (w32font_open_internal): Initialize metric cache to empty.
6312 (registry_to_w32_charset): Charset should always be a symbol.
6313 (fill_in_logfont, list_all_matching_fonts): Family should
6314 always be a symbol.
6315
63162008-04-06 Jason Rumney <jasonr@gnu.org>
6317
6318 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6319 Give up if glyph indices not supported. Use uniscribe obtained
6320 ABC widths for individual metrics. Map glyph clusters back to
6321 characters using fClusterStart flag. Return number of glyphs
6322 produced, not chars processed.
6323 (uniscribe_shape): Map char at FROM to current glyph.
6324
63252008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6326
6327 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6328 Use SetMenuItemHierarchicalMenu.
6329
63302008-04-05 Jason Rumney <jasonr@gnu.org>
6331
6332 * image.c (pbm_load): Allow color values up to 65535.
6333 Throw an error if max_color_idx is outside the supported range.
6334 Report an error when image size is invalid.
6335 Read two bytes at a time when raw images have max_color_idx above 255.
6336
63372008-04-05 Eli Zaretskii <eliz@gnu.org>
6338
6339 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6340 cFileName a file name that includes `?' characters, use the 8+3
6341 alias in cAlternateFileName instead.
6342
63432008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6344
6345 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6346 append "CCL: Quitted" when the CCL program is quitted.
6347 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6348
6349 * ccl.h (struct ccl_program): New member quit_silently.
6350
63512008-04-05 Chong Yidong <cyd@stupidchicken.com>
6352
6353 * search.c (compile_pattern_1): Treat non-nil and non-string of
6354 search-spaces-regexp as nil.
6355
6356 * minibuf.c (Fassoc_string): Tweak docstring.
6357
63582008-04-05 Eli Zaretskii <eliz@gnu.org>
6359
6360 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6361 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6362 2008-03-14 to force inode be positive.
6363
6364 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6365 _S_* ones, since we now use our own sys/stat.h.
6366 (stat, fstat): Don't mangle the inode number.
6367 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6368
63692008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6370
6371 * frame.h (struct frame): Give one more bit to `visible' since we use
6372 values larger than 1 to indicate obscured frames on ttys.
6373
6374 * keymap.c (Qkeymap_canonicalize): New var.
6375 (Fmap_keymap_internal): New fun.
6376 (describe_map): Use keymap-canonicalize.
6377
6378 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6379 (Fundo_boundary): Set them.
6380 (syms_of_undo): Initialize them.
6381 (record_point): Use them instead of last_point_position*.
6382 (last_undo_buffer): Change type.
6383
63842008-04-04 Jason Rumney <jasonr@gnu.org>
6385
6386 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6387 (recompute_cached_metrics): Don't set ascent and descent per char.
6388
6389 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6390 (uniscribe_check_otf): Add GC protection before consing.
6391 Rearrange loop for counting features.
6392
63932008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6394
6395 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6396 buffer with byte-size of source buffer.
6397
63982008-04-03 Chong Yidong <cyd@stupidchicken.com>
6399
6400 * callint.c (Fcall_interactively): Handle temporary region even
6401 when shift-select-mode is off.
6402
64032008-04-03 Jason Rumney <jasonr@gnu.org>
6404
6405 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6406
64072008-04-03 Kenichi Handa <handa@m17n.org>
6408
6409 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6410 (CATEGORY_MASK_UTF_16): Likewise.
6411 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6412 binary file.
6413 (detect_coding): Add null-byte detection for a binary file.
6414 (detect_coding_system): Likewise.
6415
64162008-04-03 Jason Rumney <jasonr@gnu.org>
6417
6418 * w32uniscribe.c: New file.
6419
6420 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6421
6422 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6423
6424 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6425 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6426 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6427 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6428 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6429 (Qphonetic): New symbols.
6430 (syms_of_w32font): Initialize them.
6431 (font_supported_scripts): Use them.
6432 (w32font_list_family): List all charsets.
6433 (w32font_text_extents, recompute_cached_metrics): Fix metric
6434 calculations.
6435 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6436 Give opentype fonts their own format.
6437 (font_matches_spec): New arguments backend and logfont.
6438 Handle :otf spec for uniscribe backend.
6439 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6440 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6441
6442 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6443 font backend.
6444 (globals_of_w32fns): Initialize uniscribe font backend.
6445
6446 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6447 dependencies.
6448 (w32uniscribe.$(O)): New file to build.
6449 (FONT_OBJ): Include w32uniscribe.$(O).
6450 (LIBS): Add uniscribe libraries.
6451
6452 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6453
64542008-04-02 Chong Yidong <cyd@stupidchicken.com>
6455
6456 * callint.c (Vshift_select_mode): New var.
6457 (Finteractive): Document new ^ spec.
6458 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6459 is present.
6460
6461 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6462 (command_loop_1): Avoid running the direct display versions of
6463 forward-char and backward-char if shift-selection may occur.
6464 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6465 shift-translation takes place.
6466
6467 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6468 avoid clobbering by define-minor-mode.
6469
6470 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6471 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6472
6473 * syntax.c (Fforward_word): Add ^ interactive spec.
6474
6475 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6476 (Fscroll_right): Add ^ interactive spec.
6477
64782008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6479
6480 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6481
6482 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6483
6484 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6485
64862008-03-31 Juri Linkov <juri@jurta.org>
6487
6488 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6489
64902008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6491
6492 * gtkutil.c (xg_set_geometry): Fix indentation.
6493 (xg_resize_outer_widget): Remove.
6494 (x_wm_size_hint_off): Fix indentation.
6495 (xg_frame_set_char_size): Call flush_and_sync after
6496 gtk_window_resize.
6497 (x_wm_set_size_hint): Pass NULL as geometry window to
6498 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6499 Add menu bar and tool bar height to base height.
6500 (xg_update_frame_menubar, free_frame_menubar)
6501 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6502 (update_frame_tool_bar, free_frame_tool_bar):
6503 Change xg_resize_outer_widget to xg_frame_set_char_size.
6504
65052008-03-30 Michael Albinus <michael.albinus@gmx.de>
6506
6507 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6508 (Fdbus_call_method): New parameter TIMEOUT.
6509 (dbus-send-signal): Optimize UNGCPRO call.
6510
65112008-03-29 Juri Linkov <juri@jurta.org>
6512
6513 * window.c (Fdisplay_buffer): Move call to
6514 Vsplit_window_preferred_function out of conditions that check
6515 if window is eligible for vertical splitting.
6516 When Vsplit_window_preferred_function is non-nil, call it and use
6517 its non-nil return value as window. Otherwise, continue doing
6518 vertical splitting using Fsplit_window with arg horflag=nil.
6519 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6520 default value from `split-window' to nil.
6521
65222008-03-29 Juri Linkov <juri@jurta.org>
6523
6524 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6525 for interactive code letters 'b' and 'B'.
6526
65272008-03-29 Eli Zaretskii <eliz@gnu.org>
6528
6529 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6530 multibyte string.
6531
65322008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6533
6534 * keyboard.c (pending_funcalls): New var.
6535 (timer_check): Run it.
6536 (syms_of_keyboard): Initialize it.
6537 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6538 (Vdelete_terminal_functions): New vars.
6539 (syms_of_terminal): Initialize them.
6540 (Fdelete_terminal): Run delete-terminal-functions.
6541 * xdisp.c (safe_eval): Rewrite.
6542 (safe_call2): New fun.
6543 * frame.c (Qdelete_frame_functions): New var.
6544 (syms_of_frame): Initialize it.
6545 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6546 * lisp.h (safe_call2, pending_funcalls): Declare.
6547
65482008-03-28 Andreas Schwab <schwab@suse.de>
6549
6550 * indent.c (Fmove_to_column): Move declaration before statements.
6551
65522008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6553
6554 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6555 (struct frame): Use bit fields for boolean vars.
6556
6557 * process.c (server_accept_connection): Simplify naming.
6558 (emacs_get_tty_pgrp): Use SDATA.
6559
6560 * coding.c (decode_coding_object): Fix last change.
6561
65622008-03-27 Jason Rumney <jasonr@gnu.org>
6563
6564 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6565
65662008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6567
6568 * charset.c (Fdefine_charset_internal): Change the way of
6569 registering charsets in Vcharset_order_list.
6570 (syms_of_charset): Make the charset `eight-bit' supplementary.
6571
65722008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6573
6574 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6575 operations, to avoid having the difference between pointers
6576 overflow.
6577
65782008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6579
6580 * indent.c (check_display_width): New fun.
6581 (scan_for_column): Use it.
6582
6583 * data.c (syms_of_data): Mark most-positive-fixnum and
6584 most-negative-fixnum as constants.
6585
6586 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6587
6588 * indent.c (scan_for_column): Extract from current_column_1.
6589 Merge with the same code from Fmove_to_column.
6590 (current_column_1, Fmove_to_column): Use it.
6591
65922008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6593
6594 * keymap.c (map_keymap_internal): New fun.
6595 (map_keymap): Use it.
6596 (Fmap_keymap_internal): New fun.
6597 (Fmap_keymap): Remove left-out test from before make_save_value.
6598
6599 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6600
6601 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6602 Use XCAR/XCDR.
6603
6604 * process.h (struct Lisp_Process): Remove filter_multibyte.
6605 * process.c (QCfilter_multibyte): Remove.
6606 (setup_process_coding_systems): Don't use filter_multibyte.
6607 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6608 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6609 (Fset_process_filter_multibyte): Change the coding-system to
6610 approximate the previous behavior.
6611 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6612 coding-system.
6613
6614 * coding.c (decode_coding_object): When not decoding into a buffer,
6615 obey the coding system's preference of (uni|multi)byte.
6616
66172008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6618
6619 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6620 every char is changed and has a different byte-length.
6621 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6622 Fix int -> EMACS_INT.
6623
66242008-03-23 David Hansen <david.hansen@gmx.net>
6625
6626 * dbusbind.c (xd_read_message): Remove extra copying of message
6627 strings. Check for NULL `interface' or `member'.
6628
66292008-03-22 Eli Zaretskii <eliz@gnu.org>
6630
6631 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6632 cFileName a file name that includes `?' characters, use the 8+3
6633 alias in cAlternateFileName instead.
6634
66352008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6636
6637 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6638
66392008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6640
6641 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6642 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6643 work on current_buffer only instead (that was already the case
6644 for some of the code anyway).
6645 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6646 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6647 (SET_PT, SET_PT_BOTH): Adjust.
6648 * intervals.h (set_point, temp_set_point, set_point_both)
6649 (temp_set_point_both): Remove redundant declarations.
6650
66512008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6652
6653 * fileio.c (Finsert_file_contents):
6654 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6655 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6656 when buffer != current_buffer anyway.
6657
66582008-03-20 Andreas Schwab <schwab@suse.de>
6659
6660 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6661 as default.
6662
66632008-03-19 Jason Rumney <jasonr@gnu.org>
6664
6665 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6666 (syms_of_w32fns): Initialize them.
6667 (HOURGLASS_ID): New constant.
6668 (x_window_to_frame): Don't check hourglass_window.
6669 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6670 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6671 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6672 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6673 Only change the cursor if hourglass is not active.
6674 (Fx_create_frame): Initialize frame's current_cursor.
6675 (hourglass_atimer): Remove.
6676 (hourglass_started): New function.
6677 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6678 (show_hourglass): Adapt to w32, changing argument to frame.
6679
6680 * w32term.h (struct w32_output): Remove hourglass_window.
6681 Add current_cursor.
6682
6683 * eval.c (call_debugger, Fsignal):
6684 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6685 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6686 (Fexecute_extended_command, cancel_hourglass_unwind):
6687 * minibuf.c (read_minibuf):
6688 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6689
66902008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6691
6692 * window.c (run_funs): New fun.
6693 (run_window_configuration_change_hook): Use it to run the buffer-local
6694 and the global part of the hook.
6695
6696 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6697 (unwind_format_mode_line): Restore selected window.
6698 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6699
67002008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6701
6702 * editfns.c (Fchar_equal): Check they are valid characters.
6703
6704 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6705
67062008-03-17 Andreas Schwab <schwab@suse.de>
6707
6708 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6709 against a charset.
6710
6711 * lisp.h (Fbuffer_list): Declare.
6712
67132008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6714
aac0c6e3
MR
6715 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6716 handlebox_widget is != 0.
6717
67182008-03-16 Juri Linkov <juri@jurta.org>
6719
6720 * callint.c (Fcall_interactively): For interactive code letters
6721 'b' and 'B' put the buffer list into the list of default "future"
6722 values of the minibuffer.
6723
67242008-03-16 Andreas Schwab <schwab@suse.de>
6725
6726 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6727 modifiers.
6728
6729 * regex.c (re_match_2_internal): Correct matching of a charset
6730 against latin-1 characters.
6731
67322008-03-16 Kenichi Handa <handa@m17n.org>
6733
6734 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6735 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6736 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6737 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6738 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6739 CHAR_STRING_ADVANCE.
6740 (produce_chars): Fix for the case that the source and the
6741 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6742 instead of CHAR_STRING_ADVANCE.
6743 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6744 STRING_CHAR_ADVANCE.
6745
67462008-03-15 Andreas Schwab <schwab@suse.de>
6747
6748 * regex.c (re_match_2_internal): Correct matching of eight bit
6749 characters in unibyte strings.
6750
67512008-03-15 Martin Rudalics <rudalics@gmx.at>
6752
6753 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6754 at end of range when it coincides with the end of the buffer.
6755
67562008-03-14 Eli Zaretskii <eliz@gnu.org>
6757
6758 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6759
6760 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6761
67622008-03-14 Jason Rumney <jasonr@gnu.org>
6763
6764 * editfns.c (initial_tz): New variable.
6765 (syms_of_editfns): Initialize it.
6766 (Fset_time_zone_rule): Set it when first called.
6767 Use it when TZSTRING is nil.
6768
6769 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6770 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6771 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6772 (globals_of_w32fns): Initialize them.
6773 (compute_tip_xy): Use them to position tooltips.
6774
67752008-03-14 Glenn Morris <rgm@gnu.org>
6776
6777 * emacs.c (main): Revert previous change.
6778 (standard_args): Revert -internal-script back to -scriptload,
6779 and remove the long-option form.
6780
67812008-03-13 Glenn Morris <rgm@gnu.org>
6782
6783 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6784 Remove option -enable-font-backend.
6785
67862008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6787
6788 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6789
67902008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6791
6792 * xterm.c (x_connection_closed): For GTK: If this is the last
6793 terminal just exit without closing the display.
6794
67952008-03-11 Jason Rumney <jasonr@gnu.org>
6796
6797 * w32font.c (w32font_full_name): Use floor to round.
6798
67992008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6800
6801 * sound.c (alsa_configure): Declare vol at beginning of block.
6802
6803 * fontset.c (Ffontset_info): Remove extra semicolon.
6804
68052008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6806
6807 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6808 size of resulting string.
6809
68102008-03-10 Jason Rumney <jasonr@gnu.org>
6811
6812 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6813
68142008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6815
6816 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6817 Don't pretend as if characters with display property haven't been
6818 consumed for string-replacing-string case.
6819
68202008-03-08 Kim F. Storm <storm@cua.dk>
6821
6822 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6823 (get_next_display_element, next_element_from_string)
6824 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6825
68262008-03-08 Andreas Schwab <schwab@suse.de>
6827
6828 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6829
68302008-03-06 Jason Rumney <jasonr@gnu.org>
6831
6832 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6833 when charset not specified. Only translate ANSI to unicode when
6834 font_type is truetype.
6835 (w32font_coverage_ok): New function.
6836 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6837
68382008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6839
6840 * lread.c (Fread_char): Resolve modifiers.
6841 (Fread_char_exclusive): Likewise.
6842
6843 * character.c (char_resolve_modifier_mask): New function.
6844 (char_string): Use char_resolve_modifier_mask.
6845 (Fchar_resolve_modifiers): New function.
6846 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6847 function.
6848
68492008-03-04 Jason Rumney <jasonr@gnu.org>
6850
6851 * makefile.w32-in: Always include w32font.c in the build.
6852 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6853
68542008-03-04 Andreas Schwab <schwab@suse.de>
6855
6856 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6857 (versionclean): Likewise.
6858
68592008-03-04 Juanma Barranquero <lekktu@gmail.com>
6860
6861 * .cvsignore: Add oo.
6862
68632008-03-03 Andreas Schwab <schwab@suse.de>
6864
6865 * coding.c (decode_coding_object): Inhibit gap shrinking while
6866 decoding in place.
6867
68682008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6869
6870 * w32term.c: Remove unused include "gnu.h".
6871 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6872
6873 * gnu.h: Rename to ...
6874 * emacs-icon.h: ... this.
6875 * xterm.c: Use emacs-icon.h instead of gnu.h.
6876 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6877
68782008-03-03 Juanma Barranquero <lekktu@gmail.com>
6879
6880 * w32font.c: Include math.h.
6881
68822008-03-03 Jason Rumney <jasonr@gnu.org>
6883
6884 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6885 Compute options separately.
6886 (w32font_open_internal): Set glyph_idx before caching metrics.
6887
6888 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6889 Define if system headers don't.
6890 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6891 (w32font_encode_char): Don't declare here.
6892
6893 * w32font.c (Quniscribe, QCformat): New symbols.
6894 (syms_of_w32font): Define them.
6895 (w32font_has_char): Indicate uncertainty.
6896 (w32font_encode_char): Encode as glyph point. Make static.
6897 (recompute_cached_metrics): New function.
6898 (w32font_open_internal): Use it. Set font to use glyph points
6899 initially. Set format based on type of font.
6900 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6901 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6902 on it. Set format based on information available here.
6903 (add_font_entity_to_list): Identify backend based on opentype_only.
6904
69052008-03-02 Andreas Schwab <schwab@suse.de>
6906
6907 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6908
6909 * coding.c (decode_coding_big5, produce_chars):
6910 Fix typos in last change.
6911
69122008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6913
6914 * gnu.h: New icon.
6915
69162008-03-02 Kenichi Handa <handa@m17n.org>
6917
6918 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6919 `dos', don't decode '\r' if that is the last in the source.
6920 (decode_coding_utf_16, decode_coding_emacs_mule)
6921 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6922 (decode_coding_raw_text, decode_coding_charset): Likewise.
6923 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6924
69252008-03-01 Jason Rumney <jasonr@gnu.org>
6926
6927 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6928
69292008-03-01 Kim F. Storm <storm@cua.dk>
6930
6931 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6932
69332008-03-01 Jason Rumney <jasonr@gnu.org>
6934
6935 * w32font.c (w32font_full_name): New function.
6936 (w32font_open_internal): Use it.
6937
69382008-03-01 Kim F. Storm <storm@cua.dk>
6939
6940 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6941
69422008-03-01 Jason Rumney <jasonr@gnu.org>
6943
6944 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6945
69462008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6947
6948 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6949 xg_frame_resized when the event is for the edit widget.
6950
6951 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6952
6953 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6954 set_char_size.
6955 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6956 operations on widgets here. Just set frame size if needed.
6957 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6958 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6959 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6960 the whole frame.
6961 (xg_create_tool_bar): Move attachment of the tool bar to
6962 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6963 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6964
69652008-03-01 Jason Rumney <jasonr@gnu.org>
6966
6967 * w32fns.c (w32_msg_pump): Disable debug code.
6968
69692008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6970
6971 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6972
69732008-02-29 Chong Yidong <cyd@stupidchicken.com>
6974
6975 * xdisp.c (next_overlay_string): Don't set
6976 overlay_strings_at_end_processed_p if we're currently reading from
6977 a display string.
6978
69792008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6980
6981 * xdisp.c (get_overlay_strings_1): Fix typo.
6982
69832008-02-29 Chong Yidong <cyd@stupidchicken.com>
6984
6985 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6986
69872008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6988
6989 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6990
6991 * xdisp.c (display_mode_element): Cancel the previous change.
6992 (decode_mode_spec): Likewise.
6993 (handle_auto_composed_prop): Don't make composition if it->string
6994 is a string.
6995
69962008-02-27 Kim F. Storm <storm@cua.dk>
6997
6998 * lisp.h (GLYPH): Change type from int to struct with separate char
6999 and face_id members.
7000 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7001 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7002 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7003 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7004 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7005 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7006 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7007 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7008 handle new Lisp glyph code encoding, either an integer or a cons.
7009
7010 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7011 (GLYPH_ALIAS): Delete.
7012 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7013 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7014 (GLYPH_FROM_CHAR): Replace macro by ...
7015 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7016
7017 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7018 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7019 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7020 (GLYPH_INVALID_P): New macro.
7021 (spec_glyph_lookup_face): Update prototype.
7022
7023 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7024 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7025 new glyph code encoding.
7026 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7027 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7028
7029 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7030 Adapt to new glyph type and new glyph code encoding.
7031
7032 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7033
7034 * indent.c (current_column, current_column_1, Fmove_to_column)
7035 (compute_motion): Adapt to new glyph code encoding.
7036
7037 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7038
70392008-02-27 Chong Yidong <cyd@stupidchicken.com>
7040
7041 * process.c (wait_reading_process_output): Check for window
7042 changes caused by timers.
7043 Suggested by Johan Bockgård.
7044
70452008-02-27 Glenn Morris <rgm@gnu.org>
7046
7047 * emacs.c (USAGE1): Add `--disable-font-backend'.
7048
70492008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7050
7051 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7052 is made to the buffer.
7053
70542008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7055
7056 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7057 (face_at_string_position):
7058 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7059 (face_at_string_position):
7060 * xdisp.c (display_string, next_overlay_change):
7061 * buffer.h (overlays_at):
7062 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7063 Update callers.
7064
70652008-02-26 Chong Yidong <cyd@stupidchicken.com>
7066
7067 * editfns.c (Fformat): Doc fix.
7068
70692008-02-26 Juanma Barranquero <lekktu@gmail.com>
7070
7071 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7072 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7073 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7074
70752008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7076
7077 * buffer.c (Fbuffer_swap_text): New function.
7078 (syms_of_buffer): Defsubr it.
7079
70802008-02-25 Chong Yidong <cyd@stupidchicken.com>
7081
7082 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7083
70842008-02-25 Jason Rumney <jasonr@gnu.org>
7085
7086 * w32font.c (w32font_draw): Draw one character at a time when padding.
7087
70882008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7089
7090 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7091 Handle a nil arg. Use run_window_configuration_change_hook.
7092 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7093 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7094 Use run_window_configuration_change_hook.
7095
70962008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7097
7098 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7099 1-pixel width.
7100
71012008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7102
7103 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7104 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7105 if the glyph in the font is zero pixel with.
7106
7107 * dispextern.h (struct glyph_string): New member padding_p.
7108
7109 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7110
7111 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7112
7113 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7114
7115 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7116
7117 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7118
71192008-02-25 Jason Rumney <jasonr@gnu.org>
7120
7121 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7122
71232008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7124
7125 Allow fine-grained image-cache flushing.
7126 * dispextern.h (struct image): Add `dependencies' field.
7127 (clear_image_caches): Change arg to Lisp_Object.
7128 * image.c (make_image): Initialize `dependencies' field.
7129 (clear_image_cache): Change arg to allow fine-grained flushing.
7130 Perform the flush even if image-cache-eviction-delay is nil.
7131 (clear_image_caches): Change arg to Lisp_Object.
7132 (Fclear_image_cache): Expand meaning of the argument.
7133 (mark_image): Mark `dependencies' field.
7134 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7135 (lface_hash): Use XHASH rather than XFASTINT.
7136 (face_at_buffer_position): Fix int -> EMACS_INT position.
7137 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7138 (select_frame_for_redisplay): Remove code duplication.
7139 (redisplay_internal): Adapt arg to call to clear_image_caches.
7140
71412008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7142
7143 * s/vms4-0.h:
7144 * s/vms4-2.h:
7145 * s/vms4-4.h:
7146 * s/vms5-5.h: Remove, unused.
7147
7148 * s/irix5-2.h:
7149 * s/irix6-0.h:
7150 * s/riscos5.h:
7151 * s/mach-bsd4-3.h:
7152 * m/mips4.h: Remove files for obsolete systems.
7153
7154 * Makefile.in:
7155 * filelock.c:
7156 * unexmips.c:
7157 * m/hp9000s300.h:
7158 * m/iris4d.h:
7159 * s/aix3-1.h:
7160 * s/hpux.h:
7161 * s/msdos.h:
7162 * s/usg5-0.h:
7163 * s/usg5-2-2.h:
7164 * s/usg5-2.h:
7165 * s/usg5-3.h: Remove references to obsolete variables.
7166
7167 * s/irix5-0.h: Remove, move all the contents ...
7168 * s/irix6-5.h: ... here. Simplify.
7169 * config.in: Regenerate.
7170
71712008-02-24 Jason Rumney <jasonr@gnu.org>
7172
7173 * w32term.c (x_draw_glyph_string_background): Clear the background
7174 manually when cleartype is in use.
7175 (x_draw_glyph_string_foreground): Draw text transparently when
7176 cleartype is in use.
7177
7178 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7179 a font into it unless we have to.
7180
71812008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7182
7183 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7184 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7185
aac0c6e3
MR
71862008-02-18 Jason Rumney <jasonr@gnu.org>
7187
7188 * w32fns.c (Fw32_shell_execute): Encode parameters.
7189
71902008-02-09 Eli Zaretskii <eliz@gnu.org>
7191
7192 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7193
71942008-02-05 Juanma Barranquero <lekktu@gmail.com>
7195
7196 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7197
71982008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7199
7200 * xterm.c (x_set_offset): Don't change the gravity if
7201 CHANGE_GRAVITY is -1.
7202
72032008-02-23 Chong Yidong <cyd@stupidchicken.com>
7204
7205 * fileio.c (auto_save_error_occurred): New var.
7206 (auto_save_error): Set it.
7207 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7208 error occurred.
7209
72102008-02-23 Eli Zaretskii <eliz@gnu.org>
7211
7212 * w32.c (globals_of_w32): Add initializations for
7213 g_b_init_get_sid_sub_authority and
7214 g_b_init_get_sid_sub_authority_count.
7215
72162008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7217
7218 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7219 (font_parse_xlfd): Use them for sanity check.
7220 (Finternal_set_font_style_table): Make sure the table is bijective.
7221
7222 Consolidate the image_cache to the terminal struct.
7223 * termhooks.h (P_): Remove redundant def.
7224 (struct terminal): New field `image_cache'.
7225 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7226 of FRAME_X_IMAGE_CACHE.
7227 * xterm.h (struct x_display_info): Remove image_cache field.
7228 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7229 * w32term.h (struct w32_display_info): Remove image_cache field.
7230 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7231 * macterm.h (struct mac_display_info): Remove image_cache field.
7232 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7233 * xterm.c (x_term_init):
7234 * w32term.c (w32_term_init):
7235 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7236 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7237 Remove declarations.
7238 (clear_image_caches, mark_image_cache): New declarations.
7239 * xfaces.c (clear_face_cache):
7240 * xdisp.c (redisplay_internal): Use clear_image_caches.
7241 * image.c (clear_image_cache): Don't check that a frame is on
7242 a window-system before checking if it shares the same cache.
7243 (clear_image_caches): New function.
7244 (Fclear_image_cache): Use it.
7245 (mark_image): Move from allo.c.
7246 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7247 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7248 (mark_object): Don't call mark_image_cache for frames.
7249 (mark_terminals): Call mark_image_cache.
7250
7251 * lisp.h (Fdelete_terminal): Declare.
7252
7253 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7254 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7255 wrong_type_argument.
7256
72572008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7258
7259 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7260 malayalam.el, and tamil.el. Add sinhala.el.
7261
72622008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7263
7264 * xterm.c (x_connection_closed): Consolidate identical tests.
7265 (x_delete_terminal): Don't crash if called via x_connection_closed.
7266
72672008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7268
7269 * xdisp.c (decode_mode_spec): New arg string.
7270 (display_mode_element): Adjust for the above change.
7271
72722008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7273
7274 * callint.c (Fcall_interactively): Use AREF.
7275
72762008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7277
7278 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7279
72802008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7281
7282 * xfns.c (Fx_show_tip): Set string to " " if empty.
7283
72842008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7285
7286 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7287 with Qt.
7288
72892008-02-17 Kenichi Handa <handa@m17n.org>
7290
7291 * ftfont.c (ftfont_shape): Return Lispy number.
7292
7293 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7294 for GCs.
7295 (Finternal_set_font_selection_order): Call font_update_sort_order
7296 only when enable_font_backend is set.
7297 (realize_x_face): Set face->font_info to that of default face only
7298 when enable_font_backend is set.
7299
7300 * xdisp.c (handle_composition_prop): Set it->c to the fist
7301 character of the composed region.
7302 (fill_composite_glyph_string): Set base_face->font_info to
7303 s->font_info. Get a face for ascii from base_face->ascii_face.
7304 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7305 with a face already decided.
7306 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7307 non-negative.
7308 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7309 call font_prepare_composition unconditionally.
7310
7311 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7312
7313 * xterm.h (struct x_display_info): New member font.
7314
7315 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7316 (x_set_mouse_face_gc, x_new_font): Likewise.
7317 (x_term_init): Setup display_info->font.
7318 (x_delete_terminal): Free display_info->font.
7319
7320 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7321
7322 * ftxfont.c (ftxfont_default_fid): Delete it.
7323 (ftxfont_open): Set xfont->fid to 0.
7324 (ftxfont_end_for_frame): Clear data specific to the frame and the
7325 font-driver.
7326
7327 * xftfont.c (xftfont_default_fid): Delete it.
7328 (xftfont_open): Set xfont->fid to 0.
7329
7330 * fontset.c (FONTSET_OBJLIST): New macro.
7331 (fontset_find_font): Update font-object list of the fontset.
7332 (free_realized_fontset): New function.
7333 (free_face_fontset): Call free_realized_fontset.
7334 (Ffont_info): Call font_close_object only when enable_font_backend
7335 is set.
7336
7337 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7338 [HAVE_NTGUI]: Include w32term.h.
7339 [MAC_OS]: Include macterm.ch.
7340 (font_otf_ValueRecord): Use make_number.
7341 (font_finish_cache): Fix handling of reference count.
7342 (font_clear_cache): Update num_fonts.
7343 (font_open_entity): Update smallest_char_width and
7344 smallest_font_height of the frame.
7345 (font_close_object): Update num_fonts.
7346 (Fclear_font_cache): Fix finding the target cache data.
7347
73482008-02-16 Glenn Morris <rgm@gnu.org>
7349
7350 * fontset.c (Finternal_char_font): Fix compilation warning.
7351
73522008-02-16 Eli Zaretskii <eliz@gnu.org>
7353
7354 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7355 instead of char arrays. Enlarge the size of array passed to
7356 get_token_information.
7357
7358 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7359 warnings.
7360
73612008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7362
7363 * .gdbinit: Don't set `args', it breaks gdb --args.
7364
73652008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7366
7367 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7368 within a narrowed buffer.
7369
73702008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7371
7372 * coding.c (decode_coding_object, encode_coding_object):
7373 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7374
73752008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7376
7377 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7378 hardcoding 1.
7379 (detect_coding_system):
7380 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7381 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7382 * insdel.c (insert_from_gap):
7383 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7384 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7385 (string_to_multibyte):
7386 * character.c (chars_in_text, multibyte_chars_in_text):
7387 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7388
7389 * character.h (FETCH_STRING_CHAR_ADVANCE)
7390 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7391 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7392 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7393
7394 * casefiddle.c (casify_region): Only call after-change and composition
7395 functions on the part of the region that was changed.
7396
7397 * keyboard.c (read_avail_input):
7398 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7399
74002008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7401
7402 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7403 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7404
74052008-02-11 Juanma Barranquero <lekktu@gmail.com>
7406
7407 * w32menu.c (push_submenu_start, push_submenu_end)
7408 (push_left_right_boundary, push_menu_pane, push_menu_item):
7409 * keyboard.c (read_key_sequence): Don't pass args with side effects
7410 to AREF, it fails when compiling with -DENABLE_CHECKING.
7411
74122008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7413
7414 * Makefile.in (${lispsource}international/charprop.el):
7415 Delete this target.
7416
7417 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7418 emacs-unicode-2.
7419
74202008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7421
7422 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7423
74242008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7425
7426 * frame.c (Qnoelisp): New symbol.
7427 (syms_of_frame): Initialize it.
7428 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7429 harmless Elisp code, from a strong `force' from x_connection_closed.
7430 * frame.h (Qnoelisp): Declare.
7431 * xterm.c (x_connection_closed): Pass `noelisp'.
7432
7433 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7434 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7435 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7436 rather than `int' for the type of `type'.
7437
74382008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7439
7440 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7441
7442 * Makefile.in (GNUC): Remove support for gcc-1.x.
7443
74442008-02-10 Richard Stallman <rms@gnu.org>
7445
7446 * lisp.h (ASET): Use AREF, not ASLOT.
7447
74482008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7449
7450 * lisp.h (ASET): Check bounds.
7451
74522008-02-10 Glenn Morris <rgm@gnu.org>
7453
7454 * buffer.c (mode-name): Doc fix.
7455
74562008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7457
7458 * Makefile.in:
7459 * emacs.c:
7460 * gmalloc.c:
7461 * keyboard.c:
7462 * lisp.h:
7463 * m/ibm370aix.h:
7464 * process.c:
7465 * regex.c:
7466 * s/hpux.h:
7467 * sysdep.c:
7468 * sysselect.h:
7469 * systty.h:
7470 * unexec.c:
7471 * w32term.c:
7472 * xsmfns.c:
7473 * xterm.c: Remove code that deals with obsolete variables.
7474
7475 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7476
7477 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7478 nothing else needs it anymore.
7479
74802008-02-09 Eli Zaretskii <eliz@gnu.org>
7481
7482 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7483 instead of unibyte_char_to_multibyte.
7484
74852008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7486
7487 * s/gnu-linux.h: Remove commented out code.
7488
7489 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7490
7491 * Makefile.in: Update what RMS says about using autoconf.
7492 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7493 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7494 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7495 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7496
74972008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7498
7499 * keymap.c (Fkey_description): Move side effect outside of macro call.
7500
7501 * xfaces.c (Finternal_make_lisp_face):
7502 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7503
7504 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7505 (syms_of_fontset): Use ASET.
7506
7507 * fns.c (concat): Move side effect outside of macro call.
7508 (hash_clear): Use ASET.
7509
75102008-02-08 Richard Stallman <rms@gnu.org>
7511
7512 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7513 If FORCE, and frame has a surrogate minibuffer for another frame,
7514 delete the other frame first.
7515
75162008-02-07 Timo Savola <timo.savola@iki.fi>
7517
7518 * xterm.c (x_detect_focus_change): Handle embed client message.
7519 (handle_one_xevent): Ditto.
7520 (handle_one_xevent): If embedded and we get a button press/release,
7521 request focus.
7522 (xembed_set_info, xembed_send_message): New functions.
7523 (x_make_frame_visible): Call xembed_set_info if embedded.
7524 (x_make_frame_invisible): Call xembed_set_info if embedded.
7525 (x_term_init): Initialize Xatom_XEMBED.
7526 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7527 (x_iconify_frame): Ditto.
7528
7529 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7530 (enum xembed_info, enum xembed_message, enum xembed_focus)
7531 (enum xembed_modifier, enum xembed_accelerator): New.
7532 (xembed_set_info, xembed_send_message): Declare.
7533 (FRAME_X_EMBEDDED_P): New.
7534
7535 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7536 gtk_plug_new.
7537
7538 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7539 window ID of a frame.
7540 (x_window): Reparent frame if embedded.
7541 (Fx_create_frame): Don't set border width if embedded.
7542
7543 * emacs.c (USAGE3): Add --parent-id.
7544 (standard_args): Ditto.
7545
75462008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7547
7548 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7549
75502008-02-07 Jim Meyering <meyering@redhat.com>
7551
7552 Use "do...while (0)", not "if (1)...else" in macro definitions.
7553 The latter provokes a warning from gcc about the empty else, when
7554 followed by ";". Also, without that trailing semicolon, it would
7555 silently swallow up any following statement.
7556 * syntax.h (SETUP_SYNTAX_TABLE)
7557 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7558 * buffer.h (DECODE_POSITION): Likewise.
7559 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7560 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7561 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7562 (FETCH_CHAR_ADVANCE): Likewise.
7563 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7564
75652008-02-07 Jim Meyering <meyering@redhat.com>
7566
7567 * lread.c [lint]: Don't include <sys/inode.h>.
7568
75692008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7570
7571 * xselect.c (x_handle_dnd_message):
7572 * xmenu.c (digest_single_submenu, xmenu_show):
7573 * xdisp.c (with_echo_area_buffer_unwind_data)
7574 (format_mode_line_unwind_data, unwind_format_mode_line)
7575 (display_menu_bar):
7576 * eval.c (Ffetch_bytecode):
7577 * doc.c (store_function_docstring):
7578 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7579 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7580 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7581
75822008-02-07 Kenichi Handa <handa@m17n.org>
7583
7584 * ftxfont.c (ftxfont_open): Don't set
7585 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7586
7587 * ftfont.c (ftfont_open): Fix previous change.
7588
75892008-02-06 Jason Rumney <jasonr@gnu.org>
7590
7591 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7592 Use cached metrics for ASCII characters.
7593 (w32font_open_internal): Don't set font's owning_frame.
7594 Cache metrics for ASCII characters.
7595
7596 * w32font.h (struct w32font_info): Add ascii_metrics.
7597 Remove owning_frame.
7598
75992008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7600
7601 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7602 to negative value.
7603
7604 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7605
7606 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7607
7608 * charset.c (syms_of_charset): Set QCtest and Qeq.
7609
76102008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7611
7612 * process.c (Fstart_process):
7613 * callproc.c (Fcall_process): Handle the case where
7614 Funhandled_file_name_directory returns nil.
7615
7616 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7617 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7618 * font.c (check_gstring): Use them and AREF to access the vector before
7619 we know it's really a gstring.
7620 (Ffont_shape_text): Fix typo.
7621 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7622
7623 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7624 Declare.
7625
7626 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7627
76282008-02-05 Jason Rumney <jasonr@gnu.org>
7629
7630 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7631 Set smallest_font_height and smallest_char_width in display info.
7632
76332008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7634
7635 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7636
76372008-02-05 Miles Bader <miles@gnu.org>
7638
7639 * xfaces.c (get_lface_attributes, merge_named_face)
7640 (lookup_named_face, lookup_derived_face, realize_named_face):
7641 Revert 2008-02-01 change by cyd@stupidchicken.com.
7642
76432008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7644
7645 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7646 fallback fonts.
7647 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7648
76492008-02-04 Jason Rumney <jasonr@gnu.org>
7650
7651 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7652 set full_name.
7653 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7654
76552008-02-03 Jason Rumney <jasonr@gnu.org>
7656
7657 * makefile.w32-in (OBJ1): Include font.o here.
7658 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7659
76602008-02-02 Jason Rumney <jasonr@gnu.org>
7661
7662 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7663
76642008-02-01 Jason Rumney <jasonr@gnu.org>
7665
7666 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7667
7668 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7669
76702008-02-01 Andreas Schwab <schwab@suse.de>
7671
7672 * Makefile.in (shortlisp, lisp): Update for rename of
7673 ../lisp/language/myanmar.el.
7674
76752008-02-01 Chong Yidong <cyd@stupidchicken.com>
7676
7677 * xfaces.c (get_lface_attributes): Delete function.
7678 (merge_named_face, lookup_named_face, lookup_derived_face)
7679 (realize_named_face): Call lface_from_face_name directly, and use
7680 the fact that merge_face_vectors does not alter its FROM argument.
7681
76822008-02-01 Jason Rumney <jasonr@gnu.org>
7683
7684 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7685 input in the default locale. Handle non-Unicode multibyte input.
7686
76872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7688
7689 * fontset.c (reorder_font_vector): Exclude nil elements from the
7690 font group. Don't try multiple fonts.
7691 (fontset_font): Adjust for the above change.
7692 (Finternal_char_font): Return nil if the found font doesn't
7693 contain the character ch.
7694
7695 * Makefile.in (lisp, shortlisp): Add cham.el.
7696
76972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7698
7699 * font.h (FONTP): Make it return 1 also for a font-object.
7700
7701 * .gdbinit (xfontset): New function.
7702
7703 * font.c (font_find_for_lface): Check if the character C is
7704 supported or not only for the first font.
7705
7706 * fontset.c (reorder_font_vector): Fix typo.
7707 (fontset_find_font): Don't add a font-spec specifying a script.
7708 Use 0 (not Qt) for the indication of empty font-group. Change the
7709 format of RFONT-DEF. Return Qt if no font in the font-group
7710 support the character.
7711 (fontset_font): Adjust for the above change. If no font was
7712 found the character, remember that.
7713 (face_for_char): Adjust for the change of RFONT-DEF.
7714 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7715 no font for the target.
7716 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7717
77182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7719
7720 * font.c (font_load_for_face): Handle the case that the font in
7721 face->lface is a string.
7722
77232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7724
7725 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7726
77272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7728
7729 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7730 Fix previous change. If the frame is not on a window system,
7731 signal an error.
7732
77332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7734
7735 * coding.c (decode_coding_object, encode_coding_object): Adjust
7736 marker positions after conversion.
7737
7738 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7739
77402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7741
7742 * font.c (font_find_for_lface): Fix the handling of the return
7743 value of font_has_char.
7744 (Ffont_shape_text): Fix previous change.
7745
7746 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7747 (fontset_ref_and_range): Delete it.
7748 (fontset_find_font): Call char_table_ref_and_range instead of
7749 FONTSET_REF_AND_RANGE.
7750 (make_fontset): Don't setup font groups of Latin here.
7751 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7752 (new_fontset_from_font): Make the specified font the default for
7753 all Latin characters.
7754
77552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7756
7757 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7758 is on a window system before accessing the fontset of the frame.
7759
77602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7761
7762 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7763
7764 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7765 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7766
7767 * font.c (Ffont_shape_text): If the font driver doesn't have a
7768 shaper function, make zero-width glyphs to have at least one-pixel
7769 width. Fix setting of `to' field of glyphs.
7770
77712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7772
7773 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7774 glyphs.
7775
7776 * font.h (struct font_driver): Improve docstring of member `shape'.
7777
77782008-02-01 Kenichi Handa <handa@m17n.org>
7779
7780 * composite.c (syms_of_composite): Fix docstring of
7781 auto-composition-function.
7782
7783 * font.h (LGLYPH_SIZE): New macro.
7784
7785 * font.c (Ffont_fill_gstring): Stop filling when a character not
7786 supported by the font is found.
7787 (Ffont_shape_text): When a shape callback function returns nil,
7788 try at most two more times with larger gstring.
7789 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7790
7791 * xdisp.c (handle_auto_composed_prop): Change the argument to
7792 auto-composition-function.
7793
7794 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7795 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7796 Lispy glyph and store it in the lgstring.
7797
7798 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7799
7800 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7801
78022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7803
7804 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7805
7806 * fontset.c (Vfont_encoding_charset_alist): New variable.
7807 (syms_of_fontset): DEFVAR it.
7808 (reorder_font_vector, fontset_find_font): Optimize for the case of
7809 no need of reordering.
7810 (face_for_char): Map the charset property by
7811 Vfont_encoding_charset_alist.
7812
78132008-02-01 Jason Rumney <jasonr@gnu.org>
7814
7815 * w32font.c (logfonts_match): Don't check adstyle here.
7816 (font_matches_spec): Check here against physical font instead.
7817 (add_font_entity_to_list): Avoid some substitutions.
7818
7819 * font.c (font_parse_fcname): Default weight and slant to normal.
7820 (font_score): Prefer normal fonts if weight or slant unspecified.
7821 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7822 match freetype scores.
7823
78242008-02-01 Jason Rumney <jasonr@gnu.org>
7825
7826 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7827 font, as it may have been deleted.
7828 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7829 most common hyphenless variation.
7830 (logfonts_match): Check generic family.
7831 (font_matches_spec): Don't check generic family here.
7832 (fill_in_logfont): Set generic family based on adstyle.
7833
7834 * w32font.h (w32font_get_cache): Update declaration.
7835
78362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7837
7838 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7839
7840 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7841 If none of the new drivers are available, call font_update_drivers
7842 with the old drivers.
7843
7844 * w32font.c (w32font_get_cache): Adjust the argument type.
7845
7846 * xfont.c (xfont_get_cache): Adjust the argument type.
7847
7848 * font.h (struct font_driver): Change argument type of get_cache.
7849
7850 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7851
7852 * font.c (Ffont_get): Fix arguments to Fassoc.
7853 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7854 (font_clear_cache): New function.
7855 (font_list_entities, font_matching_entity): Use font_get_cache.
7856 (font_update_drivers): Call font_clear_cache when finishing a driver.
7857
7858 * fontset.c (fontset_find_font): Fix previous change.
7859
78602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7861
7862 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7863 dpyinfo->font_table.
7864 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7865 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7866
7867 * font.c (font_at): Handle the case that the arg C is negative.
7868 Handle the unibyte case.
7869 (Ffont_at): Call font_at with the arg C -1.
7870
7871 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7872 the position here, and call font_at with the arg C -1.
7873 Don't check the range of the existing composition at the point.
7874
78752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7876
7877 * fontset.c (fontset_add): New args charset_id and family.
7878 Change caller.
7879 (load_font_get_repertory, fontset_find_font): Assume that
7880 font_spec is always a font-spec object.
7881 (Fset_fontset_font): Always store a font-spec object in a fontset.
7882
7883 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7884 instead of get_property_and_range.
7885
78862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7887
7888 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7889 (xftfont_open): Don't keep locking face.
7890 (xftfont_close): Don't unlock face.
7891 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7892
7893 * fontset.c (fontset_find_font): Don't prefer a font of
7894 supplementary charset.
7895
78962008-02-01 Kenichi Handa <handa@m17n.org>
7897
7898 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7899 script, langsys_tag to langsys, new member script.
7900 (OTF_TAG_STR): Terminate by '\0'.
7901 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7902 listing to the script specified in that property. Fix arg to
7903 OTF_check_features.
7904
79052008-02-01 Jason Rumney <jasonr@gnu.org>
7906
7907 * w32font.h: New file.
7908
7909 * w32font.c: Include it.
7910 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7911 (w32font_open): Set owning_frame.
7912 (w32font_text_extents): Use owning_frame.
7913 (struct font_callback_data): Add opentype_only field.
7914 (add_font_entity_to_list): Use it to filter fonts.
7915 Don't check against full name.
7916 (w32font_list_internal): New function.
7917 (w32font_list): Use it.
7918 (w32font_match_internal): New function.
7919 (w32font_match): Use it.
7920 (w32font_open_internal): New function.
7921 (w32font_open): Use it.
7922 (w32font_get_cache, w32font_close, w32font_has_char)
7923 (w32font_encode_char, w32font_text_extents, w32font_draw):
7924 Make non-static.
7925
7926 * makefile.w32-in (w32font.o): Depend on w32font.h.
7927
79282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7929
7930 * charset.c (Fdefine_charset_internal): Record a supplementary
7931 charset at the tail of Vcharset_order_list.
7932
7933 * font.c (Ffont_shape_text): Fix the return value.
7934
7935 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7936
7937 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7938
79392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7940
7941 * ftfont.c (struct OpenTypeSpec): New struct.
7942 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7943 (ftfont_get_open_type_spec): New function.
7944 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7945
7946 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7947
79482008-02-01 Jason Rumney <jasonr@gnu.org>
7949
7950 * w32font.c (add_font_entity_to_list): Compare only the beginning
7951 of full name.
7952
79532008-02-01 Kenichi Handa <handa@m17n.org>
7954
7955 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7956 Never return HANDLED_RECOMPUTE_PROPS.
7957
79582008-02-01 Kenichi Handa <handa@m17n.org>
7959
7960 * font.c (font_gstring_produce): Delete it.
7961
7962 * composite.h (COMPOSITION_METHOD):
7963 Handle COMPOSITION_WITH_GLYPH_STRING.
7964
79652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7966
7967 * xfont.c (Qx): Delete.
7968 (syms_of_xfont): Don't initialize Qx.
7969
7970 * composite.h (enum composition_method):
7971 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7972
79732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7974
7975 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7976 (choose_face_font): Accept new form of font-spec.
7977
7978 * frame.h (font_driver_list): Declare it unconditionally.
7979 (struct frame): Define members font_driver_list and font_data_list
7980 unconditionally.
7981
7982 * fontset.c: Include "font.h" unconditionally.
7983 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7984 (Fset_fontset_font): Accept a font-spec object.
7985
7986 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7987 PIXEL_SIZE part a wild card.
7988
7989 * dispextern.h (struct glyph_string): Define members clip and
7990 num_clips unconditionally.
7991 (struct face): Define members font_info and extra unconditionally.
7992
7993 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7994 ftfont_info only when HAVE_LIBOTF is defined.
7995
79962008-02-01 Andreas Schwab <schwab@suse.de>
7997
7998 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7999 and end.
8000
80012008-02-01 Jason Rumney <jasonr@gnu.org>
8002
8003 * w32font.c (w32font_driver): Add new fields.
8004
80052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8006
8007 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8008 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8009 (LIBES): Add @M17N_FLT_CFLAGS@.
8010
8011 * composite.c (compose_text): Don't treat the new style
8012 composition specially.
8013
8014 * emacs.c (main): Call syms_of_font unconditionally.
8015
8016 * font.h (FONT_ENTITY_NOT_LOADABLE)
8017 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8018 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8019 (struct font_driver): New member shape.
8020 (font_registry_charsets): Extern it.
8021 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8022 (font_otf_capability, font_drive_otf): Delete their externs.
8023
8024 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8025 (font_charset_alist, font_registry_charsets): Move from xfont.c
8026 and rename.
8027 (font_prop_validate_otf): New function.
8028 (font_property_table): Register it for QCotf.
8029 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8030 (font_drive_otf): Delete.
8031 (font_prepare_composition): New arg F. Adjust for the change of
8032 lispy gstring.
8033 (font_find_for_lface): New arg C.
8034 (font_load_for_face): Adjust for the change of font_find_for_lface.
8035 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8036 lispy gstring.
8037 (Ffont_shape_text): New function.
8038 (Fopen_font): If the font size is not given, use 12-pixel.
8039 (Ffont_at): New arg STRING.
8040 (syms_of_font): Initalize font_charset_alist.
8041 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8042 conditionally.
8043
8044 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8045 fonts of the same font-spec. Change the format of RFONT-DEF.
8046 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8047 Adjust for the change of RFONT-DEF.
8048 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8049
8050 * ftfont.h: New file.
8051
8052 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8053 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8054 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8055 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8056 font_otf_capability and font_drive_otf, set ftfont_shape.
8057 (ftfont_list): Adjust for the change of :otf property value.
8058 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8059 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8060 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8061 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8062 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8063 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8064
8065 * w32term.c (x_draw_composite_glyph_string_foreground):
8066 Adjust for the change of lispy gstring.
8067
8068 * xdisp.c (handle_composition_prop): Adjust for the change of
8069 lispy gstring. Call a function for auto-composition with the
8070 third arg it->window.
8071 (fill_composite_glyph_string): Adjust for the change of lispy string.
8072 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8073
8074 * xfaces.c (set_font_frame_param): Adjust for the change of
8075 font_find_for_lface.
8076
8077 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8078 (xfont_registry_charsets): Likewise. Change caller.
8079 (syms_of_xfont): Don't handle x_font_charset_alist.
8080
8081 * xftfont.c: Include "ftfont.h".
8082 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8083 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8084 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8085 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8086 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8087 Set xftfont_driver.shape to xftfont_shape.
8088
8089 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8090 the change of lispy gstring.
8091
80922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8093
8094 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8095
80962008-02-01 Jason Rumney <jasonr@gnu.org>
8097
8098 * w32font.c (w32font_draw): Fill background manually.
8099
81002008-02-01 Jason Rumney <jasonr@gnu.org>
8101
8102 * font.c (Qfontp): Remove unused symbol.
8103 (QCantialias): New symbol.
8104 (syms_of_font): Define it.
8105 (font_property_table): Set a validator for QCantialias.
8106
8107 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8108 Define if not already.
8109 (QCfamily): Share with xfaces.c.
8110 (Qstandard, Qsubpixel, Qnatural): New symbols.
8111 (syms_of_w32font): Define them. Don't define QCfamily here.
8112 (w32_antialias_type, lispy_antialias_type): New functions.
8113 (w32_enumfont_pattern_entity): New arg requested_font.
8114 Set antialias parameter if non-default was requested.
8115 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8116
81172008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8118
8119 * lread.c (read1): Undo the previous change.
8120
81212008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8122
8123 * frame.c (Fdelete_frame): Call font_update_drivers only when
8124 USE_FONT_BACKEND is defined.
8125
81262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8127
8128 * font.h (struct font_bitmap): New member bits_per_pixel.
8129 (struct font_driver): New members start_for_frame and end_for_frame.
8130 (struct font_data_list): New struct.
8131 (font_put_frame_data, font_get_frame_data): Extern them.
8132
8133 * frame.h (struct frame): New member font_data_list.
8134
8135 * font.c (font_update_drivers): Call driver->start_for_frame and
8136 driver->end_for_frame at proper timings.
8137 (font_put_frame_data, font_get_frame_data): New functions.
8138 (Ffont_spec): Add usage in the docstring.
8139
8140 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8141 (Fdelete_frame): Call font_update_drivers.
8142
8143 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8144 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8145 (xftfont_get_xft_draw): New function.
8146 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8147 (xftfont_end_for_frame): New function.
8148 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8149
8150 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8151 Change argument. Cache GCs in the per-frame data.
8152 (struct ftxfont_frame_data): New struct.
8153 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8154 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8155 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8156 (ftxfont_end_for_frame): New function.
8157 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8158
8159 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8160
81612008-02-01 Kenichi Handa <handa@m17n.org>
8162
8163 * xselect.c (Vselection_coding_system)
8164 (Vnext_selection_coding_system): Delete them.
8165 (syms_of_xselect): Don't declare selection-coding-system and
8166 next-selection-coding-system. They are declared in select.el.
8167
81682008-02-01 Jason Rumney <jasonr@gnu.org>
8169
8170 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8171
8172 * w32fns.c: Include imm.h.
8173 (get_composition_string_fn, get_ime_context_fn): New optional
8174 system functions.
8175 (globals_of_w32fns): Load them from imm32.dll.
8176 (ignore_ime_char): New flag.
8177 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8178 WM_IME_ENDCOMPOSITION messages.
8179
8180 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8181 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8182
81832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8184
8185 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8186 (READCHAR_REPORT_MULTIBYTE): New macro.
8187 (readchar): New 2nd arg MULTIBYTE.
8188 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8189 Make symbol's name multibyte according to the multibyteness of the
8190 source.
8191
81922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8193
8194 * xfaces.c (face_for_overlay_string): Call lookup_face with
8195 correct arguments (fix of synching with the trunk).
8196
81972008-02-01 Kenichi Handa <handa@m17n.org>
8198
8199 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8200 (font_prop_validate_non_neg, font_prop_validate_spacing):
8201 Delete argument prop_index.
8202 (font_property_table): Change arguments to validater. Change Callers.
8203 (font_lispy_object): Delete.
8204 (font_at): Use font_find_object instead fo font_lispy_object.
8205
82062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8207
8208 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8209 and file names.
8210
82112008-02-01 Jason Rumney <jasonr@gnu.org>
8212
8213 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8214 (font_matches_spec): Remove debug output.
8215 (add_font_entity_to_list): Avoid using substituted fonts.
8216
82172008-02-01 Jason Rumney <jasonr@gnu.org>
8218
8219 * doc.c (Fsnarf_documentation):
8220 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8221
82222008-02-01 Miles Bader <miles@gnu.org>
8223
8224 * dispextern.h (struct glyph_row): Only define "clip" field if
8225 HAVE_WINDOW_SYSTEM is defined.
8226
82272008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8228
8229 Fix up multi-tty merge.
8230
8231 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8232 and indentation.
8233
8234 * xfaces.c (free_realized_face, clear_face_gcs):
8235 Include font_done_for_face in the input_blocked section, just in case.
8236
8237 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8238 (get_char_face_and_encoding): Undo last change and remove the *other*
8239 duplicate definition (i.e. keep the one that's better scoped and that
8240 includes code for the font-backend).
8241
8242 * terminal.c (create_terminal): Default keyboard_coding to
8243 `no-conversion' and terminal_coding to `undecided'.
8244
8245 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8246
8247 * fontset.c (free_realized_fontsets): Check that the table entry does
8248 contain a fontset before trying to compare it to `base'.
8249
8250 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8251 syms_of_charset, and syms_of_coding earlier because init_window_once
8252 now needs Vcoding_system_hash_table to be setup.
8253
8254 * coding.h (default_buffer_file_coding): Remove.
8255
8256 * coding.c (default_buffer_file_coding): Remove.
8257 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8258 than ->symbol, and use the terminal-local coding system.
8259 (syms_of_coding): Don't setup the coding-systems that are not
8260 terminal-local.
8261 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8262
8263 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8264 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8265
8266 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8267 in chartab.c and were re-added here by mistake.
8268 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8269
8270 * doc.c (Fsnarf_documentation):
8271 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8272 src to etc.
8273
8274 * ChangeLog.10: Add mistakenly removed entry.
8275
82762008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8277
8278 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8279
82802008-02-01 Miles Bader <miles@gnu.org>
8281
8282 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8283 Add extra args to FACE_FOR_CHAR.
8284
82852008-02-01 Kenichi Handa <handa@m17n.org>
8286
8287 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8288 in sequence.
8289
8290 * chartab.c (map_sub_char_table, map_char_table): If the range
8291 contains just one character, call the function with that character
8292 even if the depth is not 3.
8293
82942008-02-01 Jason Rumney <jasonr@gnu.org>
8295
8296 * w32font.c (w32font_text_extents): Calculate metrics for the
8297 whole string.
8298
82992008-02-01 Jason Rumney <jasonr@gnu.org>
8300
8301 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8302
83032008-02-01 Jason Rumney <jasonr@gnu.org>
8304
8305 * w32term.c (x_set_glyph_string_clipping): Use
8306 get_glyph_string_clip_rects.
8307 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8308 Adjust for the change of struct glyph_string.
8309
8310 * w32font.c (w32font_draw): Do clipping here.
8311
83122008-02-01 Kenichi Handa <handa@m17n.org>
8313
8314 * xftfont.c (xftfont_draw): Adjust for the change of struct
8315 glyph_string.
8316
8317 * xterm.c (x_set_glyph_string_clipping): Use
8318 get_glyph_string_clip_rects.
8319 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8320 Adjust for the change of struct glyph_string.
8321
8322 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8323 the resulting clip(s}.
8324 (expose_overlaps): Add arg r. Change callers. Set it to
8325 row->clip temporarily.
8326 (expose_window): Redraw rows overlapping the exposed area.
8327
8328 * dispextern.h (struct glyph_row): New member clip.
8329 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8330 clip_height, new member clip, and num_clips.
8331
83322008-02-01 Kenichi Handa <handa@m17n.org>
8333
8334 * data.c (Fchar_or_string_p): Fix docstring.
8335
83362008-02-01 Kenichi Handa <handa@m17n.org>
8337
8338 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8339 create a temporary XftDraw object.
8340
83412008-02-01 Kenichi Handa <handa@m17n.org>
8342
8343 * font.c (Ffontp): Fix docstring.
8344
8345 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8346 strong evidence of ISO-2022.
8347
83482008-02-01 Kenichi Handa <handa@m17n.org>
8349
8350 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8351 SYNTAX_ENTRY_FOLLOW_PARENT.
8352
83532008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8354
8355 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8356 its type.
8357 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8358 Update to the new type of weak_hash_tables and next_weak.
8359
8360 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8361 a plain C pointer to Lisp_Hash_Table.
8362
8363 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8364 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8365 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8366 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8367 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8368 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8369 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8370 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8371 (GC_EQ): Remove since they've been identical to their non-GC_
8372 alter-egos ever since the markbit was eradicated.
8373
8374 * alloc.c:
8375 * buffer.c:
8376 * buffer.h:
8377 * data.c:
8378 * fileio.c:
8379 * filelock.c:
8380 * fns.c:
8381 * frame.h:
8382 * lisp.h:
8383 * macterm.c:
8384 * print.c:
8385 * process.c:
8386 * w32fns.c:
8387 * w32menu.c:
8388 * w32term.c:
8389 * xfns.c:
8390 * xmenu.c:
8391 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8392
83932008-02-01 Kenichi Handa <handa@m17n.org>
8394
8395 * chartab.c (map_sub_char_table): Make it work for the top-level
8396 char-table. Fix handling of parent char-table.
8397 (map_char_table): Adjust for the above change.
8398
83992008-02-01 Jason Rumney <jasonr@gnu.org>
8400
8401 * w32font.c (Qgdi): Rename from Qw32.
8402
84032008-02-01 Jason Rumney <jasonr@gnu.org>
8404
8405 * w32bdf.c (get_quoted_string): Make function static.
8406
84072008-02-01 Kenichi Handa <handa@m17n.org>
8408
8409 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8410 bigger ascent and descent than those of the font, use them as
8411 font's ascent and descent.
8412
84132008-02-01 Kenichi Handa <handa@m17n.org>
8414
8415 * Makefile.in (${lispsource}international/charprop.el): Move this
8416 target within "#ifdef HAVE_UNIDATA" and "#endif".
8417
84182008-02-01 Kenichi Handa <handa@m17n.org>
8419
8420 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8421 (shortlisp): Add ../lisp/language/tai-viet.el.
8422
84232008-02-01 Ulrich Mueller <ulm@gentoo.org>
8424
8425 * Makefile.in (${lispsource}international/charprop.el): Depend on
8426 temacs${EXEEXT}.
8427
84282008-02-01 Jason Rumney <jasonr@gnu.org>
8429
8430 * w32font.c (w32font_close): Delete the GDI font object.
8431
8432 * w32menu.c: Include character.h.
8433
8434 * w32proc.c: Likewise.
8435
8436 * w32select.c: Likewise.
8437
8438 * makefile.w32-in (w32proc.o): Depend on character.h.
8439
84402008-02-01 Jason Rumney <jasonr@gnu.org>
8441
8442 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8443
8444 * w32menu.c (syms_of_w32menu): Likewise.
8445
8446 * w32proc.c (syms_of_ntproc): Likewise.
8447
8448 * w32select.c (syms_of_w32select): Likewise.
8449
8450 * w32term.c (syms_of_w32term): Likewise.
8451
84522008-02-01 Jason Rumney <jasonr@gnu.org>
8453
8454 * w32font.c (w32font_draw): Delete brush after using it.
8455
84562008-02-01 Jason Rumney <jasonr@gnu.org>
8457
8458 * w32font.c (w32font_open): Don't set font_idx.
8459 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8460 to font settings.
8461 (w32font_draw): Fill background explicitly.
8462
84632008-02-01 Jason Rumney <jasonr@gnu.org>
8464
8465 * w32term.c (w32_initialize): Don't call w32font_initialize.
8466
8467 * w32font.c (w32font_info): Remove subranges.
8468 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8469 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8470 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8471 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8472 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8473 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8474 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8475 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8476 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8477 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8478 New symbols.
8479 (font_callback_data): New struct.
8480 (w32font_list, w32font_match): Use it.
8481 (w32font_open): Don't populate subranges.
8482 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8483 (w32font_encode_char): Always return unicode code-point as-is.
8484 (w32font_text_extents): Supply a transformation matrix to
8485 GetGlyphOutline. Never look up by glyph index. Avoid looping
8486 twice. Use unicode version of GetTexExtentPoint32 instead of
8487 glyph index version.
8488 (set_fonts_frame): Remove.
8489 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8490 set frame parameter. Use backward compatible fake foundries.
8491 Save generic family in extra slot under QCfamily. Make width slot
8492 constant. Save QCspacing value. Save list of scripts instead of
8493 binary subranges.
8494 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8495 (add_font_entity_to_list): Use font_callback_data struct. Filter
8496 unwanted fonts.
8497 (add_one_font_entity_to_list): Use font_callback_data struct.
8498 (w32_registry): Default to iso10646_1.
8499 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8500 string font registries. Don't fill in font name if it is a generic
8501 family name, fill family instead. Use spacing, family and script
8502 extra info to fill pitch, family and charset fields.
8503 (list_all_matching_fonts): Use font_callback_data struct.
8504 (unicode_range_for_char): Remove.
8505 (font_supported_scripts): New function.
8506 (w32font_initialize): Remove.
8507 (syms_of_w32font): Update which symbols are defined.
8508
85092008-02-01 Jason Rumney <jasonr@gnu.org>
8510
8511 * font.c (font_pixel_size): Reverse assq_no_quit args.
8512
8513 * w32term.h (FONT_WIDTH): Report max width, not average.
8514 (FONT_MAX_WIDTH): Remove.
8515 (FONT_AVG_WIDTH): New macro.
8516
8517 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8518 redefinition of FONT_WIDTH.
8519
8520 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8521 (w32_cache_char_metrics): Use FONT_WIDTH.
8522
8523 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8524
85252008-02-01 Jason Rumney <jasonr@gnu.org>
8526
8527 * w32font.c (w32font_open): Make lfHeight negative.
8528
8529 * w32fns.c (x_default_font_parameter): Use new style font name.
8530 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8531
85322008-02-01 Jason Rumney <jasonr@gnu.org>
8533
8534 * w32font.c (QCsubranges): New symbol.
8535 (w32font_open, w32font_has_char): Get subranges from subproperty
8536 of extra.
8537 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8538 (syms_of_w32font): Define :subranges symbol.
8539
8540 * font.c (font_put_extra): Expose externally.
8541
8542 * font.h (font_put_extra): Move declaration from font.c.
8543
8544 * font.c (Ffont_get): Use font driver to determine otf capability.
8545 (adjust_anchor): Check if driver defines anchor_point before using.
8546
8547 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8548 (w32font_draw): Use options.
8549 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8550 Fix detection of truetype fonts.
8551 (registry_to_w32_charset): Handle charsets other than iso8859-1
8552 expressed as lisp symbols.
8553 (w32_registry): Express charset as lisp symbol.
8554 (fill_in_logfont): Reverse pixel and point height logic.
8555 Don't set width here. Set quality to default.
8556
8557 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8558 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8559
8560 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8561 Remove redundant loop and allocation.
8562
8563 * makefile.w32-in (font.o, w32font.o): New objects.
8564 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8565 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8566
8567 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8568 STORE_XCHARB a valid l-value.
8569
8570 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8571 calculations for non-Truetype fonts.
8572 (x_draw_glyph_string): Sync with xterm.c.
8573 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8574 Remove redundant code.
8575 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8576
8577 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8578 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8579
8580 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8581 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8582
8583 * w32font.c: New file for w32 font backend.
8584
85852008-02-01 Kenichi Handa <handa@m17n.org>
8586
8587 * term.c: Don't include "buffer.h" twice.
8588
85892008-02-01 Kenichi Handa <handa@m17n.org>
8590
8591 * character.c (Funibyte_string): New function.
8592 (syms_of_character): Defsubr it.
8593
85942008-02-01 Jason Rumney <jasonr@gnu.org>
8595
8596 * w32term.c [USE_FONT_BACKEND]:
8597 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8598 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8599 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8600 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8601 (x_free_frame_resources): Sync with xterm.c.
8602
86032008-02-01 Andreas Schwab <schwab@suse.de>
8604
8605 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8606 char-table size.
8607
86082008-02-01 Kenichi Handa <handa@m17n.org>
8609
8610 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8611
86122008-02-01 Kenichi Handa <handa@m17n.org>
8613
8614 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8615 font_otf_gpos, add font_drive_otf.
8616
8617 * fontset.c (fontset_find_font): Pay attention to font size
8618 specified for a font.
8619 (reorder_font_vector): Check contents of font_def.
8620
8621 * font.c (struct otf_list): Delete it.
8622 (otf_list): Make it a lisp variable.
8623 (otf_open): Use lispy otf_list.
8624 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8625 (check_otf_features): New function.
8626 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8627 New functions.
8628 (font_drive_otf): New function merging font_otf_gsub and
8629 font_otf_gpos.
8630 (font_open_for_lface): New arg spec. Change argument order.
8631 (font_load_for_face): Adjust for the change of font_open_for_lface.
8632 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8633 Ffont_otf_gpos.
8634 (syms_of_font): Staticpro otf_list. Delete defsubr of
8635 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8636
8637 * xfaces.c (set_font_frame_param): Adjust for the change of
8638 font_open_for_lface.
8639
8640 * font.h (font_open_for_lface): Adjust prototype.
8641 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8642 member otf_drive.
8643 (font_otf_gsub, font_otf_gpos): Delete externs.
8644 (font_drive_otf): Extern it.
8645
86462008-02-01 Kenichi Handa <handa@m17n.org>
8647
8648 * font.c (font_at): If the window W is not on a window system,
8649 return Qnil.
8650
8651 * coding.c (produce_chars, encode_coding): Don't call
8652 insert_from_gap if no characters to produce.
8653
86542008-02-01 Kenichi Handa <handa@m17n.org>
8655
8656 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8657 Fclear_face_cache.
8658
8659 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8660
86612008-02-01 Miles Bader <miles@gnu.org>
8662
8663 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8664 Parse "--disable-font-backend" option.
8665 (standard_args): Add "--disable-font-backend" option.
8666
86672008-02-01 Kenichi Handa <handa@m17n.org>
8668
8669 * fontset.c (fontset_find_font): New function.
8670 (fontset_font): Use fontset_find_font.
8671 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8672 Register the specified font for all Latin characters.
8673 (new_fontset_from_font): Register the specified font for all Latin
8674 characters.
8675 (dump_fontset): For a realized fontset, include the base fontset
8676 name in the returned vector.
8677
86782008-02-01 Kenichi Handa <handa@m17n.org>
8679
8680 * character.h (CHAR_STRING): Cast C to unsigned on calling
8681 char_string.
8682
8683 * character.c (char_string): Type of arg C changed to unsigned.
8684 Signal an error if C is an invalid character code.
8685
8686 * editfns.c (general_insert_function, Fchar_to_string):
8687 Use CHARACTERP, not INTEGERP.
8688
86892008-02-01 Kenichi Handa <handa@m17n.org>
8690
8691 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8692 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8693
8694 * regex.c (analyse_first): Fix for multibyte characters in "case
8695 charset:" and "case categoryspec:".
8696
86972008-02-01 Andreas Schwab <schwab@suse.de>
8698
8699 * Makefile.in (LIBES): Move standard libraries to the end.
8700
87012008-02-01 Kenichi Handa <handa@m17n.org>
8702
8703 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8704 nonzero, don't shrink the buffer nextb.
8705
8706 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8707
8708 * coding.c (coding_alloc_by_making_gap): New arg offset.
8709 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8710 offset.
8711 (decode_coding_iso_2022): Update coding->safe_charsets.
8712 (decode_coding_gap): Temporarily set
8713 current_buffer->text->inhibit_shrinking to 1.
8714
87152008-02-01 Kenichi Handa <handa@m17n.org>
8716
8717 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8718 indexing into elements of s->cmp and s->char2b.
8719
87202008-02-01 Juanma Barranquero <lekktu@gmail.com>
8721
8722 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8723
87242008-02-01 Kenichi Handa <handa@m17n.org>
8725
8726 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8727 target_multibyte instead of multibyte.
8728 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8729 (bcmp_translate): Change the argument name from multibyte to
8730 target_multibyte.
8731
87322008-02-01 Kenichi Handa <handa@m17n.org>
8733
8734 These changes are to compile a regexp into a pattern that can be
8735 used both for multibyte and unibyte targets.
8736
8737 * Makefile.in (search.o): Depend on charset.h.
8738
8739 * character.c (multibyte_char_to_unibyte_safe): New function.
8740
8741 * search.c: Include "charset.h".
8742 (compile_pattern_1): Delete argument multibyte. Don't set
8743 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8744 (compile_pattern): Don't compare cp->buf.target_multibyte.
8745 Compare cp->buf.charset_unibyte.
8746 (compile_pattern): Set cp->buf.target_multibyte.
8747
8748 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8749
8750 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8751
8752 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8753 multibyte. Change callers.
8754 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8755 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8756 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8757 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8758 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8759 (regex_compile): Make the compiled pattern usable both for
8760 multibyte and unibyte targets.
8761 (analyse_first): Make the fastmap usable both for multibyte and
8762 unibyte targets.
8763 (TRANSLATE_VIA_MULTIBYTE): Delete.
8764 (re_match_2_internal): Pay attention to the case that the
8765 multibyteness of bufp and target may be different.
8766
87672008-02-01 Kenichi Handa <handa@m17n.org>
8768
8769 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8770 empty box occupy at least one column width.
8771
87722008-02-01 Miles Bader <miles@gnu.org>
8773
8774 * Makefile.in: Remove redundant HAVE_XFT clause.
8775
87762008-02-01 Kenichi Handa <handa@m17n.org>
8777
8778 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8779
87802008-02-01 Kenichi Handa <handa@m17n.org>
8781
8782 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8783 being nil.
8784
87852008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8788
87892008-02-01 Kenichi Handa <handa@m17n.org>
8790
8791 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8792
87932008-02-01 Kenichi Handa <handa@m17n.org>
8794
8795 * search.c (simple_search): Fix previous change.
8796
87972008-02-01 Kenichi Handa <handa@m17n.org>
8798
8799 * xftfont.c (ftfont_font_format): Extern declaration.
8800
8801 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8802
8803 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8804 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8805
8806 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8807 (ftfont_font_format): Fix previous change.
8808
8809 * font.h (Ffont_xlfd_name): EXFUN it.
8810
8811 * font.c (font_parse_xlfd): Fix the array size of `f'.
8812 (register_font_driver): Use EQ to compare driver->type.
8813
8814 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8815 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8816 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8817
88182008-02-01 Kenichi Handa <handa@m17n.org>
8819
8820 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8821 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8822
88232008-02-01 Kenichi Handa <handa@m17n.org>
8824
8825 * xfont.c (xfont_open): Set font->format.
8826
8827 * xftfont.c (xftfont_open): Set font->format.
8828
8829 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8830 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8831 (ftfont_open): Set font->format.
8832 (ftfont_font_format): New function.
8833
8834 * font.h (struct font): New member format.
8835
8836 * font.c (Qopentype): New variable.
8837 (syms_of_font): Defsym it.
8838 (Fquery_font): Change the format of the last element of the return
8839 value.
8840
88412008-02-01 Kenichi Handa <handa@m17n.org>
8842
8843 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8844 last resort.
8845
88462008-02-01 Kenichi Handa <handa@m17n.org>
8847
8848 * coding.c (detect_coding_charset): Fix detection of multi-byte
8849 charset.
8850
88512008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8852
8853 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8854
88552008-02-01 Kenichi Handa <handa@m17n.org>
8856
8857 * xdisp.c (get_next_display_element): Set it->face_id for the
8858 first component of a composition.
8859 (x_produce_glyphs): Check if the font is changed or not for composition.
8860
88612008-02-01 Kenichi Handa <handa@m17n.org>
8862
8863 * fontset.c (Qlatin): New variable.
8864 (syms_of_fontset): Define it as a lisp symbol.
8865 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8866
88672008-02-01 Kenichi Handa <handa@m17n.org>
8868
8869 * font.c (font_unparse_fcname): Pay attention to the case that
8870 some of font property is a null string.
8871
88722008-02-01 Kenichi Handa <handa@m17n.org>
8873
8874 * term.c: Include "composite.h".
8875 (encode_terminal_code): Output all components of composition.
8876 Check the size of encode_terminal_src.
8877 (produce_glyphs): For composition, call produce_composite_glyph.
8878 (append_composite_glyph, produce_composite_glyph): New functions.
8879
8880 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8881 is not found, get font_info from the current ascii face.
8882
88832008-02-01 Kenichi Handa <handa@m17n.org>
8884
8885 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8886 buffer-file-name to Qnil before calling insert_from_buffer.
8887
8888 * font.c (font_unparse_fcname): Pay attention to the case that
8889 foundry is a null string.
8890
88912008-02-01 Kenichi Handa <handa@m17n.org>
8892
8893 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8894
8895 * font.c (Qunicode_sip): New variable.
8896 (syms_of_font): Declare it as a Lisp symbol.
8897
8898 * font.h (Qunicode_sip): Extern it.
8899
89002008-02-01 Kenichi Handa <handa@m17n.org>
8901
8902 * composite.c (get_composition_id): Pay attention to TAB component.
8903
8904 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8905 TAB. Adjust for the change of s->char2b which always points to
8906 the first element of allocated memory.
8907
8908 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8909
8910 * xdisp.c (handle_composition_prop): Set it->c to the first
8911 non-TAB component.
8912 (fill_composite_glyph_string): Change argument.
8913 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8914 (x_produce_glyphs): Fix handling of left/right padding.
8915
89162008-02-01 Kenichi Handa <handa@m17n.org>
8917
8918 * coding.c (detect_coding_system): Fix for handling off
8919 inhibit_iso_escape_detection. Fix for the case that no coding
8920 system is defined for a specific coding category.
8921
89222008-02-01 Kenichi Handa <handa@m17n.org>
8923
8924 * font.c (font_matching_entity): Delete unused local var.
8925
8926 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8927 opening a font.
8928
8929 * fileio.c (Finsert_file_contents): On recovering a file, assume
8930 Unix-like eol.
8931 (choose_write_coding_system): On auto-saving a file, force
8932 Unix-like eol.
8933
8934 * coding.c (setup_coding_system): Fix setting of
8935 coding->common_flags based on eol_type.
8936 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8937 inherit from it.
8938
89392008-02-01 Kenichi Handa <handa@m17n.org>
8940
8941 * alloc.c (NSTATICS): Increas to 0x600.
8942
89432008-02-01 Kenichi Handa <handa@m17n.org>
8944
8945 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8946 (ftfont_list): Don't check :name property.
8947 (ftfont_match): New function.
8948 (ftfont_pattern_entity): If the pattern doesn't contain
8949 FC_SPACING, don't assume FC_MONO.
8950
8951 * font.h (struct font_driver): New member `match'.
8952 (font_update_drivers): Adjust prototype.
8953
8954 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8955 property of FONT.
8956 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8957 them unconditionally.
8958 (font_matching_entity): New function.
8959 (font_open_by_name): Try font_matching_entity if exact match is
8960 not found.
8961 (font_update_drivers): Delete the arg FONT. Return a list of
8962 actually used backends. Don't free faces, font caches here.
8963 Don't store data in frame parameters. Don't call x_set_font.
8964 (Ffont_spec): Store :name property as is.
8965 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8966 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8967 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8968 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8969 Call font->driver->otf_gsub instead of font_otf_gsub.
8970
8971 * frame.c (x_set_font_backend): Do more works that were done in
8972 font_update_drivers before.
8973
8974 * xfont.c (xfont_match): New function.
8975 (xfont_driver): Set xfont_driver.match to xfont_match.
8976 (xfont_draw): Set font in GC if necessary.
8977
8978 * ftxfont.c (ftxfont_match): New function.
8979 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8980
8981 * xftfont.c (xftfont_match): New function.
8982 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8983
89842008-02-01 Kenichi Handa <handa@m17n.org>
8985
8986 * font.h (struct font): New member scalable.
8987 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8988 (font_otf_gsub): Adjust prototype.
8989
8990 * font.c (font_otf_capability): Fix handling of the default langsys.
8991 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8992 Check the contents of SPEC.
8993 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8994 (check_gstring): New function.
8995 (REPLACEMENT_CHARACTER): New macro.
8996 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8997 glyph codes of GSTRING.
8998 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8999 (font_prepare_composition): Set cmp->glyph_len.
9000 (font_open_entity): Set font->scalable.
9001 (Ffont_get): Handle :otf property.
9002 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9003 functions.
9004 (Fquery_font): Use font->font.full_name.
9005 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9006 Sfont_otf_alternates.
9007
9008 * ftfont.c (ftfont_open): Set font->font.full_name and
9009 font->font.name properly. Fix calculation of font->font.height
9010 and font->min_width.
9011
9012 * ftxfont.c (ftxfont_create_gcs): New function.
9013 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9014 (ftxfont_draw_backgrond): Fix filling region.
9015 (ftxfont_default_fid): New function.
9016 (ftxfont_open): Set xfont->fid to the return value of
9017 ftxfont_default_fid.
9018 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9019 (ftxfont_done_face): Free only GCs that are created by
9020 ftxfont_create_gcs.
9021 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9022
9023 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9024 Clip to src->width, etc (not src->clip_XXX).
9025
9026 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9027 FontBackend frame parameter.
9028
90292008-02-01 Kenichi Handa <handa@m17n.org>
9030
9031 * font.h (struct font_driver_list): New member `on'.
9032 (Fclear_font_cache): EXFUN it.
9033 (font_update_drivers): Extern it.
9034
9035 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9036 (font_list_entities): Check driver_list->on.
9037 (register_font_driver): Initalize `on' member to 0.
9038 (font_update_drivers): New function.
9039 (Fclear_font_cache): Check driver_list->on.
9040
9041 * frame.h (Qfont_backend): Extern it.
9042 (x_set_font_backend): Extern it.
9043
9044 * frame.c (Qfont_backend): New variable.
9045 (frame_parms): New element for font-backend.
9046 (x_set_font_backend): New function.
9047
9048 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9049 FontBackend frame parameter.
9050 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9051 x_set_font_backend.
9052
9053 * xfont.c (xfont_list): Don't try listing by :name property if the
9054 name is not for XLFD.
9055
90562008-02-01 Kenichi Handa <handa@m17n.org>
9057
9058 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9059 (LGLYPH_SET_TO): New macros.
9060 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9061 element of G is vector or not.
9062 (font_at): Extern it.
9063
9064 * font.c: Include window.h.
9065 (font_lispy_object): New function.
9066 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9067 end of valid glyph.
9068 (font_close_object): Fix getting (struct font *).
9069 (font_at): New function.
9070 (Ffont_get): If FONT is a font-object, get entity from it.
9071 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9072 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9073 range check.
9074 (Ffont_at): New function.
9075 (syms_of_font): Defsubr Sfont_at.
9076
9077 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9078 before the entry for Qcomposition.
9079 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9080 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9081 the font in gstring.
9082 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9083 LGLYPH_FORM (g) to detect the end of valid glyph.
9084 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9085 we are composing with gstring.
9086
9087 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9088 Check if adjustment is vector or not.
9089
9090 * Makefile.in (font.o): Make it depends on window.h.
9091
90922008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9095 adjustment is vector or not.
9096
90972008-02-01 Miles Bader <miles@gnu.org>
9098
9099 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9100
91012008-02-01 Kenichi Handa <handa@m17n.org>
9102
9103 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9104 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9105 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9106
9107 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9108 (DEVICE_DELTA): Fix typo.
9109 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9110 LGLYPH format.
9111
9112 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9113 the change of LGLYPH format.
9114
91152008-02-01 Kenichi Handa <handa@m17n.org>
9116
9117 * ftfont.c (ftfont_list): Fix typo.
9118 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9119
91202008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9121
9122 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9123
9124 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9125 xftface_info is non-NULL.
9126
91272008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9128
9129 * ftfont.c (ftfont_list): Move misplaced #endif.
9130
91312008-02-01 Kenichi Handa <handa@m17n.org>
9132
9133 * ftfont.c (ftfont_list): Pay attention to the case that
9134 FC_CAPABILITY is not defined.
9135
91362008-02-01 Kenichi Handa <handa@m17n.org>
9137
9138 * xftfont.c (xftfont_open): Set charset related members to -1.
9139
9140 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9141 QCname.
9142 (ftfont_open): Set charset related members to -1.
9143
9144 * fontset.c (Votf_script_alist): New variable.
9145 (syms_of_fontset): Initialize it.
9146 (fontset_font): Delete unused variable.
9147
9148 * fontset.h (Votf_script_alist): Extern it.
9149
9150 * font.c (font_find_for_lface): Optimize code.
9151
9152 * font.h (font_close_object, font_merge_old_spec): Extern them.
9153
91542008-02-01 Kenichi Handa <handa@m17n.org>
9155
9156 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9157 (syms_of_font): Initialize them.
9158 (font_pixel_size): Allow float value in dpi.
9159 (font_prop_validate_type): Delete.
9160 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9161 Change caller.
9162 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9163 (font_prop_validate_extra): Delete.
9164 (font_prop_validate_spacing): New function.
9165 (font_property_table): Add elements for all known properties.
9166 (get_font_prop_index): Rename from check_font_prop_name. New
9167 argument FROM. Change caller.
9168 (font_prop_validate): Validate all known properties.
9169 (font_put_extra): Delete argument force. Change caller.
9170 (font_expand_wildcards): Make it static. Fix the way of shrinking
9171 the possible range.
9172 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9173 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9174 Change caller.
9175 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9176 (font_parse_fcname): Delete argument merge. Fix parsing of point
9177 size. Don't validate properties values here. Change caller.
9178 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9179 (font_open_by_name): Delete unused variable.
9180 (Ffont_spec): Likewise. Validate property values.
9181 (Ffont_match_p): New function.
9182
9183 * font.h (QCscalable): Extern it.
9184 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9185
9186 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9187
9188 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9189 (xfont_list_pattern): New function.
9190 (xfont_list): Use xfont_list_pattern.
9191
91922008-02-01 Kenichi Handa <handa@m17n.org>
9193
9194 * font.h (Flist_fonts): EXFUN it.
9195
91962008-02-01 Jason Rumney <jasonr@gnu.org>
9197
9198 * w32term.c (w32_initialize): Add back smoothing_type and
9199 smoothing_enabled definitions.
9200
92012008-02-01 Kenichi Handa <handa@m17n.org>
9202
9203 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9204 s->face->font on determining underline position.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9209 (font_has_char): Accept font-object too.
9210 (font_find_for_lface): Try at first with a size specified in face.
9211
92122008-02-01 Kenichi Handa <handa@m17n.org>
9213
9214 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9215 font_open_by_name.
9216
92172008-02-01 Kenichi Handa <handa@m17n.org>
9218
9219 * font.h (QCspacing, QCdpi): Extern them.
9220 (enum font_spacing): New enum.
9221 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9222
9223 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9224 (QCspacing, QCdpi): New variables.
9225 (syms_of_font): Initialize them.
9226 (font_pixel_size): New function.
9227 (font_put_extra): New function.
9228 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9229 in FONT_EXTRA.
9230 (font_parse_fcname): Handle enumerated values (e.g. bold).
9231 Fix handling font size. Add QCname property that contains only
9232 unknown properties.
9233 (font_score): Change argument. Change caller. Pay attention to
9234 FONT_PIXEL_SIZE_QUANTUM.
9235 (font_sort_entites, font_list_entities, font_find_for_lface)
9236 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9237 (Ffont_spec): Add QCname property that contains only unknown properties.
9238
9239 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9240 include weight in listing pattern, instead check weight of each
9241 listed font. Don't include scalable in pattern. Pay attention to
9242 FONT_PIXEL_SIZE_QUANTUM.
9243
92442008-02-01 Kenichi Handa <handa@m17n.org>
9245
9246 * font.c (font_parse_fcname): Fix parsing of point-size.
9247 (font_unparse_fcname): Produce symbolic names for style properties.
9248 (font_list_entities): Handle float size correctly.
9249 (font_open_by_name): Prefer `normal' property values if the name
9250 doesn't specify them.
9251
9252 * fontset.c (Finternal_char_font): Use font_get_name, not
9253 Ffont_xlfd_name.
9254
9255 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9256 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9257 pattern. Don't force scalable.
9258
9259 * xftfont.c (xftfont_open): For generating a name, start from
9260 96-byte buffer.
9261
92622008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9263
9264 * frame.h (x_new_fontset2): Fix prototype.
9265
92662008-02-01 Kenichi Handa <handa@m17n.org>
9267
9268 * font.h (struct font_driver): Delete member parse_name.
9269 (font_match_p, font_get_spec, font_parse_fcname)
9270 (font_unparse_fcname): Extern them.
9271 (font_get_name): Adjust prototype.
9272
9273 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9274 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9275 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9276 unnecessary checks for weight, slant, and swidth.
9277 (font_parse_fcname): New function.
9278 (font_unparse_fcname): New function.
9279 (font_parse_name): New function.
9280 (font_match_p): New function.
9281 (font_get_name): Change return value to Lisp string.
9282 (font_get_spec): New function.
9283 (Qunspecified, Qignore_defface): Don't extern them.
9284 (font_find_for_lface): Assume that LFACE is fully specified.
9285 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9286 object, use it for FACE.
9287 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9288 driver->parse_name.
9289 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9290
9291 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9292 prototype.
9293
9294 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9295 argument F. Don't call Fnew_fontset. Instead, directly call
9296 make_fontset.
9297
9298 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9299
9300 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9301 of x_new_fontset2.
9302
9303 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9304 (Qsans__serif): New variables.
9305 (ftfont_generic_family_list): New variable.
9306 (syms_of_ftfont): Initialize the above variables.
9307 (ftfont_pattern_entity): Delete argument NAME.
9308 (ftfont_list_generic_family): New function.
9309 (ftfont_parse_name): Delete this function.
9310 (ftfont_list): Try generic family only when FcFontList found no font.
9311 (ftfont_list_family): Fix args to FcObjectSetBuild.
9312
9313 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9314 object in attrs[LFACE_FONT_INDEX].
9315 (set_lface_from_font_name): Cancel all changes for font-backend.
9316 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9317 function.
9318 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9319 font object in QCfont attribute.
9320 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9321 (realize_default_face) [USE_FONT_BACKEND]: Call
9322 set_lface_from_font_and_fontset.
9323
9324 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9325 "fixed", and signal error here if no suitable font was found.
9326
9327 * xfont.c (xfont_parse_name): Delete this function.
9328
9329 * xftfont.c (xftfont_open): Change coding style of error
9330 handling. Generate fontconfig's fontname pattern.
9331
9332 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9333 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9334
9335 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9336 Both args FONTSET and FONT_OBJECT must be existing ones.
9337
93382008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9339
9340 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9341
93422008-02-01 Kenichi Handa <handa@m17n.org>
9343
9344 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9345
9346 * font.h (struct font): Fix typo.
9347
9348 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9349 XLFD_XXX_INDEX.
9350 (enum xlfd_field_mask): New enum.
9351 (intern_font_field): Changed argument. Change caller. If digits
9352 are followed by non-digits, return a symbol.
9353 (font_expand_wildcards): New function.
9354 (font_parse_xlfd): Fix wildcard handling.
9355 (Ffont_spec): If :name is specified, reflect the info in the other
9356 properties.
9357
9358 * ftfont.c (ftfont_pattern_entity): Fix typo.
9359 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9360 locale.
9361
93622008-02-01 Kenichi Handa <handa@m17n.org>
9363
9364 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9365
9366 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9367 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9368 registry doesn't specify encoding part.
9369 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9370 (font_open_by_name): At first try parsing the name.
9371 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9372 as Lisp symbols.
9373
9374 * fontset.c (reorder_font_vector): Pay attention to the case that
9375 the 3rd element of font_def is nil.
9376 (fontset_font): For the default fontset, append one more fontset
9377 elements for a script-based font specification. Don't add script
9378 attribute on finding a font.
9379 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9380 font name.
9381 (fontset_ascii_font): If a font can't be opened, return nil.
9382
9383 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9384 (ftfont_pattern_entity): New function.
9385 (ftfont_get_cache): Assume that freetype_font_cache is already
9386 initialized.
9387 (ftfont_list): Handle the case that a file is specified in font
9388 name. Use ftfont_pattern_entity to generate entities.
9389 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9390 (syms_of_ftfont): Initialize freetype_font_cache.
9391
9392 * xftfont.c (xftfont_open): Make the font name fontconfig's
9393 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9394 (xftfont_close): Free font->font.name if not NULL.
9395
9396 * xfont.c (xfont_list): If script is specified for a font, return
9397 null_vector.
9398 (xfont_list_family): Declare argument type.
9399
9400 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9401 name, set LFACE_FONT (lface) to nil.
9402
9403 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9404 return Qnil.
9405
94062008-02-01 Kenichi Handa <handa@m17n.org>
9407
9408 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9409 (standard_args): Add "-enable-font-backend".
9410
94112008-02-01 Kenichi Handa <handa@m17n.org>
9412
9413 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9414 (struct xftdraw_list, xftdraw_list): Delete them.
9415 (register_xftdraw, check_xftdraw): Delete them.
9416 (xftfont_prepare_face): Don't call register_xftdraw.
9417 (xftfont_done_face): Don't call check_xftdraw.
9418 (xftfont_draw): Get background color only when with_background is
9419 nonzero.
9420
9421 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9422
94232008-02-01 Kenichi Handa <handa@m17n.org>
9424
9425 These changes are for the new font handling codes.
9426
9427 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9428 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9429 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9430 (FONTSRC, FONTOBJ): New variables.
9431 (obj): Add $(FONTOBJ).
9432 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9433 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9434 @LIBOTF_LIBS@.
9435 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9436 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9437
9438 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9439
9440 * character.h (Vscript_representative_chars): Extern it.
9441
9442 * character.c (Vscript_representative_chars): New variable.
9443 (syms_of_character): Declare it as a Lisp variable.
9444
9445 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9446 enable_font_backend is nonzero, accept the composition method
9447 COMPOSITION_WITH_GLYPH_STRING.
9448
9449 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9450 enumeration COMPOSITION_WITH_GLYPH_STRING.
9451
9452 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9453 members clip_x, clip_y, clip_width, and clip_height.
9454 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9455
9456 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9457 --enable-font-backend. Call syms_of_font.
9458
9459 * fns.c (assoc_no_quit): New function.
9460
9461 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9462 (face_for_font, new_fontset_from_font)
9463 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9464
9465 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9466 (fontset_font, fontset_ascii, face_for_char)
9467 (make_fontset_for_ascii_face, Ffont_info)
9468 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9469 is nonzero, use font-backend mechanism.
9470 (find_font_encoding): Make it non-static.
9471 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9472 New functions.
9473
9474 * frame.h (struct frame): New members resx and resy.
9475 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9476 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9477
9478 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9479 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9480
9481 * lisp.h (assoc_no_quit): Extern it.
9482
9483 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9484 Through out the file, use FONT_INFO_FROM_FACE instead of
9485 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9486 rif->per_char_metric.
9487 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9488 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9489 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9490 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9491 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9492 nonzero, use font-backend mechanism.
9493 (get_per_char_metric): New function.
9494
9495 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9496 (set_lface_from_font_name)
9497 (set_font_frame_param, free_realized_face)
9498 (prepare_face_for_display, clear_face_gcs)
9499 (Finternal_set_font_selection_order, realize_x_face)
9500 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9501 font-backend mechanism.
9502 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9503 (load_face_font) [USE_FONT_BACKEND]: Abort.
9504 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9505 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9506
9507 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9508 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9509 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9510 nonzero, register all available font drivers. Call
9511 x_default_font_parameter for deciding a font.
9512 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9513
9514 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9515 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9516 (x_set_glyph_string_clipping_exactly)
9517 (x_compute_glyph_string_overhangs)
9518 (x_draw_glyph_string_foreground)
9519 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9520 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9521 enable_font_backend is nonzero, use font-backend mechanism.
9522 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9523
95242008-02-01 Kenichi Handa <handa@m17n.org>
9525
9526 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9527 system_eol_type.
9528 (syms_of_coding): Initialize system_eol_type.
9529
9530 * process.c (Fset_process_coding_system): Inherit system's eol
9531 format if necessary.
9532
95332008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9534
9535 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * coding.c (decode_eol): Pay attention to buffer relocation in
9540 del_range_2.
9541 (decode_coding): Call decode_eol before restoring undo_list.
9542
95432008-02-01 Kenichi Handa <handa@m17n.org>
9544
9545 * charset.c (Fdefine_charset_internal): Fix setting of
9546 emacs_mule_bytes.
9547
95482008-02-01 Kenichi Handa <handa@m17n.org>
9549
9550 * keyboard.c (read_char): Check if C is a character or not before
9551 looking up Vkeyboard_translate_table.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9556 condition to terminate the loop.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * coding.c (produce_composition): Compare charbuf[i] instead of
9561 args[i] against 0.
9562 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9563
95642008-02-01 Kenichi Handa <handa@m17n.org>
9565
9566 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9567 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9568 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9569 detect_coding.
9570 (emacs_mule_char): Handle old style (Emacs 20) component character
9571 of a composition.
9572 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9573 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9574 composition rule.
9575 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9576
95772008-02-01 Kenichi Handa <handa@m17n.org>
9578
9579 * coding.c (encode_coding_ccl): Allocate destination dynamically
9580 when necessary.
9581
95822008-02-01 Kenichi Handa <handa@m17n.org>
9583
9584 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9585 the loop. When quitted, show a proper error message.
9586
95872008-02-01 Kenichi Handa <handa@m17n.org>
9588
9589 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9590 src->clip_head and src->clip_tail temporarily instead of src->hl.
9591
9592 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9593 character sequence.
9594 (Fccl_execute_on_string): Use ASET, not XSET.
9595
95962008-02-01 Kenichi Handa <handa@m17n.org>
9597
9598 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9599
96002008-02-01 Kenichi Handa <handa@m17n.org>
9601
9602 * coding.c (decode_coding): Fix the condition of terminating the
9603 decoding loop.
9604
96052008-02-01 Kenichi Handa <handa@m17n.org>
9606
9607 * data.c (Faset): On setting a character bigger than 255 in a
9608 unibyte string, signal an error instead of make the string multibyte.
9609
96102008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9613 made by a mapping table.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9618 not.
9619 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9620 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9621
9622 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9623 s->face is NULL or not.
9624
96252008-02-01 Kenichi Handa <handa@m17n.org>
9626
9627 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9628 (x_draw_glyph_string): Fix drawing of right_overhang and
9629 left_overhang around/on cursor.
9630
9631 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9632
96332008-02-01 Kenichi Handa <handa@m17n.org>
9634
9635 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9636
96372008-02-01 Kenichi Handa <handa@m17n.org>
9638
9639 * coding.c (Fdefine_coding_system_internal)
9640 (Fdefine_coding_system_alias): Avoid a duplicated element in
9641 Vcoding_system_alist.
9642
96432008-02-01 Kenichi Handa <handa@m17n.org>
9644
9645 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9646
9647 * coding.c (Qcoding_system_define_form): New variable.
9648 (syms_of_coding): Intern and staticpro it.
9649 (Fcoding_system_p): Check Qcoding_system_define_form.
9650 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9651
9652 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9653 Fcoding_system_p.
9654 (CHECK_CODING_SYSTEM): If ID is not available, call
9655 Fcheck_coding_system.
9656 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9657 Try also Fcheck_coding_system.
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * coding.c (code_conversion_restore): GCPRO arg.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * character.c (lisp_string_width): Check multibyteness of STRING.
9666
96672008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9668
9669 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9670 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9671 (decode_mac_font_name): Use decode_coding_c_string instead of
9672 decode_coding.
9673 (x_load_font): Initialize fontp->fontset to -1. Set
9674 fontp->encoding_type.
9675
96762008-02-01 Kenichi Handa <handa@m17n.org>
9677
9678 * search.c (search_buffer): Give up BM search on case-fold-search
9679 if one of a target character has a case-equivalence of different
9680 byte length even if that target charcter is an ASCII.
9681 (simple_search): Fix calculation of byte length of matched text.
9682 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9683
96842008-02-01 Kenichi Handa <handa@m17n.org>
9685
9686 * coding.c (decode_coding): Fix handling of invalid bytes.
9687
96882008-02-01 Kenichi Handa <handa@m17n.org>
9689
9690 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9691 Unicode characters.
9692
96932008-02-01 Kenichi Handa <handa@m17n.org>
9694
9695 * coding.c (encode_coding_object): If a pre-write-conversion
9696 function makes a new buffer, kill it.
9697
96982008-02-01 Kenichi Handa <handa@m17n.org>
9699
9700 * coding.c (QCascii_compatible_p): New variable.
9701 (syms_of_coding): Initialize it.
9702 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9703 calling string_char.
9704 (record_conversion_result): Add `default:' case.
9705 (coding_charset_list): Delete unused variable `coding_type'.
9706 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9707 property in the plist of the coding system.
9708 (Fcoding_system_put): Check QCascii_compatible_p.
9709
97102008-02-01 Miles Bader <miles@gnu.org>
9711
9712 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9713 removed calculation of frame `f', as it's now used.
9714
97152008-02-01 Kenichi Handa <handa@m17n.org>
9716
9717 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9718 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9719 (UNIDATA): New variable.
9720 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9721 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9722 $(RUN_TEMACS) unconditionally.
9723
97242008-02-01 Kenichi Handa <handa@m17n.org>
9725
9726 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9727 (admindir): New variable.
9728 ($(lispsource)international/charprop.el): New target.
9729
97302008-02-01 Miles Bader <miles@gnu.org>
9731
9732 * character.c (chars-in-region): Remove obsolete function.
9733 (syms_of_character): Remove its initialization.
9734
97352008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9736
9737 * w32select.c (validate_coding_system)
9738 (setup_windows_coding_system): New functions.
9739 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9740 setup_windows_coding_system.
9741 (setup_config, Fw32_get_clipboard_data): Use
9742 validate_coding_system.
9743 (Fx_selection_exists): Move call to setup_config to a place
9744 where signals are allowed.
9745
9746 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9747 (Fcheck_coding_system): Add declarations.
9748
97492008-02-01 Kenichi Handa <handa@m17n.org>
9750
9751 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9752
97532008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9754
9755 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9756 string as the second argument for x_new_fontset.
9757
97582008-02-01 Kenichi Handa <handa@m17n.org>
9759
9760 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9761 (encode_coding_object): Use safe_call instead of call2.
9762
97632008-02-01 Kenichi Handa <handa@m17n.org>
9764
9765 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9766
9767 * Makefile.in (lisp): Include charprop.el.
9768
97692008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9770
9771 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9772 Not sure if it's unnecessary.
9773
97742008-02-01 Steven Tamm <steventamm@mac.com>
9775
9776 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9777 some possibly unnecessary fontset checking code that crashed
9778 when creating a new frame.
9779
97802008-02-01 Kenichi Handa <handa@m17n.org>
9781
9782 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9783 lookup_face.
9784
9785 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9786
9787 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9788
97892008-02-01 Kenichi Handa <handa@m17n.org>
9790
9791 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9792 (coding_charset_list): New function.
9793
9794 * coding.h (coding_charset_list): Extern it.
9795
97962008-02-01 Kenichi Handa <handa@m17n.org>
9797
9798 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9799 concatenation of family and registry.
9800
98012008-02-01 Kenichi Handa <handa@m17n.org>
9802
9803 * character.h (BYTE8_STRING): Fix typo.
9804
9805 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9806 string to multibyte (sync to HEAD).
9807
9808 * casefiddle.c (casify_region): Handle changes in byte-length
9809 using replace_range_2 (sync to HEAD).
9810
98112008-02-01 Andreas Schwab <schwab@suse.de>
9812
9813 * chartab.c (map_char_table): GCPRO table and arg.
9814
98152008-02-01 Kenichi Handa <handa@m17n.org>
9816
9817 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9818 already at limit.
9819
98202008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9823 instead of fast_c_string_match_ignore_case.
9824 (find_font_encoding): Change argument to Lisp_Object. Use
9825 fast_string_match_ignore_case instead of
9826 fast_c_string_match_ignore_case. Change caller.
9827
98282008-02-01 Kenichi Handa <handa@m17n.org>
9829
9830 * xdisp.c (get_next_display_element): In unibyte case, decide to
9831 display in octal form by checking a character by
9832 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9833
9834 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9835
9836 * character.c (unibyte_has_multibyte_table): New variable.
9837
9838 * character.h (unibyte_has_multibyte_table): Extern it.
9839 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9840
98412008-02-01 Kenichi Handa <handa@m17n.org>
9842
9843 * coding.c (encode_coding_iso_2022): Fix handling of charset
9844 annotation.
9845
98462008-02-01 Kenichi Handa <handa@m17n.org>
9847
9848 * coding.c (setup_coding_system): If coding_system is nil, use
9849 Qundecided.
9850 (Fterminal_coding_system): Return nil if terminal coding system is
9851 `undecided'.
9852 (syms_of_coding): Define coding-system `undecided' here. Setup
9853 terminal_coding as `undecided'.
9854
98552008-02-01 Kenichi Handa <handa@m17n.org>
9856
9857 * xdisp.c (message_dolog, set_message_1): Call
9858 unibyte_char_to_multibyte with arg type int.
9859
9860 * lread.c (read1): Fix reading of a char-table.
9861
9862 * print.c (print_object): Include sub char-table in circularities
9863 detection.
9864
98652008-02-01 Kenichi Handa <handa@m17n.org>
9866
9867 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9868 Append the found sequences in car of ARGS instead of prepending.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * fileio.c (report_file_error): Make a unibyte string from
9873 strerror (errorno).
9874 (Fsubstitute_in_file_name): Fix the arg to
9875 unibyte_char_to_multibyte. It is evaluated twice.
9876
98772008-02-01 Kenichi Handa <handa@m17n.org>
9878
9879 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9880
98812008-02-01 Kenichi Handa <handa@m17n.org>
9882
9883 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9884 BOM is not found.
9885 (detect_coding, detect_coding_system): Optimization for ISO-2022
9886 when no 8-bit data is found.
9887
98882008-02-01 Jason Rumney <jasonr@gnu.org>
9889
9890 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9891
98922008-02-01 Kenichi Handa <handa@m17n.org>
9893
9894 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9895 CHARS.
9896
98972008-02-01 Steven Tamm <steventamm@mac.com>
9898
9899 * macterm.c (mac_encode_char): Add charset argument and update
9900 to use encoding_type.
9901 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9902 switch to pure fontset.
9903 (decode_mac_font_name): Temporarily remove decoding.
9904 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9905 (x_load_font): Temporarily remove encoding.
9906
99072008-02-01 Kenichi Handa <handa@m17n.org>
9908
9909 * xfaces.c (Fface_font): If frame is not on a window system,
9910 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9911 refer to face->font.
9912 (split_font_name_into_vector, build_font_name_from_vector)
9913 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9914 when HAVE_WINDOW_SYSTEM is defined.
9915
99162008-02-01 Kenichi Handa <handa@m17n.org>
9917
9918 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9919 (x_produce_glyphs): Fix setting of members of cmp in case
9920 cmp->glyph_len is zero.
9921
9922 * fontset.c (Fset_fontset_font): Fix docstring.
9923 (Ffontset_info): Make it backward compatible. New arg ALL.
9924
99252008-02-01 Kim F. Storm <storm@cua.dk>
9926
9927 * process.c (read_process_output): Grow decoding_buf when needed;
9928 this could cause a crash in allocate_string and compact_small_strings.
9929
99302008-02-01 Kenichi Handa <handa@m17n.org>
9931
9932 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9933
99342008-02-01 Kenichi Handa <handa@m17n.org>
9935
9936 * coding.c (setup_coding_system): Set coding->common_flags
9937 correctly for raw-text.
9938 (consume_chars): On encoding unibyte text by raw-text, don't check
9939 multibyte form.
9940 (encode_coding): On encoding by raw-text, never use translation tables.
9941
9942 * fileio.c (e_write): Short cut for the case of no encoding.
9943
99442008-02-01 Kenichi Handa <handa@m17n.org>
9945
9946 * coding.c (detect_coding, detect_coding_system): Delete unused
9947 variables.
9948
99492008-02-01 Kenichi Handa <handa@m17n.org>
9950
9951 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9952 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9953
99542008-02-01 Kenichi Handa <handa@m17n.org>
9955
9956 * coding.c (Ffind_coding_systems_region_internal): Include
9957 raw-text and no-conversion in the result.
9958
99592008-02-01 Kenichi Handa <handa@m17n.org>
9960
9961 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9962 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9963 FONT_DEF.
9964 (font_def_arg, add_arg, from_arg, to_arg): New args.
9965 (set_fontset_font): Change argument.
9966 (Fset_fontset_font): Fix for the case that TARGET is a script
9967 name and charset name.
9968 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9969
99702008-02-01 Kenichi Handa <handa@m17n.org>
9971
9972 * fontset.c (fontset_font): Rename from fontset_face. Change return
9973 value.
9974 (face_suitable_for_char_p, face_for_char): Adjust for the change
9975 of fontset_font.
9976 (make_fontset_for_ascii_face): Fix setting of the fontset element
9977 for ASCII.
9978 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9979 to get a font name.
9980 (Ffontset_info): Adjust for the change of fontset_font.
9981
9982 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9983
9984 * character.h (LEADING_CODE_LATIN_1_MIN)
9985 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9986
99872008-02-01 Kenichi Handa <handa@m17n.org>
9988
9989 * editfns.c (check_translation): New function.
9990 (Ftranslate_region_internal): Handle M:N mapping.
9991
99922008-02-01 Kenichi Handa <handa@m17n.org>
9993
9994 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9995
99962008-02-01 Kenichi Handa <handa@m17n.org>
9997
9998 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9999 goto invalid_code.
10000 (decode_coding_iso_2022): Fix handling of invalid designation.
10001
10002 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10003 after calling code_conversion_save.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10008
10009 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10010
10011 * fontset.c: Include "intervals.h".
10012 (fontset_face): Fix comparing of Lisp_Objects.
10013 (free_face_fontset, new_fontset_from_font_name): Fix
10014 Lisp_Object/int mixup.
10015
10016 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10017
10018 * coding.c: Add many prototypes for static functions.
10019 (get_translation_table): Allow max_lookup to be NULL.
10020 (decode_coding, Ffind_coding_systems_region_internal)
10021 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10022 get_translation_table with max_lookup NULL.
10023
100242008-02-01 Kenichi Handa <handa@m17n.org>
10025
10026 * coding.c (get_translation_table): Declare it as Lisp_Object.
10027 (LOOKUP_TRANSLATION_TABLE): New macro.
10028 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10029 instead of CHAR_TABLE_REF.
10030
100312008-02-01 Kenichi Handa <handa@m17n.org>
10032
10033 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10034 annotation data format.
10035 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10036 Change arguments FROM and TO to single argument NCHARS. Change caller.
10037 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10038 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10039 (decode_coding_ccl, decode_coding_charset): Pay attention to
10040 coding->charbuf_used.
10041 (get_translation): New function.
10042 (produce_chars): New arguments translation_table and last_block.
10043 Translate characters here. Return number of carryover chars.
10044 Change caller.
10045 (produce_composition): New argument pos. Change caller.
10046 Adjust for the change of annotation data format.
10047 (produce_charset, produce_annotation): Likewise.
10048 (decode_coding, encode_coding): Don't call translate_chars.
10049 (consume_chars): New arg translation_table. Change caller.
10050 (translate_chars): Delete.
10051 (syms_of_coding): Make translation-table's number of extra slots 2.
10052
100532008-02-01 Kenichi Handa <handa@m17n.org>
10054
10055 * search.c (simple_search): Fix setting this_pos_byte in backward
10056 search.
10057
10058 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10059 byte sequence.
10060 (detect_coding_ccl): Fix setting of the variable valids.
10061
100622008-02-01 Kenichi Handa <handa@m17n.org>
10063
10064 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10065
10066 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10067
10068 * editfns.c (Ftranslate_region_internal): Rename from
10069 Ftranslate_region. Accept a char-table in TABLE.
10070 (syms_of_editfns): Defsubr Stranslate_region_internal.
10071
10072 * xfaces.c (set_lface_from_font_name): If a font is specified for
10073 a frame, generate a fontset from the font.
10074 (build_scalable_font_name): If the scalable font is requested for
10075 a specific size, don't change that size.
10076 (try_font_list): Try a scalable font also in the case that a
10077 pattern string is specified.
10078
100792008-02-01 Kenichi Handa <handa@m17n.org>
10080
10081 * xfaces.c (Fface_font): New optional arg CHARACTER.
10082
100832008-02-01 Kenichi Handa <handa@m17n.org>
10084
10085 * charset.h (CHARSET_OFFSET): New macro.
10086
100872008-02-01 Kenichi Handa <handa@m17n.org>
10088
10089 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10090
10091 * fontset.c (fontset_face): Handle the case that repertory is a
10092 char-table.
10093 (find_font_encoding): Return nil for unknown encoding.
10094 (Fset_fontset_font): Ignore a font of unknown encoding.
10095
100962008-02-01 Kenichi Handa <handa@m17n.org>
10097
10098 * keymap.c (describe_vector): Handle default value of a char table.
10099
10100 * fontset.c (fontset_face): Handle fallback fonts correctly.
10101 (Ffontset_info): Return infomation about fallback fonts.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * fontset.c (FONTSET_DEFAULT): New macro.
10106 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10107 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10108 the case that it is nil.
10109 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10110 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10111
10112 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10113 subset or superset.
10114
101152008-02-01 Kenichi Handa <handa@m17n.org>
10116
10117 * emacs.c (main): Call init_charset after syms_of_XXX.
10118
10119 * charset.c (Vcharset_map_directory): Delete.
10120 (Vcharset_map_path): New variable.
10121 (load_charset_map_from_file): Use Vcharset_map_path instead.
10122 (init_charset): Initialize Vcharset_map_path.
10123 (syms_of_charset): Delete declaration of "charset-map-directory",
10124 add declaration of "charset-map-path".
10125
101262008-02-01 Kenichi Handa <handa@m17n.org>
10127
10128 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10129 ASCII only string.
10130
10131 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10132
10133 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10134 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10135
101362008-02-01 Kenichi Handa <handa@m17n.org>
10137
10138 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10139
10140 * coding.c (QCmnemonic, QCdefalut_char)
10141 (QCdecode_translation_table, QCencode_translation_table)
10142 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10143 (get_translation_table): Return a list of translation tables if
10144 necessary.
10145 (decode_coding): Call get_translation_table with ENCODEP 0.
10146 (char_encodable_p): If translation_table is non-nil, always call
10147 translate_char.
10148 (Fdefine_coding_system_internal): Accept list of translation
10149 tables as :encode-translation-table and :decode-translation-table.
10150 (Fcoding_system_put): New function.
10151 (syms_of_coding): Declare new symbols. Defsubr
10152 Scoding_system_put.
10153 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10154 typically JISX0212.
10155
10156 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10157 when the charset is superset type.
10158
10159 * character.c (translate_char): Accept list of translation tables.
10160
101612008-02-01 Kenichi Handa <handa@m17n.org>
10162
10163 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10164 (CODING_ATTR_TRANS_TBL): New macro.
10165
10166 * coding.c (get_translation_table): New function.
10167 (translate_chars): Fix the bug of skipping annotation data.
10168 (decode_coding, encode_coding): Utilize get_translation_table.
10169 (char_encodable_p, Funencodable_char_position): Translate char if
10170 necessary.
10171 (Ffind_coding_systems_region_internal)
10172 (Fcheck_coding_systems_region): Setup translation table for encode
10173 in a coding system attribute vector in advance.
10174 (Fdefine_coding_system_internal): Allow a symbol as translation
10175 table. For shift-jis type coding system, allow 4th charset.
10176
101772008-02-01 Kenichi Handa <handa@m17n.org>
10178
10179 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10180
10181 * xdisp.c (get_next_display_element): Pass -1 as POS to
10182 FACE_FOR_CHAR if displaying a C-string.
10183
101842008-02-01 Kenichi Handa <handa@m17n.org>
10185
10186 * composite.c (get_composition_id): Handle xoff and yoff in a
10187 composition rule.
10188
10189 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10190 (struct composition): New member lbearing and rbearing.
10191
10192 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10193 (x_get_glyph_overhangs): Handle a composition glyph.
10194 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10195
10196 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10197 composition glyph.
10198
101992008-02-01 Kenichi Handa <handa@m17n.org>
10200
10201 * print.c: Include charset.h.
10202 (Vprint_charset_text_property): New variable.
10203 (Qdefault): Extern it.
10204 (PRINT_STRING_NON_CHARSET_FOUND)
10205 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10206 (print_check_string_result): New variable.
10207 (print_check_string_charset_prop): New function.
10208 (print_prune_charset_plist): New variable.
10209 (print_prune_string_charset): New function.
10210 (print_object): Call print_prune_string_charset if
10211 Vprint_charset_text_property is not t.
10212 (print_interval): Print nothing if interval->plist is nil.
10213 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10214 variable. Init and staticpro print_prune_charset_plist.
10215
102162008-02-01 Kenichi Handa <handa@m17n.org>
10217
10218 * fontset.c (new_fontset_from_font_name): Use the specified font
10219 for all characters in the new fontset.
10220
10221 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10222 OBJECT args.
10223
10224 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10225 OBJECT args for composition too.
10226
10227 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10228 OBJECT args.
10229
102302008-02-01 Kenichi Handa <handa@m17n.org>
10231
10232 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10233
10234 * fontset.c (reorder_font_vector): Adjust for the change of
10235 FONT_DEF format.
10236 (fontset_face): New arg id. Change caller.
10237 (face_for_char): New args pos and object.
10238 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10239 (fs_query_fontset): Check NAME by Fassoc too.
10240 (Fset_fontset_font): Allow non-XLFD font name.
10241 (Ffontset_info): Adjust for the change of FONT_DEF format.
10242
10243 * fontset.h (face_for_char): Adjust prototype.
10244
10245 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10246 (append_space, extend_face_to_end_of_line)
10247 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10248 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10249
10250 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10251 POS and OBJECT args.
10252
10253 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10254 POS and OBJECT args.
10255
102562008-02-01 Jason Rumney <jasonr@gnu.org>
10257
10258 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10259 of GlobalAlloc'ed memory.
10260
102612008-02-01 Kenichi Handa <handa@m17n.org>
10262
10263 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10264
10265 * charset.h (charset_table_used): Delete extern.
10266
10267 * charset.c (charset_table_used): Make it static.
10268 (map_charset_chars): Fix args to c_function with.
10269
10270 * chartab.c (map_sub_char_table_for_charset): Fix args to
10271 c_function with.
10272
10273 * coding.h (enum coding_result_code): Delete
10274 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10275
10276 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10277 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10278 (Vlast_code_conversion_error): New variables.
10279 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10280 (ONE_MORE_BYTE): Record error if any instead of signaling an
10281 error. If non-ASCII multibyte char is found, return the negative
10282 value of the code. All callers changed to check it.
10283 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10284 (record_conversion_result): New function. Change all codes setting
10285 coding->result to call this function.
10286 (detect_coding_utf_8, decode_coding_utf_8)
10287 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10288 Don't use the local variable incomplete.
10289 (emacs_mule_char): Change the second arg to `const'.
10290 (decode_coding): Fix of flushing out unprocessed data.
10291 (make_conversion_work_buffer): Fix making of a work buffer.
10292 (decode_coding_object): Return coding->dst_object.
10293
10294 * fontset.c (set_fontset_font): Fix args.
10295
10296 * lisp.h (CHARACTERBITS): Define as 22.
10297
10298 * process.c (send_process): Be sure to set coding->src_multibyte.
10299
10300 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10301
103022008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * xdisp.c (handle_auto_composed_prop): Give limit to
10305 Fnext_single_char_property_change.
10306
103072008-02-01 Kenichi Handa <handa@m17n.org>
10308
10309 * composite.c (syms_of_composite): Don't make the composition hash
10310 table weak.
10311
10312 * fontset.c (Fset_fontset_font): Fix docstring.
10313
10314 * lisp.h (detect_coding_system): Adjust prototype.
10315
10316 * fileio.c (kill_workbuf_unwind): Delete this function.
10317 (Finsert_file_contents): Adjust the call of detect_coding_system.
10318 Get conversion_buffer by code_conversion_save. Use the macro
10319 CODING_MAY_REQUIRE_DECODING. After decoding, update
10320 coding_system.
10321
10322 * coding.h (make_conversion_work_buffer): Delete extern.
10323 (code_conversion_save): Extern it.
10324
10325 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10326 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10327 (decode_coding_utf_8): Don't do eol converion.
10328 (detect_coding_utf_16): Check coding->src_chars, not
10329 coding->src_bytes. Add heuristics for those that have no signature.
10330 (decode_coding_emacs_mule, decode_coding_iso_2022)
10331 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10332 Don't do eol converion.
10333 (adjust_coding_eol_type): Return a new coding system.
10334 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10335 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10336 each change.
10337 (decode_coding): Pay attention to undo_list. Do eol conversion for
10338 all types of coding-systems (if necessary).
10339 (Vcode_conversion_work_buf_list): Delete it.
10340 (Vcode_conversion_reused_workbuf): Rename from
10341 Vcode_conversion_reused_work_buf.
10342 (Vcode_conversion_workbuf_name): New variable.
10343 (reused_workbuf_in_use): New variable.
10344 (make_conversion_work_buffer): Delete the arg DEPTH.
10345 (code_conversion_restore): Change argument to cons.
10346 (code_conversion_save): Delete the argument BUFFER. Change callers.
10347 (detect_coding_system): New argument src_chars. Change callers.
10348 Fix for utf-16 detection.
10349 (init_coding_once): Don't use ISO_carriage_return.
10350 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10351 reused_workbuf_in_use.
10352
103532008-02-01 Kenichi Handa <handa@m17n.org>
10354
10355 * keymap.c (store_in_keymap): Pay attention to the case that idx
10356 is a cons specifying a character range.
10357
103582008-02-01 Kenichi Handa <handa@m17n.org>
10359
10360 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10361 HANDLED_RECOMPUTE_PROPS.
10362
10363 * coding.c (Fdefine_coding_system_internal): Fix checking of
10364 ascii compatibility.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * charset.c (find_charsets_in_text): Delete unused locale variable.
10369 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10370
10371 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10372 Resync charset_list to Vemacs_mule_charset_list.
10373
10374 * keymap.c (store_in_keymap): Pay attention to the case that idx
10375 is a cons specifying a character range.
10376
103772008-02-01 Kenichi Handa <handa@m17n.org>
10378
10379 * composite.c (update_compositions): Bind inhibit-read-only, etc
10380 to t before calling remove-list-of-text-properties.
10381
10382 * print.c (print_object): Always print ASCII chars as is.
10383
103842008-02-01 Kenichi Handa <handa@m17n.org>
10385
10386 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10387
10388 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10389 is a char table.
10390
103912008-02-01 Kenichi Handa <handa@m17n.org>
10392
10393 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10394
103952008-02-01 Kenichi Handa <handa@m17n.org>
10396
10397 * xfaces.c (set_lface_from_font_name): Fix for the case that
10398 FONTNAME is not fontset name.
10399
104002008-02-01 Kenichi Handa <handa@m17n.org>
10401
10402 * fns.c (base64_encode_1): Fix previous change.
10403
104042008-02-01 Kenichi Handa <handa@m17n.org>
10405
10406 * fontset.c (set_fontset_font): New function.
10407 (Fset_fontset_font): If a font is specified for a charset, use
10408 map_charset_chars to store the font spec in a fontset.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * fontset.c (fontset_face): Create a fallback fontset on demand.
10413 (make_fontset): Don't create a fallback fontset here.
10414 (free_face_fontset): Free a fallback fontset (if any) too.
10415 (n_auto_fontsets): Delete this variable.
10416 (auto_fontset_alist): New variable.
10417 (new_fontset_from_font_name): Check auto_fontset_alist.
10418 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10419 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10420 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10421 Defsubr Sfontset_list_all.
10422
104232008-02-01 Kenichi Handa <handa@m17n.org>
10424
10425 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10426
104272008-02-01 Kenichi Handa <handa@m17n.org>
10428
10429 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10430
104312008-02-01 Kenichi Handa <handa@m17n.org>
10432
10433 * editfns.c (Fgoto_char): Fix docstring.
10434
104352008-02-01 Kenichi Handa <handa@m17n.org>
10436
10437 * insdel.c (insert_from_gap): Adjust intervals correctly.
10438
104392008-02-01 Jason Rumney <jasonr@gnu.org>
10440
10441 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10442 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10443 (w32_initialize): Try to load it.
10444 (x_get_font_repertory): Use it if available.
10445 (w32_encode_char): Add shortcut for unicode output.
10446
10447 * w32fns.c (w32_load_system_font): Default charset to -1.
10448 (x_to_w32_charset): Match all fonts for unicode.
10449 (w32_to_x_charset): New parameter matching. Don't return partial
10450 or wildcard charsets.
10451 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10452 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10453 (w32_to_x_font): Match charset to real charset.
10454 (enum_font_cb2): Always list unicode versions.
10455
10456 * makefile.w32-in (temacs): Increase EMHEAP.
10457
104582008-02-01 Jason Rumney <jasonr@gnu.org>
10459
10460 * w32term.c (w32_encode_char): New charset parameter.
10461 font_info.encoding becomes encoding_type.
10462 (x_get_font_repertory): New function. Warning: stub only!
10463 (x_new_font): Return quickly if font already set.
10464 (x_new_fontset): fontsetname parameter is Lisp_Object.
10465 Use new fs_query_fontset. Try new_fontset_from_font_name.
10466 Use fontset_name for return value.
10467
10468 * w32term.h: Declare x_get_font_repertory.
10469
10470 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10471 place of find_charset_in_text. Use encode_coding_object in place
10472 of encode_coding.
10473 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10474 decode_coding.
10475
10476 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10477 of x_new_fontset.
10478 (w32_load_system_font): Initialize charset as unicode.
10479 font_info.encoding becomes encoding_type.
10480 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10481 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10482 (syms_of_w32fns): Set get_font_repertory_func.
10483
10484 * w32console.c: Include character.h. Use terminal_encode_buffer
10485 from term.c.
10486 (write_glyphs): Use new version of encode_terminal_code. Use
10487 encode_coding_object in place of encode_coding.
10488
10489 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10490 encoding becomes encoding_type.
10491
10492 * term.c (terminal_encode_buffer): Make externally visible.
10493
10494 * makefile.w32-in: Add character.h dependancies.
10495 (character.o, chartab.o): New targets.
10496
104972008-02-01 Kenichi Handa <handa@m17n.org>
10498
10499 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10500 CODING_ID_EOL_TYPE.
10501
105022008-02-01 Andreas Schwab <schwab@suse.de>
10503
10504 * coding.c (produce_chars): Revert last change.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * charset.h (charset_unicode): Extern it.
10509
10510 * charset.c (string_xstring_p): Check by (C >= 0x100).
10511 (find_charsets_in_text): Change format of the arc CHARSETS. New
10512 arg MULTIBYTE.
10513 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10514 change of find_charsets_in_text.
10515 (Fsplit_char): Fix doc. Never return unknown.
10516
10517 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10518
10519 * coding.c (Fdefine_coding_system_alias): Update
10520 Vcoding_system_list.
10521
10522 * fontset.c (load_font_get_repertory): Pay attention to the case
10523 that ENCODING of a font is specified by a char-table.
10524
10525 * xterm.c (x_get_font_repertory): Handle the case that the
10526 encoding of font is other than Unicode.
10527
105282008-02-01 Kenichi Handa <handa@m17n.org>
10529
10530 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10531 if a character is encodable by the terminal coding system. If
10532 not, produces proper number of `?'s. Update
10533 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10534 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10535
105362008-02-01 Kenichi Handa <handa@m17n.org>
10537
10538 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10539 variables.
10540 (encode_terminal_code): Change argument. Encode multiple
10541 characters at once. Store the result of encoding in
10542 terminal_encode_buffer.
10543 (write_glyphs, insert_glyphs): Adjust for the change of
10544 encode_terminal_code.
10545 (term_init): Initialize terminal_encode_buffer and
10546 terminal_encode_buf_size.
10547
10548 * coding.c (consume_chars): If coding->src_object is nil, don't
10549 check annotation.
10550
105512008-02-01 Kenichi Handa <handa@m17n.org>
10552
10553 * character.c (char_string): Use ASCII_CHAR_P instead of
10554 SINGLE_BYTE_CHAR_P.
10555
105562008-02-01 Kenichi Handa <handa@m17n.org>
10557
10558 * xdisp.c (handle_auto_composed_prop): Check if the last
10559 characters of auto-composed region is newly composed with the
10560 following characters.
10561 (handle_composition_prop): Fix checking of point being inside
10562 composition.
10563
105642008-02-01 Kenichi Handa <handa@m17n.org>
10565
10566 * fns.c (concat): Don't change multibyteness of the result by
10567 concatenating an 8-bit character.
10568
10569 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10570 multibyteness of the result when newelt is an 8-bit character.
10571
105722008-02-01 Dave Love <fx@gnu.org>
10573
10574 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10575 EMACS_INT.
10576
10577 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10578
10579 * xfaces.c (face_numeric_value): Declare dim size_t.
10580 (Finternal_lisp_face_equal_p): Remove unused f.
10581
10582 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10583 (MATRIX_ROW): Remove unused vars.
10584 (draw_glyphs, x_insert_glyphs, fast_find_position)
10585 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10586 byte/char counts.
10587
10588 * regex.c (regex_compile): Remove unused var.
10589
10590 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10591
10592 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10593 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10594
10595 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10596
10597 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10598
10599 * fileio.c (Fwrite_region): Remove unused var.
10600
10601 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10602 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10603
10604 * composite.c (Fremove_list_of_text_properties): Declare.
10605
10606 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10607 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10608 (coding_inherit_eol_type): Remove unused attrs.
10609 (detect_coding): Cast arg of detect_eol.
10610
10611 * charset.c (syms_of_charset): Remove unused var p.
10612 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10613 byte/char counts.
10614
10615 * casetab.c (set_case_table): Remove unused var.
10616
10617 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10618 unused vars.
10619
106202008-02-01 Dave Love <fx@gnu.org>
10621
10622 * xterm.c (x_bitmap_mask): Declare.
10623
106242008-02-01 Dave Love <fx@gnu.org>
10625
10626 * xterm.c (x_term_init): Fix type error.
10627
10628 * lisp.h: Add Funibyte_char_to_multibyte.
10629
10630 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10631 (Fset_coding_system_priority): Doc fix.
10632
10633 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10634
10635 * indent.c (check_composition): Make start and end EMACS_INT.
10636
10637 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10638
10639 * xdisp.c (handle_composition_prop, check_point_in_composition):
10640 Make buffer positions EMACS_INT.
10641
10642 * composite.c (find_composition, run_composition_function)
10643 (update_compositions, Ffind_composition_internal): Make buffer
10644 positions EMACS_INT.
10645
10646 * composite.h (find_composition, update_compositions): Make
10647 position args EMACS_INT.
10648
10649 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10650
10651 * intervals.c (get_property_and_range):
10652 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10653
10654 * unexalpha.c: Don't include varargs.h.
10655
106562008-02-01 Dave Love <fx@gnu.org>
10657
10658 * coding.h (ENCODE_UTF_8): New.
10659
10660 * Makefile.in (gtkutil.o): Depend on coding.h.
10661
10662 * coding.c (Fset_coding_system_priority): Doc fix.
10663
106642008-02-01 Kenichi Handa <handa@m17n.org>
10665
10666 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10667 the case of auto saving.
10668
106692008-02-01 Andreas Schwab <schwab@suse.de>
10670
10671 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10672 `range' from GC.
10673
106742008-02-01 Kenichi Handa <handa@m17n.org>
10675
10676 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10677
106782008-02-01 Kenichi Handa <handa@m17n.org>
10679
10680 * fileio.c (choose_write_coding_system): Return a decided coding system.
10681 (Fwrite_region): Set Vlast_coding_system_used to the return value
10682 of choose_write_coding_system.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * charset.c (Fset_charset_priority): Pay attention to duplicated
10687 arguments.
10688
10689 * coding.c (QCcategory): New variable.
10690 (syms_of_coding): Defsym it. Set all elements of
10691 Vcoding_category_table and their symbol values.
10692 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10693 coding-category-XXX, and coding-category-list.
10694 (Fdefine_coding_system_internal): Add category in the plist.
10695
106962008-02-01 Kenichi Handa <handa@m17n.org>
10697
10698 * callproc.c (Fcall_process): Handle carryover correctly.
10699
10700 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10701 (raw_text_coding_system): Check NILP (coding_system).
10702 (coding_inherit_eol_type): Check NILP (coding_system) and
10703 NILP (parent).
10704 (consume_chars): Fix for the case of raw-text.
10705
10706 * process.c (read_process_output): Handle carryover correctly.
10707
107082008-02-01 Dave Love <fx@gnu.org>
10709
10710 * regex.c (re_search_2): Fix last change.
10711
107122008-02-01 Kenichi Handa <handa@m17n.org>
10713
10714 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10715 target_multibyte. Even in a unibyte case, return a converted
10716 multibyte char.
10717 (GET_CHAR_AFTER): New macro.
10718 (PATFETCH): Translate via multibyte char.
10719 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10720 (SETUP_MULTIBYTE_RANGE): New macro.
10721 (regex_compile): Setup compiled code so that its multibyteness
10722 matches that of a target. Fix the handling of "[X-YZ]" using
10723 SETUP_MULTIBYTE_RANGE.
10724 (analyse_first) <charset>: For filling fastmap for all multibyte
10725 characters, don't check by BASE_LEADING_CODE_P.
10726 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10727 the same as RE_MULTIBYTE_P (bufp) now.
10728 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10729 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10730 (TRANSLATE_VIA_MULTIBYTE): New macro.
10731 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10732 It is the same as RE_MULTIBYTE_P (bufp) now.
10733 <exactn>: Translate via multibyte.
10734 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10735 translate it.
10736 <charset, charset_not>: Fetch a character by
10737 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10738 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10739 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10740 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10741 by GET_CHAR_AFTER.
10742 (bcmp_translate): Likewise.
10743
10744 * search.c (compile_pattern): Check the member target_multibyte,
10745 not the member multibyte of buf.
10746
10747 * lread.c (read1): While reading a string, set force_singlebyte
10748 and force_multibyte correctly.
10749
10750 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10751 up of unibyte_to_multibyte_table.
10752
107532008-02-01 Kenichi Handa <handa@m17n.org>
10754
10755 * coding.c (setup_coding_system): If coding has
10756 post-read-conversion or pre-write-conversion, set
10757 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10758 respectively.
10759 (decode_coding_gap): Run post-read-conversion if any.
10760
10761 * fileio.c (Finsert_file_contents): Even if we read into a
10762 unibyte buffer, check if we must decode the result or not.
10763
107642008-02-01 Kenichi Handa <handa@m17n.org>
10765
10766 * coding.c (make_conversion_work_buffer): Change the work buffer
10767 name to the same one as that of Emacs 21.
10768
107692008-02-01 Kenichi Handa <handa@m17n.org>
10770
10771 * coding.h (make_conversion_work_buffer): Adjust prototype.
10772 (code_conversion_restore): Don't extern it.
10773
10774 * coding.c (detected_mask): Delete unused variable.
10775 (decode_coding_iso_2022): Pay attention to the byte sequence of
10776 CTEXT extended segment, and retain those bytes as is.
10777 (decode_coding_ccl): Delete unused variable `valids'.
10778 (setup_coding_system): Delete unused variable `category'.
10779 (consume_chars): Delete unused variable `category'. Make it work
10780 for non-multibyte case.
10781 (make_conversion_work_buffer): Change argument.
10782 (saved_coding): Delete unused variable.
10783 (code_conversion_restore): Don't check saved_coding->destination.
10784 (code_conversion_save): New function.
10785 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10786 instead of record_unwind_protect.
10787 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10788 (detect_coding_system): Delete unused variable `mask'.
10789 (Fdefine_coding_system_internal): Delete unused variable id.
10790
10791 * fileio.c (kill_workbuf_unwind): New function.
10792 (Finsert_file_contents): On replacing, call
10793 make_conversion_work_buffer with correct args, and call
10794 record_unwind_protect with the first arg kill_workbuf_unwind.
10795
10796 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10797
107982008-02-01 Kenichi Handa <handa@m17n.org>
10799
10800 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10801 (fontset_add): Fix for the case that TO is less than TO1.
10802 (Ffontset_info): Don't use fallback fontset on checking the
10803 default fontset.
10804 (dump_fontset): New function for debugging.
10805
10806 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10807 coding_type is Qcharset.
10808
108092008-02-01 Kenichi Handa <handa@m17n.org>
10810
10811 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10812 (map_char_table): Don't inherit the value from the parent on
10813 initializing VAL. Adjust for the above change.
10814
108152008-02-01 Kenichi Handa <handa@m17n.org>
10816
10817 * coding.c (Qsignature, Qendian): Delete these variables.
10818 (syms_of_coding): Don't initialize them.
10819 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10820 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10821 detect_info->found.
10822 (decode_coding_utf_16): Don't detect BOM here.
10823 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10824 is NOT utf_16_without_bom.
10825 (setup_coding_system): For a coding system of type utf-16, check
10826 if the attribute :endian is Qbig or not (not nil or not), and set
10827 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10828 (detect_coding): If coding type is utf-16 and BOM detection is
10829 required, detect it.
10830 (Fdefine_coding_system_internal): For a coding system of type
10831 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10832
108332008-02-01 Kenichi Handa <handa@m17n.org>
10834
10835 * coding.c (coding_set_source): Fix for the case that the current
10836 buffer is different from coding->src_object.
10837 (decode_coding_object): Don't use the conversion work buffer if
10838 DST_OBJECT is a buffer.
10839
108402008-02-01 Dave Love <fx@gnu.org>
10841
10842 * lread.c (read_emacs_mule_char) [len==2]: Index
10843 emacs_mule_charset correctly.
10844
108452008-02-01 Dave Love <fx@gnu.org>
10846
10847 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10848 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10849 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10850 treated specially.)
10851 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10852 (detected_mask): Remove Big5 bits.
10853
108542008-02-01 Kenichi Handa <handa@m17n.org>
10855
10856 The following changes are to make the font rescaling facility
10857 compatible with Emacs 21.
10858
10859 * xfaces.c (Vface_font_rescale_alist): Rename from
10860 Vface_resizing_fonts.
10861 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10862 (font_rescale_ratio): Rename from font_resizing_ratio.
10863 (split_font_name): Set font->rescale_ratio.
10864 (better_font_p): Pay attention to font->rescale_ratio.
10865 (build_scalable_font_name): Likewise. Change RESX, and RESY
10866 fields.
10867 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10872 (Qutf_16_le): Remove these variables.
10873 (syms_of_coding): Don't DEFSYM them.
10874 (decode_coding_utf_16): Fix handling of BOM.
10875 (encode_coding_utf_16): Fix handling of BOM.
10876
108772008-02-01 Kenichi Handa <handa@m17n.org>
10878
10879 * fileio.c (Finsert_file_contents): On replacing, before decoding
10880 the file into the work buffer, set point of the work buffer to the end.
10881
108822008-02-01 Dave Love <fx@gnu.org>
10883
10884 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10885
108862008-02-01 Dave Love <fx@gnu.org>
10887
10888 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10889 and fix C types.
10890
108912008-02-01 Kenichi Handa <handa@m17n.org>
10892
10893 * xdisp.c (SKIP_GLYPHS): New macro.
10894 (set_cursor_from_row): Pay attention to string display properties.
10895
10896 * category.c (copy_category_entry): Fix for the case that RANGE
10897 is an integer.
10898
10899 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10900
10901 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10902
109032008-02-01 Kenichi Handa <handa@m17n.org>
10904
10905 * charset.c (Fcharset_id_internal): New function.
10906 (syms_of_charset): Defsubr it.
10907
10908 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10909 with the last arg charset_list acquired from coding.
10910 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10911 the attribute coding_attr_ccl_valids.
10912
10913 * coding.h (enum define_coding_ccl_arg_index): Set the first
10914 member coding_arg_ccl_decoder to coding_arg_max.
10915
10916 * ccl.h (ccl_driver): Adjust prototype.
10917
10918 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10919 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10920 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10921 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10922 last arg Qnil.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10927 call encode_char.
10928
10929 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10930
109312008-02-01 Dave Love <fx@gnu.org>
10932
10933 * composite.c (syms_of_composite): Make composition_hash_table weak.
10934
109352008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10938 (font_name_registry): Don't extern them.
10939 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10940
10941 * fontset.h (Qfontset): Don't extern it.
10942 (new_fontset_from_font_name): Extern it.
10943
10944 * fontset.c: Give 8 extra slots to fontset objects.
10945 (Qfontset_info): New variable.
10946 (syms_of_fontset): Defsym it.
10947 (FONTSET_FALLBACK): New macro.
10948 (fontset_face): Try also the default fontset.
10949 (make_fontset): Realize a fallback fontset from the default fontset.
10950 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10951 using split_font_name_into_vector and build_font_name_from_vector.
10952 (Fset_fontset_font): Access the elements of font_spec by enum
10953 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10954 name by using split_font_name_into_vector.
10955 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10956 generate a proper font name from the fontset name. Update
10957 Vfontset_alias_alist.
10958 (n_auto_fontsets): New variable.
10959 (new_fontset_from_font_name): New function.
10960 (Ffont_info): Store the information about fonts generated from the
10961 default fontset in the first extra slot of the returned char-table.
10962
10963 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10964 (font_name_registry): Delete function.
10965 (split_font_name_into_vector): New function.
10966 (build_font_name_from_vector): New function.
10967 (font_list): The argument REGISTRY is now a list of registry names.
10968 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10969 specifies an explicit font name, return the name as is. Make a
10970 list of registy names.
10971
10972 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10973 of x_new_fontset.
10974 (Fx_create_frame): Don't call x_new_fontset here. Just use
10975 x_list_fonts to check the existence of fonts.
10976
10977 * xterm.h (x_new_fontset): Adjust prototype.
10978
10979 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10980 string. Use new_fontset_from_font_name to create a fontset from a
10981 font name.
10982
109832008-02-01 Kenichi Handa <handa@m17n.org>
10984
10985 * syntax.c (Vfind_word_boundary_function_table): New name for
10986 Vnext_word_boundary_function_table.
10987 (find-word-boundary-function-table): New name for
10988 next-word-boundary-function-table.
10989
109902008-02-01 Dave Love <fx@gnu.org>
10991
10992 * Makefile.in: Fix some dependencies.
10993
10994 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10995 set it to nil before returning.
10996
10997 * composite.c (update_compositions): Fix type error.
10998
10999 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11000
110012008-02-01 Kenichi Handa <handa@m17n.org>
11002
11003 * xterm.c (x_new_font): Optimize for the case that the font is
11004 already set for the frame.
11005
110062008-02-01 Kenichi Handa <handa@m17n.org>
11007
11008 * chartab.c (char_table_ascii): Check if the char table contents
11009 is sub-char-table or not.
11010 (char_table_set, char_table_set_range): Fix argument to
11011 char_table_ascii.
11012
11013 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11014 (detect_coding_utf_8, detect_coding_utf_16)
11015 (detect_coding_emacs_mule, detect_coding_iso_2022)
11016 (detect_coding_sjis, detect_coding_big5)
11017 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11018 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11019 sequence is valid in this coding system. Change callers.
11020 (MAX_ANNOTATION_LENGTH): New macro.
11021 (ADD_ANNOTATION_DATA): New macro.
11022 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11023 ADD_ANNOTATION_DATA. Change the format of annotation data.
11024 (ADD_CHARSET_DATA): New macro.
11025 (emacs_mule_char): New argument ID. Change callers.
11026 (decode_coding_emacs_mule, decode_coding_iso_2022)
11027 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11028 Produce charset annotation data in coding->charbuf.
11029 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11030 to charset annotation data in coding->charbuf.
11031 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11032 coding->common_flags if the coding system is iso-2022 based and
11033 uses designation.
11034 (produce_composition): Adjust for the new annotation data format.
11035 (produce_charset): New function.
11036 (produce_annotation): Handle charset annotation.
11037 (handle_composition_annotation, handle_charset_annotation): New
11038 functions.
11039 (consume_chars): Handle charset annotation. Utilize the above two
11040 functions.
11041 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11042 buffer, get the deleted text as a string and set
11043 coding->src_object to that string.
11044 (detect_coding, detect_coding_system): Use the new struct
11045 coding_detection_info.
11046
11047 * coding.h (struct coding_detection_info): New structure.
11048 (struct coding_system): Adjust prototype of the member `detector'.
11049 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11050
110512008-02-01 Kenichi Handa <handa@m17n.org>
11052
11053 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11054
110552008-02-01 Dave Love <fx@gnu.org>
11056
11057 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11058 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11059 to new local and nullify apropos_accumulate before returning.
11060 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11061
110622008-02-01 Kenichi Handa <handa@m17n.org>
11063
11064 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11065 correctly.
11066
110672008-02-01 Dave Love <fx@gnu.org>
11068
11069 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 The following changes are to make character composition happen
11074 automatically on displaying.
11075
11076 * Makefile.in (lisp, shortlisp): Add composite.elc.
11077
11078 * composite.h (Qauto_composed, Vauto_composition_function)
11079 (Qauto_composition_function): Extern them.
11080
11081 * composite.c (Vcomposition_function_table)
11082 (Qcomposition_function_table): Delete variables.
11083 (Qauto_composed, Vauto_composition_function)
11084 (Qauto_composition_function): New variables.
11085 (run_composition_function): Don't call
11086 compose-chars-after-function.
11087 (update_compositions): Clear `auto-composed' text property.
11088 (compose_chars_in_text): Delete this function.
11089 (syms_of_composite): Staticpro Qauto_composed and
11090 Qauto_composition_function. Declare Vauto_composition_function as
11091 a Lisp variable.
11092
11093 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11094
11095 * xdisp.c (it_props): Add an entry for Qauto_composed.
11096 (handle_auto_composed_prop): New function.
11097
11098 * xselect.c (selection_data_to_lisp_data): Don't call
11099 compose_chars_in_text.
11100
111012008-02-01 Dave Love <fx@gnu.org>
11102
11103 * keyboard.c (read_char): Modify checking around use of
11104 Vkeyboard_translate_table.
11105
11106 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11107 and fix C types.
11108
111092008-02-01 Kenichi Handa <handa@m17n.org>
11110
11111 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11112 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11113 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11114 the case that the last byte is '\r' correctly.
11115 (decode_coding): Flush out the unprocessed data correctly.
11116 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11117
111182008-02-01 Dave Love <fx@gnu.org>
11119
11120 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11121 Add XK_ISO... case.
11122 (xaw_scroll_callback): Revert last change.
11123
111242008-02-01 Kenichi Handa <handa@m17n.org>
11125
11126 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11127
111282008-02-01 Kenichi Handa <handa@m17n.org>
11129
11130 * xfaces.c (Vface_resizing_fonts): New variable.
11131 (struct font_name): New member `resizing_ratio'.
11132 (font_resizing_ratio): New function.
11133 (split_font_name): Set font->resizing_ratio.
11134 (better_font_p): Pay attention to font->resizing_ratio.
11135 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11136 RESX, and RESY fields.
11137 (try_alternative_families): Try scalable fonts if
11138 Vscalable_fonts_allowed is not Qt.
11139 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11140
111412008-02-01 Dave Love <fx@gnu.org>
11142
11143 * xterm.c (xaw_scroll_callback): Cast correctly.
11144
111452008-02-01 Dave Love <fx@gnu.org>
11146
11147 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11148 (lispy_kana_keys): Comment out.
11149 (make_lispy_event) [XK_kana_A]: Comment out.
11150
11151 * xterm.c (xaw_scroll_callback): Cast call_data.
11152 (XTread_socket): Deal with ASCII keysyms.
11153 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11154
111552008-02-01 Dave Love <fx@gnu.org>
11156
11157 * xterm.c (Vx_keysym_table): New.
11158 (syms_of_xterm): Initialize it.
11159 (XTread_socket): Use it.
11160 From head: Eliminate incorrect optimization that tried to avoid
11161 decoding the output of X*LookupString.
11162 (x_get_font_repertory): Delete charset declaration.
11163
111642008-02-01 Kenichi Handa <handa@m17n.org>
11165
11166 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11167 return 0.
11168 (Fdefine_coding_system_internal): Setup
11169 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11170
111712008-02-01 Dave Love <fx@gnu.org>
11172
11173 * coding.c (Fcheck_coding_system): Doc fix.
11174
11175 * editfns.c (Finsert_byte): Return a proper value.
11176
111772008-02-01 Kenichi Handa <handa@m17n.org>
11178
11179 * coding.c (decode_coding): Fix args to translate_chars. Pay
11180 attention to Vstandard_translation_table_for_decode.
11181 (encode_coding): Fix args to translate_chars. Pay attention to
11182 Vstandard_translation_table_for_encode.
11183
11184 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11185 SINGLE_BYTE_CHAR_P.
11186
11187 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11188 not by SINGLE_BYTE_CHAR_P.
11189
11190 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11191 SINGLE_BYTE_CHAR_P.
11192
11193 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11194 SINGLE_BYTE_CHAR_P.
11195
11196 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11197 by SINGLE_BYTE_CHAR_P.
11198
11199 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11200 SINGLE_BYTE_CHAR_P.
11201
112022008-02-01 Dave Love <fx@gnu.org>
11203
11204 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11205
112062008-02-01 Dave Love <fx@gnu.org>
11207
11208 * fns.c (Flanginfo): Fix typo.
11209
11210 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11211
112122008-02-01 Kenichi Handa <handa@m17n.org>
11213
11214 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11215 (detect_coding_emacs_mule, detect_coding_iso_2022)
11216 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11217 incomplete byte sequence. Don't update *mask when correctly detected.
11218 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11219 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11220 (detect_coding, detect_coding_system): Adjust for the changes above.
11221
112222008-02-01 Kenichi Handa <handa@m17n.org>
11223
11224 * character.c (char_string): Rename from
11225 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11226 (string_char): Rename from string_char.
11227
11228 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11229 if C is greater than MAX_3_BYTE_CHAR.
11230 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11231 string_char instead of string_char_with_unification.
11232
112332008-02-01 Dave Love <fx@gnu.org>
11234
11235 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * keymap.c (push_key_description): Pay attention to force_multibyte.
11240
11241 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11242
112432008-02-01 Dave Love <fx@gnu.org>
11244
11245 * charset.c (define_charset_internal): Rename `supprementary'.
11246
11247 * Makefile.in (lisp, shortlisp): Remove latin-N.
11248
112492008-02-01 Dave Love <fx@gnu.org>
11250
11251 * xfns.c (x_window, x_window): Use use_xim.
11252
11253 * xterm.c (use_xim): Initialize.
11254 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11255 (x_term_init): Maybe set use_xim.
11256
11257 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11258
112592008-02-01 Kenichi Handa <handa@m17n.org>
11260
11261 * search.c (search_buffer): Fix case-fold-search of multibyte
11262 characters.
11263 (boyer_moore): Rename the last argument to char_high_bits.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * xdisp.c (display_string): Fix for the case of zero width glyph.
11268
11269 * xfns.c (x_set_font): Change the error message of the case that
11270 x_new_fontset returns Qt.
11271
11272 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11273 (Finternal_set_lisp_face_attribute): Use signal_error for the
11274 error of invalid fontset.
11275
11276 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11277 fontset, return Qt.
11278
112792008-02-01 Dave Love <fx@gnu.org>
11280
11281 * unexelf.c (unexec): Make .got handling not SGI-specific.
11282
11283 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11284
11285 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11286
11287 * keyboard.c (read_key_sequence): Fix type error.
11288
11289 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11290 type error.
11291
11292 * fontset.c (fontset_add): Return Lisp_Object.
11293
112942008-02-01 Dave Love <fx@gnu.org>
11295
11296 * charset.h (charset_ordered_list_tick): Declare extern.
11297
112982008-02-01 Kenichi Handa <handa@m17n.org>
11299
11300 The following changes (and some of 2008-02-01 changes of mine) are
11301 for handling syntax, category, and case conversion for unibyte
11302 characters by converting them to multibyte on the fly. With these
11303 changes, we don't have to setup syntax and case tables for unibyte
11304 characters in each language environment.
11305
11306 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11307 multibyte if necessary.
11308
11309 * bytecode.c (Fbyte_code): Likewise.
11310
11311 * character.h (LEADING_CODE_LATIN_1_MIN)
11312 (LEADING_CODE_LATIN_1_MAX): New macros.
11313 (unibyte_to_multibyte_table): Extern it.
11314 (unibyte_char_to_multibyte): New macro.
11315 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11316 (CHAR_LEADING_CODE): New macro.
11317 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11318
11319 * character.c (unibyte_to_multibyte_table): New variable.
11320 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11321 (multibyte_char_to_unibyte): If C is an eight-bit character,
11322 convert it to the corresponding byte value.
11323
11324 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11325 not 1, signals an error. Update the elements of
11326 unibyte_to_multibyte_table.
11327 (init_charset_once): Initialize unibyte_to_multibyte_table.
11328 (syms_of_charset): Define the charset `iso-8859-1'.
11329
11330 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11331 as is without converting it to unibyte. In a unibyte buffer,
11332 convert C to multibyte before checking the syntax.
11333
11334 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11335
11336 * minibuf.c (Fminibuffer_complete_word): Use the macro
11337 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11338
11339 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11340
11341 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11342 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11343 that is zero, convert an eight-bit char to multibyte.
11344 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11345 non-emacs case.
11346 (PATFETCH): Convert an eight-bit char to multibyte.
11347 (HANDLE_UNIBYTE_RANGE): New macro.
11348 (regex_compile): Setup the compiled pattern for multibyte chars
11349 even if the given regex string is unibyte. Use PATFETCH_RAW
11350 instead of PATFETCH in many places. To handle `charset'
11351 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11352 only for ASCII chars.
11353 (analyse_first) <exactn>: Simplify because the compiled pattern
11354 is multibyte.
11355 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11356 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11357 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11358 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11359 multibyte always 1.
11360 (re_search_2): In emacs, set the locale variable multibyte to 1,
11361 otherwise to 0. New local variable target_multibyte. Check it
11362 to decide the multibyteness of STR1 and STR2. If
11363 target_multibyte is zero, convert unibyte chars to multibyte
11364 before translating and checking fastmap.
11365 (TARGET_CHAR_AND_LENGTH): New macro.
11366 (re_match_2_internal): In emacs, set the locale variable multibyte
11367 to 1, otherwise to 0. New local variable target_multibyte. Check
11368 it to decide the multibyteness of STR1 and STR2. Use
11369 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11370 <charset, charset_not>: If multibyte is nonzero, check fastmap
11371 only for ASCII chars. Call bcmp_translate with
11372 target_multibyte, not with multibyte.
11373 <begline>: Declare the local variable C as `unsigned'.
11374 (bcmp_translate): Change the last arg name to target_multibyte.
11375
11376 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11377 the regexp pattern and the matching target. Set cp->buf.multibyte
11378 to the multibyteness of the regexp pattern. Set
11379 cp->but.target_multibyte to the multibyteness of the matching target.
11380 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11381 FETCH_STRING_CHAR_ADVANCE.
11382 (Freplace_match): Convert unibyte chars to multibyte.
11383
11384 * syntax.c (char_quoted, back_comment, scan_words)
11385 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11386 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11387 unibyte chars to multibyte.
11388 (skip_chars): Delete the arg syntaxp, and move the code for
11389 handling syntaxes to skip_syntaxes. Change callers.
11390 Fix the case that the multibyteness of STRING and the current
11391 buffer doesn't match.
11392 (skip_syntaxes): New function.
11393 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11394 SINGLE_BYTE_CHAR_P.
11395
113962008-02-01 Kenichi Handa <handa@m17n.org>
11397
11398 * xfaces.c (QCfontset): New variable.
11399 (LFACE_FONTSET): New macro.
11400 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11401 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11402 (Finternal_set_lisp_face_attribute)
11403 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11404 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11405 check also LFACE_FONTSET_INDEX.
11406 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11407 attrs[LFACE_FONT_INDEX].
11408 (syms_of_xfaces): Intern and staticpro QCfontset.
11409
11410 * dispextern.h (enum lface_attribute_index): New member
11411 LFACE_FONTSET_INDEX.
11412
11413 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11414
114152008-02-01 Kenichi Handa <handa@m17n.org>
11416
11417 * coding.c (coding_set_destination): Fix coding->destination for
11418 the case converting a region.
11419 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11420 (encode_coding_object): Fix coding->dst_pos and
11421 coding->dst_pos_byte for the case converting a region.
11422
11423 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11424
11425 * character.h (BYTE8_STRING): New macro.
11426
11427 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11428
114292008-02-01 Kenichi Handa <handa@m17n.org>
11430
11431 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11432 characters by octal form.
11433
11434 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11435
11436 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11437 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11438 _fetch_multibyte_char_len.
11439 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11440
11441 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11442
11443 * casefiddle.c (casify_object): Simplify. Handle the case that
11444 the case conversion change the byte length.
11445 (casify_region): Likewise.
11446
11447 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11448
11449 * character.c (_fetch_multibyte_char_len): Delete this variable.
11450 (syms_of_character): Setup Vprintable_chars.
11451
11452 * editfns.c (Fchar_equal): Fix for the unibyte case.
11453 (Finsert_byte): New function.
11454 (syms_of_editfns): Defsubr it.
11455
11456 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11457 of direct code 0x3ffff.
11458
11459 * search.c (Freplace_match): Fix for the unibyte case.
11460
114612008-02-01 Kenichi Handa <handa@m17n.org>
11462
11463 * lread.c (safe_to_load_p): Fix the logic.
11464
11465 * syntax.c (scan_words): Don't treat characters belonging to
11466 different scripts as constituting a word.
11467
11468 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11469
11470 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11471
11472 * emacs.c (main): In the case of --unibyte, instead of aborting on
11473 finding non-empty buffer, make it unibyte.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11478 to create a fontset.
11479
114802008-02-01 Dave Love <fx@gnu.org>
11481
11482 * character.c (Funibyte_char_to_multibyte): Doc fix.
11483
11484 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11485
114862008-02-01 Kenichi Handa <handa@m17n.org>
11487
11488 * fontset.c (fontset_add): Make the type `int'.
11489 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11490
11491 * character.c (unibyte_char_to_multibyte)
11492 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11493 charset_unibyte, not charset_primary.
11494
11495 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11496
11497 * charset.c (charset_unibyte): Rename from charset_primary.
11498 (Funibyte_charset): Rename from Fprimary_charset.
11499 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11500 (syms_of_charset): Adjust for the above changes.
11501
11502 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11503 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11504 it->multibyte_p is zero.
11505
11506 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11507 Delete extern.
11508
115092008-02-01 Kenichi Handa <handa@m17n.org>
11510
11511 * coding.c (Fdefine_coding_system_internal): Fix category setting
11512 for a coding system of type iso-2022.
11513
115142008-02-01 Kenichi Handa <handa@m17n.org>
11515
11516 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11517
115182008-02-01 Kenichi Handa <handa@m17n.org>
11519
11520 * syntax.c (Vnext_word_boundary_function_table): New variable.
11521 (next-word-boundary-function-table): Declare it as a Lisp variable
11522 in syms_of_syntax.
11523 (scan_words): Call functions in Vnext_word_boundary_function_table
11524 if any.
11525
11526 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11527
11528 * fontset.c (fs_load_font): If fontp->charset is not negative,
11529 return fontp without setting its members.
11530
115312008-02-01 Dave Love <fx@gnu.org>
11532
11533 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11534
11535 * m/sparc.h (HAVE_ALLOCA): Delete.
11536
11537 * s/irix6-5.h: Don't include strings.h.
11538 (bcopy, bzero, bcmp): Don't undef.
11539
11540 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11541
11542 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11543 (TIOCSIGSEND): Don't test IRIX6.
11544 (bcopy, bzero, bcmp): Define conditionally.
11545
115462008-02-01 Kenichi Handa <handa@m17n.org>
11547
11548 * buffer.c (Qas, Qmake, Qto): New variables.
11549 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11550 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11551
11552 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11553 we are inserting a process output into a multibyte buffer.
11554
11555 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11556 multibyte_char_to_unibyte.
11557
11558 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11559 by the primary charset, make it eight-bit char.
11560 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11561
11562 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11563 (charset_8_bit__control, charset_8_bit_graphic)
11564 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11565 (define_charset_internal): New function.
11566 (syms_of_charset): Call define_charset_internal for pre-defined
11567 charsets.
11568
11569 * charset.h (charset_8_bit): Extern it.
11570
11571 * coding.c (make_conversion_work_buffer): Adjust for the change
11572 of Fset_buffer_multibyte.
11573 (encode_coding_raw_text): Increment p0 in the loop.
11574
11575 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11576
11577 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11578 for the change of Fset_buffer_multibyte.
11579
11580 * fns.c (Fstring_to_multibyte): New function.
11581 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11582
115832008-02-01 Dave Love <fx@gnu.org>
11584
11585 * xfns.c (x_put_x_image): Declare args.
11586
11587 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11588 (try_font_list): Declare an arg.
11589
11590 * xdisp.c (message2_nolog, set_message): Declare an arg.
11591
11592 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11593
11594 * syntax.c (scan_sexps_forward): Declare an arg.
11595
11596 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11597 Declare an arg.
11598
11599 * lisp.h (Fnew_fontset): Declare.
11600
11601 * keymap.c (push_key_description): Call CHARACTERP correctly.
11602
11603 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11604 (face_for_char): Delete unused vars.
11605 (Fset_fontset_font): Doc fix. Delete unused vars.
11606
11607 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11608
11609 * composite.c (update_compositions): Declare arg.
11610
11611 * cm.c (calccost, cmgoto): Declare args.
11612
11613 * charset.c: Remove `emacs' conditional. Doc fixes.
11614 (map_char_table_for_charset): Declare.
11615
11616 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11617
11618 * ccl.c: Remove `emacs' conditional.
11619
116202008-02-01 Kenichi Handa <handa@m17n.org>
11621
11622 The following changes are to allow specifying multiple font
11623 patterns for a character range (specified by script or charset).
11624
11625 * Makefile.in (abbrev.o): Depend on syntax.h.
11626 (xfaces.o): Depend on charset.h.
11627
11628 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11629 SINGLE_BYTE_CHAR_P.
11630
11631 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11632
11633 * character.h (Vchar_script_table): Extern it.
11634
11635 * character.c (Vscript_alist): Delete.
11636 (Vchar_script_table, Qchar_script_table): New variable.
11637 (syms_of_character): Declare Vchar_script_table as a lisp variable
11638 and initialize it.
11639
11640 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11641 have property char-table-extra-slots, make no extra slot.
11642
11643 * dispextern.h (struct face): Delete member `charset'.
11644 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11645 SINGLE_BYTE_CHAR_P.
11646 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11647 Add prototypes.
11648 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11649 (generate_ascii_font_name): Rename from generate_ascii_font.
11650
11651 * fontset.h (get_font_repertory_func): New prototype.
11652 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11653 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11654
11655 * fontset.c (Qprepend, Qappend): New variables.
11656 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11657 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11658 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11659 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11660 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11661 (load_font_get_repertory): New functions.
11662 (fontset_set): Delete.
11663 (fontset_face): New arg FACE. Return face ID, not face.
11664 Complete re-write to handle new fontset structure. Change caller.
11665 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11666 (face_for_char): Don't call lookup_face.
11667 (make_fontset_for_ascii_face): New arg FACE.
11668 (fs_load_font): New arg CHARSET_ID. Don't check
11669 Vfont_encoding_alist here.
11670 (find_font_encoding): New function.
11671 (list_fontsets): Use STRINGP, not ! NILP.
11672 (accumulate_script_ranges): New function.
11673 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11674 re-written to handle new fontset structure.
11675 (Ffontset_font): Return a copy of element.
11676 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11677 docstring of font-encoding-alist.
11678
11679 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11680 (Fset_fotset_font): Fix arguments to 5.
11681
11682 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11683
11684 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11685 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11686 (highlight_trailing_whitespace): Adjust for the change of
11687 lookup_named_face.
11688
11689 * xfaces.c: Include charset.h.
11690 (load_face_font): Delete argument C. Change caller.
11691 (generate_ascii_font_name): Rename from generate_ascii_font.
11692 (font_name_registry): New function.
11693 (cache_face): Store ascii faces before non-ascii faces in buckets.
11694 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11695 Lookup only ascii faces.
11696 (lookup_non_ascii_face): New function.
11697 (lookup_named_face): Delete argument C. Change caller.
11698 (lookup_derived_face): Delete argument C. Change caller.
11699 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11700 a string, just call font_list with it.
11701 (choose_face_font): Delete arguments FACE and C. New arg
11702 FONT_SPEC. Change caller.
11703 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11704 Change caller.
11705 (realize_non_ascii_face): New function.
11706 (realize_x_face): Call load_face_font here.
11707 (realize_tty_face): Delete argument C. Change caller.
11708 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11709 get a face ID.
11710 (dump_realized_face): Don't print charset of FACE.
11711
11712 * xfns.c (x_set_font): Always call x_new_fontset and
11713 store_frame_parameter.
11714 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11715 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11716
11717 * xterm.h (x_get_font_repertory): Extern it.
11718
11719 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11720 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11721 it->multibyte_p is zero.
11722 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11723 (x_new_fontset): If FONTSETNAME doesn't match any existing
11724 fontsets, create a new one.
11725 (x_get_font_repertory): New function.
11726
117272008-02-01 Kenichi Handa <handa@m17n.org>
11728
11729 * coding.c (Ffind_coding_systems_region_internal): Detect an
11730 ASCII only string correctly.
11731
11732 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11733 version is 0.
11734
117352008-02-01 Kenichi Handa <handa@m17n.org>
11736
11737 * lread.c: Include "coding.h".
11738 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11739 (load_each_byte, unread_char): New variables.
11740 (readchar_backlog): Delete.
11741 (readchar): Return a character unless load_each_byte is nonzero.
11742 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11743 cons. If unread_char is not -1, simply return it.
11744 (unreadchar): Handle the case that readcharfun is
11745 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11746 (read_multibyte): Delete.
11747 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11748 (read_emacs_mule_char): New functions.
11749 (Fload): Even if the file doesn't have the extension ".elc", if
11750 safe_to_load_p returns a positive version number, assume that the
11751 file contains bytecompiled code. If the version is less than 22,
11752 load the file while decoding multibyte sequences by emacs-mule.
11753 (readevalloop): Don't use readchar_backlog.
11754 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11755 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11756 (read_escape): Delete the arg BYTEREP.
11757 (read1): Set load_each_byte to 1 temporarily while handling
11758 #@NUMBER. Don't call read_multibyte.
11759 (read_vector): Call Fread with a cons. If readcharfun is
11760 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11761 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11762 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11763 and Qload_force_doc_strings.
11764
117652008-02-01 Kenichi Handa <handa@m17n.org>
11766
11767 * xdisp.c (face_before_or_after_it_pos): Call
11768 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11769
117702008-02-01 Kenichi Handa <handa@m17n.org>
11771
11772 * character.h (TRAILING_CODE_P): New macro.
11773 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11774 (string_char_with_unification): Fix prototype.
11775 (Vscript_alist): Extern it.
11776
11777 * character.c (Vscript_alist): New variable.
11778 (string_char_with_unification, str_as_unibyte)
11779 (string_escape_byte8): Add `const' to local variables.
11780 (syms_of_character): Declare script-alist as a Lisp variable.
11781
11782 * charset.h (Vcharset_ordered_list): Extern it.
11783 (charset_ordered_list_tick): Extern it.
11784 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11785 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11786 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11787 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11788 (Funify_charset): Adjust for the change of Funify_charset.
11789
11790 * charset.c (charset_ordered_list_tick): New variable.
11791 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11792 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11793 deunify intead of unify a charset.
11794 (string_xstring_p): Add `const' to local variables.
11795 (find_charsets_in_text): Add `const' to arguments and local variables.
11796 (encode_char): Adjust for the change of Funify_charset. Fix
11797 detecting of invalid code.
11798 (Fset_charset_priority): Increment charset_ordered_list_tick.
11799 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11800 and TO_CODE.
11801
11802 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11803 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11804 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11805 (decode_coding_ccl, consume_chars)
11806 (Ffind_coding_systems_region_internal)
11807 (Fcheck_coding_systems_region): Add `const' to local variables.
11808
11809 * print.c (print_object): Use octal form for printing the
11810 contents of a bool vector.
11811
118122008-02-01 Dave Love <fx@gnu.org>
11813
11814 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11815 <version == 20>: Refuse to load.
11816
118172008-02-01 Dave Love <fx@gnu.org>
11818
11819 * fns.c: Move coding.h.
11820 (Qcodeset, Qdays, Qmonths): New.
11821 (concat): Use CHARACTERP instead of INTEGERP.
11822 (Flocale_codeset): Delete.
11823 (Flanginfo): New function.
11824 (syms_of_fns): Change accordingly.
11825
11826 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11827
118282008-02-01 Dave Love <fx@gnu.org>
11829
11830 * casetab.c (init_casetab_once, init_casetab_once): Fix
11831 CHAR_TABLE_SET call.
11832
11833 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11834
11835 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11836
11837 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11838 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11839 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11840
11841 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11842
11843 * coding.c (ENCODE_DESIGNATION, decode_eol)
11844 (make_conversion_work_buffer, code_conversion_restore)
11845 (Fdefine_coding_system_internal): Convert Lisp types.
11846 (code_conversion_restore): Use EQ, not ==.
11847 (Fencode_coding_string): Fix code_convert_string call.
11848
11849 * coding.h (code_convert_region): Fix prototype.
11850
11851 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11852
11853 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11854 (Ffontset_info): Convert Lisp types.
11855
11856 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11857
11858 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11859
11860 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11861
11862 * chartab.c: Include "...h", not <...h> in some cases.
11863
11864 * callproc.c (Fcall_process): Remove unused variables.
11865
118662008-02-01 Dave Love <fx@gnu.org>
11867
11868 * coding.c (Fset_coding_system_priority): Allow null arg list.
11869
118702008-02-01 Dave Love <fx@gnu.org>
11871
11872 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11873 (Fself_insert_and_exit): Use CHARACTERP.
11874
11875 * callproc.c (Fcall_process): Remove unused vars.
11876
11877 * xterm.c (XTread_socket): Add extra dead keysyms.
11878
11879 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11880
11881 * dispextern.h: Remove prototypes for redraw_frame,
11882 redraw_garbaged_frames.
11883
11884 * cmds.c (Fself_insert_command): Use CHARACTERP.
11885
11886 * chartab.c (make_sub_char_table): Remove unused var.
11887 (Fset_char_table_default, Fmap_char_table): Doc fix.
11888
11889 * keymap.c (access_keymap): Remove generic char code.
11890 (push_key_description): Use CHARACTERP.
11891
118922008-02-01 Dave Love <fx@gnu.org>
11893
11894 * charset.c: Doc fixes.
11895 (Funify_charset): Extra checking.
11896
118972008-02-01 Dave Love <fx@gnu.org>
11898
11899 * lread.c: Remove some unused variables.
11900 (safe_to_load_p): If safe, return the magic number version byte.
11901 (Fload): Maybe use load-with-code-conversion.
11902
119032008-02-01 Kenichi Handa <handa@m17n.org>
11904
11905 * category.c (Fmodify_category_entry): Don't modify the contents
11906 of category_set for characters out of the range. Avoid
11907 unnecessary modification.
11908
11909 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11910 Vchar_unify_table. The default value of the table is now nil.
11911
11912 * character.c (syms_of_character): Setup Vchar_width_table for
11913 eight-bit-control and raw-byte chars.
11914
11915 * charset.h (enum define_charset_arg_index): Delete
11916 charset_arg_parents and add charset_arg_subset and
11917 charset_arg_superset.
11918 (enum charset_attr_index): Delete charset_parents and add
11919 charset_subset and charset_superset.
11920 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11921 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11922 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11923 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11924 (CHARSET_SUPERSET): New macros.
11925 (charset_work): Extern it.
11926 (ENCODE_CHAR): Use charset_work.
11927 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11928 (map_charset_chars): Extern it.
11929
11930 * charset.c (load_charset_map): Set the default value of encoder
11931 and deunifier char-tables to nil.
11932 (map_charset_chars): Change argument. Change callers. Use
11933 map_char_table_for_charset instead of map_char_table.
11934 (Fmap_charset_chars): New optional args from_code and to_code.
11935 (Fdefine_charset_internal): Adjust for the change of
11936 `define-charset' (:parents -> :subset or :superset).
11937 (charset_work): New variable.
11938 (encode_char, syms_of_charset): Adjust for the change of
11939 Fdefine_charset_internal.
11940 (Ffind_charset_string): Setup the vector `charsets' correctly.
11941
11942 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11943 the previous change.
11944 (char_table_ref_and_range): Adjust for the above change.
11945 (map_sub_char_table_for_charset): New function.
11946 (map_char_table_for_charset): New function.
11947
11948 * keymap.c (describe_vector): Handle a char-table directly here.
11949 (describe_char_table): Delete.
11950
11951 * lisp.h (map_charset_chars): Delete.
11952
119532008-02-01 Dave Love <fx@gnu.org>
11954
11955 * fns.c (count_combining): Comment out (unused).
11956 (Flocale_codeset): New.
11957 (syms_of_fns): Defsubr it.
11958
11959 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11960 (size_t): Remove.
11961
119622008-02-01 Dave Love <fx@gnu.org>
11963
11964 * Makefile.in (chartab.o): Depend on charset.h.
11965
119662008-02-01 Kenichi Handa <handa@m17n.org>
11967
11968 * character.c (syms_of_character): Set the default value of
11969 Vprintable_chars to Qnil.
11970
119712008-02-01 Dave Love <fx@gnu.org>
11972
11973 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11974
119752008-02-01 Kenichi Handa <handa@m17n.org>
11976
11977 * charset.c (load_charset_map): Handle the case that from < to
11978 correctly.
11979
11980 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11981 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11982 Pay attention to raw-8-bit chars.
11983
119842008-02-01 Kenichi Handa <handa@m17n.org>
11985
11986 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11987 It is not bytecompiled now.
11988
11989 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11990 (charset_jisx0208): New variables.
11991 (Fdefine_charset_internal): Setup them if appropriate.
11992 (init_charset_once): Initialize them to -1.
11993
11994 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11995 (charset_jisx0208): Extern them.
11996
11997 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11998 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11999 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12000 (setup_iso_safe_charsets): Fix arguments to Fassq.
12001 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12002 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12003 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12004 (encode_coding_iso_2022): Change the 1st arg to
12005 ENCODE_ISO_CHARACTER to a variable.
12006
120072008-02-01 Kenichi Handa <handa@m17n.org>
12008
12009 * charset.h (enum define_charset_arg_index): New enums
12010 charset_arg_min_code and charset_arg_max_code.
12011 (struct charset): New member char_index_offset.
12012
12013 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12014 Take charset->char_index_offset into account.
12015 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12016 args[charset_arg_max_code]. Setup charset.char_index_offset.
12017 (syms_of_charset): Fix args to Fdefine_charset_internal.
12018
120192008-02-01 Dave Love <fx@gnu.org>
12020
12021 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12022
120232008-02-01 Dave Love <fx@gnu.org>
12024
12025 * coding.c: Doc fixes.
12026 (Fcoding_system_aliases): Fix return value.
12027 (Qmac): Remove (duplicated) definition.
12028
120292008-02-01 Dave Love <fx@gnu.org>
12030
12031 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12032 functions.
12033
12034 * character.c (Fstring): Doc fix.
12035
12036 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12037
12038 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12039 ids.
12040 (font-encoding-alist): Doc fix.
12041
120422008-02-01 Dave Love <fx@gnu.org>
12043
12044 * term.c (costs_set): Declare static, non-initialized for pcc.
12045 (encode_terminal_code): Remove unused var.
12046
12047 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12048 for K&R.
12049
12050 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12051
12052 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12053 (suffixes): Move out of make_subsidiaries for K&R.
12054
12055 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12056
12057 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12058
120592008-02-01 Dave Love <fx@gnu.org>
12060
12061 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12062
12063 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12064
120652008-02-01 Yong Lu <lyongu@asia-infonet.com>
12066
12067 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12068
12069 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12070
120712008-02-01 Kenichi Handa <handa@m17n.org>
12072
12073 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12074 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12075
120762008-02-01 Kenichi Handa <handa@m17n.org>
12077
12078 * coding.c (decode_coding_charset): Adjust for the change of
12079 Fdefine_coding_system_internal.
12080 (Fdefine_coding_system_internal): For a coding system of
12081 `charset' type, store a list of charset IDs in
12082 `charset_attr_charset_valids' element of coding attributes.
12083
120842008-02-01 Kenichi Handa <handa@m17n.org>
12085
12086 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12087 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12088 caller. Handle 2-byte and 3-byte charsets correctly.
12089 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12090 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12091 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12092 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12093 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12094 sequence.
12095 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12096 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12097 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12098 and alt&rule composition.
12099 (decode_coding_iso_2022): Handle composition correctly.
12100 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12101
12102 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12103 re-defining a charset. If the charset has :emacs-mule-id, setup
12104 emacs_mule_bytes.
12105 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12106
121072008-02-01 Kenichi Handa <handa@m17n.org>
12108
12109 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12110 (encode_coding_big5, encode_coding_charset): If coding requires safe
12111 encoding, produce a character specified by
12112 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12113
121142008-02-01 Dave Love <fx@gnu.org>
12115
12116 * xterm.c (XSetIMValues): Declare.
12117
12118 * process.c: Conditionally include sys/wait.h, pty.h.
12119
12120 * print.c (print_object): Fix print format for 64-bit systems.
12121
12122 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12123
12124 * buffer.c (emacs_strerror): Declare.
12125
12126 * fontset.c (Fclear_face_cache): Declare.
12127 (accumulate_font_info): Comment-out (unused).
12128 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12129 variables.
12130
12131 * character.h (string_escape_byte8): Declare.
12132
12133 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12134 unused vars.
12135 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12136 (Fmap_charset_chars): Doc fix.
12137
12138 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12139 (Fset_coding_system_priority, Fset_coding_system_priority)
12140 (Fdefine_coding_system_internal): Doc fix.
12141
121422008-02-01 Dave Love <fx@gnu.org>
12143
12144 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12145
121462008-02-01 Kenichi Handa <handa@m17n.org>
12147
12148 * character.c (string_escape_byte8): Make multibyte string with
12149 correct size.
12150
12151 * charset.c (Fmake_char): Delete unnecessary code.
12152
121532008-02-01 Kenichi Handa <handa@m17n.org>
12154
12155 * xfns.c (x_encode_text): Allocate coding.destination here, and
12156 call encode_coding_object with dst_object Qnil.
12157
12158 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12159 multibyte form correctly.
12160
12161 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12162 against Vfont_encoding_alist.
12163
12164 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12165 handling of charset list.
12166 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12167 (decode_coding_object): Move point to coding->dst_pos before
12168 calling post-read-conversion function.
12169 (encode_coding_object): Give correct arguments to
12170 pre-write-conversion. Ignore the return value of
12171 pre-write-conversion function. Pay attention to the case that
12172 pre-write-conversion changes the current buffer. If dst_object is
12173 Qt, even if coding->src_bytes is zero, allocate at least one byte
12174 to coding->destination.
12175
12176 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12177
12178 * charset.c (Fmake_char): Make it more backward compatible.
12179 (Fmap_charset_chars): Fix docstring.
12180
121812008-02-01 Dave Love <fx@gnu.org>
12182
12183 * coding.c: Doc fixes.
12184 (Fdefine_coding_system_alias): Use names, not symbols, in
12185 coding-system-alist.
12186
121872008-02-01 Kenichi Handa <handa@m17n.org>
12188
12189 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12190 of calling free_realized_face.
12191
121922008-02-01 Yong Lu <lyongu@asia-infonet.com>
12193
12194 * charset.c (read_hex): Don't treat SPC as a comment starter.
12195 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12196 (Fdecode_char): Fix typo.
12197
121982008-02-01 Kenichi Handa <handa@m17n.org>
12199
12200 * charset.h (struct charset): New member `code_space_mask'.
12201
12202 * coding.c (coding_set_source): Delete the local variable beg_byte.
12203 (encode_coding_charset, Fdefine_coding_system_internal):
12204 Delete the local variable charset.
12205 (Fdefine_coding_system_internal): Setup
12206 attrs[coding_attr_charset_valids] correctly.
12207
12208 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12209 member to check if CODE is valid or not.
12210 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12211 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12212 is within the range of charset->min_code and carset->max_code.
12213
122142008-02-01 Dave Love <fx@gnu.org>
12215
12216 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12217
12218 * dispextern.h (generate_ascii_font): Fix return type.
12219
12220 * xfaces.c (generate_ascii_font): Fix arg declaration.
12221
12222 * coding.c (coding_inherit_eol_type)
12223 (Fset_terminal_coding_system_internal)
12224 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12225
122262008-02-01 Kenichi Handa <handa@m17n.org>
12227
12228 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12229 multiple charsets correctly.
12230
122312008-02-01 Kenichi Handa <handa@m17n.org>
12232
12233 * search.c (boyer_moore): Fix handling of multibyte character
12234 translation.
12235
12236 * xdisp.c (display_mode_element): When the variable `elt' is
12237 changed, update `this' and `lisp_string'.
12238
122392008-02-01 Kenichi Handa <handa@m17n.org>
12240
12241 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12242
12243 * callproc.c (Fcall_process): Be sure to give the current buffer
12244 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12245
12246 * charset.c (struct charset_map_entries): New struct.
12247 (load_charset_map): Rename from parse_charset_map. New args
12248 entries and n_entries. Change caller.
12249 (load_charset_map_from_file): Rename from load_charset_map.
12250 Change caller. New arg control_flag. Call load_charset_map at
12251 the tail.
12252 (load_charset_map_from_vector): New function.
12253 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12254 (encode_char): If the charset is compact, change a character index
12255 to a code point.
12256
12257 * coding.c (coding_alloc_by_making_gap): Check the case that the
12258 source and destination are the same correctly.
12259 (decode_coding_raw_text): Set coding->consumed_char and
12260 coding->consumed to 0.
12261 (produce_chars): If coding->chars_at_source is nonzero, update
12262 coding->consumed_char and coding->consumed before calling
12263 alloc_destination.
12264 (Fdefine_coding_system_alias): Register ALIAS in
12265 Vcoding_system_alist.
12266 (syms_of_coding): Define `no-conversion' coding system at the tail.
12267
12268 * fileio.c (Finsert_file_contents): Set coding_system instead of
12269 val. If the current buffer is multibyte, always call
12270 decode_coding_gap.
12271
12272 * xfaces.c (try_font_list): Give higher priority to fontset's
12273 family than face's family.
12274
122752008-02-01 Kenichi Handa <handa@m17n.org>
12276
12277 * callproc.c (Fcall_process): Be sure to give the current buffer
12278 to decode_coding_c_string.
12279
12280 * xfaces.c (try_font_list): Give a family specified in a fontset
12281 higher priority than a family specified in a face.
12282
122832008-02-01 Kenichi Handa <handa@m17n.org>
12284
12285 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12286 Fix arguments to insert_from_buffer.
12287
12288 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12289
122902008-02-01 Kenichi Handa <handa@m17n.org>
12291
12292 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12293 (decode_coding_gap): Set coding->dst_multibyte correctly.
12294
122952008-02-01 Kenichi Handa <handa@m17n.org>
12296
12297 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12298 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12299 (encode_coding_utf_16): Substitute coding->default_char for
12300 non-Unicode characters.
12301 (decode_coding): Don't call record_insert here.
12302 (setup_coding_system): Initialize `surrogate' of
12303 coding->spec.utf_16 to 0.
12304 (EMIT_ONE_BYTE): Fix for multibyte case.
12305
12306 * insdel.c (insert_from_gap): Call record_insert.
12307
123082008-02-01 Kenichi Handa <handa@m17n.org>
12309
12310 * casefiddle.c (casify_region): Fix multibyte case.
12311
12312 * character.c (c_string_width): Add return type `int'.
12313 (char_string_with_unification): Delete arg ADVANCED.
12314
12315 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12316 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12317 (CHAR_STRING_ADVANCE): Make it do-while statement.
12318
12319 * chartab.c (sub_char_table_set_range): Optimize for the case
12320 DEPTH == 3. Add workaround code for a GCC optimization bug.
12321
12322 * charset.c (parse_charset_map): Remove an unused variable.
12323
12324 * coding.c: Delete unused variables.
12325
12326 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12327 earlier. If inserted is zero and the coding system doesn't
12328 require flushing, don't call decode_coding_gap.
12329
12330 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12331
123322008-02-01 Kenichi Handa <handa@m17n.org>
12333
12334 The following changes are for using Unicode as an internal
12335 character model, and use UTF-8 format for buffer/string
12336 representation.
12337
12338 * .gdbinit (xchartable): Adjust for the change of char table structure.
12339 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12340
12341 * Makefile.in (obj): Add character.o and chartab.o.
12342 (lisp, shortlisp): Remove utf-8.elc.
12343 (*.o): For many files, change dependency on charset.h to
12344 character.h, and add dependency on character.h.
12345 (character.o, chartab.o): New targets.
12346
12347 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12348 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12349 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12350 of "charset.h".
12351
12352 * dired.c, filelock.c: Include "character.h".
12353
12354 * alloc.c: Include "character.h" instead of "charset.h".
12355 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12356 (syms_of_alloc): Remove defsubr for Smake_char_table.
12357
12358 * buffer.c: Include "character.h" instead of "charset.h", don't
12359 include "coding.h".
12360 (Fset_buffer_multibyte): Adjust for UTF-8.
12361
12362 * buffer.h: EXFUN Fbuffer_live_p.
12363
12364 * callproc.c: Include "character.h" instead of "charset.h".
12365 (Fcall_process): Big change for the new code-conversion APIs.
12366
12367 * casetab.c: Include "character.h" instead of "charset.h".
12368 (set_canon, set_identity, shuffle): Adjust for the new
12369 map_char_table spec.
12370 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12371 accessing the char table structure.
12372
12373 * chartab.c: New file that implements char table.
12374
12375 * category.c: Include "character.h".
12376 (copy_category_entry): New function.
12377 (copy_category_table): Call map_char_table and copy_category_entry.
12378 (Fmake_category_table): Initialize all top-level slots.
12379 (char_category_set): New function.
12380 (modify_lower_category_set): Delete.
12381 (Fmodify_category_entry): Call char_table_ref_and_range.
12382
12383 * category.h (CATEGORY_SET): Just call char_category_set.
12384
12385 * ccl.c: Include "character.h".
12386 (Qccl, Qcclp): New variables.
12387 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12388 it's less than 256.
12389 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12390 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12391 and DST type.
12392 (ccl_driver): Change types of argument, adjust code accordingly.
12393 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12394 ccl_driver.
12395 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12396
12397 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12398 New members src_multibyte, dst_multibyte, consumed, and produced.
12399 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12400 (CODING_SPEC_CCL_PROGRAM): New macro.
12401 (ccl_driver): Update prototype.
12402 (Qccl, Qcclp, Fccl_program_p): Extern them.
12403 (CHECK_CCL_PROGRAM): New macro.
12404
12405 * character.c, character.h, chartab.c: New files.
12406
12407 * charset.c: Mostly re-written. Move character and multibyte sequence
12408 handling codes to character.c.
12409
12410 * charset.h: Mostly re-written. Move character and multibyte sequence
12411 handling codes to character.h.
12412
12413 * coding.c, coding.h: Mostly re-written.
12414
12415 * composite.c: Include "character.h" instead of "charset.h".
12416 (CHAR_WIDTH): Move to character.h.
12417 (HASH_KEY, HASH_VALUE): Delete.
12418
12419 * composite.h (enum composition_method): Change order of enumeration
12420 symbols.
12421
12422 * data.c: Include "character.h" instead of "charset.h".
12423 (Faref): Call CHAR_TABLE_REF for a char table.
12424 (Faset): Call CHAR_TABLE_SET for a char table.
12425
12426 * dispextern.h (free_realized_face, check_face_attribytes)
12427 (generate_ascii_font): Extern them.
12428 (free_realized_multibyte_face): Delete extern.
12429
12430 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12431 table structure.
12432
12433 * editfns.c: Include "character.h" instead of "charset.h".
12434 (Fchar_to_string): Always call CHAR_STRING.
12435
12436 * emacs.c (main): Call init_charset_once, init_charset,
12437 syms_of_chartab, and syms_of_character.
12438
12439 * fileio.c: Include "character.h" instead of "charset.h".
12440 (Finsert_file_contents): Big change for the new code-conversion API.
12441 (choose_write_coding_system, Fwrite_region): Likewise.
12442 (build_annotations_2): Delete.
12443 (e_write): Big change for the new code-conversion API.
12444
12445 * fns.c: Include "character.h" instead of "charset.h".
12446 (copy_sub_char_table): Move to chartab.c.
12447 (Fcopy_sequence): Call copy_char_table for a char table.
12448 (concat): Delete codes calling count_multibyte.
12449 (string_char_to_byte, string_byte_to_char): Adjust for the new
12450 multibyte form.
12451 (internal_equal): Adjust for the change of char table structure.
12452 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12453 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12454 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12455 (char_table_translate, optimize_sub_char_table)
12456 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12457 chartab.c.
12458 (char_table_ref_and_index): Delete.
12459 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12460 (Fmd5): Call preferred_coding_system instead of accessing
12461 Vcoding_category_list. Adjust for the new code-conversion API.
12462 (syms_of_fns): Move defsubr for char table related functions to
12463 chartab.c.
12464
12465 * fontset.c: Mostly re-written.
12466
12467 * fontset.h (struct font_info): Change type of the member encoding_type.
12468 (enum FONT_SPEC_INDEX): New enum.
12469 (fontset_font_pattern, fs_load_font): Update prototype.
12470 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12471
12472 * indent.c: Include "character.h" instead of "charset.h".
12473 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12474
12475 * insdel.c: Include "character.h" instead of "charset.h".
12476 (copy_text): Don't refer to Vnonascii_translation_table.
12477 (insert_from_gap): New function.
12478
12479 * keyboard.c: Include "character.h" instead of "charset.h".
12480 (command_loop_1): Never call direct_output_forward_char before
12481 a non-ASCII character.
12482 (read_char): If Vkeyboard_translate_table is a char table, always
12483 translate a character.
12484
12485 * keymap.c: Include "character.h".
12486 (store_in_keymap): Handle the case that IDX is a cons.
12487 (Fdefine_key): Handle the case that KEY is a cons and the car part
12488 is also a cons (range).
12489 (push_key_description): Adjust for the new character code.
12490 (describe_vector): Call describe_char_table for a char table.
12491 (describe_char_table): New function.
12492
12493 * keymap.h (describe_char_table): Extern it.
12494
12495 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12496 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12497 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12498 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12499 Delete.
12500 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12501 structure.
12502 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12503 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12504 (CHARTAB_SIZE_BITS_3): New macros.
12505 (chartab_size): Extern it.
12506 (struct Lisp_Char_Table): Re-design.
12507 (struct Lisp_Sub_Char_Table): New structure.
12508 (HASH_KEY, HASH_VALUE): Move from fns.c.
12509 (CHARACTERBITS): Define as 22.
12510 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12511 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12512 (GC_SUB_CHAR_TABLE_P): New macro.
12513 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12514 (code_convert_string_norecord): Deleted extern.
12515 (init_character_once, syms_of_character, init_charset)
12516 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12517
12518 * lread.c: Include "character.h".
12519 (read_multibyte): New arg NBYTES.
12520 (read_escape): Change the meaning of returned *BYTEREP.
12521 (to_multibyte): Delete.
12522 (read1): Adjust the handling of char table and string.
12523
12524 * print.c: Include "character.h" instead of "charset.h".
12525 (print_string): Convert 8-bit raw bytes to octal form by
12526 string_escape_byte8.
12527 (print_object): Adjust for the new multibyte form. Print 8-bit
12528 raw bytes always in octal form. Handle sub char table correctly.
12529
12530 * process.c: Include "character.h" instead of "charset.h".
12531 (read_process_output, send_process): Adjust for the new
12532 code-conversion API.
12533
12534 * puresize.h (BASE_PURESIZE): Increase.
12535
12536 * regex.c: Include "character.h" instead of "charset.h".
12537 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12538 (regex_compile): Accept a range whose starting and ending
12539 character have different leading bytes.
12540 (analyse_first): Adjust for the above change.
12541
12542 * search.c: Include "character.h" instead of "charset.h".
12543 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12544 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12545
12546 * syntax.c: Include "character.h" instead of "charset.h".
12547 (syntax_parent_lookup): Delete.
12548 (Fmodify_syntax_entry): Accept a cons as CHAR.
12549 (skip_chars): Adjust for the new multibyte form.
12550 (init_syntax_once): Call char_table_set_range instead of directly
12551 accessing the structure of a char table.
12552
12553 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12554 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12555 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12556 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12557
12558 * term.c: Include "buffer.h" and "character.h".
12559 (encode_terminal_code, write_glyphs): Adjust for the new
12560 code-conversion API.
12561 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12562
12563 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12564
12565 * xdisp.c: Include "character.h".
12566 (get_next_display_element): Adjust for the new multibyte form.
12567 (disp_char_vector): Adjust for the new char table structure.
12568 (decode_mode_spec_coding): Adjust for the new structure of
12569 coding system.
12570 (decode_mode_spec): Adjust for the new code-conversion API.
12571
12572 * xfaces.c: Include "character.h" instead of "charset.h".
12573 (load_face_font): Adjust for the change of choose_face_font and
12574 FS_LOAD_FONT.
12575 (generate_ascii_font): New function.
12576 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12577 (set_font_frame_param): Adjust for the change of choose_face_font.
12578 (free_realized_face): Make it public.
12579 (free_realized_faces_for_fontset): Rename from
12580 free_realized_multibyte_face. Free also faces realized for ASCII.
12581 (choose_face_font): Change arguments. Adjust for the change of
12582 fontset_font_pattern and FS_LOAD_FONT.
12583
12584 * xfns.c: Include "character.h".
12585 (x_encode_text): Adjust for the new code-conversion API.
12586
12587 * xselect.c: Don't include "charset.h".
12588 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12589
12590 * xterm.c: Include "character.h".
12591 (x_encode_char): New argument CHARSET. Change caller.
12592 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12593 Call ENCODE_CHAR instead of SPLIT_CHAR.
12594 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12595 CHAR_WIDTH instead of CHARSET_WIDTH.
12596 (XTread_socket): Adjust for the new code-conversion API.
12597 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12598 (x_load_font): Adjust for the change of struct font.
12599
126002008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12601
12602 * xfaces.c (face_at_buffer_position): Remove unused vars.
12603
126042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12605
12606 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12607 Fix overflow checking.
12608
126092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12610
12611 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12612 Cancel previous change.
12613
126142008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12615
12616 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12617 ccl->eight_bit_control. Fix check for buffer overflow.
12618 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12619 (ccl_driver): Initialize extra_bytes to 0.
12620
126212008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12622
12623 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12624 return it ORed with ctrl_modifier.
12625
126262008-01-29 Miles Bader <miles@gnu.org>
12627
12628 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12629
126302008-01-28 Jason Rumney <jasonr@gnu.org>
12631
12632 * w32.c (stat): Don't double check for networked drive.
12633
126342008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12635
12636 * window.c (run_window_configuration_change_hook): New function.
12637 Code extracted from set_window_buffer. Set the selected frame.
12638 (set_window_buffer): Use it.
12639 * window.h (run_window_configuration_change_hook): Declare.
12640 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12641
12642 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12643
126442008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12645
12646 * Makefile.in: Remove references to unused macros.
12647
126482008-01-26 Eli Zaretskii <eliz@gnu.org>
12649
12650 * w32.c (g_b_init_get_sid_sub_authority)
12651 (g_b_init_get_sid_sub_authority_count): New static variables.
12652 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12653 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12654 (init_user_info): Use them to retrieve uid and gid.
12655 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12656 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12657 st_uid and st_gid of the file.
12658
126592008-01-26 Jason Rumney <jasonr@gnu.org>
12660
12661 * w32.c (logon_network_drive): New function.
12662 (stat): Use it.
12663
126642008-01-26 Chong Yidong <cyd@stupidchicken.com>
12665
12666 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12667 invisible text covered with an ellipsis.
12668
126692008-01-25 Richard Stallman <rms@gnu.org>
12670
12671 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12672 jump back to beginning. Move some other initializations after that.
12673 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12674 New variables.
12675 (syms_of_xdisp): Init them.
12676
12677 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12678
12679 * buffer.c (reset_buffer_local_variables):
12680 Implement `permanent-local-hook'.
12681 (Qpermanent_local_hook): New variable.
12682 (syms_of_buffer): Init and staticpro it.
12683
126842008-01-25 Michael Albinus <michael.albinus@gmx.de>
12685
12686 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12687
126882008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12689
12690 * fns.c (Fclrhash): Return TABLE.
12691
126922008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12693
12694 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12695 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12696 is set even without positional changes.
12697 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12698
12699 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12700
127012008-01-23 Jason Rumney <jasonr@gnu.org>
12702
12703 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12704
12705 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12706 the unicode range available in MULE by locale-coding-system.
12707 Improve dbcs lead byte detection. Set event timestamp and modifiers
12708 earlier.
12709
127102008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12711
12712 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12713 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12714 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12715 when used on child processes.
12716
127172008-01-21 Michael Albinus <michael.albinus@gmx.de>
12718
12719 * dbusbind.c (Fdbus_method_return_internal): Rename from
12720 Fdbus_method_return.
12721 (Fdbus_unregister_object): Move to dbus.el.
12722 (Fdbus_call_method, Fdbus_method_return_internal)
12723 (Fdbus_send_signal): Improve debug messages.
12724
127252008-01-20 Martin Rudalics <rudalics@gmx.at>
12726
12727 * undo.c (undo_inhibit_record_point): New variable.
12728 (syms_of_undo): Initialize it.
12729 (record_point): Don't record point when undo_inhibit_record_point
12730 is set.
12731
127322008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12733
12734 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12735
12736 * xdisp.c (Qauto_hscroll_mode): New var.
12737 (syms_of_xdisp): Initialize it.
12738 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12739 window's buffer.
12740 (hscroll_windows): Don't check automatic_hscrolling_p here.
12741
12742 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12743 vscroll if we're setting window-buffer to the value it already has.
12744
127452008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12746
12747 * m/intel386.h: Remove references to XENIX.
12748
127492008-01-17 Andreas Schwab <schwab@suse.de>
12750
12751 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12752 instead of HAVE_X86_64_LIB64_DIR.
12753 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12754
127552008-01-17 Glenn Morris <rgm@gnu.org>
12756
12757 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12758 to HAVE_X86_64_LIB64_DIR.
12759
127602008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12761
12762 * s/irix3-3.h:
12763 * s/irix4-0.h:
12764 * s/386-ix.h:
12765 * s/domain.h:
12766 * s/hpux9-x11r4.h:
12767 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12768
12769 * sysdep.c: Remove code containing references to symbols defined
12770 by unsupported systems.
12771
127722008-01-16 Glenn Morris <rgm@gnu.org>
12773
12774 * coding.c (select-safe-coding-system-function): Doc fix.
12775
127762008-01-15 Glenn Morris <rgm@gnu.org>
12777
12778 * config.in: Revert 2008-01-13 change: this is a generated file.
12779
127802008-01-13 Tom Tromey <tromey@redhat.com>
12781
12782 * lisp.h: Fix typo.
12783
127842008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12785
12786 * m/sequent-ptx.h:
12787 * m/sequent.h:
12788 * s/ptx.h:
12789 * s/ptx4-2.h:
12790 * s/ptx4.h: Remove files for systems no longer supported.
12791
12792 * callproc.c (Fcall_process): Fix previous change.
12793
127942008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12795
12796 * unexsunos4.c: Remove file, system not supported anymore.
12797
12798 * m/mips.h:
12799 * m/intel386.h:
12800 * callproc.c:
12801 * config.in:
12802 * ecrt0.c:
12803 * emacs.c:
12804 * fileio.c:
12805 * frame.c:
12806 * getpagesize.h:
12807 * keyboard.c:
12808 * lread.c:
12809 * process.c:
12810 * puresize.h:
12811 * sysdep.c:
12812 * systty.h:
12813 * syswait.h:
12814 * unexec.c:
12815 * xdisp.c:
12816 * alloc.c: Remove code containing references to symbols defined by
12817 unsupported systems.
12818
128192008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12820
12821 * coding.c (detect_coding_mask): Fix previous change.
12822
128232008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12824
12825 * coding.c (detect_coding_iso2022): New arg
12826 latin_extra_code_state. Allow Latin extra codes only
12827 when *latin_extra_code_state is nonzero.
12828 (detect_coding_mask): If there is a NULL byte, detect the encoding
12829 as UTF-16 or binary. If Latin extra codes exist, detect the
12830 encoding as ISO-2022 only when there's no other proper encoding is
12831 found.
12832
128332008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12834
12835 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12836 #ifdef MAC_OS.
12837
128382008-01-08 Richard Stallman <rms@gnu.org>
12839
12840 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12841
128422008-01-06 Nick Roberts <nickrob@snap.net.nz>
12843
12844 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12845 menu bar in parentheses.
12846
128472008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12848
12849 * m/7300.h:
12850 * m/acorn.h:
12851 * m/alliant-2800.h:
12852 * m/alliant.h:
12853 * m/alliant1.h:
12854 * m/alliant4.h:
12855 * m/altos.h:
12856 * m/amdahl.h:
12857 * m/apollo.h:
12858 * m/att3b.h:
12859 * m/aviion-intel.h:
12860 * m/aviion.h:
12861 * m/celerity.h:
12862 * m/clipper.h:
12863 * m/cnvrgnt.h:
12864 * m/convex.h:
12865 * m/cydra5.h:
12866 * m/delta88k.h:
12867 * m/dpx2.h:
12868 * m/dual.h:
12869 * m/elxsi.h:
12870 * m/f301.h:
12871 * m/gould-np1.h:
12872 * m/gould.h:
12873 * m/i860.h:
12874 * m/ibmps2-aix.h:
12875 * m/ibmrt-aix.h:
12876 * m/ibmrt.h:
12877 * m/irist.h:
12878 * m/is386.h:
12879 * m/isi-ov.h:
12880 * m/mega68.h:
12881 * m/mg1.h:
12882 * m/news-r6.h:
12883 * m/news-risc.h:
12884 * m/news.h:
12885 * m/nh3000.h:
12886 * m/nh4000.h:
12887 * m/ns16000.h:
12888 * m/ns32000.h:
12889 * m/nu.h:
12890 * m/orion.h:
12891 * m/orion105.h:
12892 * m/paragon.h:
12893 * m/pfa50.h:
12894 * m/plexus.h:
12895 * m/pyramid.h:
12896 * m/pyrmips.h:
12897 * m/sh3el.h:
12898 * m/sps7.h:
12899 * m/sr2k.h:
12900 * m/stride.h:
12901 * m/sun1.h:
12902 * m/sun2.h:
12903 * m/sun3-68881.h:
12904 * m/sun3-fpa.h:
12905 * m/sun3-soft.h:
12906 * m/sun3.h:
12907 * m/sun386.h:
12908 * m/symmetry.h:
12909 * m/tad68k.h:
12910 * m/tahoe.h:
12911 * m/targon31.h:
12912 * m/tek4300.h:
12913 * m/tekxd88.h:
12914 * m/tower32.h:
12915 * m/tower32v3.h:
12916 * m/ustation.h:
12917 * m/wicat.h:
12918 * m/xps100.h:
12919 * s/cxux.h:
12920 * s/cxux7.h:
12921 * s/dgux.h:
12922 * s/dgux4.h:
12923 * s/dgux5-4-3.h:
12924 * s/dgux5-4r2.h:
12925 * s/esix.h:
12926 * s/esix5r4.h:
12927 * s/hiuxmpp.h:
12928 * s/hiuxwe2.h:
12929 * s/iris3-5.h:
12930 * s/iris3-6.h:
12931 * s/isc2-2.h:
12932 * s/isc3-0.h:
12933 * s/isc4-0.h:
12934 * s/isc4-1.h:
12935 * s/newsos5.h:
12936 * s/newsos6.h:
12937 * s/osf1.h:
12938 * s/osf5-0.h:
12939 * s/riscix1-1.h:
12940 * s/riscix12.h:
12941 * s/sco4.h:
12942 * s/sco5.h:
12943 * s/sunos4-0.h:
12944 * s/sunos4-1.h:
12945 * s/sunos413.h:
12946 * s/sunos4shr.h:
12947 * s/umax.h:
12948 * s/unipl5-2.h:
12949 * s/xenix.h:
12950 * cxux-crt0.s:
12951 * unexapollo.c:
12952 * unexconvex.c:
12953 * unexenix.c:
12954 * unexsni.c: Remove files for systems no longer supported.
12955
12956 * m/intel386.h: Remove references to unsupported systems.
12957
12958 * w32.c (get_emacs_configuration): Remove reference to i860.
12959
12960 * sysdep.c: Remove dead code.
12961
129622008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12963
12964 * s/rtu.h:
12965 * m/masscomp.h: Remove files. Platform is obsolete.
12966
129672008-01-04 Michael Albinus <michael.albinus@gmx.de>
12968
12969 * dbusbind.c (Fdbus_method_return): New function.
12970 (xd_read_message): Add the serial number to the event.
12971 (Fdbus_register_method): Activate the function.
12972
129732008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12974
12975 * keyboard.c (read_key_sequence): Fix typo.
12976
129772008-01-03 Michael Albinus <michael.albinus@gmx.de>
12978
12979 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12980 (xd_signature, xd_append_arg): Handle element type detection for
12981 empty arrays.
12982 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12983 SDATA () calls; this must be solved more general.
12984 (Fdbus_register_signal): Use SBYTES instead of strlen.
12985
129862008-01-03 Magnus Henoch <magnus@zemdatav>
12987
12988 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12989 unsigned int for byte values (necessary for big-endian platform).
12990 (Fdbus_call_method): Handle the case of no returned arguments.
12991
129922007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12993
12994 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12995
129962007-12-31 Magnus Henoch <mange@freemail.hu>
12997
12998 * dbusbind.c (xd_signature): Signature of variant is just "v".
12999
130002007-12-30 Michael Albinus <michael.albinus@gmx.de>
13001
13002 * dbusbind.c: Fix several errors and compiler warnings.
13003 Reported by Tom Tromey <tromey@redhat.com>.
13004 (XD_ERROR, XD_DEBUG_MESSAGE)
13005 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13006 (xd_append_arg): Part for basic D-Bus types rewritten.
13007 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13008 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13009 appropriate.
13010 (xd_read_message): Return Qnil. Don't signal an error; it is not
13011 useful during event reading.
13012 (Fdbus_register_signal): Signal an error if the check for
13013 FUNCTIONP fails.
13014 (Fdbus_register_method): New function. The implementation is not
13015 complete, the call of the function signals an error therefore.
13016 (Fdbus_unregister_object): New function, renamed from
13017 Fdbus_unregister_signal. The initial check signals an error, if
13018 the object is not well formed.
13019
130202007-12-30 Richard Stallman <rms@gnu.org>
13021
13022 * textprop.c (get_char_property_and_overlay):
13023 Signal error if POSITION is out of range in a buffer.
13024
130252007-12-29 Martin Rudalics <rudalics@gmx.at>
13026
13027 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13028 because the original parameters are in pure storage now.
13029
130302007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13031
13032 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13033
130342007-12-22 Eli Zaretskii <eliz@gnu.org>
13035
13036 * callint.c (syms_of_callint) <command-history>: Add reference to
13037 history-length in the doc string.
13038
130392007-12-17 Jason Rumney <jasonr@gnu.org>
13040
13041 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13042 before passing as wParam.
13043
130442007-12-22 Michael Albinus <michael.albinus@gmx.de>
13045
13046 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13047 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13048 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13049 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13050 as number.
13051 (Fdbus_call_method): Fix docstring.
13052
130532007-12-21 Michael Albinus <michael.albinus@gmx.de>
13054
13055 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13056 New macros.
13057 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13058 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13059 Simplify.
13060 (xd_signature): New function.
13061 (xd_append_arg): Compute also signatures. Major rewrite.
13062 (xd_retrieve_arg): Make debug messages friendly.
13063 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13064 Check for signatures of arguments.
13065
130662007-12-19 Michael Albinus <michael.albinus@gmx.de>
13067
13068 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13069 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13070 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13071 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13072 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13073 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13074 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13075 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13076 (xd_retrieve_value): Remove. Functionality included in ...
13077 (xd_append_arg): New function.
13078 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13079
130802007-12-16 Michael Albinus <michael.albinus@gmx.de>
13081
13082 * dbusbind.c (top): Include <stdio.h>.
13083 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13084 dbus_message_new_method_call and dbus_message_new_signal.
13085 (Fdbus_register_signal): Rename unique_name to uname.
13086 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13087 non-existing unique name. Fix typos in matching rule. Return an
13088 object which is useful in Fdbus_unregister_signal.
13089 (Fdbus_unregister_signal): Reimplementation, in order to remove
13090 only the corresponding entry.
13091 (Vdbus_registered_functions_table): Change the order of entries.
13092 Apply these changes in xd_read_message and Fdbus_register_signal.
13093
130942007-12-16 Andreas Schwab <schwab@suse.de>
13095
13096 * fileio.c (Finsert_file_contents): Fix overflow check to not
13097 depend on undefined integer overflow.
13098
130992007-12-14 Jason Rumney <jasonr@gnu.org>
13100
13101 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13102 for characters above 127.
13103
131042007-12-13 Jason Rumney <jasonr@gnu.org>
13105
13106 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13107 before dereferencing array.
13108 (lookup_vk_code): Remove zero comparison.
13109
131102007-12-14 Michael Albinus <michael.albinus@gmx.de>
13111
13112 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13113 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13114 Use `unsigned int' instead of `uint'.
13115 (xd_read_message, Fdbus_register_signal): Split expressions into
13116 multiple lines before operators "&&" and "||", according to the
13117 GNU Coding Standards.
13118
131192007-12-14 Eli Zaretskii <eliz@gnu.org>
13120
13121 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13122
131232007-12-12 Juri Linkov <juri@jurta.org>
13124
13125 * buffer.c (Frename_buffer): In interactive spec replace
13126 `read-buffer' with `read-string' that uses `buffer-name-history'
13127 as history, and the current buffer's name as default.
13128
131292007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13130
13131 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13132 manipulating the backtrace manually.
13133 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13134 (struct backtrace, backtrace_list): Remove.
13135 (command_loop_1): Remove dead var `no_direct'.
13136
13137 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13138 preserve non-built-in buffer-local variables.
13139 (Fkill_all_local_variables): Don't re-create&re-set permanent
13140 buffer-local variables.
13141
131422007-12-09 Juri Linkov <juri@jurta.org>
13143
13144 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13145 Lisp code that uses `read-buffer' with current buffer as default.
13146
131472007-12-08 Michael Albinus <michael.albinus@gmx.de>
13148
13149 * dbusbind.c (xd_read_message): Generate an event for every
13150 registered handler. There might be several handlers registered
13151 for the same signal.
13152 (Fdbus_register_signal): Don't overwrite a registration for the
13153 same signal. Add a new registration if handlers are different.
13154 (Vdbus_registered_functions_table): Rework doc string.
13155
131562007-12-07 Michael Albinus <michael.albinus@gmx.de>
13157
13158 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13159 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13160 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13161 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13162 Unify argument lists.
13163 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13164 arguments and hash table keys. Use unique name for service.
13165 (Fdbus_unregister_signal): Remove checks.
13166 (Vdbus_registered_functions_table): Fix doc string.
13167
131682007-12-05 Magnus Henoch <mange@freemail.hu>
13169
13170 * process.c (make_process): Initialize pty_flag to 0.
13171
131722007-12-05 Jason Rumney <jasonr@gnu.org>
13173
13174 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13175 specified XBMs.
13176
131772007-12-05 Richard Stallman <rms@gnu.org>
13178
13179 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13180
131812007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13182
13183 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13184 New variable.
13185 (mac_try_close_socket) [MAC_OSX]: New function.
13186 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13187 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13188
13189 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13190 Use mac_try_close_socket.
13191
131922007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13193
13194 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13195 reloc_base.
13196 (copy_dysymtab): Compute relocation base here.
13197 (rebase_reloc_address) [__ppc64__]: New function.
13198 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13199 changed.
13200
132012007-12-05 Jason Rumney <jasonr@gnu.org>
13202
13203 * w32proc.c (sys_spawnve): Quote args with wildcards.
13204
132052007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13206
13207 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13208 __objc_* sections.
13209 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13210
132112007-12-05 Michael Albinus <michael.albinus@gmx.de>
13212
13213 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13214 Move check for Vdbus_registered_functions_table to
13215 xd_read_queued_messages.
13216 (xd_read_queued_messages): Protect xd_read_message calls by
13217 internal_condition_case_1.
13218
132192007-12-04 Michael Albinus <michael.albinus@gmx.de>
13220
13221 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13222 Qdbus_system_bus and Qdbus_session_bus, respectively.
13223 (Vdbus_intern_symbols): Remove.
13224 (Vdbus_registered_functions_table): New hash table.
13225 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13226 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13227 Rewrite in order to manage registered functions by hash table
13228 Vdbus_registered_functions_table.
13229
132302007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13231
13232 * xterm.c: Update URL to Window Manager Specification in comment.
13233
132342007-12-02 Michael Albinus <michael.albinus@gmx.de>
13235
13236 * config.in (HAVE_DBUS): Add.
13237
13238 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13239 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13240 (obj): Add $(DBUS_OBJ).
13241 (LIBES): Add $(DBUS_LIBS).
13242 (dbusbind.o): New target.
13243
13244 * dbusbind.c: New file.
13245
13246 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13247
13248 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13249 (Qdbus_event): New Lisp symbol.
13250 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13251 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 13252 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
13253
13254 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13255
132562007-12-01 Richard Stallman <rms@gnu.org>
13257
13258 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13259
132602007-11-30 Jason Rumney <jasonr@gnu.org>
13261
13262 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13263 (w32con_reset_terminal_modes): Clear screen buffer.
13264 (w32_face_attributes): Don't use color indexes that are out of range.
13265 Only reverse the default colors.
13266
13267 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13268 WINDOWSNT.
13269
13270 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13271
132722007-11-29 Jason Rumney <jasonr@gnu.org>
13273
13274 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13275 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13276 if the terminal colors are initialized.
13277 (unspecified_fg, unspecified_bg): Remove unused declarations.
13278
132792007-11-29 Andreas Schwab <schwab@suse.de>
13280
13281 * keyboard.c (apply_modifiers): Fix typo.
13282
132832007-11-29 Richard Stallman <rms@gnu.org>
13284
13285 * keymap.c (Fcurrent_local_map): Doc fix.
13286
132872007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13288
13289 * s/gnu-kfreebsd.h: New file.
13290
132912007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13292
13293 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13294 Don't cast redundantly.
13295
13296 * keyboard.c (KEY_TO_CHAR): New macro.
13297 (parse_modifiers, apply_modifiers): Accept integer arguments.
13298 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13299 for chars and symbol keys.
13300 After doing such remapping, apply function-key-map again.
13301
133022007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13303
13304 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13305 compiled anymore.
13306
133072007-11-26 Andreas Schwab <schwab@suse.de>
13308
13309 * process.c (list_processes_1): Fix indentation level of the
13310 command column.
13311
133122007-11-23 Andreas Schwab <schwab@suse.de>
13313
13314 * editfns.c (Fformat): Handle %c specially since it requires the
13315 argument to be of type int.
13316
133172007-11-23 Markus Triska <markus.triska@gmx.at>
13318
13319 * emacs.c (main): Call init_editfns before init_process, since
13320 init_process sets Vprocess_connection_type depending on OS release.
13321
133222007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13323
13324 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13325 (find_symbol_value): Use do_symval_forwarding.
13326
13327 * data.c (set_internal): Set the value in the `cons-cell' (for
13328 Buffer_Local_values) not only for frame-local variables.
13329
133302007-11-22 Andreas Schwab <schwab@suse.de>
13331
13332 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13333 values to sprintf.
13334 * keymap.c (Fsingle_key_description): Likewise.
13335 * print.c (print_object): Likewise.
13336
133372007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13338
13339 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13340 file for image is nil.
13341
133422007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13343
13344 * term.c: Include stdarg.h.
13345 (fatal): Implement using varargs.
13346 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13347
133482007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13349
13350 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13351 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13352 Update call to buffer_slot_type_mismatch.
13353 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13354 (buffer_slot_type_mismatch): Update.
13355 * buffer.c (buffer_local_types): Remove.
13356 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13357 (defvar_per_buffer): Set the type in the buffer_objfwd.
13358
133592007-11-21 Jason Rumney <jasonr@gnu.org>
13360
13361 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13362 CreateFileMapping returns NULL on failure.
13363
133642007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13365
13366 * search.c (Fset_match_data): Remove the `evaporate' feature.
13367 (unwind_set_match_data): Don't use the `evaporate' feature.
13368
133692007-11-21 Jason Rumney <jasonr@gnu.org>
13370
13371 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13372
13373 * w32console.c (w32con_write_glyphs): Remove unused variables.
13374
133752007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13376
13377 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13378
13379 * s/darwin.h (MULTI_KBOARD): Remove.
13380
13381 * macfns.c (x_create_tip_frame, Fx_create_frame)
13382 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13383
133842007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13385
13386 * buffer.c (Fbuffer_local_value): Remove redundant test.
13387 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13388 than in `current-buffer' to match the comment.
13389 Do the swap using swap_in_global_binding.
13390
13391 * data.c (store_symval_forwarding, set_internal):
13392 * eval.c (specbind): Remove dead code.
13393
13394 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13395 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13396 Since we do not want to see internal Lisp_*fwd objects here.
13397
133982007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13399
13400 * sysdep.c (init_system_name): Use getaddrinfo if available.
13401
13402 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13403 (x_scroll_bar_note_movement): start, end, with, height in struct
13404 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13405
134062007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13407
13408 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13409
134102007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13411
13412 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13413 This undoes Richard's change of 14-Oct-2002.
13414
13415 * alloc.c (allocate_other_vector):
13416 * lisp.h (allocate_other_vector): Remove.
13417
13418 * window.c (struct save_window_data): Move non-lisp data to the end
13419 and make it `int' rather than Lisp_Object.
13420 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13421 Done wrap/unwrap integer values.
13422 (Fset_window_configuration, compare_window_configurations):
13423 Update use of fields to their new types.
13424
13425 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13426 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13427 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13428 (SET_SCROLL_BAR_X_WINDOW): Remove.
13429 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13430 Access the new x_window field directly.
13431 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13432 Don't wrap/unwrap integers into Lisp_Objects.
13433 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13434 (x_scroll_bar_report_motion):
13435 Don't wrap/unwrap integers into Lisp_Objects.
13436 (x_term_init): Use SDATA.
13437 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13438 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13439 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13440 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13441 * xfns.c (x_set_background_color):
13442 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13443 Access the new x_window field directly.
13444
13445 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13446 (allocate_pseudovector): Make non-static.
13447
13448 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13449 (allocate_pseudovector): Declare.
13450 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13451
134522007-11-15 Andreas Schwab <schwab@suse.de>
13453
13454 * editfns.c (Fformat): Correctly format EMACS_INT values.
13455 Also take precision into account when formatting an integer.
13456
13457 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13458
134592007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13460
13461 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13462 (syms_of_keyboard): Defsubr it.
13463
13464 * data.c (swap_in_global_binding): Fix longstanding bug where
13465 store_symval_forwarding was not called with the right second argument,
13466 thus causing objfwd-ing from being dropped.
13467
134682007-11-14 Juanma Barranquero <lekktu@gmail.com>
13469
13470 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13471 (Fx_display_pixel_height, Fx_display_planes)
13472 (Fx_display_color_cells, Fx_server_max_request_size)
13473 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13474 (Fx_display_visual_class, Fx_display_save_under):
13475 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13476 (Fx_display_pixel_height, Fx_display_planes)
13477 (Fx_display_color_cells, Fx_server_max_request_size)
13478 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13479 (Fx_display_mm_height, Fx_display_mm_width)
13480 (Fx_display_backing_store, Fx_display_visual_class)
13481 (Fw32_select_font, Fx_display_save_under):
13482 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13483 (Fx_display_pixel_height, Fx_display_planes)
13484 (Fx_display_color_cells, Fx_server_max_request_size)
13485 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13486 (Fx_display_save_under): Fix typos in docstrings.
13487
134882007-11-14 Juanma Barranquero <lekktu@gmail.com>
13489
13490 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13491 corresponding to deleted entries; they are an implementation detail.
13492 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13493 Remove variables.
13494 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13495 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13496 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13497 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13498 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13499 (Fw32_define_rgb_color, Fw32_load_color_file)
13500 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13501 Fix typos in docstrings.
13502 (Fx_server_version): Reflow docstring.
13503 (Fw32_shell_execute): Doc fixes.
13504
135052007-11-13 Juanma Barranquero <lekktu@gmail.com>
13506
13507 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13508 if w32_parse_hot_key returned nil.
13509
135102007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13511
13512 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13513
135142007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13515
aac0c6e3
MR
13516 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13517
13518 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13519
13520 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13521 Remove W32_SCROLL_BAR_CLICK_EVENT.
13522
13523 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13524 Add MULTIMEDIA_KEY_EVENT.
13525
13526 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13527 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13528 (make_lispy_event) [WINDOWSNT]: Use it to translate
13529 MULTIMEDIA_KEY_EVENT.
13530
13531 * w32term.h (WM_APPCOMMAND): Define if not already.
13532 (GET_APPCOMMAND_LPARAM): Likewise.
13533
13534 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13535 WM_APPCOMMAND.
13536
13537 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13538 (syms_of_w32fns): Export and initialize it.
13539 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13540
135412007-11-09 Chong Yidong <cyd@stupidchicken.com>
13542
13543 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13544 twice.
13545
13546 * xdisp.c (handle_face_prop): Fix last change.
13547
135482007-11-09 Richard Stallman <rms@gnu.org>
13549
13550 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13551 not just for after-strings and before-strings.
13552 Call face_for_overlay_string and pass the overlay to it.
13553 (handle_display_prop): Determine whether property came from an overlay.
13554 Pass OVERLAY arg to handle_single_display_spec.
13555 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13556 (load_overlay_strings): Fill in it->string_overlays.
13557 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13558
13559 * xfaces.c (face_for_overlay_string): Function renamed from
13560 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13561
13562 * dispextern.h (struct it): New elt string_overlays.
13563 New elt from_overlay, also in stack.
13564 Rearrange a few elements.
13565 (face_for_overlay_string): Decl renamed from
13566 face_at_buffer_position_no_overlays, and add argument.
13567
135682007-11-09 Richard Stallman <rms@gnu.org>
13569
13570 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13571 to get the base face for an overlay string.
13572
13573 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13574
13575 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13576
13577 * xdisp.c (handle_stop): Move some code out of loop.
13578
135792007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13580
13581 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13582 Fix conversion from Lisp object to ATSUFontID.
13583
135842007-11-09 Jason Rumney <jasonr@gnu.org>
13585
13586 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13587
135882007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13589
13590 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13591 Don't assume regions are aligned to page boundary.
13592 (print_load_command_name): Add LC_UUID if defined.
13593
135942007-11-09 Richard Stallman <rms@gnu.org>
13595
13596 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13597
135982007-11-07 Jason Rumney <jasonr@gnu.org>
13599
13600 * s/windows95.h: Remove.
13601
136022007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13603
13604 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13605 abort with a message on unhandled store_type values.
13606
136072007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13608
13609 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13610 Remove HAVE_X11R5 and HAVE_X11R4.
13611
136122007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13613
13614 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13615
136162007-11-01 Johan Bockgård <bojohan@gnu.org>
13617
13618 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13619 Don't set s->stippled_p here, since it has already been set by
13620 x_set_glyph_string_gc from x_draw_glyph_string.
13621
136222007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13623
13624 * sunfns.c: Remove file.
13625
13626 * m/sun386.h:
13627 * m/sun2.h:
13628 * m/sparc.h: Remove Sun windows code.
13629
136302007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13631
13632 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13633 (init_keyboard): Set current_kboard's window-system to nil.
13634 (tty_read_avail_input): Typo.
13635 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13636
136372007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13638
13639 * s/usg5-4.h:
13640 * s/usg5-3.h:
13641 * s/ptx.h:
13642 * m/is386.h:
13643 * m/ibmps2-aix.h:
13644 * Makefile.in: Remove all mentions of X10.
13645
13646 * dispnew.c (syms_of_display): Don't mention version 10.
13647
136482007-10-28 Juanma Barranquero <lekktu@gmail.com>
13649
13650 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13651 ($(BLD)/abbrev.$(O)): Remove.
13652
136532007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13654
13655 Rewrite abbrev.c in Elisp.
13656 * image.c (Qcount): Don't declare as extern.
13657 (syms_of_image): Initialize and staticpro `Qcount'.
13658 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13659 * emacs.c (main): Don't call syms_of_abbrev.
13660 * Makefile.in (obj): Remove abbrev.o.
13661 (abbrev.o): Remove.
13662 * abbrev.c: Remove.
13663
136642007-10-26 Martin Rudalics <rudalics@gmx.at>
13665
13666 * window.c (window_min_size_2): Don't count header-line.
13667
136682007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13669
13670 * frame.h (struct frame): Move all bit fields after the first bit
13671 field to take advantage of the available space. Group all the
13672 chars together to reduce wasted space due to padding.
13673
136742007-10-26 Juanma Barranquero <lekktu@gmail.com>
13675
13676 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13677
13678 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13679 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13680 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13681 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13682 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13683 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13684 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13685 (last_marked, mark_object_loop_halt): Make static.
13686
13687 * frame.c (syms_of_frame) <delete-frame-functions>:
13688 Fix typo in docstring.
13689
136902007-10-25 Juanma Barranquero <lekktu@gmail.com>
13691
13692 * w32.c (init_environment): Fix tiny memory leak.
13693 (w32_get_resource): Remove unused variable `ok'.
13694
136952007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13696
13697 Make `window-system' into a keyboard-local variable (rather than
13698 frame-local as done originally by multi-tty).
13699
13700 * keyboard.h (struct kboard): Add Vwindow_system.
13701 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13702 (mark_kboards): Mark Vwindow_system.
13703
13704 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13705 (init_display): Don't set the obsolete `window-system' frame-param.
13706
13707 * xterm.c (x_term_init):
13708 * w32term.c (w32_create_terminal):
13709 * term.c (init_tty): Set Vwindow_system.
13710 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13711 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13712
13713 * xfns.c (Fx_create_frame, x_create_tip_frame):
13714 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13715 * macfns.c (Fx_create_frame):
13716 Don't set the obsolete `window-system' frame-param.
13717
13718 * frame.h (Qwindow_system): Remove.
13719 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13720 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13721
137222007-10-24 Richard Stallman <rms@gnu.org>
13723
13724 * frame.c (x_figure_window_size): For fullscreen case,
13725 set USPosition | PPosition without clobbering rest of window_prompting.
13726
13727 * keyboard.c (Fcurrent_idle_time): Doc fix.
13728
13729 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13730
137312007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13732
13733 * process.c (unwind_request_sigio): Only define if __ultrix__.
13734
13735 * callproc.c (child_setup): Remove spurious *.
13736
13737 * lisp.h (Fget_text_property): Declare.
13738 (have_menus_p): Declare it here rather than in sys-dep header files.
13739 * macterm.h (have_menus_p):
13740 * msdos.h (have_menus_p):
13741 * xterm.h (have_menus_p): Remove.
13742
13743 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13744 (Fmake_variable_frame_local): Just check the variable's const-ness
13745 rather than checking nil or t.
13746
137472007-10-22 Jason Rumney <jasonr@gnu.org>
13748
13749 * w32fns.c: Include math.h.
13750 (w32_abort): Declaration moved to nt/config.nt.
13751
13752 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13753 (abort): Redefinition moved to nt/config.nt.
13754
13755 * m/windowsnt.h: Remove.
13756
137572007-10-22 Juanma Barranquero <lekktu@gmail.com>
13758
13759 * emacs.c (Fdump_emacs): Fix typo in message.
13760 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13761 <installation-directory>: Reflow docstring.
13762
137632007-10-22 Juri Linkov <juri@jurta.org>
13764
13765 * minibuf.c: Allow minibuffer default to be a list of default values.
13766 With empty input use the first element of this list as returned default.
13767 (string_to_object)
13768 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13769 (read_minibuf): If defalt is cons, set histstring to its car.
13770 (Fread_string): If default_value is cons, set val to its car.
13771 (Fread_buffer): If def is cons, use its car.
13772 (Fcompleting_read): If defalt is cons, set val to its car.
13773
137742007-10-21 Michael Albinus <michael.albinus@gmx.de>
13775
13776 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13777
137782007-10-20 Juanma Barranquero <lekktu@gmail.com>
13779
13780 * doc.c (Fdocumentation): Check for advice in all cases.
13781
137822007-10-19 Chong Yidong <cyd@stupidchicken.com>
13783
13784 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13785
137862007-10-19 Richard Stallman <rms@gnu.org>
13787
13788 * doc.c (Fdocumentation): Check for and handle an advised function.
13789
137902007-10-19 Juanma Barranquero <lekktu@gmail.com>
13791
13792 * process.c (Fset_process_filter): Doc fix.
13793
137942007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13795
13796 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13797 which caused key-translation-map to applied repeatedly (thus breaking
13798 double-mode).
13799
138002007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13801
13802 * xselect.c (x_own_selection, x_handle_selection_clear)
13803 (x_clear_frame_selections):
13804 * w32menu.c (list_of_panes, list_of_items):
13805 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13806 * textprop.c (validate_plist, interval_has_all_properties)
13807 (interval_has_some_properties, interval_has_some_properties_list)
13808 (add_properties, text_property_list):
13809 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13810 * minibuf.c (Fassoc_string):
13811 * macselect.c (x_own_selection, x_clear_frame_selections)
13812 (Fx_disown_selection_internal):
13813 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13814 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13815
138162007-10-17 Chong Yidong <cyd@stupidchicken.com>
13817
13818 * process.c: Link to libs for calling res_init() if available.
13819 (Fmake_network_process): Call res_init() before getaddrinfo or
13820 gethostbyname, if possible.
13821
138222007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13823
13824 * lread.c (read1): Set pvectype for char_tables.
13825
13826 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13827 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13828 Add type checks.
13829 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13830
13831 * alloc.c (free_misc): Use XMISCTYPE.
13832 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13833
138342007-10-17 Glenn Morris <rgm@gnu.org>
13835
13836 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13837 (syms_of_minibuf): Add Qcompletion_ignore_case.
13838 * dired.c (Qcompletion_ignore_case): Change to external.
13839 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13840 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13841 (Fread_file_name): Use it rather than intern'ing.
13842
13843 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13844 (Fread_coding_system): Ignore case of user input.
13845
138462007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13847
13848 * xdisp.c (handle_display_prop): Ignore display specs after
13849 replacing one when string text is being replaced.
13850 (handle_single_display_spec): Pretend as if characters with display
13851 property haven't been consumed only when buffer text is being replaced.
13852
138532007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13854
13855 * xfns.c (Fx_create_frame, Fx_display_list):
13856 * window.c (window_fixed_size_p, enlarge_window)
13857 (shrink_window_lowest_first):
13858 * macterm.c (init_font_name_table):
13859 * macfns.c (Fx_create_frame, Fx_display_list):
13860 * lread.c (close_load_descs):
13861 * keyboard.c (read_char_x_menu_prompt):
13862 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13863 * coding.c (code_convert_region_unwind): Test the type of an object
13864 rather than just !NILP before extracting data from it.
13865
13866 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13867
13868 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13869 (XMISCANY): New macro.
13870 (XMISCTYPE): Use it.
13871 (struct Lisp_Misc_Any): New type.
13872 (union Lisp_Misc): Use it.
13873 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13874 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13875 (find_symbol_value, set_internal, default_value, Fset_default)
13876 (Fmake_variable_buffer_local, Fmake_local_variable)
13877 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13878 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13879 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13880 * alloc.c (allocate_buffer): Set the size and tag.
13881 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13882 Use XMISCANY.
13883 (die): Follow the GNU convention for error messages.
13884 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13885 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13886 tag any more.
13887 (set_buffer_internal_1):
13888 * frame.c (store_frame_param):
13889 * eval.c (specbind):
13890 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13891
13892 * doc.c (Fsnarf_documentation): Simplify.
13893
138942007-10-14 Juanma Barranquero <lekktu@gmail.com>
13895
13896 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13897 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13898
138992007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13900
13901 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13902
139032007-10-14 Juanma Barranquero <lekktu@gmail.com>
13904
13905 * eval.c (do_autoload): Don't save autoloads.
13906
13907 * data.c (Ffset): Save autoload of the function being set.
13908
139092007-10-07 John Paul Wallington <jpw@pobox.com>
13910
13911 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13912 parameter before setting up faces.
13913
139142007-10-13 Eli Zaretskii <eliz@gnu.org>
13915
13916 * ccl.c (Fregister_code_conversion_map):
13917 * keyboard.c (append_tool_bar_item): Reformat last change.
13918
13919 * lisp.h (eabs): Rename from `abs'. All callers changed.
13920
139212007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13922
13923 * buffer.c (add_overlay_mod_hooklist):
13924 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13925 * fontset.c (make_fontset):
13926 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13927 (append_tool_bar_item):
13928 * macmenu.c (grow_menu_items):
13929 * w32menu.c (grow_menu_items):
13930 * xmenu.c (grow_menu_items): Use larger_vector.
13931
139322007-10-13 Eli Zaretskii <eliz@gnu.org>
13933
13934 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13935 selected frame'' on MSDOS).
13936
139372007-10-12 Martin Rudalics <rudalics@gmx.at>
13938
13939 * frame.c (Qexplicit_name): New variable.
13940 (x_report_frame_params): Report it in parameter alist.
13941 (syms_of_frame): Intern and staticpro it.
13942
139432007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13944
13945 * macfns.c (x_create_tip_frame): Set terminal for frame.
13946
139472007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13948
13949 * frame.c (Qenvironment): Remove.
13950 (syms_of_frame) <Qenvironment>: Don't initialize.
13951 (Fdelete_frame): Don't treat the `environment' param specially.
13952 * frame.h (Qenvironment): Don't declare.
13953 * callproc.c (set_initial_environment): Don't set unused frame param.
13954
13955 * frame.c (Fframe_with_environment): Remove.
13956 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13957
13958 * lisp.h (Fframe_with_environment): Don't declare.
13959
139602007-10-10 Juanma Barranquero <lekktu@gmail.com>
13961
13962 * indent.c (indent_tabs_mode, last_known_column)
13963 (last_known_column_modified): Make static.
13964 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13965
139662007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13967
13968 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13969
139702007-10-09 Jason Rumney <jasonr@gnu.org>
13971
13972 * w32term.c (x_set_window_size): Disable code that attempts to tell
13973 Lisp code about a size change before it actually happens.
13974
139752007-10-09 Richard Stallman <rms@gnu.org>
13976
13977 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13978 return HANDLED_RETURN.
13979
139802007-10-08 Martin Rudalics <rudalics@gmx.at>
13981
13982 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13983 when there's an unread command event.
13984
13985 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13986 window autoselection act appropriately when leaving selected frame.
13987 (syms_of_frame): Initialize focus_follows_mouse.
13988 * frame.h (focus_follows_mouse): Extern it.
13989 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13990 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13991 * msdos.c (dos_rawgetc): Likewise.
13992 * w32term.c (w32_read_socket): Likewise.
13993 * xterm.c (handle_one_xevent): Likewise.
13994 * xdisp.c (syms_of_xdisp): In doc-string of
13995 mouse-autoselect-window mention focus-follows-mouse.
13996
139972007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13998
13999 * macterm.c (mac_load_query_font): Fix missing return value.
14000 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14001 Add BLOCK_INPUT.
14002
140032007-10-08 Richard Stallman <rms@gnu.org>
14004
14005 * xdisp.c (get_window_cursor_type): Implement documented behavior
14006 for cursor-in-non-selected-windows = t.
14007
140082007-10-08 Jason Rumney <jasonr@gnu.org>
14009
14010 * w32.c (w32_get_resource): Always close registry keys.
14011
140122007-10-08 Jason Rumney <jasonr@gnu.org>
14013
14014 * makefile.w32-in (LIBS): Add COMCTL32.
14015
14016 * w32fns.c (globals_of_w32fns): Init common controls.
14017
140182007-10-08 Richard Stallman <rms@gnu.org>
14019
14020 * image.c (our_memory_buffer): Rename from omfib_buffer.
14021
140222007-10-08 Richard Stallman <rms@gnu.org>
14023
14024 * buffer.c (Foverlays_at): Doc fix.
14025
140262007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14027
14028 * fns.c (Fplist_put): Preserve uneven tail data.
14029
140302007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14031
14032 * termhooks.h (enum event_kind): Remove trailing comma.
14033
14034 * frame.h (enum): Remove trailing comma.
14035
140362007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14037
14038 * w32proc.c (delete_child): Don't terminate threads of zombies.
14039
140402007-10-08 Martin Rudalics <rudalics@gmx.at>
14041
14042 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14043
14044 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14045 last-repeatable-command.
14046 (init_kboard): Initialize Vlast_repeatable_command.
14047 (command_loop_1): Set it to real_this_command unless that was
14048 bound to an input event.
14049 (mark_kboards): Mark it.
14050
140512007-10-08 Richard Stallman <rms@gnu.org>
14052
14053 * eval.c (condition-case): Doc fix.
14054
140552007-10-08 Masatake YAMATO <jet@gyve.org>
14056
14057 * xfaces.c (tty_supports_face_attributes_p): Fix code
14058 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14059 was copied and not edited.
14060
140612007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14062
14063 Add new `input-decode-map' keymap and use it for terminal
14064 escape sequences.
14065 * keyboard.h (struct kboard): Add Vinput_decode_map.
14066 Remove Vlocal_key_translation_map.
14067 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14068 (init_kboard): Init input-decode-map.
14069 Replace local-key-translation-map back with key-translation-map.
14070 (syms_of_keyboard): Declare input-decode-map.
14071 Remove local-key-translation-map. Update docstrings.
14072 (mark_kboards): Mark Vinput_decode_map.
14073 Don't mark Vlocal_key_translation_map.
14074 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14075 Replace local-key-translation-map back with key-translation-map.
14076 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14077 Bind in input-decode-map rather than function-key-map.
14078
14079 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14080 This was made redundant by the previous introduction of XSETPVECTYPE.
14081
140822007-10-09 Richard Stallman <rms@gnu.org>
14083
14084 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14085
140862007-09-29 Richard Stallman <rms@gnu.org>
14087
14088 * eval.c (internal_condition_case_2, internal_condition_case_1)
14089 (internal_condition_case): Reenable abort if x_catching_errors ()
14090 to see if that really happens and why.
14091
140922007-10-06 Andreas Schwab <schwab@suse.de>
14093
14094 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14095
140962007-10-04 Juanma Barranquero <lekktu@gmail.com>
14097
14098 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14099
141002007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14101
14102 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14103
141042007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14105
14106 * window.h (struct window):
14107 * window.c (struct save_window_data, struct saved_window):
14108 * termhooks.h (struct terminal):
14109 * process.h (struct Lisp_Process):
14110 * frame.h (struct frame):
14111 * buffer.h (struct buffer):
14112 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14113 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14114 The size field of (pseudo)vectors is now unsigned.
14115 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14116
14117 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14118 Turn `count' into an integer.
14119
14120 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14121 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14122 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14123 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14124 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14125
14126 * alloc.c (allocate_pseudovector): New fun.
14127 (ALLOCATE_PSEUDOVECTOR): New macro.
14128 (allocate_window, allocate_terminal, allocate_frame)
14129 (allocate_process): Use it.
14130 (mark_vectorlike): New function.
14131 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14132 (mark_terminals): Use it.
14133 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14134 (Fmake_byte_code): Use XSETPVECTYPE.
14135
14136 * frame.c (Fframe_parameters): Minor simplification.
14137
14138 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14139
14140 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14141
14142 * buffer.c (Fget_buffer_create, init_buffer_once):
14143 * lread.c (defsubr):
14144 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14145
14146 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14147 defined differently in the m/*.h files.
14148 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14149 (XSETPVECTYPE): New macro.
14150 (XSETPSEUDOVECTOR): Use it.
14151
14152 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14153 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14154
14155 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14156 * lread.c (defvar_per_buffer):
14157 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14158
14159 * window.c (candidate_window_p): Only consider as visible frames that
14160 are on the same terminal.
14161
14162 * m/ibms390x.h (MARKBIT): Remove unused macro.
14163
141642007-10-01 Juanma Barranquero <lekktu@gmail.com>
14165
14166 * lread.c (Fload): Fix typo in docstring.
14167
141682007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14169
14170 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14171 of a non-zero value can't yield zero.
14172
141732007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14174
14175 * term.c (term_clear_mouse_face, term_mouse_highlight)
14176 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14177
14178 * print.c (safe_debug_print): Use XHASH.
14179
14180 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14181 Lisp elements such as tags.
14182 (XHASH): New macro.
14183 (EQ): Use it.
14184 (SREF, SSET, STRING_COPYIN): Use SDATA.
14185 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14186
14187 * alloc.c (mark_terminal): Remove left-over declaration.
14188 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14189 (allocate_vectorlike): Remove type argument. Adjust callers.
14190 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14191 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14192
14193 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14194 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14195 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14196 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14197 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14198 Use them.
14199
14200 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14201 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14202 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14203
142042007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14205
14206 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14207 loaded by default.
14208
142092007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14210
14211 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14212 on this tty.
14213 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14214
14215 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14216 Update all users.
14217 (handle_one_term_event): Use Gpm_DrawPointer.
14218 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14219 Signal errors instead of returning nil. Always return nil.
14220 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14221 Make it a noop if gpm-mouse was not activated.
14222 (syms_of_term): Update names.
14223
142242007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14225
14226 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14227 (init_sys_modes): Check that gpm_tty is the current tty.
14228
14229 * alloc.c (allocate_terminal): Set the vector size to only count the
14230 lisp fields. Initialize those to nil.
14231 (mark_object): Don't treat terminals specially.
14232 (mark_terminal): Remove.
14233 (mark_terminals): Use mark_object instead.
14234
14235 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14236 the GC to the beginning.
14237
14238 * indent.h:
14239 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14240
14241 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14242
142432007-09-25 Jason Rumney <jasonr@gnu.org>
14244
14245 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14246
14247 * w32console.c (create_w32cons_output): Remove.
14248
14249 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14250
14251 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14252 (reset_sys_modes): Use reset_terminal_modes_hook.
14253
142542007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14255
14256 * eval.c (do_autoload): Don't output any message.
14257
142582007-09-24 Juri Linkov <juri@jurta.org>
14259
14260 * emacs.c (standard_args): Change priority of "--no-splash"
14261 from 40 to 3. Add "--no-desktop" with the same priority.
14262
142632007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14264
14265 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14266 and optimize the case where they are all 1.
14267
142682007-09-23 Johannes Weiner <hannes@saeurebad.de>
14269
14270 * lisp.h (abs): Define if not defined.
14271 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14272 Don't define `abs', since it's defined in lisp.h.
14273
142742007-09-22 Eli Zaretskii <eliz@gnu.org>
14275
14276 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14277 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14278 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14279 (init_tty): Use DEV_TTY instead of "/dev/tty".
14280 [WINDOWSNT]: No need to protect from NAME arg being null.
14281
142822007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14283
14284 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14285 up the tty state.
14286
142872007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14288
14289 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14290 (gpm_tty): Change its type.
14291 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14292 (gpm_tty): Change its type and initialize it.
14293 (Fterm_open_connection): Check the frame is indeed a tty.
14294 Use the new gpm_tty.
14295 (Fterm_close_connection): Use the new gpm_tty.
14296 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14297 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14298
142992007-09-21 Juanma Barranquero <lekktu@gmail.com>
14300
14301 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14302 underline_color, to draw strike-through.
14303
143042007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14305
14306 * lisp.h (allocate_terminal): Declare.
14307
14308 * window.c (candidate_window_p): Consider frames that are being placed
14309 by the user as somewhere between visible and iconified.
14310 (window_loop): Prefer windows on the current frame.
14311 (Fselect_window): Move the use of select-frame to the beginning so we
14312 can just delegate all the work (it'll call us back anyway).
14313
14314 * frame.c (Qdisplay_environment_variable):
14315 * frame.h (Qdisplay_environment_variable): Delete.
14316
14317 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14318 of the first arg, since that value may be a union.
14319
14320 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14321 parameter rather than Qdisplay_environment_variable. If all else
14322 fails, look for DISPLAY in initial-environment.
14323
143242007-09-21 Glenn Morris <rgm@gnu.org>
14325
14326 * Makefile.in (emacstool): Remove target.
14327 (lisp, shortlisp): Remove termdev.elc.
14328
143292007-09-21 Markus Triska <markus.triska@gmx.at>
14330
14331 * xterm.c (x_delete_display): Compile session management conditionally.
14332
143332007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14334
14335 * callproc.c (getenv_internal_1): New function.
14336 (getenv_internal): Use it.
14337 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14338
14339 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14340 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14341 (Fset_terminal_parameter): Work with dead terminals as well.
14342 (Fmodify_terminal_parameters): Remove.
14343
14344 * terminal.c (get_terminal): Handle terminals.
14345 Make sure the terminal returned is live.
14346 (create_terminal): Use allocate_terminal.
14347 (mark_terminals): Move to alloc.c.
14348 (delete_terminal): Use terminal->name as liveness status.
14349 NULL out fields after freeing their contents.
14350 Don't deallocate the object.
14351 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14352 rather than an int.
14353 (Fterminal_live_p): Accept non-integer arguments.
14354 (Fterminal_list): Return terminal objects rather than an ints.
14355
14356 * alloc.c (enum mem_type): New member for `terminal' objects.
14357 (allocate_terminal): New function.
14358 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14359 Handle terminals.
14360 (mark_terminal): New fun.
14361 (mark_terminals): Move from terminal.c.
14362
14363 * term.c (get_tty_terminal): Don't treat output_initial specially.
14364 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14365 (delete_tty): Use terminal->name as liveness status.
14366
14367 * termhooks.h (struct terminal): Make it into a pseudovector.
14368 Remove `deleted' replaced by checking `name's nullness.
14369
14370 * print.c (print_object): Handle terminals.
14371
14372 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14373 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14374
14375 * frame.c (make_terminal_frame):
14376 * keyboard.c (tty_read_avail_input):
14377 * w32term.c (x_delete_terminal):
14378 * xfns.c (Fx_create_frame, x_create_tip_frame):
14379 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14380
143812007-09-20 Glenn Morris <rgm@gnu.org>
14382
14383 * process.c (Fmake_network_process): Doc fix.
14384
143852007-09-19 Jason Rumney <jasonr@gnu.org>
14386
14387 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14388
143892007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14390
14391 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14392 Fix a C warning regarding variable constness.
14393
14394 * xterm.c (handle_one_xevent): Fix a C warning.
14395
143962007-09-18 Jason Rumney <jasonr@gnu.org>
14397
14398 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14399
144002007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14401
14402 * gtkutil.c (gdpy_def): New variable.
14403 (xg_initialize): Initialize gdpy_def.
14404 (xg_display_close): If no other display exists, set gdpy_def to a
14405 new connection.
14406
144072007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14408
14409 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14410 when we have no file name for the icon.
14411 (xg_tool_bar_expose_callback): Remove.
14412 (xg_create_tool_bar): Don't connect expose signal to
14413 xg_tool_bar_expose_callback.
14414 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14415
144162007-09-16 Andreas Schwab <schwab@suse.de>
14417
14418 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14419 values instead of zapping them.
14420
144212007-09-14 Glenn Morris <rgm@gnu.org>
14422
14423 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14424 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14425 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14426 scope and rename to omfib_buffer for clarity.
14427 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14428
144292007-09-14 Kenichi Handa <handa@m17n.org>
14430
14431 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14432
144332007-09-13 Jason Rumney <jasonr@gnu.org>
14434
14435 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14436
14437 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14438
14439 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14440 (mac_term_init): Call here instead, passing rif.
14441
144422007-09-13 Glenn Morris <rgm@gnu.org>
14443
14444 * s/hpux.h: No longer define `static' as nothing.
14445
144462007-09-13 Johan Bockgård <bojohan@gnu.org>
14447
14448 * callint.c (Fcall_interactively): Remove unused var `fun'.
14449
144502007-09-12 Romain Francoise <romain@orebokech.com>
14451
14452 * window.c (prefer_window_split_horizontally, display_buffer):
14453 Revert 2007-09-08 change.
14454
144552007-09-12 Glenn Morris <rgm@gnu.org>
14456
14457 * alloca.c: Remove file.
14458 * Makefile.in (alloca): Do not undef.
14459 (allocaobj, alloca.o): Remove.
14460 (otherobj): Remove allocaobj.
14461 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14462 * regex.c (C_ALLOCA): Remove all references and code that was only
14463 used when this was defined.
14464 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14465 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14466 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14467
14468 * Makefile.in (SOURCES, unlock, relock): Delete.
14469
14470 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14471 (menu_grab_callback): All uses changed.
14472
14473 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14474 (x_reply_selection_request): All uses changed.
14475
144762007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14477
14478 * lread.c (load_warn_old_style_backquotes): Change message to look
14479 better when it appears in the middle of byte-compiler messages.
14480
144812007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14482
14483 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14484
14485 * xterm.c (x_create_terminal): Add comment.
14486
14487 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14488
144892007-09-10 Richard Stallman <rms@gnu.org>
14490
14491 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14492
144932007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14494
14495 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14496 (DEFUN): Document `intspec', use it instead of `prompt'.
14497
14498 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14499
14500 * data.c (Finteractive_form): If the interactive specification starts
14501 with a `(', use it as a Lisp form.
14502
14503 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14504 name and file modes.
14505
14506 * callint.c (Fcall_interactively): Comment fixes.
14507
145082007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14509
14510 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14511 and compiled functions.
14512
145132007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14514
14515 * window.c (prefer_window_split_horizontally): New variable.
14516 (display_buffer): Consider splitting window horizontally depending
14517 on prefer_window_split_horizontally.
14518
145192007-09-08 Eli Zaretskii <eliz@gnu.org>
14520
14521 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14522
145232007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14524
14525 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14526
14527 * frame.c (x_set_frame_parameters): Check number is positive before
14528 using XFASTINT.
14529
14530 * window.c (freeze_window_start): Don't presume selected_window holds
14531 a window object.
14532 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14533
145342007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14535
14536 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14537
145382007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14539
14540 * window.c (Vsplit_window_preferred_function): New var.
14541 (Fdisplay_buffer): Use it.
14542 (syms_of_window): Export, and initialize it.
14543
145442007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14545
14546 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14547
145482007-09-06 Glenn Morris <rgm@gnu.org>
14549
14550 * gtkutil.c (menu_grab_callback) <cnt>:
14551 * xselect.c (x_reply_selection_request) <cnt>: Move static
14552 variable to file scope.
14553
145542007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14555
14556 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14557 consistent values of selected_frame and selected_window.
14558
145592007-09-04 Jason Rumney <jasonr@gnu.org>
14560
14561 * w32console.c (initialize_w32_display): Zero unused hooks.
14562
145632007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14564
14565 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14566 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14567
145682007-09-04 Jason Rumney <jasonr@gnu.org>
14569
14570 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14571 in w32console.c. Set up input. Remove XXX comments that have been
14572 confirmed as correct.
14573
14574 * s/ms-w32.h (MULTI_KBOARD): Define.
14575
14576 * w32console.c (one_and_only_w32cons): Remove.
14577 (initialize_w32_display): Take terminal argument.
14578
14579 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14580 initialize_w32_display.
14581 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14582
14583 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14584
14585 * keyboard.c (discard_mouse_events): Discard it.
14586 (make_lispy_event): Translate it to a lisp event.
14587 (lispy_wheel_names): Add wheel-left and right events.
14588 (syms_of_keyboard): Enlarge wheel_syms.
14589
14590 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14591 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14592
14593 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14594
14595 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14596 from WM_MOUSEHWHEEL.
14597 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14598
14599 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14600 terminal.
14601
14602 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14603 keyboard for the terminal.
14604
146052007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14606
14607 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14608 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14609 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14610 and resume-tty-function to resume-tty-hook.
14611 (Fsuspend_tty, Fresume_tty): Use new names.
14612
146132007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14614
14615 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14616 if it starts with "n:".
14617
146182007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14619
14620 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14621
146222007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14623
14624 * frame.h:
14625 * frame.c (Qterm_environment_variable): Remove.
14626 (syms_of_frame): Don't init and staticpro it.
14627
14628 * callproc.c (getenv_internal): Remove special case for $TERM.
14629
14630 * callproc.c (Vinitial_environment): New variable.
14631 (set_initial_environment): Initialize it.
14632 (syms_of_callproc): Declare it.
14633 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14634 TERM under which a process runs is never related to the TERM in which
14635 Emacs is running.
14636
146372007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14638
14639 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14640 * s/darwin.h: ... do it here.
14641
146422007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14643
14644 * lisp.h (set_initial_environment): Rename from set_global_environment.
14645
14646 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14647 removed by mistake on the multi-tty branch.
14648
14649 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14650 (Fmodify_frame_parameters): Return a value.
14651
14652 * image.c (png_load): Comment-out var only used in commented-out code.
14653
14654 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14655 before passing it to mark_object.
14656
14657 * xfaces.c (internal_resolve_face_name): Return a value.
14658 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14659
14660 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14661 (x_icon): Comment-out var only used in commented-out code.
14662
146632007-08-29 Romain Francoise <romain@orebokech.com>
14664
14665 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14666 QUIT hasn't been provided.
14667
146682007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14669
14670 * callproc.c (child_setup, getenv_internal): Use the
14671 display-environment-variable and term-environment-variable frame params.
14672 (set_initial_environment): Initialise Vprocess_environment.
14673
14674 * config.in: Disable multi-keyboard support on a mac.
14675
14676 * frame.c (Qterm_environment_variable)
14677 (Qdisplay_environment_variable): New variables.
14678 (syms_of_frame): Intern and staticpro them.
14679 (Fmake_terminal_frame): Disable output method test.
14680
14681 * frame.h: Declare them here.
14682
14683 * macfns.c (x_set_mouse_color): Get rif from the frame.
14684 (x_set_tool_bar_lines): Don't use updating_frame.
14685 (mac_window): Add 2 new parameters for consistency with other systems.
14686 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14687 frame parameters following what is done in X11 and w32. Don't use
14688 FRAME_MAC_DISPLAY_INFO.
14689 (Fx_open_connection, start_hourglass): Remove window-system check.
14690 (x_create_tip_frame): Get the keyboard from the terminal.
14691
14692 * macmenu.c: Reorder includes.
14693 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14694
14695 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14696 terminal parameter.
14697 (x_clear_frame): Add a frame parameter.
14698 (note_mouse_movement): Get rif from the frame.
14699 (mac_term_init): Initialize the terminal.
14700 (mac_initialize): Make static and move terminal initialization ...
14701 (mac_create_terminal): ... to this new function.
14702
14703 * macterm.h (struct mac_display_info): Add terminal.
14704 (mac_initialize): Delete declaration.
14705
14706 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14707
14708 * sysdep.c: Comment out text after #endif.
14709
14710 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14711 is defined. Better initialize ttys in windows. Use terminal
14712 specific mouse_position_hook.
14713
14714 * termhooks.h (union display_info): Add mac_display_info.
14715
14716 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14717 Set the default minibuffer frame, window_system and the rest of the
14718 frame parameters following what is done in X11.
14719
14720 * w32term.c (w32_initialize): Make static.
14721
14722 * xselect.c (x_handle_selection_clear): Only access
14723 terminal->kboard when MULTI_KBOARD is defined.
14724
14725 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14726 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14727
147282007-08-29 Jason Rumney <jasonr@gnu.org>
14729
14730 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14731 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14732
14733 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14734 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14735
14736 * keyboard.c (restore_kboard_configuration): Only define when
14737 MULTI_KBOARD defined.
14738
14739 * makefile.w32-in: Update dependancies from Makefile.in.
14740 (OBJ1): Add terminal.$(O)
14741
14742 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14743 Don't define function body.
14744 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14745
14746 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14747
14748 * w32.c (request_sigio, unrequest_sigio): Remove.
14749
14750 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14751 (w32con_clear_frame, w32con_clear_end_of_line)
14752 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14753 (w32con_delete_glyphs, w32con_set_terminal_window)
14754 (scroll_line, w32_sys_ring_bell): Add frame arg.
14755 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14756 Add terminal arg.
14757 (PICK_FRAME): Remove.
14758 (w32con_write_glyphs): Use frame specific terminal coding.
14759 (one_and_only_w32cons): New global variable.
14760 (initialize_w32_display): Use it for storing hooks.
14761 (create_w32cons_output): New function.
14762
14763 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14764 arg a frame.
14765
14766 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14767 Set window_system.
14768 (x_set_tool_bar_lines): Don't use updating_frame.
14769 (Fx_create_frame): Set terminal and ref count.
14770 (Fx_open_connection): Remove window-system check.
14771
14772 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14773
14774 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14775 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14776 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14777 Add frame arg.
14778 (x_delete_terminal, w32_create_terminal): New functions.
14779 (w32_term_init): Create a terminal.
14780 (w32_initialize): Move terminal specific initialization to
14781 w32_create_terminal.
14782
14783 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14784 (w32_clear_rect, w32_clear_area): Use background from frame.
14785 (w32_display_info): Add terminal.
14786 (w32_sys_ring_bell, x_delete_display): Declare here.
14787
14788 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14789
14790 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14791
147922007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14793
14794 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14795 Fix get_named_tty calls for the controlling tty.
14796
147972007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14798
14799 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14800
148012007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14802
14803 * term.c (tty_insert_glyphs): Add missing first parameter.
14804
148052007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14806
14807 * buffer.c (Fbuffer_list, Fbury_buffer):
14808 Take frame->buried_buffer_list into account.
14809
14810 * cm.c (current_tty): New variable, for cmputc().
14811 (cmputc): Use it.
14812 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14813 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14814 (cmgoto): Add tty parameter. Pass it on to calccost().
14815 Use emacs_tputs() instead of tputs().
14816
14817 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14818 tputs().
14819 (current_tty): New variable, for cmputc().
14820 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14821
14822 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14823 (internal_condition_case, internal_condition_case_1)
14824 (internal_condition_case_2): Don't abort when x_catching_errors.
14825
14826 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14827 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14828 prevent crashes caused by bogus longjmps in read_char.
14829
14830 * keymap.h (Fset_keymap_parent): Add EXFUN.
14831
14832 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14833 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14834 Remove redundant definition.
14835
14836 * macfns.c (x_set_mouse_color, x_make_gc):
14837 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14838
14839 * w32term.c (x_free_frame_resources):
14840 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14841 (w32_initialize): Use the accessor macros for terminal characteristics.
14842
14843 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14844 Use the accessor macros for terminal characteristics.
14845 * msdos.c (internal_terminal_init): Use the accessor macros for
14846 terminal characteristics.
14847 (ScreenVisualBell, internal_terminal_init):
14848 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14849
14850 * termopts.h (no_redraw_on_reenter): Declare.
14851
14852 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14853 (mark_terminals, mark_ttys): Declare.
14854 (Fgarbage_collect): Call them.
14855 (mark_object): Mark buried_buffer_list.
14856
14857 * prefix-args.c: Include stdlib.h for exit.
14858
14859 * syssignal.h: Add comment.
14860
14861 * indent.c: Include stdio.h.
14862
14863 * window.h (Vinitial_window_system): Declare.
14864 (Vwindow_system): Delete declaration.
14865
14866 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14867
14868 * image.c (lookup_image): Don't initialize `c' until the xasserts
14869 have been run.
14870
14871 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14872 FRAME_FOREGROUND_PIXEL.
14873
14874 * print.c (print_preprocess): Don't lose print_depth levels while
14875 iterating.
14876
14877 * widget.c (update_from_various_frame_slots):
14878 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14879
14880 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14881 frames.
14882 (window_internal_height): Remove bogus make_number call.
14883 (init_window_once): Call make_terminal_frame with two zero parameters.
14884
14885 * fileio.c (Fread_file_name): Update comment.
14886
14887 * callint.c (Fcall_interactively):
14888 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14889 Make sure it is correctly unwound.
14890
14891 * xsmfns.c (x_session_close): New function.
14892
14893 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14894 Delete declarations.
14895
14896 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14897 (x_output): Remove background_pixel and foreground_pixel fields.
14898 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14899 (x_delete_device, x_session_close): Declare.
14900
14901 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14902 (read_filtered_event): Call `read_char' with a local
14903 `wrong_kboard_jmpbuf'.
14904
14905 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14906 Don't call single_kboard_state. Use FRAME_RIF.
14907
14908 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14909 systems.
14910
14911 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14912 (Fframe_with_environment, Fset_input_meta_mode)
14913 (Fset_quit_char): EXFUN.
14914 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14915 (init_sys_modes, reset_sys_modes): Update prototypes.
14916 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14917
14918 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14919 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14920 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14921 Delete declarations.
14922 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14923 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14924 New declarations.
14925
14926 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14927 already does that during init_display(). Call syms_of_keymap
14928 before syms_of_keyboard. Call `syms_of_terminal'.
14929 Call set_initial_environment, not set_process_environment.
14930 (shut_down_emacs): Call reset_all_sys_modes() instead of
14931 reset_sys_modes().
14932
14933 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14934 (internal_resolve_face_name, resolve_face_name_error): New functions.
14935 (resolve_face_name): Protect against loops and errors thrown by Fget.
14936 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14937 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14938
14939 * scroll.c: Replace CURTTY() with local variables throughout the
14940 file (where applicable).
14941 (calculate_scrolling, calculate_direct_scrolling)
14942 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14943 characteristics.
14944
14945 * keymap.c (Vfunction_key_map): Remove.
14946 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14947 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14948 (Vkey_translation_map): Remove.
14949 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14950 (Fdescribe_buffer_bindings)
14951 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14952 Update for terminal-local key-translation-map.
14953
14954 * Makefile.in (callproc.o): Update dependencies.
14955 (lisp, shortlisp): Add termdev.elc.
14956 (obj): Add terminal.o.
14957 (terminal.o): Add dependencies.
14958 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14959 (data.o, fns.o): Add termhooks.h dependency.
14960 (SOME_MACHINE_LISP): Add dnd.elc.
14961 (minibuf.o): Fix typo.
14962 Update dependencies.
14963
14964 * data.c (do_symval_forwarding, store_symval_forwarding)
14965 (find_symbol_value): Use the selected frame's keyboard, not
14966 current_kboard.
14967
14968 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14969 Vwindow_system.
14970
14971 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14972 Fmenu_bar_open.
14973 (syms_of_xmenu): Update defsubr.
14974 (mouse_position_for_popup, Fx_popup_menu)
14975 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14976 (set_frame_menubar, free_frame_menubar)
b97439ce 14977 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
14978 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14979 an X frame.
14980
14981 * xselect.c (x_own_selection): Abort if not an X frame.
14982 (some_frame_on_display): Check if it is an X frame.
14983 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14984
14985 * coding.c: Include frame.h and termhooks.h.
14986 (terminal_coding, keyboard_coding): Delete.
14987 (Fset_terminal_coding_system_internal)
14988 (Fset_keyboard_coding_system_internal)
14989 (Fkeyboard_coding_system)
14990 (Fterminal_coding_system): Add a terminal parameter.
14991 Get terminal_coding from the terminal.
14992 (init_coding_once): Don't call setup_coding_system here.
14993
14994 * dispextern.h (set_scroll_region, turn_off_insert)
14995 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14996 (tty_clear_end_of_line, tty_setup_colors)
14997 (delete_tty, updating_frame)
14998 (produce_special_glyphs, produce_glyphs, write_glyphs)
14999 (insert_glyphs): Remove.
15000 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15001 (tty_turn_off_highlight, get_tty_size): Add declaration.
15002 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15003
15004 * frame.h (enum output_method): Add output_initial.
15005 (struct x_output): Delete.
15006 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15007 Access foreground_pixel and background_pixel directly from the frame.
15008 (tty_display): Delete.
15009 (struct frame): Add buried_buffer_list, foreground_pixel,
15010 background_pixel and terminal. Delete kboard.
15011 (union output_data): Add tty.
15012 (FRAME_KBOARD): Get the kboard from the terminal.
15013 (FRAME_INITIAL_P): New macro.
15014 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15015 (Qterm_environment_variable, Qdisplay_environment_variable)
15016 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15017 New declarations.
15018
15019 * termchar.h (tty_output, tty_display_info): New structures.
15020 (tty_list): Declare.
15021 (FRAME_TTY, CURTTY): New macros.
15022 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15023 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15024 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15025 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15026
15027 * callproc.c: Include frame.h and termhooks.h, for terminal
15028 parameters.
15029 (add_env): New function.
15030 (child_setup): Use it.
15031 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15032 (getenv_internal): Fix get_terminal_param call.
15033 (Fgetenv_internal, egetenv): Update doc.
15034 (syms_of_callproc): Initialize Vprocess_environment to nil.
15035 Register and initialize them. Remove obsolete defvars. Update doc
15036 strings.
15037 (child_setup): Handle Vlocal_environment_variables.
15038 (getenv_internal): Add terminal parameter.
15039 Handle Vlocal_environment_variables.
15040 (Fgetenv_internal): Add terminal parameter.
15041 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15042 environment in a frame (not terminal) parameter. Update doc strings.
15043 (set_initial_environment): Rename from set_global_environment.
15044 Store Emacs environment in initial frame parameter.
15045
15046 * xdisp.c (redisplay_internal): Update references to
15047 `previous_terminal_frame'.
15048 (display_mode_line, Fformat_mode_line): Replace calls to
15049 `push_frame_kboard' with `push_kboard'.
15050 (get_glyph_string_clip_rects): Add extra parentheses and
15051 braces to prevent compiler warnings.
15052 (calc_pixel_width_or_height): Add xassert to check that the
15053 frame is alive. Don't call `lookup_image' on a termcap frame.
15054 (message2_nolog, message3_nolog, redisplay_internal)
15055 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15056 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15057 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15058 (Fx_display_pixel_width, Fx_display_pixel_height)
15059 (Fx_display_planes, Fx_display_color_cells)
15060 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15061 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15062 (Fx_display_backing_store, Fx_display_visual_class)
15063 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15064 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15065
15066 * xfns.c (x_set_foreground_color x_set_background_color)
15067 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15068 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15069 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15070 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15071 terminal that is being deleted.
15072 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15073 frame parameter, and make sure it overrides any user-supplied setting.
15074 (Fx_close_connection, Fx_synchronize): Unify argument names with
15075 the rest of the DEFUNs.
15076
15077 * dispnew.c (Fsend_string_to_terminal): Update call to
15078 `get_tty_terminal'.
15079 (Fredraw_frame, Fsend_string_to_terminal)
15080 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15081 FRAME_TERMCAP_P and FRAME_TTY.
15082 (window_change_signal): Don't believe width/height values that are
15083 impossibly small.
15084 (Vinitial_window_system): Rename from Vwindow_system.
15085 (termscript, Wcm, rif): Delete.
15086
15087 * termhooks.h (struct terminal): New struct containing the
15088 previously global text display hooks and new members NAME,
15089 DELETED and PARAM_ALIST.
15090 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15091 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15092 (FRAME_RIF): New macros.
15093 (get_terminal_param, get_device): New declarations.
15094 (termscript): Delete declaration.
15095
15096 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15097 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15098 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15099 FRAME_FOREGROUND_PIXEL.
15100 (x_fully_uncatch_errors): Disable definition.
15101 (x_scroll_bar_expose): Fix reference to foreground pixel.
15102 (XTread_socket): Disable loop on all X displays.
15103 (x_delete_terminal): Don't set terminal->deleted and let
15104 delete_terminal delete the frames on the terminal.
15105 (x_delete_display): Doc update to reflect changes in
15106 delete_terminal.
15107 (x_display_info) <terminal>: Move member earlier in the struct.
15108 (deleting_tty): Remove old variable.
15109 (Fsuspend_tty): Call clear_tty_hooks.
15110 (Fresume_tty, init_tty): Call set_tty_hooks.
15111 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15112 errors on X frames.
15113 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15114 (handle_one_xevent): Initialize `f' to NULL.
15115 (x_delete_terminal, x_create_terminal): New functions.
15116 (XTset_terminal_modes, XTreset_terminal_modes)
15117 (XTread_socket, x_connection_closed, x_term_init)
15118 (x_term_init, x_delete_display): Add terminal parameter.
15119 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15120 X connections.
15121
15122 * frame.c: Include termchar.h.
15123 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15124 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15125 (Qdisplay_environment_variable): New vars.
15126 (Fframep): Deal with output_initial.
15127 (Fframe-live-p): Doc fix.
15128 (Fwindow-system): New function.
15129 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15130 (make_terminal_frame): Don't create frames on a terminal that is
15131 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15132 (store_frame_param): Check for found_for_frame before calling XFRAME.
15133 (Fmake_terminal_frame): Handle NULL tty names correctly.
15134 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15135 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15136 frames to refer to a deleted frame in their 'environment parameter.
15137 (Fframe_with_environment): New function.
15138 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15139 (get_future_frame_param): New function.
15140 (Fmake_terminal_frame): Use it.
15141 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15142
15143 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15144 * sysdep.c (reset_sys_modes): Update for renames.
15145
15146 * keyboard.c (tty_read_avail_input): New function.
15147 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15148 (syms_of_keyboard): Defsubr them.
15149 (Fset_input_meta_mode, Fset_quit_char): New functions.
15150 (Fset_input_mode): Split to above functions.
15151 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15152 parameter. Use it in call to `read_char'.
15153 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15154 Set wrong_kboard_jmpbuf correctly in recursive calls.
15155 Use current_kboard to access Vkeyboard_translate_table.
15156 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15157 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15158 Update longjmp invocations. Remember the original current_kboard,
15159 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15160 changes it. Comment out unnecessary calls to
15161 `record_single_kboard_state' and `any_kboard_state'.
15162 Update recursive calls.
15163 (wrong_kboard_jmpbuf): Remove global variable.
15164 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15165 Handle deleted interrupted_kboards correctly; that is a legal
15166 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15167 and read_char calls. Abort if interrupted_kboard died in read_char.
15168 (any_kboard_state, single_kboard_state)
15169 (push_frame_kboard): Remove function.
15170 (pop_kboard): Switch out of single_kboard mode if the kboard has
15171 been deleted. Remove unused variable. Help debugging by not
15172 changing current_kboard unnecessarily. Set current_kboard to the
15173 kboard of the selected frame when the stored kboard object has
15174 been deleted before pop_kboard.
15175 (temporarily_switch_to_single_kboard): Change first parameter to a
15176 frame pointer. Throw an error when caller wants to change kboards
15177 while in single_kboard mode. Don't push_kboard if we weren't in
15178 single kboard state. Don't pop_kboard if we popped into any
15179 kboard state.
15180 (restore_kboard_configuration): Abort if pop_kboard changed the
15181 kboard in single_kboard mode. Call pop_kboard only after setting
15182 up single_kboard mode.
15183 (Frecursive_edit): Switch to single_kboard mode only in nested
15184 command loops.
15185 (cmd_error, command_loop, command_loop_1, timer_check):
15186 Comment out unnecessary call to `any_kboard_state' and
15187 `record_single_kboard_state'.
15188 (delete_kboard): Exit single_kboard mode if we have just deleted
15189 that kboard. Use FRAME_KBOARD.
15190 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15191 `fatal_error_signal'.
15192 (record_single_kboard_state): Don't push_kboard if we weren't in
15193 single kboard state. Don't pop_kboard if we popped into any
15194 kboard state.
15195 (push_frame_kboard): Rename to push_kboard.
15196 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15197 (read_avail_input): Read input from all terminals.
15198 (mark_kboards): Also mark Vkeyboard_translate_table.
15199 (kbd_buffer_store_event_hold): Simplify condition.
15200 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15201 (Vkeyboard_translate_table): Move to struct kboard.
15202 (init_kboard): Initialize Vkeyboard_translate_table.
15203 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15204 Vkeyboard_translate_table. Update doc strings. Update docs of
15205 local-function-key-map and function-key-map.
15206
15207 * terminal.c: New file.
15208
15209 * term.c: Include errno.h.
15210 (Vring_bell_function, device_list, initial_device)
15211 (next_device_id, ring_bell, update_begin, update_end)
15212 (set_terminal_window, cursor_to, raw_cursor_to)
15213 (clear_to_end, clear_frame, clear_end_of_line)
15214 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15215 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15216 (syms_of_term): Move their initialization to terminal.c.
15217 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15218 (Ftty_display_color_cells)
15219 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15220 (clear_tty_hooks, set_tty_hooks)
15221 (init_tty, maybe_fatal): New functions.
15222 (Ftty_type): Return nil if terminal is not on a tty instead of
15223 throwing an error. Doc update.
15224 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15225 Doc update. Initialize new subrs and variables.
15226 (delete_tty): Use terminal->deleted.
15227 (tty_set_terminal_modes): Rename from set_terminal_modes.
15228 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15229 (set_scroll_region): Rename to `tty_set_scroll_region'.
15230 (turn_on_insert): Rename to `tty_turn_on_insert'.
15231 (turn_off_insert): Rename to `tty_turn_off_insert'.
15232 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15233 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15234 (toggle_highligh): Rename to `tty_toggle_highlight'.
15235 (background_highlight): Rename to `tty_background_highlight'.
15236 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15237 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15238 (tty_set_scroll_region, tty_background_highlight)
15239 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15240 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15241 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15242 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15243 Add static modifier.
15244 (tty_reset_terminal_modes, tty_set_terminal_window)
15245 (tty_set_scroll_region, tty_background_highlight)
15246 (tty_highlight_if_desired, tty_cursor_to)
15247 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15248 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15249 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15250 renames.
15251
152522007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15253
15254 * keyboard.c: Qrtl is new.
15255 (parse_tool_bar_item): Handle :rtl keyword.
15256 (syms_of_keyboard): Intern :rtl keyword.
15257
15258 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15259
15260 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15261 so no Lisp code is executed.
15262 (file_for_image, find_rtl_image): New functions.
15263 (xg_get_image_for_pixmap): Use file_for_image.
15264 (update_frame_tool_bar): If direction is RTL, use RTL image if
15265 defined. Use Gtk stock images if defined.
15266
152672007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15268
15269 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15270 for nonexistent or zero-width glyph in composition glyph.
15271
152722007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15273
15274 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15275
15276 * xdisp.c (Finvisible_p): New function.
15277 (syms_of_xdisp): defsubr it.
15278
152792007-08-24 Juanma Barranquero <lekktu@gmail.com>
15280
15281 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15282 Doc fixes.
15283
152842007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15285
15286 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15287
152882007-08-24 Martin Rudalics <rudalics@gmx.at>
15289
15290 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15291 whether decoding has modified buffer contents.
15292
152932007-08-24 Jason Rumney <jasonr@gnu.org>
15294
15295 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15296 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15297 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15298 (init_svg_functions) [HAVE_NTGUI]: New function.
15299 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15300 (svg_load_image): Use them.
15301 (svg_load_image) [HAVE_NTGUI]: Implement background.
15302
153032007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15304
15305 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15306 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15307 (LIBX): Remove @RSVG_LIBS@.
15308 (LIBES): Add $(RSVG_LIBS).
15309
15310 * image.c (svg_load_image): Blend with specified background if exists.
15311 Use IMAGE_BACKGROUND. Add Mac OS Support.
15312
15313 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15314 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15315 Remove macros.
15316 [MAC_OSX] (socket_callback): Do nothing.
15317 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15318 ReceiveNextEvent.
15319 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15320 socket_callback.
15321 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15322
153232007-08-22 Glenn Morris <rgm@gnu.org>
15324
15325 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15326
153272007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15328
15329 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15330
15331 * image.c: Add support for SVG images. Some additional comments
15332 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15333 (svg_image_p): New function to test for SVG image.
15334 (svg_load): New function to load SVG image.
15335 (svg_load_image): New function, helper for svg_load.
15336 (Qsvg): New Lisp_object.
15337 (svg_keyword_index): New enum.
15338 (svg_format): New static `image_keyword' struct.
15339 (svg_type): New static `image_type' struct.
15340 (librsvg/rsvg.h): Include it.
15341
153422007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15343
15344 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15345
153462007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15347
15348 * lread.c (Qold_style_backquotes): New var.
15349 (syms_of_lread): Init and staticpro it.
15350 (load_warn_old_style_backquotes): New fun.
15351 (Fload): Use them to warn about old style backquotes.
15352 (end_of_file_error, Fload): Remove unused vars.
15353
15354 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15355
15356 * lread.c (Vold_style_backquotes): New var.
15357 (syms_of_lread): Init and export it to Elisp.
15358 (read1): Set it when we find an old-style (back)quote.
15359
153602007-08-22 Jason Rumney <jasonr@gnu.org>
15361
15362 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15363
153642007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15365
15366 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15367
153682007-08-19 Richard Stallman <rms@gnu.org>
15369
15370 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15371
153722007-08-19 Andreas Schwab <schwab@suse.de>
15373
15374 * alloc.c (pure): Round PURESIZE up.
15375
153762007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15377
15378 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15379 active frame.
15380
153812007-08-16 Richard Stallman <rms@gnu.org>
15382
15383 * eval.c (Fcommandp): Add parens to clarify.
15384
15385 * minibuf.c (Fall_completions): Use enum for type of table.
15386
15387 * emacs.c (USAGE2): Improve text.
15388
153892007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15390
15391 * term.c (tty_default_color_capabilities): Declare static
15392 variables in file scope, to avoid HPUX compiler problem.
15393
153942007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15395
15396 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15397 to gtk_toolbar_insert.
15398
153992007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15400
15401 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15402
15403 * insdel.c (reset_var_on_error): New fun.
15404 (signal_before_change, signal_after_change):
15405 Use it to reset (after|before)-change-functions to nil in case of error.
15406 Bind inhibit-modification-hooks to t.
15407 Don't bind (after|before)-change-functions to nil while they run.
15408
154092007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15410
15411 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15412 filling pixmap with stippled background.
15413
154142007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15415
15416 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15417 Don't use invisible frame as parent window for repositioning.
15418
154192007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15420
15421 * print.c (new_backquote_output): Rename from old_backquote_output.
15422 (print): Inverse its logic (according to its name) so as to match the
15423 behavior of new_backquote_flag in lread.c.
15424
154252007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15426
15427 * gmalloc.c (posix_memalign): New function.
15428
15429 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15430 ActivateControl/DeactivateControl here.
15431 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15432 frame-notice-user-settings is non-nil.
15433 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15434 for kEventParamFMFontStyle.
15435 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15436 mac_pass_command_to_system and mac_pass_control_to_system here.
15437 (XTread_socket): Call ActivateControl/DeactivateControl here.
15438 (XTread_socket) [TARGET_API_MAC_CARBON]:
15439 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15440 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15441 for window repositioning.
15442
154432007-08-08 Glenn Morris <rgm@gnu.org>
15444
15445 * Replace `iff' in doc-strings and comments.
15446
154472007-08-07 Chong Yidong <cyd@stupidchicken.com>
15448
15449 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15450
154512007-08-07 Martin Rudalics <rudalics@gmx.at>
15452
15453 * fileio.c (Finsert_file_contents): Run format-decode and
15454 after_insert_file_functions on entire buffer when REPLACE is
15455 non-nil and inhibit modification_hooks and point_motion_hooks.
15456 For consistency, run after_insert_file_functions iff something
15457 got inserted. Move signal_after_change and update_compositions
15458 after code running after_insert_file_functions. Make sure that
15459 undo_list doesn't record intermediate steps of the decoding process.
15460
154612007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15462
15463 * emacs.c (main)
15464 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15465 Call malloc_enable_thread on interactive startup.
15466
15467 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15468 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15469 [USE_PTHREAD]: Conditionalize with it.
15470 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15471 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15472 New functions.
15473
154742007-08-06 Chong Yidong <cyd@stupidchicken.com>
15475
15476 * xdisp.c (redisplay_window): When restoring original buffer
15477 position, make sure it is still valid.
15478
15479 * image.c (png_load): Ignore png-supplied background color.
15480
154812007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15482
15483 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15484 Use kCFAbsoluteTimeIntervalSince1970.
15485
15486 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15487 New variable.
15488 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15489 event loop should be quit.
15490 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15491 Quit dialog event loop if quit_dialog_event_loop is set.
15492
15493 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15494 (Selection): New typedef. Use instead of ScrapRef.
15495 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15496 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15497 (mac_clear_selection): Rename from clear_scrap.
15498 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15499 scrap_has_target_type. All uses changed.
15500 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15501 (mac_selection_has_target_p): New functions.
15502 (mac_put_selection_value): Rename from put_scrap_string.
15503 (mac_get_selection_value): Rename from get_scrap_string.
15504 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15505 (put_scrap_private_timestamp, scrap_has_target_type)
15506 (get_scrap_private_timestamp): Remove functions.
15507 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15508 (x_own_selection, x_get_local_selection):
15509 Use mac_valid_selection_value_p.
15510 (x_own_selection): Don't use put_scrap_private_timestamp.
15511 Record OWNERSHIP-INFO into Vselection_alist instead.
15512 (x_get_local_selection): Don't check type if request is local.
15513 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15514 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15515
155162007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15517
15518 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15519 add comment explaining why.
15520
155212007-08-03 Richard Stallman <rms@gnu.org>
15522
15523 * fileio.c (Fvisited_file_modtime): Use make_time.
15524
155252007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15526
15527 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15528 build.
15529
155302007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15531
15532 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15533
155342007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15535
15536 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15537
155382007-07-30 Richard Stallman <rms@gnu.org>
15539
15540 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15541
155422007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15543
15544 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15545
155462007-07-28 Nick Roberts <nickrob@snap.net.nz>
15547
15548 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15549 remote default-directory.
15550
15551 * buffer.c (mode-line-format): Update doc string.
15552
155532007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15554
15555 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15556 scroll bar gap.
15557 (x_scroll_bar_create): Set bar->fringe_extended_p.
15558 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15559 on frame edge. Check fringe background extension. Don't clear
15560 extended fringe background area.
15561
15562 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15563 (w32_fill_area): Enclose multiple statements with do ... while (0).
15564
15565 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15566 Extend fringe background to scroll bar gap.
15567 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15568 Set bar->fringe_extended_p.
15569 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15570 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15571 background extension. Don't clear extended fringe background area.
15572
15573 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15574 New member fringe_extended_p.
15575
155762007-07-25 Glenn Morris <rgm@gnu.org>
15577
15578 * Relicense all FSF files to GPLv3 or later.
15579
15580 * COPYING: Switch to GPLv3.
15581
155822007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15583
15584 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15585
15586 * data.c (Finteractive_form): Check for the presence of an
15587 `interactive-form' symbol property more thoroughly.
15588
15589 * data.c (Finteractive_form): Use an `interactive-form' property if
15590 present, analogous to the function-documentation property.
15591
155922007-07-24 Jason Rumney <jasonr@gnu.org>
15593
15594 * w32fns.c (x_real_positions): Get real position from OS instead of
15595 calculating it.
15596
155972007-07-23 Jason Rumney <jasonr@gnu.org>
15598
15599 * filelock.c (current_lock_owner): Allow for @ sign in username.
15600
156012007-07-22 Nick Roberts <nickrob@snap.net.nz>
15602
15603 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15604 remote default-directory.
15605
15606 * buffer.c (mode-line-format): Describe above case in doc string.
15607
156082007-07-20 Eli Zaretskii <eliz@gnu.org>
15609
15610 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15611 Define if not defined.
15612
156132007-07-18 Jason Rumney <jasonr@gnu.org>
15614
15615 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15616
156172007-07-18 Richard Stallman <rms@gnu.org>
15618
15619 * data.c (Fsetq_default): Doc fix.
15620
15621 * eval.c (Fsetq): Doc fix.
15622
156232007-07-18 Juanma Barranquero <lekktu@gmail.com>
15624
15625 * coding.c (Ffind_operation_coding_system):
15626 * eval.c (For, Fand): Doc fixes.
15627 Reported by Johan Bockgård.
15628
156292007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15630
15631 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15632
15633 * xterm.h: Declare x_ewmh_activate_frame.
15634
15635 * xterm.c (x_ewmh_activate_frame): New function.
15636 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15637
156382007-07-17 Martin Rudalics <rudalics@gmx.at>
15639
15640 * window.c (Fdisplay_buffer): If largest or LRU window is the
15641 only window, split it even if it is not eligible for splitting.
15642 This restores the original behavior broken by the 2007-07-15
15643 change.
15644
156452007-07-17 Glenn Morris <rgm@gnu.org>
15646
15647 * abbrev.c (abbrev_check_chars): New function.
15648 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15649 Call abbrev_check_chars to check abbrev characters are word
15650 constituents. Doc fix.
15651
156522007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15653
15654 * process.c (Fstart_process, Fmake_network_process)
15655 (read_process_output): Fix up last changes.
15656
156572007-07-16 Eli Zaretskii <eliz@gnu.org>
15658
15659 * makefile.w32-in (clean): Don't delete *~.
15660
156612007-07-16 Andreas Schwab <schwab@suse.de>
15662
15663 * window.c (Fdisplay_buffer): Use NILP.
15664 (Fset_window_scroll_bars): Likewise.
15665
156662007-07-15 Martin Rudalics <rudalics@gmx.at>
15667
15668 * window.c (window_min_size_2): New function.
15669 (window_min_size_1, size_window, Fdisplay_buffer)
15670 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15671 windows without mode- or header-lines when window-min-height is
15672 too small.
15673 (size_window): Reset nodelete_p after testing it, following an
15674 earlier note by Kim F. Storm.
15675 (display_buffer): Do not set split_height_threshold to twice the
15676 value of window_min_height to avoid changing the value of a
15677 customizable variable. Rather explicitly check whether the
15678 height of the window that shall be splitted is at least as large
15679 as split_height_threshold.
15680 (Fwindow_full_width_p): New defun.
15681 (syms_of_window): Defsubr it.
15682
15683 * window.h: Add EXFUN for Fwindow_full_width_p.
15684
156852007-07-14 Jason Rumney <jasonr@gnu.org>
15686
15687 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15688
156892007-07-14 Richard Stallman <rms@gnu.org>
15690
15691 * eval.c (maybe_call_debugger): New function.
15692 (find_handler_clause): Use maybe_call_debugger.
15693 Call it when the handler says `debug'.
15694 Eliminate DEBUGGER_VALUE_PTR.
15695 (Fsignal): Eliminate debugger_value.
15696 (Qdebug): New variable.
15697 (syms_of_eval): Initialize it.
15698
156992007-07-14 Juanma Barranquero <lekktu@gmail.com>
15700
15701 * eval.c (Fprogn):
15702 * keyboard.c (Ftrack_mouse):
15703 * print.c (Fwith_output_to_temp_buffer):
15704 * window.c (Fsave_window_excursion): Doc fix.
15705
157062007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15707
15708 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15709
157102007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15711
15712 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15713 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15714 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15715 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15716 Remove unused encoding_carryover.
15717 * process.c: Adjust all functions accordingly.
15718
157192007-07-12 Richard Stallman <rms@gnu.org>
15720
15721 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15722
157232007-07-11 Jason Rumney <jasonr@gnu.org>
15724
15725 * makefile.w32-in (LIBS): Include OLE32.
15726
15727 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15728 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15729
157302007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15731
15732 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15733 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15734 from a Lisp_Object into a bare pointer.
15735 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15736 Adjust the code correspondingly.
15737
15738 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15739
15740 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15741 (term_show_mouse_face): Remove unused var `j'.
15742 (handle_one_term_event): Remove unused vars `i' and `j'.
15743 Don't cast return value of ttyname since it's not necessary.
15744
157452007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15746
15747 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15748 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15749
15750 * fns.c (map_char_table): Use an array of int for `indices' rather than
15751 an array of Lisp_Objects (which are only ever integers anyway).
15752 (Fmap_char_table): Update caller.
15753 * lisp.h: Update prototype.
15754 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15755 * fontset.c (Ffontset_info):
15756 * casetab.c (set_case_table): Update callers.
15757
15758 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15759
15760 * keymap.c (struct accessible_keymaps_data)
15761 (struct where_is_internal_data): New structures.
15762 (accessible_keymaps_1, where_is_internal_1): Use them to change
15763 interface to adhere to the one used by map_keymap.
15764 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15765 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15766
15767 * keymap.h (map_keymap_function_t): More informative prototype.
15768
157692007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15770
15771 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15772 (looking_at_1): Don't change search_regs and last_thing_searched
15773 if `inhibit-changing-match-data' is non-nil.
15774 (string_match_1, search_buffer, set_search_regs): Likewise.
15775 (syms_of_search): Add Lisp level definition for
15776 `inhibit-changing-match-data' and set it to nil.
15777 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15778 start and end of the match, instead of using values in search_regs.
15779
157802007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15781
15782 * minibuf.c (Fcompleting_read): New value `confirm-only'
15783 for `require-match'.
15784
157852007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15786
15787 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15788 part of the 2007-06-27 change to syms_of_fileio.
15789
157902007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15791
15792 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15793 Check WINDOWP before using XWINDOW. Consolidate return statements.
15794
157952007-06-27 Richard Stallman <rms@gnu.org>
15796
15797 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15798
157992007-06-27 Juanma Barranquero <lekktu@gmail.com>
15800
15801 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15802
158032007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15804
15805 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15806 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15807 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15808 (_free_internal, memalign): Use them.
15809 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15810 Initialize to PTHREAD_MUTEX_INITIALIZER.
15811 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15812 (morecore_nolock): Rename from morecore. All uses changed.
15813 Use only nolock versions of internal allocation functions.
15814 (_malloc_internal_nolock, _realloc_internal_nolock)
15815 (_free_internal_nolock): New functions created from
15816 _malloc_internal, _realloc_internal, and _free_internal.
15817 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15818 Copy hook value to automatic variable before its use.
15819 (memalign): Copy hook value to automatic variable before its use.
15820
158212007-06-26 Kenichi Handa <handa@m17n.org>
15822
15823 * coding.c (Ffind_operation_coding_system): Docstring improved.
15824 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15825
158262007-06-25 David Kastrup <dak@gnu.org>
15827
15828 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15829 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15830 cater for additional parameter.
15831
15832 * keymap.h: Adjust number of parameters to `current-active-maps'.
15833
15834 * doc.c (Fsubstitute_command_keys): Adjust call of
15835 `current-active-maps'.
15836
158372007-06-25 David Kastrup <dak@gnu.org>
15838
15839 * callint.c (Fcall_interactively): Make the parsing of interactive
15840 specs somewhat more readable.
15841
158422007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15843
15844 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15845 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15846 if extended background has already been filled.
15847
158482007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15849
15850 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15851 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15852
15853 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15854 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15855 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15856 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15857 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15858 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15859 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15860 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15861 Run timers during dialog popup.
15862 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15863
158642007-06-21 Jason Rumney <jasonr@gnu.org>
15865
15866 * image.c (convert_mono_to_color_image): Swap fore and background.
15867
158682007-06-20 Jason Rumney <jasonr@gnu.org>
15869
15870 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15871 (w32_free_bdf_font): Unmap memory not handle.
15872
158732007-06-20 Sam Steingold <sds@gnu.org>
15874
15875 * gmalloc.c (__morecore): Fix the declaration to comply with the
15876 definition.
15877
158782007-06-20 Juanma Barranquero <lekktu@gmail.com>
15879
15880 * w32term.c (w32_delete_display): Remove leftover declaration.
15881 (w32_define_cursor, w32_initialize): Make static.
15882
15883 * w32.c (_wsa_errlist): Fix typo in error message.
15884 (init_environment): Ignore any environment variable from the
15885 registry having a null value.
15886
158872007-06-20 Glenn Morris <rgm@gnu.org>
15888
15889 * Makefile.in (LIBGIF): Default to -lgif.
15890
158912007-06-17 Jason Rumney <jasonr@gnu.org>
15892
15893 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15894 unicode strings.
15895
158962007-06-16 Juanma Barranquero <lekktu@gmail.com>
15897
15898 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15899 Fix typo in docstring.
15900
159012007-06-16 Eli Zaretskii <eliz@gnu.org>
15902
15903 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15904 and their keybindings.
15905
159062007-06-15 Chong Yidong <cyd@stupidchicken.com>
15907
15908 * composite.c (update_compositions): Fix last fix.
15909
159102007-06-14 Jason Rumney <jasonr@gnu.org>
15911
15912 * w32.c (get_process_times_fn): New function pointer.
15913 (globals_of_w32): Intialize it if present in kernel32.dll.
15914 (w32_get_internal_run_time): New function.
15915
15916 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15917
159182007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15919
15920 * composite.c (update_compositions): Check the validness of
15921 compositions.
15922
159232007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15924
15925 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15926 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15927
15928 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15929 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15930
15931 * macgui.h (USE_MAC_TOOLBAR): New define.
15932
15933 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15934 Return immediately unless popup is activated.
15935
15936 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15937 background to scroll bar gap.
15938 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15939 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15940 scroll bars on frame edge. Check fringe background extension.
15941 Don't clear extended fringe background area.
15942 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15943 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15944 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15945 [USE_MAC_TOOLBAR]: New macros.
15946 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15947 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15948 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15949 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15950 [USE_MAC_TOOLBAR]: New functions.
15951 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15952 manually if previous repositioning has failed.
15953 (mac_handle_keyboard_event): Use precomputed event kind.
15954 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15955 as tool bar item click. Handle mouse movement over tool bar items.
15956
15957 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15958 toolbar_win_gravity.
15959 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15960 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15961 Add externs.
15962
15963 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15964 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15965
159662007-06-14 Chong Yidong <cyd@stupidchicken.com>
15967
15968 * image.c (search_image_cache): Remove unused variable.
15969
159702007-06-13 Chong Yidong <cyd@stupidchicken.com>
15971
15972 * xfns.c, xmenu.c: Link to xaw3d if available.
15973
159742007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15975
15976 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15977 frame_foreground and frame_background.
15978
15979 * image.c (lookup_image): Save frame foreground and background colors.
15980 (search_image_cache): Check if saved and current frame colors match.
15981
159822007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15983
15984 * regex.c (regex_compile): Remove the `regnum' counter.
15985 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15986
159872007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15988
15989 * term.c: Include intervals.h to declare Fget_text_property.
15990
159912007-06-10 Jason Rumney <jasonr@gnu.org>
15992
15993 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15994
159952007-06-08 Juanma Barranquero <lekktu@gmail.com>
15996
15997 * callint.c (Fcall_interactively):
15998 * editfns.c (Fdelete_and_extract_region):
15999 * fileio.c (Fread_file_name):
16000 * fns.c (Fmapconcat):
16001 * keyboard.c (cmd_error_internal):
16002 * keymap.c (Fkey_description):
16003 * lread.c (openp):
16004 * minibuf.c (read_minibuf):
16005 * search.c (wordify):
16006 * sunfns.c (sel_read):
16007 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16008 * xfns.c (x_default_scroll_bar_color_parameter):
16009 * xmenu.c (menu_help_callback):
16010 * xselect.c (Fx_get_atom_name):
16011 * xterm.c (x_term_init): Use empty_unibyte_string.
16012
160132007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16014
16015 * alloc.c (init_strings): Initialize canonical empty strings.
16016 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16017 canonical empty string when the requested size is 0.
16018
16019 * emacs.c (empty_unibyte_string): Rename from empty_string.
16020 (empty_multibyte_string): New canonical empty string.
16021 (syms_of_emacs): Don't initialize empty_string.
16022
16023 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16024 string, if appropriate.
16025 (empty_unibyte_string, empty_multibyte_string): New externs.
16026 (empty_string): Remove extern.
16027
16028 * lread.c (syms_of_lread): Use empty_unibyte_string.
16029
160302007-06-07 Jason Rumney <jasonr@gnu.org>
16031
16032 * s/ms-w32.h: Don't define HAVE_TZNAME.
16033
16034 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16035
160362007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16037
16038 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16039
16040 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16041 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16042
16043 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16044 Don't call next handler.
16045 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16046 Remove argument. Install handler to application.
16047 (set_frame_menubar): Don't change deep_p.
16048 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16049 FRAME_OUTER_TO_INNER_DIFF_Y.
16050 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16051 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16052 [HAVE_DIALOGS]: New macros.
16053 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16054 Use them.
16055 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16056
16057 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16058 init_service_handler. All callers changed. Return OSStatus value.
16059
16060 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16061 All callers changed so as not to call SetPortWindowPort.
16062 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16063 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16064 mac_draw_string_common.
16065 (mac_draw_image_string_qd): Likewise.
16066 (mac_draw_string_common): Use them. Add INLINE.
16067 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16068 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16069 GetGlobalMouse.
16070 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16071 and FRAME_OUTER_TO_INNER_DIFF_Y.
16072 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16073 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16074 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16075 repositioning window to mac_handle_window_event.
16076 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16077 saving window location to mac_handle_window_event
16078 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16079 (install_menu_target_item_handler): Remove argument in extern.
16080 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16081 Also accept command events.
16082 (do_keystroke): New function created from XTread_socket.
16083 (init_command_handler): Remove functions.
16084 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16085 and save window location by kEventWindowShowing and kEventWindowHiding
16086 handlers here. Don't call next handler for window state change and
16087 focus events.
16088 (mac_handle_application_event, mac_handle_keyboard_event)
16089 [TARGET_API_MAC_CARBON]: New functions.
16090 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16091 kEventWindowShowing and kEventWindowHiding events. Move installation
16092 of mouse, font, text input and menu target item handlers to
16093 install_application_handler.
16094 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16095 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16096 New function.
16097 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16098 Register it.
16099 (XTread_socket) [TARGET_API_MAC_CARBON]:
16100 Consolidate SendEventToEventTarget calls.
16101 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16102 Move application activation handler to mac_handle_application_event.
16103 Move keyboard handler to mac_handle_keyboard_event.
16104 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16105 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16106 init_command_handler. Call install_application_handler.
16107
16108 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16109 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16110
161112007-06-07 Glenn Morris <rgm@gnu.org>
16112
16113 * emacs.c (main): Use `emacs-copyright' in --version output.
16114
161152007-06-06 Chong Yidong <cyd@stupidchicken.com>
16116
16117 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16118
161192007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16120
16121 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16122
16123 * macgui.h: Replace WindowPtr with WindowRef.
16124
16125 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16126 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16127 Replace ControlHandle with ControlRef.
16128 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16129
16130 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16131 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16132 Replace ControlHandle with ControlRef.
16133 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16134 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16135
16136 * macterm.h (struct scroll_bar): Rename member control_handle_low
16137 and control_handle_high to control_ref_low and control_ref_high.
16138 All uses changed.
16139 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16140 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16141 respectively. All uses changed.
16142 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16143 (install_window_handler, remove_window_handler): Replace WindowPtr
16144 with WindowRef in externs.
16145
161462007-06-05 Juanma Barranquero <lekktu@gmail.com>
16147
16148 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16149
161502007-06-03 Nick Roberts <nickrob@snap.net.nz>
16151
16152 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16153
16154 * frame.c (Fmouse_position, Fmouse_pixel_position):
16155 Condition on HAVE_GPM too.
16156
16157 * term.c (term_mouse_highlight): Remove unused variables.
16158 (Fterm_open_connection): Set gpm_zerobased to 1.
16159 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16160 Use zero based co-ordinates.
16161 (handle_one_term_event): Report a drag as mouse movement too.
16162
16163 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16164
161652007-06-03 Chong Yidong <cyd@stupidchicken.com>
16166
16167 * image.c (search_image_cache): New function. Require background
16168 color match if background color is unspecified in the image spec.
16169 (uncache_image, lookup_image): Use it.
16170
161712007-06-01 Juanma Barranquero <lekktu@gmail.com>
16172
16173 * window.c (Fshrink_window): Reflow docstring.
16174
161752007-06-02 Chong Yidong <cyd@stupidchicken.com>
16176
16177 * Version 22.1 released.
16178
161792007-06-01 Richard Stallman <rms@gnu.org>
16180
16181 * xfns.c (x_encode_text): Add GCPRO.
16182
161832007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16184
16185 * xfns.c (x_set_name_internal): Save encoded name before
16186 x_encode_text in case string data is relocated.
16187
161882007-05-31 Richard Stallman <rms@gnu.org>
16189
16190 * buffer.c (syms_of_buffer): Doc fix.
16191
161922007-05-30 Nick Roberts <nickrob@snap.net.nz>
16193
16194 * sysdep.c (init_sys_modes): Add rather than replace with
16195 O_NONBLOCK.
16196
16197 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16198 term_mouse_moveto.
16199
16200 * termhooks.h (term_mouse_moveto): New extern.
16201
16202 * term.c (mouse_face_window): Rename...
16203 (Qmouse_face_window): ...to this.
16204 (term_show_mouse_face, term_clear_mouse_face)
16205 (term_mouse_highlight): Use Qmouse_face_window.
16206 (term_mouse_moveto): New function.
16207 (term_mouse_position): Make it work.
16208 (syms_of_term): Uncomment assignment to mouse_position_hook.
16209 Staticpro Qmouse_face_window.
16210
162112007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16212
16213 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16214 around current_column call.
16215
162162007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16217
16218 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16219 * xdisp.c (next_element_from_buffer):
16220 * window.c (delete_window):
16221 * term.c (term_mouse_highlight):
16222 * msdos.c (getdefdir):
16223 * macterm.c (mac_create_bitmap_from_bitmap_data)
16224 (init_font_name_table):
16225 * fns.c (Fsxhash):
16226 * data.c (Fmake_local_variable):
16227 * ccl.c (ccl_driver): Likewise.
16228
162292007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16230
16231 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16232 Call mac_wakeup_from_rne on window size change.
16233
162342007-05-25 Chong Yidong <cyd@stupidchicken.com>
16235
16236 * image.c (uncache_image): Fix typo.
16237
162382007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16239
16240 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16241
162422007-05-22 Richard Stallman <rms@gnu.org>
16243
16244 * xterm.c (x_connection_closed): Remove NO_RETURN.
16245
162462007-05-22 Martin Rudalics <rudalics@gmx.at>
16247
16248 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16249
162502007-05-21 Chong Yidong <cyd@stupidchicken.com>
16251
16252 * image.c (uncache_image): New function.
16253 (Fimage_refresh): New function.
16254
162552007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16256
16257 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16258
162592007-05-20 Nick Roberts <nickrob@snap.net.nz>
16260
16261 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16262 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16263
162642007-05-20 Nick Roberts <nickrob@snap.net.nz>
16265
16266 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16267 conditional on [HAVE_GPM_H].
16268
162692007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16270
16271 * syntax.c (skip_chars): Update syntax-table only after we checked that
16272 the new location is valid.
16273
162742007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16275
16276 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16277 mac_get_window_bounds.
16278
162792007-05-20 Nick Roberts <nickrob@snap.net.nz>
16280
16281 * Makefile.in (LIBGPM): Allow it to be set from configure.
16282 If set then link Emacs with it.
16283
16284 * config.in: Regenerate.
16285
16286 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16287 New externs.
16288
16289 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16290 Include gpm.h.
16291 (handle_one_term_event, term_gpm): New externs.
16292
16293 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16294 and allow it to be interrupted by SIGIO.
16295
16296 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16297 (wait_reading_process_output): Wait on gpm_fd too.
16298 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16299 (add_gpm_wait_descriptor_called_flag): New variable.
16300 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16301
16302 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16303 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16304 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16305 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16306 (make_lispy_event): Add case GPM_CLICK_EVENT.
16307 (read_avail_input): Handle mouse input.
16308
16309 * term.c (write_glyphs_with_face): New function.
16310 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16311 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16312 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16313 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16314 (last_mouse_x, last_mouse_y): New variables.
16315 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16316 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16317 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16318 (Fterm_close_connection): New functions.
16319 (term_init): Initialise mouse_face_window.
16320
163212007-05-19 Chong Yidong <cyd@stupidchicken.com>
16322
16323 * xdisp.c (redisplay_window): If first window line is a
16324 continuation line, recompute the new window start instead of
16325 recentering.
16326
163272007-05-18 Glenn Morris <rgm@gnu.org>
16328
16329 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16330 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16331
163322007-05-17 Glenn Morris <rgm@gnu.org>
16333
16334 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16335
163362007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16337
16338 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16339 dead key repeat and up events.
16340
163412007-05-14 Chong Yidong <cyd@stupidchicken.com>
16342
16343 * image.c (pbm_load): Check image size for monochrome pbm.
16344
163452007-05-13 Chong Yidong <cyd@stupidchicken.com>
16346
16347 * xterm.c (XTread_socket): Revert last change.
16348
163492007-05-12 Chong Yidong <cyd@stupidchicken.com>
16350
16351 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16352
16353 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16354
163552007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16356
16357 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16358 mixup (YAILOM).
16359
163602007-05-07 Andreas Schwab <schwab@suse.de>
16361
16362 * keymap.c (Flookup_key): Fix typo in last change.
16363
163642007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16365
16366 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16367 mapping for unibyte strings.
16368
163692007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16370
16371 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16372 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16373
163742007-04-29 Richard Stallman <rms@gnu.org>
16375
16376 * insdel.c (replace_range): For undo, record insertion first.
16377
163782007-04-29 Andreas Schwab <schwab@suse.de>
16379
16380 * lisp.h (VECSIZE): Use OFFSETOF.
16381
163822007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16383
16384 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16385 disabled lines.
16386
163872007-04-28 Richard Stallman <rms@gnu.org>
16388
16389 * lread.c (read_escape): In a string, \s is always space.
16390
163912007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16392
16393 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16394
16395 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16396 submenu for menu bar items.
16397
16398See ChangeLog.10 for earlier changes.
16399
16400;; Local Variables:
16401;; coding: utf-8
16402;; add-log-time-zone-rule: t
16403;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16404;; End:
16405
16406 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16407
16408 This file is part of GNU Emacs.
16409
16410 GNU Emacs is free software: you can redistribute it and/or modify
16411 it under the terms of the GNU General Public License as published by
16412 the Free Software Foundation, either version 3 of the License, or
16413 (at your option) any later version.
16414
16415 GNU Emacs is distributed in the hope that it will be useful,
16416 but WITHOUT ANY WARRANTY; without even the implied warranty of
16417 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16418 GNU General Public License for more details.
16419
16420 You should have received a copy of the GNU General Public License
16421 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16422
16423;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40