(Misc File Ops): Document set-file-modes.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
9f688acf
GM
12008-11-26 Glenn Morris <rgm@gnu.org>
2
3 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
4 redefinition with ifdef. (Bug#1383)
5
e7d5ecb3
CY
62008-11-24 Chong Yidong <cyd@stupidchicken.com>
7
8 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
9 Document confirm-after-completion value for
10 minibuffer-completion-confirm.
11
c285743c
JR
122008-11-24 Jason Rumney <jasonr@gnu.org>
13
14 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
15 warning.
16
b0857706
JR
172008-11-23 Jason Rumney <jasonr@gnu.org>
18
19 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
20 restored before returning.
21
22 * w32font.c (check_face_name): New function.
23 (add_font_entity_to_list): Use it to filter out common substituted
24 fonts.
25
ee50ff07
MR
262008-11-22 Martin Rudalics <rudalics@gmx.at>
27
28 * buffer.c (Fswitch_to_buffer): Reword and mention new option
29 confirm-nonexistent-file-or-buffer in doc-string.
30
b8ff72fa
SM
312008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
32
33 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
34 Fix copy/paste typo. Add checks.
35
cee53ed4
KH
362008-11-21 Kenichi Handa <handa@m17n.org>
37
38 * coding.c (detect_coding_iso_2022): Reject invalid composition
39 sequence.
40 (DECODE_COMPOSITION_START): If the current source is the last
41 block, and the current composition doesn't end, regard this
42 sequence as invalid.
43 (decode_coding_iso_2022): Handle invalid composition sequence.
44
f6ef1e65
MR
452008-11-20 Martin Rudalics <rudalics@gmx.at>
46
47 * window.c (coordinates_in_window): Don't return
48 ON_VERTICAL_BORDER for the rightmost position of a mode/header
49 line when the window is not the rightmost one. (Bug#1372)
50
e08b1705
MR
512008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
52
53 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
54
ad98e89f
EZ
552008-11-15 Eli Zaretskii <eliz@gnu.org>
56
57 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
58 and bright_bg if noninteractive is non-zero.
59
fb098a4b
CY
602008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
61
62 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
63 x_draw_glyph_string_background.
64
65 * w32term.c (x_draw_glyph_string): Likewise.
66
ce952b6e
CY
672008-11-15 Chong Yidong <cyd@stupidchicken.com>
68
69 * xterm.c (x_draw_glyph_string): Stop drawing the background of
70 the next glyph string once past the overhang width.
71
72 * nsterm.m (ns_draw_glyph_string): Likewise.
73
74 * w32term.c (x_draw_glyph_string): Likewise.
75
26ea7079
CY
762008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
77
78 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
79 double file close.
80
1c33c906
MR
812008-11-14 Martin Rudalics <rudalics@gmx.at>
82
83 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
84 dedicated status of window before attempting to display another
85 buffer in it.
86
8fc29035
JB
872008-11-14 Juanma Barranquero <lekktu@gmail.com>
88
89 * msdos.c (Fmsdos_long_file_names):
90 (syms_of_msdos) <dos-unsupported-char-glyph>:
91 * dosfns.c (Fint86): Fix typos in docstrings.
92
55fb4286
EZ
932008-11-14 Eli Zaretskii <eliz@gnu.org>
94
95 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
96
3fda0315
KY
972008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
98
99 * puresize.h (BASE_PURESIZE): Increase to 1260000.
100
7e849c17
CY
1012008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
102
103 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
104
105 * frame.h: Negative alpha means "don't touch".
106
107 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
108
109 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
110
b9fd67bd
DN
1112008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
112
113 * hftctl.c:
114 * chpdef.h:
115 * acldef.h: Remove files used only for systems no longer supported.
116
117 * Makefile.in: Fix .o alphabetical ordering.
118 (hftctl.o): Remove dependency, file removed.
119 (keymap.o, print.o): Depend on charset.h.
120
d5998e03
KH
1212008-11-10 Kenichi Handa <handa@m17n.org>
122
123 * character.c (Fget_byte): Fix and make it faster for unibyte
124 target.
125
be70e183
CY
1262008-11-08 Chong Yidong <cyd@stupidchicken.com>
127
128 * dired.c (file_name_completion): If completion_ignore_case is
129 enabled, ignore case when checking completion-regexp-list.
130
7cf94eac
EZ
1312008-11-08 Eli Zaretskii <eliz@gnu.org>
132
133 * vm-limit.c (get_lim_data): Fix last change.
134
ee107a89
KH
1352008-11-08 Kenichi Handa <handa@m17n.org>
136
137 * character.c (Fget_byte): New function.
138 (syms_of_character): Defsubr Fget_byte.
139
5fd15622
CY
1402008-11-07 Chong Yidong <cyd@stupidchicken.com>
141
142 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
143 cursor position is valid after scrolling.
144
13d62fad
JB
1452008-11-06 Juanma Barranquero <lekktu@gmail.com>
146
147 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
148
a1dd2936
GM
1492008-11-06 Glenn Morris <rgm@gnu.org>
150
151 * xterm.c (handle_one_xevent): Don't let popup menus cause
152 mouse-autoselect-window related window switching. (Bug#1261)
153
860cd236
CY
1542008-11-04 David Smith <davidsmith@acm.org> (tiny change)
155
156 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
157
653a3150
AS
1582008-11-04 Andreas Schwab <schwab@suse.de>
159
160 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
161
870f5cac
CY
1622008-11-03 Chong Yidong <cyd@stupidchicken.com>
163
164 * xfns.c (Fx_wm_set_size_hint): New function.
165
1e02f3cb
MR
1662008-11-03 Martin Rudalics <rudalics@gmx.at>
167
168 * textprop.c (Fprevious_single_char_property_change): Return 0
169 when there's no change in a string. (Bug#1301)
170
e630dfc6
MR
1712008-11-02 Martin Rudalics <rudalics@gmx.at>
172
173 * frame.c (do_switch_frame): New argument NORECORD passed to
174 Fselect_window.
175 (Fselect_frame): New argument NORECORD passed to
176 do_switch_frame.
177 (Fset_frame_selected_window): New argument NORECORD passed to
178 Fselect_frame.
179 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
180 in call of do_switch_frame.
181 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
182 Handle NORECORD argument in call of Fselect_frame.
183 * lisp.h (do_switch_frame, Fselect_frame)
184 (Fset_frame_selected_window): Adjust declarations.
185 * window.c (select_frame_norecord): New function.
186 (run_window_configuration_change_hook): Use it and call
187 Fselect_frame with NORECORD set.
188 (Fselect_window): Pass NORECORD to Fselect_frame.
189 (Fset_window_configuration): Handle NORECORD argument in call of
190 do_switch_frame.
191 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
192 Fset_frame_selected_window.
193 * keyboard.c (command_loop_1): Handle NORECORD in call of
194 Fselect_frame (currently ifdefd).
195
9020b223
GM
1962008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
197
198 * emacs.c (USAGE2): Untabify.
199
793ffee8
SM
2002008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
201
202 * composite.c (fill_gstring_header): Fix copy/paste typo.
203
ab6d1131
MR
2042008-10-31 Martin Rudalics <rudalics@gmx.at>
205
206 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
207 (Fother_window): Rename argument and rewrite doc-string.
208 (select_window_norecord): Fix return value. (Bug#1276)
209
601a9cf1
JB
2102008-10-30 Juanma Barranquero <lekktu@gmail.com>
211
212 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
213 new frames overriding foreground for tooltips. Based on similar patch
214 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
215
813b0652
CY
2162008-10-29 Chong Yidong <cyd@stupidchicken.com>
217
218 * emacs.c (Fdaemon_initialized): Initialize nfd.
219
4414f58f
MR
2202008-10-29 Martin Rudalics <rudalics@gmx.at>
221
222 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
223 (Fwindow_text_height): Clarify doc-strings.
224 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
225 doc-string of window-scroll-functions.
226
ecdcaa09
RS
2272008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
228
229 * category.c (syms_of_category): Fix typo in docstring.
230
23fe745a
JB
2312008-10-28 Juanma Barranquero <lekktu@gmail.com>
232
233 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
234 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
235 Fix typos in docstrings.
236
ff808935
DN
2372008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
238
239 * emacs.c (daemon_pipe): Make non-static.
240 (IS_DAEMON): Move definition ...
241 * lisp.h (IS_DAEMON): ... here.
242 (daemon_pipe): Declare.
243 (is_daemon): Remove.
244 * dispnew.c (init_display): Use IS_DAEMON.
245
fc012771
SM
2462008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
247
248 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
249 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
250
251 * emacs.c (is_daemon): Remove.
252 (main): Don't set is_daemon.
253 (IS_DAEMON): New macro.
254 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 255 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
256 parent exits.
257 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
258
d8bdbe6f
CY
2592008-10-27 Chong Yidong <cyd@stupidchicken.com>
260
d1a072bf
CY
261 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
262 over-sized glyph, draw it with the default glyph width.
263
e2e325aa
CY
264 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
265 glyph, draw it with the default glyph width.
266
267 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
268 glyph, draw it with the default glyph width.
269
d8bdbe6f
CY
270 * xdisp.c (try_scrolling): When computing the distance from the
271 scroll margin to PT, try moving some distance past the window
272 bottom before giving up.
273
7bfac547
MR
2742008-10-27 Martin Rudalics <rudalics@gmx.at>
275
276 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
277 (Fset_window_buffer): Explain in doc-string that a window can be
278 "strongly" dedicated to its buffer.
279
4ff029f6
DN
2802008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
281
282 * emacs.c (daemon_name): New variable.
283 (main): Deal with --daemon=SERVER_NAME.
284 (Fdaemonp): Return a name if one was passed to --daemon.
285
5790ef40
DN
2862008-10-26 Romain Francoise <romain@orebokech.com>
287
f9bd0df9 288 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
289 (main): Create a pipe before forking, make the parent exit only after
290 the child has closed its end of the pipe. Move closing the
291 descriptors ...
292 (Fdaemon_initialized): ... here. New function.
293
f5385255
SM
2942008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
295
4d632321
SM
296 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
297 the previous unoptimized table.
298
f5385255
SM
299 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
300 the distinction between non-nil and non-t value of `dedicated'.
301
6c56a0f3
CY
3022008-10-25 Chong Yidong <cyd@stupidchicken.com>
303
304 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 305 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 306
fec89261
MR
3072008-10-25 Martin Rudalics <rudalics@gmx.at>
308
309 * window.c (Fget_buffer_window, Fdelete_windows_on)
310 (Freplace_buffer_in_windows): Make buffer argument optional and
311 rename to buffer_or_name.
312
34fcddd0
CY
3132008-10-24 Chong Yidong <cyd@stupidchicken.com>
314
f5385255
SM
315 * xdisp.c (handle_single_display_spec, handle_display_prop):
316 Undo 2005-05-16 change.
34fcddd0
CY
317 (handle_stop): Pop iterator if it's loaded with an empty string.
318 (get_overlay_strings_1): Don't save iterator if it's loaded with
319 an empty string (bug#1201).
320
064766f2
KH
3212008-10-24 Kenichi Handa <handa@m17n.org>
322
323 * ftfont.c (ftfont_otf_features): Fix previous change.
324 (ftfont_otf_capability): Check FeatureList.FeatureCount before
325 calling ftfont_otf_features.
326
f9bd0df9 3272008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
328
329 * font.c (font_match_p): Fix for the case that a vector of
330 characters is in script-representative-chars.
331
1dae9197
MA
3322008-10-24 Michael Albinus <michael.albinus@gmx.de>
333
334 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 335 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
336 (xd_read_queued_messages): Catch Qdbus_error from the macros.
337 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
338 macro. (Bug#1186).
339
f9bd0df9 3402008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
341
342 * s/sol2-10.h: New file.
343
878a4584
JB
3442008-10-23 Juanma Barranquero <lekktu@gmail.com>
345
346 * xdisp.c (fill_glyph_string): Fix typo in source (though the
347 poor beast has survived 9+ years and the jump from xterm.c!).
348
cd265ca6
MR
3492008-10-23 Martin Rudalics <rudalics@gmx.at>
350
351 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
352 Reword doc-string.
f5385255 353 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 354
472a4dc9
JB
3552008-10-23 Juanma Barranquero <lekktu@gmail.com>
356
357 * character.c (syms_of_character) <script-representative-chars>:
358 <unicode-category-table>: Doc fixes.
359
159bd5a2
NF
3602008-10-23 Noah Friedman <friedman@splode.com>
361
362 * coding.c (make_conversion_work_buffer): Check that
363 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
364 Fget_buffer_create.
365
49f9c344
KH
3662008-10-23 Kenichi Handa <handa@m17n.org>
367
368 * font.c (font_add_log): Check the values of extra properties.
369
12bb3111
MR
3702008-10-22 Martin Rudalics <rudalics@gmx.at>
371
372 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
373 Reword doc-string.
374 (Fset_window_parameter): Use NILP.
375 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 376 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 377
bbeb4e99
JB
3782008-10-22 Juanma Barranquero <lekktu@gmail.com>
379
380 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
381
3822008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
383
384 * nsfns.m (ns_appkit_version): New function.
385 (x-server-version): Use it.
386 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
387 (x-server-vendor): Don't check_ns().
388
389 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
390
a9b555d3
JB
3912008-10-22 Juanma Barranquero <lekktu@gmail.com>
392
393 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
394 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
395
4626499f
KH
3962008-10-22 Kenichi Handa <handa@m17n.org>
397
e3681952
KH
398 * syntax.c (scan_words): Call word_boundary_p instead of comparing
399 scripts.
400
4626499f
KH
401 * category.c (word_boundary_p): Check scripts instead of charset.
402 Handle nil value in word-separating-categories and
403 word-combining-categories.
404 (syms_of_category): Fix docstrings of word-separating-categories
405 and word-combining-categories.
406
1560f91a
EZ
4072008-10-21 Eli Zaretskii <eliz@gnu.org>
408
409 * coding.c (Fencode_coding_region, Fdecode_coding_region)
410 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
411
f4668441
MR
4122008-10-21 Martin Rudalics <rudalics@gmx.at>
413
414 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
415 Rename arg "buffer" to "buffer_or_name".
416 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
417 it optional.
418 (no_switch_window): Remove since the return value is not used.
a9b555d3 419 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
420 Consider window as dedicated when Fwindow_dedicated_p returns a
421 non-nil value.
422 * lisp.h: Remove prototype for no_switch_window.
423
fd75ddb2
JD
4242008-10-21 Jan Djärv <jan.h.d@swipnet.se>
425
426 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
427 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
428
07295713
KH
4292008-10-21 Kenichi Handa <handa@m17n.org>
430
431 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
432 check Vlatin_extra_code_table.
433
712adc82
EZ
4342008-10-20 Eli Zaretskii <eliz@gnu.org>
435
436 * fileio.c (Fset_file_modes): Doc fix.
437
f549eb0b
MA
4382008-10-19 Michael Albinus <michael.albinus@gmx.de>
439
440 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
441 in arrays.
442
aac0c6e3
MR
4432008-10-19 Martin Rudalics <rudalics@gmx.at>
444
445 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
446 Mention kill-buffer in doc-string.
447 (Fset_window_buffer): Reinsert tem check removed in last commit.
448 (Fenlarge_window, Fshrink_window): Have argument names and
449 doc-string follow Elisp manual more closely.
450
4512008-10-18 Eli Zaretskii <eliz@gnu.org>
452
453 * fileio.c (Fset_file_modes): Doc fix.
454
4552008-10-18 Martin Rudalics <rudalics@gmx.at>
456
457 * window.c (Fwindow_width, Fset_window_start)
458 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
459 (Fdelete_windows_on, Freplace_buffer_in_windows):
460 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
461 (Fwindow_dedicated_p): Make window argument optional.
462 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
463 (Fset_window_buffer): Respect any non-nil dedicated value for
464 window. Rename "buffer" argument to "buffer_or_name".
465
4662008-10-18 Ulrich Mueller <ulm@gentoo.org>
467
468 * m/sh3.h: New file, machine description for SuperH.
469
4702008-10-17 Martin Rudalics <rudalics@gmx.at>
471
472 * window.c (Fsplit_window): Rename arg horflag to horizontal.
473
4742008-10-17 Kenichi Handa <handa@m17n.org>
475
476 * ftfont.c (ftfont_otf_features): Fix indexing
477 gsub_gpos->FeatureList.Feature. Check the validity of indices.
478
4792008-10-16 Magnus Henoch <mange@freemail.hu>
480
481 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
482 (Fdbus_call_method_asynchronously): Ditto.
483 This change makes C-h f display the argument list.
484
4852008-10-16 Chong Yidong <cyd@stupidchicken.com>
486
487 * fileio.c (Fexpand_file_name): Doc fix.
488
489 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
490 of :foreground and :background equivalent to unspecified (20.x
491 compatibility).
492
4932008-10-15 Eli Zaretskii <eliz@gnu.org>
494
495 * buffer.c (syms_of_buffer): Doc fix.
496
4972008-10-14 Kenichi Handa <handa@m17n.org>
498
499 * font.c (font_clear_prop): When clearing font width, clear the
500 average width field too.
501
5022008-10-12 Andreas Schwab <schwab@suse.de>
503
504 * ftfont.c (ftfont_shape_by_flt): Make static.
505 * ftfont.h (ftfont_shape_by_flt): Don't declare.
506
507 * font.c: Don't include <m17n-flt.h>.
508
5092008-10-10 Eli Zaretskii <eliz@gnu.org>
510
511 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
512
5132008-10-09 Eli Zaretskii <eliz@gnu.org>
514
515 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
516 away code.
517
5182008-10-09 Chong Yidong <cyd@stupidchicken.com>
519
520 * dispnew.c (update_text_area): Avoid looping due to large glyph
521 overhangs (bug#1070).
522
5232008-10-09 Kenichi Handa <handa@m17n.org>
524
525 * fontset.c (face_for_char): If face->fontset is negative, just
526 return ascii_face.
527
f5385255
SM
528 * font.c (font_delete_unmatched): Fix previous change.
529 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
530
5312008-10-09 Martin Rudalics <rudalics@gmx.at>
532
533 * frame.c (Fraise_frame): On text-only terminals select frame in
534 order to make it visible. (Bug#1061)
535
5362008-10-08 Chong Yidong <cyd@stupidchicken.com>
537
538 * fontset.c (fontset_find_font): Check frame validity.
539
5402008-10-07 Chong Yidong <cyd@stupidchicken.com>
541
a9b555d3 542 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
543 (xg_display_close): Allow Emacs to close all displays (bug#985).
544
5452008-10-06 Andreas Schwab <schwab@suse.de>
546
f5385255 547 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
548
5492008-10-06 Chong Yidong <cyd@stupidchicken.com>
550
f5385255 551 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 552
a9b555d3 553 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
554
555 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
556 during initialization.
557
5582008-10-04 Eli Zaretskii <eliz@gnu.org>
559
560 * xdisp.c (redisplay_internal): If frame switched, redisplay the
561 whole thing on MSDOS frames as well as on a TTY.
562
563 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
564 well as for TTY.
565 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
566 well as on a TTY.
567
568 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
569 as well as for TTY.
570
571 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
572
573 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
574 MSDOS frames as well.
575
5762008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
577
578 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
579 correct arguments.
580 * menu.c (find_and_return_menu_selection) Add cast.
581
5822008-10-03 Glenn Morris <rgm@gnu.org>
583
584 * emacs.c (USAGE1): Add --daemon.
585
5862008-10-02 Eli Zaretskii <eliz@gnu.org>
587
588 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
589 100, so it's in percents as advertised.
590
5912008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
592
593 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
594 (ns_output.current_cursor, ns_output.desired_cursor)
595 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
596 (FRAME_NEW_CURSOR_COLOR): Remove.
597
598 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 599 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
600 enumeration (HOLLOW_BOX_CURSOR, etc.).
601
602 * nsterm.m (ns_frame_rehighlight): Remove commented code.
603 (draw_window_cursor): Simplify code.
f5385255
SM
604 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
605 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 606 updates manually.
a9b555d3
JB
607 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
608 Use core Emacs cursor types.
aac0c6e3 609
b8ff72fa 610 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
611
6122008-10-02 Martin Rudalics <rudalics@gmx.at>
613
614 * process.c (Faccept_process_output): Fix doc-string.
615
6162008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
617
618 * gmalloc.c (__sbrk): Also define for uClibc.
619
620 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
621 for uClibc.
622
6232008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
624
625 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
626 styles.
627 (nsfont_open): Reenable the cache.
628
6292008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
630
631 * font.c (font_matching_entity): Reflect ATTRS in font selection.
632 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
633
6342008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
635
636 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
637 a suspended terminal.
638
6392008-09-30 Michael Albinus <michael.albinus@gmx.de>
640
641 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
642
6432008-09-30 Eli Zaretskii <eliz@gnu.org>
644
645 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
646
6472008-09-30 Chong Yidong <cyd@stupidchicken.com>
648
649 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
650 in a continued line coincides with a line beginning.
651
6522008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
653
654 * nsfont.m (nsfont_trait_distance): Fix bug.
655 (nsfont_list): Return a list rather than a vector (syncs with Handa
656 changes of 2008-05-14).
657 (nsfont_open): Improve logging.
658
6592008-09-29 Andreas Schwab <schwab@suse.de>
660
661 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
662
6632008-09-28 Martin Rudalics <rudalics@gmx.at>
664
665 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
666 name as char-resolve-modifiers.
667 Reported by: Markus Triska <markus.triska@gmx.at>
668
6692008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
670
671 * dispnew.c (init_display): Return earlier when running as a daemon.
672
6732008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
674
675 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
676
6772008-09-27 Eli Zaretskii <eliz@gnu.org>
678
679 * composite.c (Fcomposition_get_gstring)
680 (Fcompose_region_internal, Fcompose_string_internal)
681 (Ffind_composition_internal): Doc fix.
682 (syms_of_composite) <compose-chars-after-function>: Doc fix.
683 (syms_of_composite) <auto-composition-function>: Doc fix.
684 (syms_of_composite) <composition-function-table>: Doc fix.
685
6862008-09-25 Chong Yidong <cyd@stupidchicken.com>
687
688 * search.c (wordify): New argument for lax word-ends.
689 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
690
6912008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
692
693 * lisp.h (is_daemon): Declare.
694 * dispnew.c (init_display): Do not try to initialize the terminal
695 when running as a daemon.
696
6972008-09-22 Chong Yidong <cyd@stupidchicken.com>
698
699 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
700 x_display_pixel_height.
701
7022008-09-22 Martin Rudalics <rudalics@gmx.at>
703
704 * undo.c (record_point): Don't call Fundo_boundary for first
705 change. (Bug#731)
706
7072008-09-22 Juanma Barranquero <lekktu@gmail.com>
708
709 * emacs.c (Fdaemonp): Doc fix.
710
7112008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
712
713 * emacs.c (main): Place #ifdef in the proper place.
714
7152008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
716
717 * emacs.c (standard_args): Add --daemon.
718 (main): Disconnect from the terminal when --daemon is passed.
719 (is_daemon): New variable.
720 (Fdaemonp): New function.
721 (syms_of_emacs): Defsubr it.
722
7232008-09-20 Chong Yidong <cyd@stupidchicken.com>
724
725 * xdisp.c (get_next_display_element): Handle string display
726 correctly when checking for the end of a box run.
727
7282008-09-20 Glenn Morris <rgm@gnu.org>
729
730 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
731 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
732 (Frename_file): Avoid copying to trash if a rename involves
733 a delete. (Bug#964).
734
7352008-09-20 Eli Zaretskii <eliz@gnu.org>
736
737 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
738 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
739 frames as well as termcap frames.
740 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
741 get_named_tty.
742
7432008-09-19 Eli Zaretskii <eliz@gnu.org>
744
745 * process.c (procfs_system_process_attributes): Fix cmdline in
746 case /proc/PID/cmdline is empty.
747
748 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
749 x_display_pixel_height.
750
7512008-09-19 Juanma Barranquero <lekktu@gmail.com>
752
753 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
754
755 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
756 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
757
7582008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
759
760 * dispextern.h (struct it): Move line_wrap away from the middle of
761 bitfields. Move voffset in struct iterator_stack_entry after the
762 bitfields. Move tab_width near after another short.
763
7642008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
765
766 * frame.h (struct frame): Move alpha from the middle of bitfields.
767
768 * window.h (struct window): Move frozen_window_start_p after the
769 rest of the bitfields to reduce padding.
770
7712008-09-18 Chong Yidong <cyd@stupidchicken.com>
772
773 * xterm.h (x_display_info): Remove `height' and `width' members.
774
775 * nsterm.h (ns_display_info): Remove `height' and `width' members.
776
777 * w32term.h (w32_display_info): Remove `height', `width',
778 `height_in', and `width_in' members.
779
b8ff72fa
SM
780 * xterm.c (x_display_pixel_height, x_display_pixel_width):
781 New functions.
aac0c6e3
MR
782 (x_calc_absolute_position): Use them.
783 (x_term_init): Omit removed `height' and `width' members.
784
b8ff72fa
SM
785 * w32term.c (x_display_pixel_height, x_display_pixel_width):
786 New functions.
aac0c6e3
MR
787 (w32_read_socket, x_calc_absolute_position): Use them.
788 (w32_initialize_display_info, w32_term_init): Omit removed members
789 of w32_display_info.
790
b8ff72fa
SM
791 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
792 New functions.
793 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 794
b8ff72fa
SM
795 * xterm.c (x_display_pixel_height, x_display_pixel_width):
796 New functions.
aac0c6e3
MR
797 (x_calc_absolute_position): Use them.
798 (x_term_init): Omit removed `height' and `width' members.
799
800 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
801 (compute_tip_xy):
802 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
803 * xmenu.c (menu_position_func): Use x_display_pixel_height and
804 x_display_pixel_width.
805
8062008-09-18 Kenichi Handa <handa@m17n.org>
807
808 * composite.c (fill_gstring_header): Don't check FROM and TO here.
809 (composition_compute_stop_pos): Fix handling of static composition.
810 (Fcomposition_get_gstring): Check FROM and TO at first.
811
8122008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
813
814 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
815 mixup (YAILOM).
816
8172008-09-17 Chong Yidong <cyd@stupidchicken.com>
818
819 * indent.c (Fvertical_motion): Use position reported by iterator
820 instead of PT for determining screen motion (bug#943).
821
8222008-09-17 Romain Francoise <romain@orebokech.com>
823
824 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
825
8262008-09-17 Kenichi Handa <handa@m17n.org>
827
828 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
829
830 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
831 if necessary.
832
8332008-09-16 Kenichi Handa <handa@m17n.org>
834
835 * coding.c (make_conversion_work_buffer): Avoid calling
836 Fget_buffer_create if it is not necessary.
837
8382008-09-15 Martin Rudalics <rudalics@gmx.at>
839
840 * window.c (Fselect_window): Don't update window_select_count and
841 use_time when norecord is not nil.
842
8432008-09-14 Kenichi Handa <handa@m17n.org>
844
845 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
846 specpdl_ptr.
847
8482008-09-12 Kenichi Handa <handa@m17n.org>
849
850 * indent.c (scan_for_column): Don't handle automatic composition
851 if the current buffer is not associated with a window.
852
853 * composite.c (composition_reseat_it): If the current buffer is
854 not associated with a window, ignore the automatic composition.
855 (find_automatic_composition): Likewise.
856
8572008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
858
859 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
860 (Fgpm_mouse_stop): Use it.
861 * termhooks.h (close_gpm): Declare.
862 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
863 connection if Gpm_GetEvent fails.
864
865 * window.c (set_window_buffer): Always preserve current-buffer.
866
8672008-09-12 Glenn Morris <rgm@gnu.org>
868
869 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
870
8712008-09-11 Glenn Morris <rgm@gnu.org>
872
873 * charset.c (charset-map-path): Doc fix.
874
8752008-09-10 Kenichi Handa <handa@m17n.org>
876
877 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
878
879 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
880 compose a grapheme cluster with the preceding base glyph.
881
882 * composite.c (composition_compute_stop_pos): Fix previous change.
883 Reset cmp_it->id to -1 at first.
884
8852008-09-10 Glenn Morris <rgm@gnu.org>
886
887 * Makefile.in (character.o, chartab.o): Fix config.h typo.
888
8892008-09-09 Chong Yidong <cyd@stupidchicken.com>
890
891 * keyboard.c (read_key_sequence): Reapply translation maps when
892 switching keyboards.
893
8942008-09-09 Kenichi Handa <handa@m17n.org>
895
896 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
897 characters.
898
899 * composite.c (FORWARD_CHAR): Fix calculation
900 of (POSITION).pos_byte.
901 (composition_compute_stop_pos): Limit the search of composition to
902 at most 500 characters ahead. If we reach the limit or find a
903 newline, set cmp_it->ch to -2 and return 0.
904 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
905
9062008-09-08 Kenichi Handa <handa@m17n.org>
907
908 * indent.c (Fvertical_motion): Be sure to set
909 it_overshoot_expected if it.cmp_it.id is non-negative.
910
9112008-09-07 Andreas Schwab <schwab@suse.de>
912
913 * callproc.c (Fcall_process): Don't hold references to string data
914 across garbage collection. Move initialisation of new_argv down
915 to avoid compiler bug.
916
9172008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
918
919 * process.c (Fsystem_process_attributes): Doc fix.
920
9212008-09-07 Chong Yidong <cyd@stupidchicken.com>
922
923 * callproc.c (Fcall_process): Canonicalize current directory name.
924
925 * xdisp.c (move_it_to): When moving by vpos, ensure that the
926 iterator advances to the next line if the current line ends in a
927 continued tab.
928
9292008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
930
931 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
932 member to point to cmp_from.
933
934 * xdisp.c: Doc fix for references to gidx data member.
935
9362008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
937
938 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
939
9402008-09-07 Kenichi Handa <handa@m17n.org>
941
942 * composite.c (FORWARD_CHAR): Check STOP after
943 incrementing (POSITION).pos.
944
9452008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
946
947 * process.c (Fsystem_process_attributes): Doc fix.
948
9492008-09-06 Chong Yidong <cyd@stupidchicken.com>
950
951 * keyboard.c (Ftop_level): Doc fix.
952
9532008-09-06 Eli Zaretskii <eliz@gnu.org>
954
955 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
956 minibuffer, don't let lower part of menu invade the echo area.
957
958 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
959 "char *q" to access menu text and advance through it. Revert the
960 change that displayed ">" instead of ASCII character 0x10.
961
9622008-09-05 Eli Zaretskii <eliz@gnu.org>
963
964 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
965 toggle boxes and radio buttons on MS-DOS as well.
966
9672008-09-05 Kenichi Handa <handa@m17n.org>
968
969 * composite.c (autocmp_chars): Check lookback count.
970 (composition_compute_stop_pos): Set cmp_it->lookback.
971 (composition_reseat_it): Check lookback count.
972 (struct position_record): New struct.
973 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
974 (find_automatic_composition): New function.
975 (composition_adjust_point): Use find_automatic_composition.
976
977 * dispextern.h (struct composition_it): New member lookback.
978
9792008-09-02 Chong Yidong <cyd@stupidchicken.com>
980
981 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
982 if moving by a single line.
983
9842008-09-02 Andreas Schwab <schwab@suse.de>
985
986 * xterm.c (x_delete_display): Fix merge error.
987
988 * fileio.c (Fexpand_file_name): Remove unused variables.
989
9902008-09-02 Eli Zaretskii <eliz@gnu.org>
991
992 * fileio.c (Fexpand_file_name): Copy argument `name' into local
993 storage on all platforms, not just on DOS_NT.
994
9952008-09-02 Jason Rumney <jasonr@gnu.org>
996
b8ff72fa
SM
997 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
998 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
999
10002008-09-01 Chong Yidong <cyd@stupidchicken.com>
1001
1002 * xfaces.c (Finternal_set_alternative_font_family_alist)
1003 (Finternal_set_alternative_font_registry_alist): Properly copy
1004 entire alist structure.
1005
10062008-09-01 Kenichi Handa <handa@m17n.org>
1007
1008 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
1009 representative chars of the script is a vector.
1010 (ftfont_list): Handle the case the representative chars of the
1011 script is a vector.
1012
1013 * character.c (syms_of_character): Docstring of
1014 script-representative-chars fixed.
1015
10162008-08-31 Eli Zaretskii <eliz@gnu.org>
1017
1018 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1019 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1020 the menu. Allocate larger buffer for `text', to account for
1021 possible ^C characters.
1022
10232008-08-31 Martin Rudalics <rudalics@gmx.at>
1024
1025 * xdisp.c (prepare_menu_bars): Don't call
1026 Vwindow_size_change_functions with arg Qt.
1027
10282008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
1029
1030 * font.h (font_range):
1031 * fileio.c (report_file_error):
1032 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
1033
10342008-08-30 Glenn Morris <rgm@gnu.org>
1035
1036 * data.c (Fmake_variable_frame_local): Doc fix.
1037
1038 * frame.c (Fmodify_frame_parameters): Doc fix.
1039
10402008-08-30 Eli Zaretskii <eliz@gnu.org>
1041
1042 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
1043 needed by GetTokenInformation.
1044 (w32_system_process_attributes): Check return values of all system
1045 APIs.
1046
1047 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1048 only when the state changes.
1049 (IT_update_begin, IT_update_end): Add termscript trace.
1050
1051 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1052 clipboard is unavailable. Set dst to NULL if it doesn't point to
1053 malloc'ed data.
1054 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1055 passing random values to xfree.
1056
1057 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 1058 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
1059
10602008-08-29 Jason Rumney <jasonr@gnu.org>
1061
1062 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1063
10642008-08-29 Eli Zaretskii <eliz@gnu.org>
1065
1066 * composite.c (fill_gstring_body): Avoid compiler warnings.
1067
1068 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1069 LGLYPH_SET_CODE to avoid compiler warnings.
1070
1071 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1072
1073 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1074
1075 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1076 LGLYPH_SET_CODE.
1077
10782008-08-29 Kenichi Handa <handa@m17n.org>
1079
1080 * fileio.c (report_file_error): Don't downcase the first character
1081 of errstring if it is still unibyte.
1082
10832008-08-29 Kenichi Handa <handa@m17n.org>
1084
1085 These changes are to re-implement the automatic composition so
1086 that it doesn't use text properties.
1087
1088 * Makefile.in (ftfont.o): Depend on composite.h.
1089 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1090
1091 * character.h (Vunicode_category_table): Extern it.
1092
1093 * character.c (Vunicode_category_table): New variable.
1094 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1095
1096 * chartab.c (optimize_sub_char_table): Perform more greedy
1097 optimization.
1098
b8ff72fa
SM
1099 * composite.h (enum composition_method):
1100 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
1101 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1102 (Vcomposition_function_table): Extern it.
1103 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1104 (composition_gstring_put_cache, composition_gstring_from_id)
1105 (composition_gstring_p, composition_gstring_width)
1106 (composition_compute_stop_pos, composition_reseat_it)
1107 (composition_update_it, composition_adjust_point): Extern them.
1108 (Fcomposition_get_gstring): EXFUN it.
1109
1110 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1111 (Vcomposition_function_table)
1112 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
1113 (gstring_hash_table, gstring_work, gstring_work_headers):
1114 New variables.
aac0c6e3
MR
1115 (gstring_lookup_cache, composition_gstring_put_cache)
1116 (composition_gstring_from_id, composition_gstring_p)
1117 (composition_gstring_width, fill_gstring_header)
1118 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1119 (composition_reseat_it, composition_update_it)
b8ff72fa 1120 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
1121 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1122 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1123 Defsubr compostion_get_gstring.
1124
1125 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1126 cmp_id.
1127 (struct glyph_string): Delete the member gidx. New members
1128 cmp_id, cmp_from, and cmp_to.
1129 (enum it_method): Delete GET_FROM_COMPOSITION.
1130 (struct composition_it): New struct.
1131 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1132 Delete c, len, cmp_id, cmp_len in u.comp.
1133
1134 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 1135 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 1136 (enum lglyph_indices): Likewise.
b8ff72fa 1137 (font_range): Adjust extern.
aac0c6e3
MR
1138 (font_fill_lglyph_metrics): Extern it.
1139
1140 * font.c (QCf): New variable.
1141 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1142 (font_prepare_composition): Delete this function.
1143 (font_range): Type and arguments changed.
1144 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1145 (font_fill_lglyph_metrics): New function.
b8ff72fa 1146 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 1147 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
1148 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1149 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
1150
1151 * fontset.h (font_for_char): Extern it.
1152
1153 * fontset.c (font_for_char): New function.
1154
1155 * ftfont.c: Include composite.h.
1156 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 1157 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
1158
1159 * indent.c: Include composite.h and dispextern.h.
1160 (check_composition): Delete this function.
1161 (scan_for_column): Handle composition by
1162 composition_compute_stop_pos, composition_reseat_it, and
1163 composition_update_it.
1164 (compute_motion): Likewise.
1165 (Fvertical_motion): Fix checking of composition.
1166
1167 * keyboard.c (adjust_point_for_property): Check composition by
1168 composition_adjust_point.
1169
b8ff72fa 1170 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
1171 struct glyph_string.
1172
b8ff72fa
SM
1173 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1174 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
1175 struct glyph.
1176 (produce_composite_glyph): Likewise.
1177
b8ff72fa
SM
1178 * w32term.c (x_draw_composite_glyph_string_foreground):
1179 Adjust for the change of struct glyph_string.
aac0c6e3
MR
1180 (x_draw_glyph_string): Likewise.
1181
1182 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1183 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1184
1185 * xdisp.c: Include font.h.
1186 (it_props): Delete the entry for Qauto_composed.
1187 (init_iterator): Initialize it->cmp_it.id to -1.
1188 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 1189 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
1190 (handle_auto_composed_prop): Delete it.
1191 (handle_composition_prop): Handle only static composition.
1192 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1193 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 1194 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
1195 (pop_it): Likewise.
1196 (get_next_element): Delete next_element_from_composition.
1197 (CHAR_COMPOSED_P): New macro.
1198 (get_next_display_element): For automatic composition, get a face
1199 from the font in the glyph-string.
1200 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 1201 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
1202 (next_element_from_string): Check if the character at the current
1203 position is composed by CHAR_COMPOSED_P.
1204 (next_element_from_buffer): Likewise.
b8ff72fa 1205 (next_element_from_composition): Adjust for the change of struct
aac0c6e3 1206 it. Update it->cmp_it.
b8ff72fa
SM
1207 (dump_glyph): Adjust for the change of struct glyph.
1208 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
1209 it and struct glyph. Don't handle automatic composition here.
1210 (fill_gstring_glyph_string): New function.
1211 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 1212 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
1213 (BUILD_GSTRING_GLYPH_STRING): New macro.
1214 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1215 automatic composition.
b8ff72fa 1216 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 1217 struct glyph.
b8ff72fa 1218 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 1219
b8ff72fa 1220 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
1221 the change of struct glyph_string.
1222 (x_draw_glyph_string): Likewise.
1223
12242008-08-29 Glenn Morris <rgm@gnu.org>
1225
1226 * buffer.c (word-wrap): Doc fix.
1227 * xdisp.c (truncate-partial-width-windows): Doc fix.
1228 Increase default to 50.
1229
12302008-08-29 Chong Yidong <cyd@stupidchicken.com>
1231
1232 * xdisp.c (update_tool_bar_unwind): New function.
1233 (update_tool_bar): Temporarily set selected frame before building
1234 tool-bar items.
1235
12362008-08-28 Michael Albinus <michael.albinus@gmx.de>
1237
1238 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1239 snprintf, respectively.
1240 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1241
12422008-08-28 Chong Yidong <cyd@stupidchicken.com>
1243
1244 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1245 LDFLAGS to GNUstep CC invocation.
1246
12472008-08-27 Chong Yidong <cyd@stupidchicken.com>
1248
1249 * indent.c (Fvertical_motion): Revert last change. Handle the
1250 general case where we are moving forward, and PT spans multiple
1251 screen lines.
1252
1253 * eval.c (find_handler_clause): Temporarily increase
1254 max-lisp-eval-depth while printing the backtrace buffer, to
1255 guarantee that help-mode code can run.
1256
12572008-08-27 Eli Zaretskii <eliz@gnu.org>
1258
1259 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1260 colors under -rv.
1261 (IT_set_frame_parameters): Don't swap foreground and background
1262 colors if `(reverse . t)' is present in the frame properties.
1263 (internal_terminal_init): Call init_frame_faces only for the
1264 initial frame.
1265
12662008-08-27 Andreas Schwab <schwab@suse.de>
1267
1268 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1269
12702008-08-27 Andreas Schwab <schwab@suse.de>
1271
1272 * search.c (search_buffer): Set char_base to zero only at the end.
1273
12742008-08-27 Kenichi Handa <handa@m17n.org>
1275
b8ff72fa 1276 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
1277
12782008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1279
1280 * xterm.c (x_term_init): Temporarily hide the partially
1281 initialized terminal while calling vendor-specific-keysyms.
1282
12832008-08-26 Eli Zaretskii <eliz@gnu.org>
1284
1285 * msdos.c (internal_terminal_init): Most initializations done only
1286 once, especially initial_screen_colors[] and termscript open.
1287
12882008-08-26 Chong Yidong <cyd@stupidchicken.com>
1289
1290 * eval.c (Fcondition_case): Doc fix.
1291
1292 * widgetprv.h (EmacsFramePart): Change font member to the new font
1293 struct.
1294
1295 * widget.c: Include character.h and font.h for XSETFONT.
1296 (setup_frame_gcs): Compute X font id from font struct, just once.
1297
12982008-08-26 Eli Zaretskii <eliz@gnu.org>
1299
1300 * term.c (get_named_tty): Fix last change.
1301
13022008-08-26 Chong Yidong <cyd@stupidchicken.com>
1303
1304 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 1305 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
1306
13072008-08-25 Eli Zaretskii <eliz@gnu.org>
1308
1309 * frame.c (do_switch_frame): Mark previously displayed frame as
1310 obscured for FRAME_MSDOS_P frames as well.
1311
13122008-08-24 Eli Zaretskii <eliz@gnu.org>
1313
1314 * frame.c (make_terminal_frame): Initialize f->terminal,
1315 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1316 Set the top frame to newly created frame.
1317 (Fmake_terminal_frame): Reuse the_only_display_info.
1318
1319 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1320 estimating available memory.
1321
13222008-08-23 David Reitter <david.reitter@gmail.com>
1323
1324 * nsterm.m (ns_draw_window_cursor): Don't call
1325 NSDisableScreenUpdates and NSEnableScreenUpdates on
1326 non-NS_IMPL_COCOA systems.
1327
13282008-08-23 Andreas Schwab <schwab@suse.de>
1329
1330 * process.c (procfs_system_process_attributes): Fix use of
1331 uninitialized variables.
1332
13332008-08-23 Eli Zaretskii <eliz@gnu.org>
1334
1335 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1336
1337 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1338 calling tty-set-up-initial-frame-faces.
1339
b8ff72fa
SM
1340 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1341 Allow MSDOS frames along with X frames.
aac0c6e3
MR
1342
1343 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1344 addition to output_termcap.
1345
1346 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1347
1348 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1349 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1350 highlight.
1351
1352 * process.c [!subprocesses]: Define QCname.
1353 (syms_of_process): Intern and staticpro it.
1354
1355 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
1356 Adjust for changes in encoding/decoding routines.
1357 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
1358 encode_coding and decode_coding.
1359
b8ff72fa 1360 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
1361
1362 * dosfns.c: Include frame.h before termhooks.h.
1363 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1364 variable termscript.
1365
1366 * s/msdos.h (USER_FULL_NAME): Define.
1367 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1368
1369 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1370 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1371 pw->pw_gecos.
1372
1373 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1374 SELECTED_FRAME as additional (1st) argument.
1375 (tty_read_avail_input): Handle output_msdos_raw in
1376 addition to output_termcap.
1377
1378 * msdos.c: Include frame.h before termhooks.h.
1379 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1380 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1381 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1382 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1383 (IT_set_terminal_modes, IT_reset_terminal_modes)
1384 (IT_set_frame_parameters): Use tty->termscript instead of a global
1385 variable termscript.
1386 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1387 global variable terminal_coding. Don't refer to
1388 Vnonascii_translation_table.
1389 (internal_terminal_init): Set Vwindow_system in current_kboard.
1390 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1391 Announce date and time of session start, if termscript is open.
1392 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
1393 term.c:init_tty). Open termscript only of not already open.
1394 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
1395 here instead of dos_ttraw. Don't initialize display if this is an
1396 initial tty. Don't set FRAME_FONT.
1397 (Vwindow_system_version): Bump to 23.
1398 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1399 is available, set up mouse_position_hook.
1400 (dos_ttraw, IT_set_terminal_modes): If called with initial
1401 terminal, do nothing.
1402 (IT_set_frame_parameters): Handle the Qtty_type frame
1403 parameter by calling internal_terminal_init.
1404 (dos_set_window_size, show_mouse_face)
1405 (clear_mouse_face, IT_note_mode_line_highlight)
1406 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1407 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1408 (initialize_msdos_display): New function.
1409 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1410 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1411 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1412 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 1413 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
1414 (request_sigio, unrequest_sigio): Don't define, now defined on
1415 sysdep.c.
1416 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1417
1418 * term.c [MSDOS]: Include msdos.h.
1419 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1420 conditional to DOS_NT. Allow only one call to this function in a
1421 session. Don't allocate a new struct tty_display_info; instead,
1422 reuse the_only_display_info. Call get_tty_size to get screen
1423 dimensions. Call init_baud_rate to set bad_rate.
1424 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1425 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 1426 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
1427 (get_tty_terminal, get_named_tty, Ftty_type)
1428 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1429 output_termcap.
b8ff72fa
SM
1430 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1431 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
aac0c6e3
MR
1432 only when subprocesses are supported
1433
1434 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1435 f->output_data.x.
1436 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1437 terminal devices.
1438
1439 * msdos.h Remove definition of struct x_display_info and struct
1440 x_output.
1441 (FRAME_FONT): Use output_data.tty.
1442 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
1443 (struct x_display_info): Rename from display_info. Update all users in
1444 msdos.c.
aac0c6e3 1445 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 1446 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
1447 (dos_ttraw): Update prototype.
1448
1449 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1450 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1451
14522008-08-23 Jason Rumney <jasonr@gnu.org>
1453
1454 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1455 (fn_TIFFSetDirectory): New library function used.
1456 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1457 (tiff_load): Use :index to select among multiple images. Set count
1458 property when multiple images exist.
1459 (gif_format): Use :index, not :image.
1460
14612008-08-23 Chong Yidong <cyd@stupidchicken.com>
1462
1463 * xdisp.c (try_scrolling): Check INT_MAX instead of
1464 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1465 to obtain INT_MAX.
1466
14672008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1468
1469 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1470
14712008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1472
1473 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1474 GNUstep library location.
1475
14762008-08-21 Chong Yidong <cyd@stupidchicken.com>
1477
1478 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1479 before using it.
1480
1481 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1482
14832008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1484
1485 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1486 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1487 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1488 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1489 (EmacsApp-cursor_blink_handler): Remove declaration.
1490 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1491 match 01 Feb 2008 changes in xterm.c.
1492 (ns_read_socket): Add cast to avoid warning.
1493 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1494 GNUstep.
1495
14962008-08-20 Chong Yidong <cyd@stupidchicken.com>
1497
1498 * xselect.c (x_get_foreign_selection): Return nil if desired
1499 selection could not be obtained, instead of signalling an error.
1500
15012008-08-20 David Reitter <david.reitter@gmail.com>
1502
1503 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1504 * nsterm.m: Remove ns-specific code for cursor blinking.
1505 (ns_draw_window_cursor): Clear cursor properly rather than
1506 redrawing the area. Respect width of bar cursors.
1507 These changes enable the use of generic blink-cursor-mode and
1508 generic cursor types in NS and support smooth cursor movements (do
1509 not blink off after command).
1510 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1511 Nextstep, too.
1512
15132008-08-19 Kenichi Handa <handa@m17n.org>
1514
1515 * font.c (Vfont_log_deferred): New variable.
1516 (font_add_log): Check Vfont_log_deferred.
1517 (font_deferred_log): New function.
1518
1519 * font.h (font_deferred_log): Extern it.
1520
1521 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1522 for sorting.
1523 (face_for_char): Use deferred log.
1524
15252008-08-18 Kenichi Handa <handa@m17n.org>
1526
1527 * fontset.c (face_for_char): Add font log.
1528
1529 * font.c (font_add_log): Add the font properties :script, :lang,
1530 and :otf in the log.
1531
15322008-08-17 Chong Yidong <cyd@stupidchicken.com>
1533
1534 * xdisp.c: Remove dead code.
1535 (handle_invisible_prop, next_overlay_string): Defer call to
1536 setup_for_ellipsis.
1537 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1538
15392008-08-15 Chong Yidong <cyd@stupidchicken.com>
1540
1541 * xfaces.c (lookup_derived_face): Properly handle possible zero
1542 return value of get_lface_attributes.
1543 (merge_faces): Don't tell lookup_derived_face to signal an error
1544 if face is not found.
1545
1546 * dired.c (Fdirectory_files): Doc fix.
1547
1548 * process.c (make_process): Initialize kill_without_query struct
1549 member.
1550
15512008-08-15 Eli Zaretskii <eliz@gnu.org>
1552
1553 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1554 Alternative calculation of totphys for Visual Studio 6.
1555
1556 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1557
1558 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1559 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1560 All users changed.
1561 (stat): Only root directory passed to GetDriveType. Allow RAM
1562 disk as well as local fixed disk when w32-get-true-file-attributes
1563 is set to `local'.
1564 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1565 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1566 (w32_cached_id, w32_add_to_cache): New functions.
1567 (get_name_and_id): Look account names in the cache before calling
1568 lookup_account_sid.
1569 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1570 New initialization flags.
1571 (globals_of_w32): Initialize them to zero.
1572 (w32_system_process_attributes): Use w32_cached_id and
1573 w32_add_to_cache.
1574
15752008-08-14 Lawrence Mitchell <wence@gmx.li>
1576
1577 * lread.c (Fread_char, Fread_char_exclusive): If no character
1578 event is read before timeout is reached, return nil, rather than
1579 converting to a number.
1580
15812008-08-14 Chong Yidong <cyd@stupidchicken.com>
1582
1583 * fns.c (use_dialog_box): Doc fix.
1584
1585 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1586 on OS X.
1587
15882008-08-13 Chong Yidong <cyd@stupidchicken.com>
1589
1590 * frame.c (Qns_parse_geometry): New var.
1591 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1592
15932008-08-11 Chong Yidong <cyd@stupidchicken.com>
1594
1595 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1596 space character in calculating tabs.
1597
15982008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1599
1600 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1601
16022008-08-10 Glenn Morris <rgm@gnu.org>
1603
1604 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1605 silence gcc "limited range of data type" warnings in some
1606 make_fixnum_or_float calls.
1607
16082008-08-09 Eli Zaretskii <eliz@gnu.org>
1609
1610 * w32.c (w32_system_process_attributes): If the process does not
1611 exist, return nil.
1612
1613 * w32.c: Include thelp32.h, psapi.h and coding.h.
1614 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1615 declarations.
1616 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1617 (Process32Next_Proc): New typedefs.
1618 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1619 (g_b_init_process32_next, g_b_init_open_thread_token)
1620 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1621 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1622 (g_b_init_get_process_working_set_size)
1623 (g_b_init_global_memory_status_ex): New static variables.
1624 (globals_of_w32): Initialize them.
1625 (create_toolhelp32_snapshot, process32_first, process32_next)
1626 (open_thread_token, impersonate_self, revert_to_self)
1627 (get_process_memory_info, get_process_working_set_size)
1628 (global_memory_status, global_memory_status_ex): New wrapper
1629 functions.
1630 (w32_list_system_processes, w32_system_process_attributes)
1631 (enable_privilege, restore_privilege, ltime, process_times):
1632 New functions.
1633 (convert_time_raw): New function.
1634 (convert_time): Remove conversion of FILETIME into time in 100
1635 nsec units, call convert_time_raw instead.
1636
1637 * process.h (w32_list_system_processes, w32_system_process_attributes):
1638 Add prototypes.
1639 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1640 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1641 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1642 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1643
1644 * process.c (Fsystem_process_attributes): Doc fix.
1645
16462008-08-08 Chong Yidong <cyd@stupidchicken.com>
1647
1648 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1649 a continued multi-char glyph; if so, advance to the actual glyph.
1650
16512008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1652
1653 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1654
1655 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1656 (.m.o): Use it.
1657 * config.in: Regenerate.
1658
16592008-08-07 Chong Yidong <cyd@stupidchicken.com>
1660
1661 * xdisp.c (redisplay_window): Revert last change.
1662 (try_window): Check bottom scroll margin too.
1663
16642008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1665
1666 * config.in: Regenerate.
1667
1668 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1669 -list-load-path-shadows'.
1670 (nsgui.h): Reduce number of things depending on it.
1671
16722008-08-06 Chong Yidong <cyd@stupidchicken.com>
1673
1674 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1675 instead of window-end which does the wrong thing at eob.
1676 (try_cursor_movement): Minor optimization.
1677 (redisplay_window): If scroll margin is defined, don't assume
1678 window doesn't need scrolling.
1679
16802008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1681
1682 * config.in: Regenerate.
1683
1684 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1685 (mostlyclean): Don't delete *.d under NS.
1686
1687 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1688
16892008-08-06 Kenichi Handa <handa@m17n.org>
1690
1691 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1692
16932008-08-06 Andreas Schwab <schwab@suse.de>
1694
1695 * config.in: Regenerate.
1696
16972008-08-05 Chong Yidong <cyd@stupidchicken.com>
1698
1699 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1700 forcing a window start.
1701
1702 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1703 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1704
17052008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1706
1707 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1708 argument.
1709
17102008-08-05 Juanma Barranquero <lekktu@gmail.com>
1711
1712 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1713 <scroll-down-aggressively, before-change-functions>:
1714 <after-change-functions>: Reflow docstrings.
1715
17162008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1717 Ken Raeburn <raeburn@gnu.org>
1718
1719 Dock menu customization, based on a patch by Ken Raeburn, plus some
1720 other fixes.
1721 * nsmenu.m (dockMenu): New variable.
1722 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1723
1724 * nsterm.h (dockMenu): Declare.
1725
1726 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1727 (ns_term_init): Initialize dockMenu.
1728 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1729 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1730 left.
1731
1732 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1733
17342008-08-04 Chong Yidong <cyd@stupidchicken.com>
1735
1736 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1737
1738 * config.in: Regenerate.
1739
17402008-08-04 Seiji Zenitani <zenitani@mac.com>
1741
1742 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1743
17442008-08-04 Chong Yidong <cyd@stupidchicken.com>
1745
1746 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1747
17482008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1749
1750 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1751
1752 * keyboard.h: Comment an #endif.
1753
1754 * lisp.h (have_menus_p): Adjust comment.
1755
1756 * menu.c (find_and_return_menu_selection): Fix comparison with
1757 client_data.
1758
1759 * nsmenu.m (popup_activated_flag): New variable.
1760 (popup_activated): New function.
1761 (menu-or-popup-active-p): New exported lisp definition.
1762 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1763 when popup done.
1764 (ns_popup_dialog): Set popup_activated_flag.
1765
1766 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1767 version for GNUstep (handled by conditional typedef in nsterm.m).
1768 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1769 in rgb.txt).
1770
1771 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1772
1773 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1774
1775 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1776
1777 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1778 shortcircuit if popup_activated like GTK and X toolkit.
1779
1780 * m/inter386.h: Change DARWIN to DARWIN_OS.
1781
1782 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1783 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1784 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1785 comment on NO_SOCK_SIGIO.
1786
17872008-08-03 Chong Yidong <cyd@stupidchicken.com>
1788
1789 * nsterm.m (windowDidResize): Remove stopModal call.
1790
17912008-08-03 Andreas Schwab <schwab@suse.de>
1792
1793 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1794 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1795
17962008-08-02 Chong Yidong <cyd@stupidchicken.com>
1797
1798 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1799 Don't use uninitialized pointer variable when using getrlimit.
1800
18012008-08-02 Jason Rumney <jasonr@gnu.org>
1802
1803 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1804
18052008-08-02 Eli Zaretskii <eliz@gnu.org>
1806
1807 * alloc.c (NSTATICS): Bump to 0x640.
1808
1809 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1810
1811 * lisp.h: Add prototype for directory_files_internal.
1812
1813 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1814 New functions.
1815 (syms_of_process): Defsubr them. Add initializations for various
1816 Q* symbols used in procfs_system_process_attributes.
1817 (procfs_list_system_processes, procfs_system_process_attributes)
1818 [HAVE_PROCFS]: New functions.
1819 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1820 (procfs_get_total_memory): New functions.
1821
18222008-08-01 Juanma Barranquero <lekktu@gmail.com>
1823
1824 * xfaces.c (Fx_load_color_file): Fix previous change;
1825 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1826
18272008-08-01 Michael Albinus <michael.albinus@gmx.de>
1828
1829 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1830
18312008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1832
1833 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1834
18352008-08-01 Chong Yidong <cyd@stupidchicken.com>
1836
1837 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1838
1839 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1840 define NSApplicationDelegateReplySuccess.
1841 (EmacsView -converstationIdentifier): Use long instead of
1842 NSInteger for GNUstep, since it doesn't have NSInteger.
1843
1844 * xmenu.c: Revert last change.
1845
1846 * keyboard.h: Fix last change.
1847
18482008-08-01 Juanma Barranquero <lekktu@gmail.com>
1849
1850 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1851 on Windows.
1852
18532008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1854
1855 Warning clearing and clean-up in NS port.
1856 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1857 Add prototypes.
1858 * nsgui.h (FACE_DEFAULT): Remove, unused.
1859 (XGCValues): Change colors to unsigned long.
1860 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1861 nsterm.m.
1862 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1863 (ns_list_fonts): Remove, unused.
1864 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1865 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1866 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1867 (nsfont_draw): Compare face colors to 0, not nil.
1868 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1869 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1870 (-addSubmenuWithTitle:): Use NSMenuItem class.
1871 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1872 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1873 (ns_clip_to_row): Make gc arg a BOOL.
1874 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1875 ns_clip_to_row() call.
1876 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1877 used). Cast FRAME_FONT assignments.
1878 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1879 (ns_string_to_lispmod): Change arg to const char.
1880 (ns_term_init): Use NSMenuItem class.
1881 (EmacsApp -openFile:): Move to different section of file.
1882 (EmacsApp -application:openFiles:): Don't return a value, call
1883 -replyToOpenOrPrint:.
1884 (EmacsView -keyDown:): Fix up cast.
1885 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1886 (EmacsView -menuDown:): Cast tag in call to
1887 find_and_call_menu_selection().
1888 (ns_list_fonts): Remove, unused.
1889 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1890 (ns_fontname_to_xlfd): Make static.
1891 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1892 Remove prototypes (now in keyboard.h).
1893 (next_menubar_widget_id): Remove, unused.
1894 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1895 Remove prototypes (now in keyboard.h).
1896 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1897
18982008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1899
1900 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1901 (floatfns.o): Depend on syssignal.h.
1902 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1903
1904 * systty.h: Fix previous change that removed BSD_TERMIOS.
1905 Add comments to #ifdefs.
1906
19072008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1908
1909 * w32fns.c (w32-load-color-file): Remove.
1910 (x-open-connection): Use renamed Fx_load_color_file.
1911 * xfaces.c (x-load-color-file): Add.
1912 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1913 Emacs.clr.
1914 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1915
19162008-07-31 Michael Albinus <michael.albinus@gmx.de>
1917
1918 * dbusbind.c (Fdbus_call_method_asynchronously)
1919 (Fdbus_method_error_internal): New defuns.
1920 (xd_read_message): Handle also reply messages.
1921 (Vdbus_registered_functions_table): Extend docstring.
1922
19232008-07-31 Juanma Barranquero <lekktu@gmail.com>
1924
1925 * keyboard.c (gobble_input): Fix previous change.
1926
19272008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1928
1929 * bitmaps/README:
1930 * xfns.c:
1931 * termcap.c:
1932 * term.c:
1933 * syswait.h:
1934 * systty.h:
1935 * systime.h:
1936 * syssignal.h:
1937 * sysdep.c:
1938 * process.h:
1939 * process.c:
1940 * print.c:
1941 * ndir.h:
1942 * lread.c:
1943 * keyboard.c:
1944 * getpagesize.h:
1945 * floatfns.c:
1946 * fileio.c:
1947 * emacs.c:
1948 * doc.c:
1949 * dispnew.c:
1950 * dired.c:
1951 * data.c:
1952 * callproc.c:
1953 * buffer.c:
1954 * README:
1955 * Makefile.in:
1956 * s/template.h:
1957 * s/msdos.h:
1958 * m/vax.h: Remove VMS support.
1959 * s/vms.h:
1960 * vlimit.h:
1961 * uaf.h:
1962 * temacs.opt:
1963 * param.h:
1964 * ioctl.h: Remove file.
1965
19662008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1967
1968 * s/ms-w32.h (MULTI_KBOARD): Remove.
1969 * xterm.c:
1970 * xselect.c:
1971 * xfns.c:
1972 * window.c:
1973 * w32term.c:
1974 * w32fns.c:
1975 * terminal.c:
1976 * termhooks.h:
1977 * term.c:
1978 * sysdep.c:
1979 * keyboard.h:
1980 * keyboard.c:
1981 * frame.h:
1982 * frame.c:
1983 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1984 * config.in: Regenerate.
1985
19862008-07-30 Jason Rumney <jasonr@gnu.org>
1987
1988 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1989
1990 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1991 (w32font_open_internal): Get unicode version of textmetrics.
1992 Don't enable or disable glyph indices here.
1993 (w32font_open): Disable use of glyph indices.
1994
1995 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1996
19972008-07-30 Chong Yidong <cyd@stupidchicken.com>
1998
1999 * minibuf.c (Vread_buffer_function): Doc fix.
2000
20012008-07-30 John Paul Wallington <jpw@pobox.com>
2002
2003 * minibuf.c (read_buffer_completion_ignore_case): New var.
2004 (Fread_buffer): Use it.
2005
20062008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2007
2008 * systty.h (sensemode): Remove empty #if. Remove reference to
2009 BSD_TERMIOS, unused.
2010
2011 * sysdep.c: Remove reference to DGUX.
2012 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2013
2014 * config.in: Regenerate.
2015
20162008-07-30 Jason Rumney <jasonr@gnu.org>
2017
2018 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2019
20202008-07-29 Jason Rumney <jasonr@gnu.org>
2021
2022 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
2023 is populated.
2024 (uniscribe_encode_char): Always use uniscribe.
2025 Avoid using context if cache is populated.
2026
20272008-07-29 Jan Djärv <jan.h.d@swipnet.se>
2028
2029 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
2030 open menu.
2031
2032 * gtkutil.c (menu_nav_ended): Remove.
2033 (create_menus): Remove signal connect for menu_nav_ended.
2034
20352008-07-28 Chong Yidong <cyd@stupidchicken.com>
2036
2037 * xdisp.c (redisplay_window): Check return value of
2038 compute_window_start_on_continuation_line before forcing a window
2039 start.
2040
20412008-07-28 Jason Rumney <jasonr@gnu.org>
2042
2043 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2044
2045 * w32term.c (w32_enable_unicode_output, cleartype_active):
2046 Remove obsolete display options.
2047 (x_draw_glyph_string_background): Don't use old cleartype_active
2048 workaround.
2049 (w32_initialize): Remove cleartype_active initialization.
2050 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2051
20522008-07-28 Andreas Schwab <schwab@suse.de>
2053
2054 * lisp.h (init_weak_hash_tables, syms_of_font)
2055 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2056 (remove_hash_entry): Don't declare.
2057 * eval.c (maybe_call_debugger): Make static and move before use.
2058 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2059 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2060 * xterm.h (x_set_frame_alpha): Declare.
2061
20622008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2063
2064 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2065 (create_menus): Connect selection-done to menu_nav_ended.
2066
20672008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2068
2069 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2070 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2071 parameter with read of 'alpha' one.
2072 (Qns_frame_parameter): Remove.
2073 * nsselection.m (selection-coding-system)
2074 (next-selection-coding-system, Vselection_coding_system)
2075 (Vnext_selection_coding_system): Drop.
2076
20772008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2078
2079 * nsfns.m (do-applescript, do_applescript): Rename to
2080 ns-do-applescript, ns_do_applescript, and move within file.
2081
20822008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2083
2084 Remove support for Mac Carbon.
2085 * mactoolbox.c:
2086 * macterm.h:
2087 * macterm.c:
2088 * macselect.c:
2089 * macmenu.c:
2090 * macgui.h:
2091 * macfns.c:
2092 * mac.c: Remove file.
2093 * s/darwin.h:
2094 * m/intel386.h:
2095 * xfaces.c:
2096 * xdisp.c:
2097 * window.c:
2098 * tparam.c:
2099 * termhooks.h:
2100 * termcap.c:
2101 * term.c:
2102 * syssignal.h:
2103 * sysselect.h:
2104 * sysdep.c:
2105 * process.c:
2106 * lread.c:
2107 * lisp.h:
2108 * keyboard.c:
2109 * image.c:
2110 * fringe.c:
2111 * frame.h:
2112 * frame.c:
2113 * fontset.c:
2114 * font.h:
2115 * font.c:
2116 * fns.c:
2117 * fileio.c:
2118 * emacs.c:
2119 * dispnew.c:
2120 * dispextern.h:
2121 * config.in:
2122 * atimer.c:
2123 * Makefile.in: Remove code for Carbon
2124
21252008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2126
2127 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2128
21292008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2130
2131 * macterm.h (kCGBitmapByteOrder32Host): New define for
2132 non-universal SDKs.
2133
2134 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2135 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2136
2137 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2138 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2139
21402008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2141
2142 * w32inevt.c: Include dispextern.h.
2143
21442008-07-26 Andreas Schwab <schwab@suse.de>
2145
2146 * print.c (print_object): Fix off-by-one in last change.
2147
21482008-07-25 Juanma Barranquero <lekktu@gmail.com>
2149
2150 * term.c (syms_of_term): Don't initialize default_orig_pair,
2151 default_set_foreground and default_set_background on Windows.
2152
21532008-07-25 Jason Rumney <jasonr@gnu.org>
2154
2155 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2156 ScriptItemize. Clean up return value checking. Remove unused
2157 variables.
2158 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2159 shaping engine.
2160
2161 * w32font.c (w32font_has_char): Handle the case where we can't
2162 determine the script for a character.
2163
21642008-07-25 Chong Yidong <cyd@stupidchicken.com>
2165
2166 * term.c (syms_of_term): Initialize default_orig_pair,
2167 default_set_foreground, and default_set_background.
2168
2169 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2170 clash (bug#86).
2171 (getloadavg): Callers changed.
2172
2173 * image.c (svg_load_image): Fix last change.
2174 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2175 image size is valid. Use g_object_unref instead of deprecated
2176 rsvg_handle_free to free rsvg handle.
2177 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2178
21792008-07-25 Jason Rumney <jasonr@gnu.org>
2180
2181 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2182 surrogates before looking up glyph index.
2183 (w32font_text_extents): Encode as surrogates if falling back to
2184 functions that need UTF-16 wide chars.
2185
2186 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2187 BMP as surrogates before looking up glyph index.
2188
21892008-07-25 Chong Yidong <cyd@stupidchicken.com>
2190
2191 * image.c (svg_load_image): Check for failure in return value of
2192 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2193
21942008-07-25 Jason Rumney <jasonr@gnu.org>
2195
2196 * w32font.c (Fx_select_font): Reverse sense of second arg.
2197
21982008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2199
2200 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2201 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2202
2203 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2204 (PURESIZE): Use it.
2205
22062008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2207
2208 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2209 * m/alpha.h (TEXT_END):
2210 * m/ibmrs6000.h (TEXT_END):
2211 * m/macppc.h (TEXT_END):
2212 * s/darwin.h (TEXT_END):
2213 * s/msdos.h (TEXT_END): Remove, unused.
2214 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2215 * s/cygwin.h: Remove comment.
2216
2217 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2218 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2219 * m/intel386.h (DOT_GLOBAL_START):
2220 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2221 (USG): Remove, file not used on USG platforms.
2222
2223 * Makefile.in (HAVE_X11): Remove empty #else.
2224
22252008-07-24 Andreas Schwab <schwab@suse.de>
2226
2227 * fileio.c (Finsert_file_contents): Properly adjust undo list
2228 after format conversion.
2229
22302008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2231
2232 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2233 (menu_nav_ended): Remove.
2234 (create_menus): Remove signal connect for menu_nav_ended.
2235 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2236 create_menus.
2237 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2238
22392008-07-23 Jason Rumney <jasonr@gnu.org>
2240
2241 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2242 with opened font.
2243 (w32font_open): Set font type to gdi.
2244
2245 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2246
22472008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2248
2249 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2250 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2251 defines it.
2252 * unexec.c (ADDR_CORRECT): Define unconditionally.
2253
2254 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2255
2256 * unexec.c: Remove code depending on !COFF and USG, the file is
2257 not used for such systems.
2258
2259 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2260 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2261 (LD_SWITCH_SYSTEM_1): Remove, update users.
2262
2263 * s/darwin.h (DATA_END):
2264 * m/intel386.h (DATA_END):
2265 * m/ibmrs6000.h (DATA_END):
2266 * m/alpha.h (DATA_END): Remove, unused.
2267
2268 * config.in: Regenerate.
2269 * s/ms-w32.h (subprocesses): Define unconditionally.
2270 * s/template.h (subprocesses): Update comment.
2271 * s/vms.h (subprocesses):
2272 * s/usg5-4.h (subprocesses):
2273 * s/hpux10-20.h (subprocesses):
2274 * s/gnu-linux.h (subprocesses):
2275 * s/cygwin.h (subprocesses):
2276 * s/bsd-common.h (subprocesses):
2277 * s/aix4-2.h (subprocesses):
2278 * s/darwin.h (subprocesses): Do not define, defined by default now.
2279
2280 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2281 Remove all references.
2282 (temacs): Add GNUstep specific ld flags.
2283
2284 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2285 similarly to what X does.
2286
22872008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2288
2289 * nsfns.m (x-list-fonts): Remove.
2290 (syms_of_nsfns): Drop the x-list-fonts declaration.
2291 * nsterm.m: Get rid of remaining "//" comments.
2292
22932008-07-22 Chong Yidong <cyd@stupidchicken.com>
2294
2295 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2296
2297 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2298 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2299 (Fns_own_selection_internal, Fx_disown_selection_internal)
2300 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2301
2302 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2303 ... */' style of docstrings. Doc fixes.
2304
23052008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2306
2307 * terminfo.c (UP, BC, PC): Undo previous change.
2308
2309 * nsfns.m: Rename ns prefixed functions/variables to the
2310 corresponding x versions. Update references.
2311
23122008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2313
2314 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2315
23162008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2317
2318 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2319 Remove forwarding functions.
2320 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2321 non-static.
2322 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2323 non-static.
2324 (ns_frame_parm_handlers): Use the new names.
2325 (syms_of_nsfns): Move to the end of file.
2326
2327 * nsterm.m (syms_of_nsterm): Move to the end of file.
2328
2329 * dispnew.c (init_display): Remove code for X10.
2330
23312008-07-22 Jason Rumney <jasonr@gnu.org>
2332
2333 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2334 bare drive.
2335
23362008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2337
2338 * nsterm.m (syms_of_nsterm): Remove debugging println.
2339
23402008-07-22 David Reitter <david.reitter@gmail.com>
2341
2342 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2343 Carbon implementation of the same functionality: execute arbitrary
2344 AppleScript code.
2345
23462008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2347
2348 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2349 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2350 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2351 (Fx_display_mm_height, Fx_display_mm_width)
2352 (Fx_display_backing_store, Fx_display_visual_class)
2353 (Fx_display_save_under, Fx_open_connection)
2354 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2355 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2356 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2357 (Fx_display_pixel_width, Fx_display_pixel_height)
2358 (Fx_display_usable_bounds, Fx_display_planes)
2359 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2360 ... */' style of docstrings.
2361
23622008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2363
2364 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2365 on this platform.
2366 (mips):
2367 * m/iris4d.h (mips): Do not define.
2368 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2369
2370 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2371
2372 * image.c:
2373 * nsfns.m:
2374 * nsselect.m:
2375 * nsterm.h:
2376 * nsterm.m: Rename ns prefixed functions/variables to the
2377 corresponding x versions. Update references.
2378
2379 * m/ibms390x.h (NO_REMAP): Do not undefine.
2380
2381 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2382
23832008-07-21 Chong Yidong <cyd@stupidchicken.com>
2384
2385 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2386 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2387 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2388 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2389 (Fns_display_mm_height, Fns_display_mm_width)
2390 (Fns_display_backing_store, Fns_display_visual_class)
2391 (Fns_display_save_under, Fns_open_connection)
2392 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2393 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2394 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2395 (Fns_display_pixel_width, Fns_display_pixel_height)
2396 (Fns_display_usable_bounds, Fx_display_planes)
2397 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2398
23992008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2400
2401 * print.c (print_object): Check print_depth before searching for
2402 circularities.
2403
24042008-07-21 Michael Albinus <michael.albinus@gmx.de>
2405
2406 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2407 only sprintf.
2408
24092008-07-21 Kenichi Handa <handa@m17n.org>
2410
2411 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2412
24132008-07-20 Andreas Schwab <schwab@suse.de>
2414
2415 * syntax.c (find_start_pos, find_start_value)
2416 (find_start_value_byte, find_start_begv, find_defun_start)
2417 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2418
24192008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2420
2421 * s/sol2-3.h: Insert contents of s/sol2.h.
2422 (LD_SWITCH_SYSTEM): Remove redundant definition.
2423 * s/sol2.h: Remove, unused.
2424
24252008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2426
2427 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2428
24292008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2430
2431 * Makefile.in (ns_appdir): Fix typo in find command.
2432
24332008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2434
2435 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2436
2437 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2438 added not supported anymore.
2439
2440 * s/usg5-4-2.h (LIBS_SYSTEM):
2441 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2442
2443 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2444 * s/lynxos.h (GETPGRP_NO_ARG):
2445 * s/hpux10-20.h (NO_SIOCTL_H):
2446 * s/gnu.h (GETPGRP_NO_ARG):
2447 * s/gnu-linux.h (NO_SIOCTL_H):
2448 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2449 * s/cygwin.h (GETPGRP_NO_ARG):
2450 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2451 (C_DEBUG_SWITCH): Remove duplicate definition.
2452
2453 * m/ibms390.h: Remove boilerplate comments.
2454
2455 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2456
2457 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2458 (wait_reading_process_output): Remove code for SunOS, platform not
2459 supported anymore. Use SOLARIS2 instead of sun.
2460
24612008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2462
2463 * font.c (font_open_by_name): Under NS, default lface height to zero.
2464 (font_open_for_lface): Under NS, set size based on frame fontsize.
2465 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2466 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2467
24682008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2469
2470 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2471 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2472 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2473 YES/NO.
2474 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2475 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2476 * Makefile.in (clean): Clear out build destination dir.
2477
24782008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2479
2480 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2481 xterm, xselect.
2482 * lisp.h: Remove declaration of hash_remove.
2483 * nsgui.h: Remove redefinitions of hash_remove.
2484 * fns.c (hash_remove): Rename to hash_remove_from_table.
2485
24862008-07-19 Seiji Zenitani <zenitani@mac.com>
2487
2488 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2489 strdup() the family UTF8String before modifying it.
2490
24912008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2492
2493 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2494 NS_FACE_BACKGROUND with 0 instead of nil.
2495 * nsfont.m (nsfont_draw): Same.
2496
24972008-07-19 Chong Yidong <cyd@stupidchicken.com>
2498
2499 * nsfns.m (ns_set_background_color): Fix crash.
2500
25012008-07-18 Chong Yidong <cyd@stupidchicken.com>
2502
2503 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2504
25052008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2506
2507 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2508
25092008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2510
2511 * gtkutil.c: Include <config.h> instead of "config.h".
2512
2513 * lisp.h (Foverlay_buffer): Add EXFUN.
2514
2515 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2516 child process to complete child_setup. Undo 2005-09-21 change.
2517
2518 * s/darwin.h: Mention setsid after vfork.
2519
25202008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2521
2522 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2523 Depend on macgui.h.
2524
2525 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2526 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2527
2528 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2529 and f19.
2530 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2531
2532 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2533 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2534 Remove enumerators.
2535
2536 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2537 Check if FACE_FROM_ID returns NULL.
2538
25392008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2540
2541 * w32inevt.c (change_frame_size): Remove extern declaration.
2542 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2543 change_frame_size.
2544
25452008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2546
2547 * getloadavg.c: Revert last change (2008-07-15).
2548
25492008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2550
2551 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2552 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2553 from configure.
2554
25552008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2556
2557 * s/sol2.h:
2558 * s/sol2-4.h: Reorganize conditionals.
2559
2560 * ecrt0.c: Remove code depending on m68000, not used anymore.
2561
2562 * fns.c (hash_remove): Make static.
2563 * lisp.h (hash_remove): Don't prototype.
2564
2565 * m/ibmrs6000.h:
2566 * m/ibms390x.h:
2567 * m/macppc.h: Remove boilerplate comments.
2568
2569 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2570 Solaris, which does not need them.
2571
2572 * m/vax.h: Remove comments about unsupported systems.
2573
2574 * s/darwin.h: Reorganize ifdefs.
2575
25762008-07-17 Andreas Schwab <schwab@suse.de>
2577
2578 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2579
25802008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2581
2582 Use SDATA. Follow coding convention of placing operators at
2583 beginning of next line rather than end of previous line, and placing
2584 spaces around infix operators.
2585
2586 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2587 in case it was defined already.
2588 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2589 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2590 ns_default.
2591 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2592 Lisp_Objects.
2593 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2594 (ns_defined_color, ns_color_to_lisp): Declare.
2595 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2596 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2597 it's accepted even with USE_LISP_UNION_TYPE.
2598 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2599 (update_frame_tool_bar): Remove apparently obsolete tests for
2600 non-integerness of f->tool_bar_lines.
2601 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2602 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2603 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2604 (nsfont_open): Don't confuse NULL for Qnil.
2605 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2606 * menu.h (find_and_call_menu_selection):
2607 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2608 (find_and_return_menu_selection): Always return something.
2609 * frame.h: Include dispextern.h for Display_Info.
2610 (display_x_get_resource): Declare.
2611
26122008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2613
2614 * syntax.c: Remove stdio.h include accidentally introduced in
2615 Emacs.app commit.
2616 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2617 NS_IMPL_COCOA.
2618 * keyboard.c (handle_async_input, input_available_signal): Remove
2619 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2620
26212008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2622
2623 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2624 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2625 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2626 Use SDATA.
2627
2628 * keymap.c: Remove all NS-specific code.
2629 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2630 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2631 where_is_preferred_modifier, return a different value depending on how
2632 preferred is the binding.
2633 (where_is_internal): Adjust accordingly.
2634 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2635 Adjust to new preferred_sequence_p.
2636 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2637 * keyboard.c (parse_solitary_modifier): Not static any more.
2638 * keyboard.h (parse_solitary_modifier): Declare.
2639
26402008-07-16 Andreas Schwab <schwab@suse.de>
2641
2642 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2643 of easymenu.
2644
26452008-07-16 Chong Yidong <cyd@stupidchicken.com>
2646
2647 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2648 that we don't move off the line.
2649
26502008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2651
2652 * keyboard.c (Qsuper): Remove.
2653 (parse_menu_item): Don't call where_is_internal specially for NS.
2654
26552008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2656
2657 * s/gnu-linux.h: Remove boilerplate comments.
2658
2659 * m/alpha.h (__ELF__): Consolidate conditions.
2660
2661 * m/m68k.h (linux): Use GNU_LINUX instead.
2662 Remove boilerplate comments.
2663
2664 * m/intel386.h: Undo refactoring from previous change.
2665 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2666 too, remove dead code.
2667 (linux): Use GNU_LINUX instead.
2668
26692008-07-16 Jason Rumney <jasonr@gnu.org>
2670
2671 * w32gui.h: Repeat 26 June changes lost by last change.
2672
26732008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2674
2675 * systty.h: Remove code for Aix on 386, unsupported platform.
2676
2677 * s/ms-w32.h: Remove boilerplate comments.
2678 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2679
2680 * s/gnu-linux.h (TERM): Remove support.
2681 (HAVE_SYSVIPC): Remove, unused.
2682 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2683 for this system.
2684
2685 * process.c: Remove support for IRIS, unused.
2686 Remove support for TERM, not relevant anymore.
2687
2688 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2689 used with the definition.
2690
2691 * s/aix4-2.h (static): Do not undef.
2692
2693 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2694 only used on Aix.
2695 (HAVE_SYSVIPC): Remove, unused.
2696
2697 * m/hp800.h (CANNOT_DUMP): Do not undef.
2698
2699 * m/alpha.h: Fix comment.
2700
2701 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2702 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2703 used by this configuration.
2704 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2705 * unexec.c: Remove code depending on HPUX and
2706 USG_SHARED_LIBRARIES, not used with this file. Remove code
2707 depending on IRIS, unused. Remove if 0-ed code.
2708
2709 * s/template.h: Remove comments about static.
2710
2711 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2712 Remove if 0-ed code.
2713 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2714 were the same as the default.
2715 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2716 Remove boilerplate comments.
2717 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2718 (HAVE_SYSVIPC): Remove, unused.
2719 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2720
2721 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2722 Remove boilerplate comments.
2723 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2724 Remove boilerplate comments.
2725 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2726 Remove boilerplate comments.
2727 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2728
2729 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2730 USG systems which do not use DATA_SEG_BITS.
2731 Refactor code. Remove boilerplate comments.
2732
2733 * m/ibms390.h:
2734 * m/m68k.h:
2735 * s/bsd-common.h:
2736 * s/cygwin.h:
2737 * s/darwin.h:
2738 * s/freebsd.h:
2739 * s/gnu.h:
2740 * s/msdos.h: Remove boilerplate comments.
2741
2742 * m/iris4d.h: Remove boilerplate comments and code for systems that
2743 do not use this file.
2744 (IRIS_4D): Remove, unused.
2745
2746 * m/mips.h: Remove boilerplate comments and code for systems that
2747 do not use this file.
2748 (SIGN_EXTEND_CHAR):
2749 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2750 * unexmips.c: Remove file, unused.
2751
2752 * editfns.c (Fuser_full_name): Replace the only use of
2753 USER_FULL_NAME with its value.
2754 * config.in: Regenerate.
2755
27562008-07-16 David Reitter <david.reitter@gmail.com>
2757
2758 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2759 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2760
27612008-07-16 Glenn Morris <rgm@gnu.org>
2762
2763 * emacs.c (system-type): Doc fix.
2764
27652008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2766
2767 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2768 If the cache doesn't work, let's fix it, rather than work around it.
2769
27702008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2771
2772 * Makefile.in: Correct additions for nsfont.o in last commit.
2773 * nsfont.m: New file (forgot last commit).
2774
27752008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2776
2777 * callproc.c (set_initial_environment): Initialize
2778 Vprocess_environment under CANNOT_DUMP (fixes crash when
2779 batch-compiling for bootstrap).
2780
27812008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2782 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2783
2784 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2785 fix crash due to different init order.
2786
27872008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2788
2789 Changes and additions for NeXTstep windowing system (Cocoa and
2790 GNUstep) support.
2791
2792 * Makefile.in:
2793 * config.in: Support defines and build commands for NS port.
2794 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2795 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2796 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2797 windowing.
2798 (struct face): Add synth_ital field.
2799 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2800 (init_display): Initialize Vinitial_window_system to "ns" when so
2801 compiled.
2802 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2803 (display_arg): Use under NS.
2804 (main): Under NS, allocate autorelease pool and handle command line
2805 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2806 (standard_args): Add NS-specific args.
2807 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2808 * font.c (DEFAULT_ENCODING): New variable.
2809 (font_find_for_lface): Use it.
2810 (syms_of_font): Load syms_of_nsfont under NS.
2811 * font.h: Declare nsfont_driver when compiled under NS.
2812 * fontset.c: When compiling under NS, include nsterm.h.
2813 (fontset_from_font): Autoconstruct fontset under NS.
2814 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2815 symbol, document and use it.
2816 (do_switch_frame): When for_deletion under Cocoa, add
2817 Fraise_frame(Qnil).
2818 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2819 (x_get_arg): Allow "yes" and "no" as boolean values.
2820 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2821 Qright under Cocoa.
2822 (focus-follows-mouse): Default to 0 under NS.
2823 * frame.h (enum output_method): Add output_ns.
2824 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2825 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2826 (FRAME_WINDOW_P): NS-specific definition.
2827 * fringe.c (max_used_fringe_bitmap): Make public.
2828 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2829 (getloadavg): Use NeXT code under descendant OS's.
2830 * image.c (includes and header section, x_create_bitmap_from_data)
2831 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2832 (image_background_transparent, x_clear_image_1)
2833 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2834 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2835 (x_to_xcolors, x_from_xcolors, x_disable_image)
2836 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2837 other GUIs, including XPM support using code originally written for
2838 Carbon GUI.
2839 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2840 using NS API.
2841 (image_ascent): Use font metrics macros instead of direct struct field
2842 access.
2843 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2844 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2845 Also, handle NS as GTK for menu bar purposes.
2846 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2847 toolkit where they differ.
2848 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2849 use cachelist, still needed under NS.
2850 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2851 (struct widget_value): Define it here for menu.c.
2852 * keymap.c (includes): Include modifier internals.
2853 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2854 NS.
2855 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2856 support for preferring sequences using certain modifiers, specified by
2857 the FIRSTONLY argument.
2858 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2859 under NS GNUstep implementation.
2860 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2861 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2862 * menu.c: Include nsterm.h under NS.
2863 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2864 (free_menubar_widget_tree_value, update_submenu_strings)
2865 (find_and_call_menu_selection): Treat NS as X and NT.
2866 (find_and_return_menu_selection): New function, used for popup menus.
2867 * nsgui.h:
2868 * nsterm.h:
2869 * nsfns.m:
2870 * nsimage.m:
2871 * nsmenu.m:
2872 * nsselect.m:
2873 * nsterm.m: New files.
2874 * process.c (wait_reading_process_output): Under NS, call ns_select()
2875 instead of plain select().
2876 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2877 beginning of buffer.
2878 * sysselect.h (init_process): Rename when compiling under Cocoa to
2879 avoid name conflict.
2880 * termhooks.h (display_info): Add ns_display_info to union.
2881 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2882 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2883 COCOA environment.
2884 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2885 unexec() signature. (Note, this will dump, but the resulting file
2886 crashes; unexosx is used instead; keeping around for reference and
2887 possible aid in getting dump working under GNUstep.)
2888 * w32gui.h (button_type, widget_value): Remove definitions (now in
2889 keyboard.h).
2890 * window.c: Include nsterm.h when compiling under NS.
2891 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2892 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2893 other GUI windowing systems.
2894 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2895 GTK.
2896 (x_consider_frame_title): Under NS, set icon type and frame
2897 modified-state indicator; use ns_set_name_as_filename() when using
2898 formatted title.
2899 (update_window_cursor): Make public when compiling under NS.
2900 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2901 (hourglass_atimer, Vhourglass_delay
2902 * xfaces.c (header section, init_frame_faces, clear_font_table)
2903 (defined_color, unload_color, x_face_list_fonts)
2904 (prepare_face_for_display): Add NS support parallel to other GUIs.
2905 Emulate GCs like other non-X GUIs.
2906 (split_font_name): Don't lowercase font name under NS.
2907 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2908 under NS.
2909 * s/darwin.h: Add support for compilation under NS.
2910
29112008-07-15 Jason Rumney <jasonr@gnu.org>
2912
2913 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2914 (w32_show_hourglass): Rename from show_hourglass.
2915 (w32_hide_hourglass): Rename from hide_hourglass.
2916 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2917 (Vhourglass_delay): Declare extern.
2918 (hourglass_started): Remove.
2919
2920 * xdisp.c (Vhourglass_delay): Remove static.
2921 (hourglass_started, start_hourglass, cancel_hourglass):
2922 Don't include these versions on WINDOWSNT.
2923
29242008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2925
2926 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2927 variables (formerly in xfns.c).
2928 (show_hourglass, hide_hourglass): New prototypes (same).
2929 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2930 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2931 in xfns.c).
2932 (syms_of_xdisp): Declare/initialize display-hourglass,
2933 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2934 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2935 formerly in xfns.c.
2936 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2937 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2938 (start_hourglass, cancel_hourglass): Remove.
2939 (show_hourglass, hide_hourglass): Remove prototypes and static
2940 modifiers.
2941 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2942 hourglass_atimer, hourglass_shown_p declaration/initialization.
2943 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2944 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2945 (start_hourglass, cancel_hourglass): Remove.
2946 (show_hourglass, hide_hourglass): Remove prototypes and static
2947 modifiers.
2948 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2949 hourglass_atimer, hourglass_shown_p declaration/initialization.
2950 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2951 (DEFAULT_HOURGLASS_DELAY): Remove.
2952 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2953 hourglass_shown_p declaration/initialization.
2954
29552008-07-14 Jason Rumney <jasonr@gnu.org>
2956
2957 * w32fns.c (w32_get_arg): Remove wrapper function.
2958 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2959 directly.
2960 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2961
29622008-07-14 Kenichi Handa <handa@m17n.org>
2963
2964 * xfont.c (xfont_open): Add workaround for X's bug.
2965
29662008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2967
2968 * fontset.c: Include <stdio.h> unconditionally.
2969
29702008-07-13 Michael Albinus <michael.albinus@gmx.de>
2971
2972 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2973 for filtering.
2974
29752008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2976
2977 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2978
2979 * m/macppc.h:
2980 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2981
2982 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2983 (SPECIAL_EMACS_INT):
2984 * m/ia64.h (SPECIAL_EMACS_INT):
2985 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2986 * s/gnu.h (NLIST_STRUCT):
2987 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2988 * s/gnu-linux.h (LINUX):
2989 * s/msdos.h (HAVE_FACES):
2990 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2991
2992 * systty.h:
2993 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2994 anymore.
2995
29962008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2997
2998 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2999 always defined as int.
3000
3001 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3002 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3003 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3004 * s/freebsd.h (HAVE_WAIT_HEADER):
3005 * s/bsd-common.h (HAVE_UNION_WAIT):
3006 * s/aix4-2.h (HAVE_WAIT_HEADER):
3007 * m/mips.h (HAVE_UNION_WAIT):
3008 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3009 (COFF, static): Do not define, they are undefined later in the file.
3010
3011 * process.c (update_status): Don't use a union.
3012 (status_convert):
3013 (sigchld_handler): Use int instead of WAITTYPE.
3014
30152008-07-12 Chong Yidong <cyd@stupidchicken.com>
3016
3017 * indent.c (Fvertical_motion): Restore hscroll before moving to
3018 goal column.
3019
30202008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3021
3022 * lisp.h: Remove left over code.
3023
30242008-07-11 Andreas Schwab <schwab@suse.de>
3025
3026 * lisp.h: Fix logic in last change.
3027
3028 * menu.h: New file.
3029 * menu.c: Include it.
3030 * xmenu.c: Likewise.
3031 * Makefile.in: Update dependencies.
3032
30332008-07-11 Kenichi Handa <handa@m17n.org>
3034
3035 * fontset.c (fontset_from_font): Cancel the previous change.
3036
30372008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3038
3039 * lisp.h:
3040 * w32heap.c:
3041 * emacs.c:
3042 * alloc.c: Replace all references of NO_UNION_TYPE with
3043 USE_LISP_UNION_TYPE.
3044
3045 * m/xtensa.h (NO_UNION_TYPE):
3046 * m/vax.h (NO_UNION_TYPE):
3047 * m/template.h (NO_UNION_TYPE):
3048 * m/sparc.h (NO_UNION_TYPE):
3049 * m/mips.h (NO_UNION_TYPE):
3050 * m/macppc.h (NO_UNION_TYPE):
3051 * m/m68k.h (NO_UNION_TYPE):
3052 * m/iris4d.h (NO_UNION_TYPE):
3053 * m/intel386.h (NO_UNION_TYPE):
3054 * m/ibms390x.h (NO_UNION_TYPE):
3055 * m/ibms390.h (NO_UNION_TYPE):
3056 * m/ibmrs6000.h (NO_UNION_TYPE):
3057 * m/ia64.h (NO_UNION_TYPE):
3058 * m/hp800.h (NO_UNION_TYPE):
3059 * m/arm.h (NO_UNION_TYPE):
3060 * m/amdx86-64.h (NO_UNION_TYPE):
3061 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3062 defining it the same.
3063
30642008-07-10 Chong Yidong <cyd@stupidchicken.com>
3065
3066 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3067
30682008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3069
3070 * fileio.c:
3071 * sysdep.c
3072 * systty.h:
3073 * m/ibmrs6000.h:
3074 * m/iris4d.h:
3075 * s/aix4-2.h:
3076 * s/freebsd.h:
3077 * s/gnu-linux.h:
3078 * s/hpux10-20.h:
3079 * s/hpux11.h:
3080 * s/netbsd.h:
3081 * s/sol2-3.h:
3082 * s/sol2-4.h:
3083 * s/sol2.h:
3084 * s/usg5-4.h:
3085 * s/vms.h: Remove references to unused variables.
3086
30872008-07-10 Andreas Schwab <schwab@suse.de>
3088
3089 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3090 pattern before matching the generic family.
3091
30922008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3093
3094 * unexec.c:
3095 * s/vms.h:
3096 * s/usg5-4-2.h:
3097 * s/sol2-5.h:
3098 * s/freebsd.h:
3099 * s/darwin.h: Remove dead code.
3100
3101 * m/template.h:
3102 * m/sparc.h:
3103 * m/mips.h:
3104 * m/m68k.h:
3105 * m/iris4d.h:
3106 * m/intel386.h:
3107 * m/ibms390x.h:
3108 * m/ibms390.h:
3109 * m/ia64.h:
3110 * m/hp800.h:
3111 * m/arm.h:
3112 * m/amdx86-64.h: Remove dead code and references to unused
3113 and compiler defined symbols.
3114
3115 * unexmips.c:
3116 * unexelf.c: Remove references to desupported systems.
3117
3118 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3119
3120 * m/powermac.h: Remove boilerplate comments.
3121 (NO_REMAP): Remove unused definition.
3122
3123 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3124 define them.
3125
31262008-07-10 Kenichi Handa <handa@m17n.org>
3127
3128 * xfont.c (xfont_open): Log the reason of failure.
3129
31302008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3131
3132 * fontset.c (fontset_get_font_group):
3133 * font.c (font_check_otf): Specify argument types.
3134
31352008-07-09 Kenichi Handa <handa@m17n.org>
3136
3137 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3138 non-ASCII char is found.
3139
3140 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3141 (reorder_font_vector): Change the arg preferred_family to font.
3142 Prefer the spec matching with font.
3143 (fontset_get_font_group): New function.
3144 (fontset_find_font): Change the format of an element of a realized
3145 fontset. Use fontset_get_font_group.
3146 (fontset_font): Try the current fontset, the default fontset, the
3147 fallbacks of the current fontset, and the fallbacks of the default
3148 fontset in this order.
3149 (face_for_char): Delete the shortcut to use the current font.
3150 (fontset_from_font): Don't set fonts for Latin in the fontset.
3151
3152 * font.h (font_make_object, font_match_p): Adjust prototypes.
3153
3154 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3155
3156 * font.c (font_make_object): New arg entity and pixelsize.
3157 (font_check_otf_features, font_check_otf): New functions.
3158 (font_match_p): Check :lang, :script, and :otf properties.
3159
3160 * xfont.c (xfont_open): Adjust it for the change of
3161 font_make_object.
3162 (xfont_text_extents): Fix initial setting of metrics.
3163
3164 * ftfont.c (struct ftfont_info): New member index, delete member
3165 fc_charset_idx. Make the member order compatible with struct
3166 xftfont_info.
3167 (fc_charset_table): Change charset names to registry names.
3168 (ftfont_pattern_entity): Delete the args registry and
3169 fc_charset_idx. Change the value of :font-entity property
3170 to (FONTNAME . INDEX). Always set :registry property to
3171 `iso10646-1'.
3172 (struct ftfont_cache_data): New struct.
3173 (ftfont_lookup_cache): New arg for_face.
3174 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3175 (ftfont_driver): Set the member otf_capability.
3176 (ftfont_get_charset): Adjust it for the change of
3177 fc_charset_table.
3178 (OTF_TAG_SYM): New macro.
3179 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3180 for the change of fc_charset_table.
3181 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3182 ftfont_pattern_entity. Add FC_INDEX to objset.
3183 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3184 and ftfont_pattern_entity.
3185 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3186 font_make_object, struct ftfont_info.
3187 (ftfont_has_char): Use ftfont_get_fc_charset.
3188 (ftfont_otf_features, ftfont_otf_capability): New functions.
3189 (ftfont_shape): Use ftfont_get_otf.
3190 (ftfont_text_extents): Fix initial setting of metrics.
3191
3192 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3193 member order compatible with struct ftfont_info.
3194 (xftfont_open): Add FC_CHARSET to the pattern. Set
3195 xftfont_info->ft_size. Don't unlock the face. Check BDF
3196 properties if appropriate.
3197 (xftfont_close): Unlock the face.
3198 (xftfont_anchor_point, xftfont_shape): Deleted.
3199 (syms_of_xftfont): Don't set members anchor_point and shape of
3200 xftfont_driver.
3201
3202 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3203 font_make_object.
3204
3205 * w32font.c (w32font_open): Adjust it for the change of
3206 font_make_object.
3207 (w32font_open_internal): Don't set properties of font_object here.
3208
32092008-07-08 Chong Yidong <cyd@stupidchicken.com>
3210
3211 * macfns.c (x_create_tip_frame):
3212 * w32fns.c (x_create_tip_frame):
3213 * xfns.c (x_create_tip_frame): Pass parameter argument to
3214 face-set-after-frame-default.
3215
3216 * xfaces.c (Finternal_merge_in_global_face): Save merged
3217 attributes for the default face back into the face vector.
3218
32192008-07-08 Andreas Schwab <schwab@suse.de>
3220
3221 * fontset.h: Declare fontset_from_font. Don't declare
3222 new_fontset_from_font and fontset_from_font_name.
3223 * xterm.c: Include "fontset.h".
3224 * Makefile.in (xterm.o): Update dependencies.
3225
32262008-07-08 Glenn Morris <rgm@gnu.org>
3227
3228 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3229 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3230
32312008-07-07 Chong Yidong <cyd@stupidchicken.com>
3232
3233 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3234 (x_set_frame_parameters): Don't bind it.
3235
32362008-07-07 Juanma Barranquero <lekktu@gmail.com>
3237
3238 * w32fns.c (map_w32_filename): Declare extern.
3239
32402008-07-07 Jason Rumney <jasonr@gnu.org>
3241
3242 * w32term.c (WS_EX_LAYERED): Define if not already.
3243
32442008-07-06 Chong Yidong <cyd@stupidchicken.com>
3245
3246 * xfaces.c (set_font_frame_param): Don't try to set the font
3247 parameter if it is still unspecified in the lface.
3248
32492008-07-05 Chong Yidong <cyd@stupidchicken.com>
3250
3251 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3252 face if it didn't already exist.
3253
3254 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3255
32562008-07-05 Andreas Schwab <schwab@suse.de>
3257
3258 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3259
32602008-07-05 Chong Yidong <cyd@stupidchicken.com>
3261
3262 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3263 word-wrapping.
3264 (IT_DISPLAYING_WHITESPACE): New macro.
3265 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3266 when word-wrapping. Simplify word-wrapping logic. Use correct
3267 pixel positions when saving copies of the iterator.
3268 (display_line): Use proper wrap point if the last character on a
3269 line was preceded by whitespace.
3270
32712008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3272
3273 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3274
32752008-07-04 Kenichi Handa <handa@m17n.org>
3276
3277 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3278
3279 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3280
32812008-07-02 Jason Rumney <jasonr@gnu.org>
3282
3283 * xfns.c (syms_of_xfns): Only define x-select-font when both
3284 HAVE_FREETYPE and USE_GTK
3285
3286 * xdisp.c (next_element_from_display_vector): Move assignment out
3287 of if statement.
3288
32892008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3290
3291 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3292
3293 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3294 (syms_of_fileio): Initialize and export them.
3295 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3296
3297 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3298 (Fsystem_move_file_to_trash): New function.
3299 (syms_of_w32fns): Export it to lisp.
3300
33012008-07-01 Jason Rumney <jasonr@gnu.org>
3302
3303 * w32font.c (w32font_text_extents): Don't count overhang as part
3304 of width.
3305
33062008-06-30 Miles Bader <miles@gnu.org>
3307
3308 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3309 Add `avoid_cursor_p' field.
3310
3311 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3312 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3313 (append_glyph, append_composite_glyph, produce_image_glyph)
3314 (append_stretch_glyph): Initialize avoid_cursor_p.
3315 (get_it_property): Rename from `get_line_height_property'.
3316 (x_produce_glyphs): Use get_it_property.
3317 (handle_line_prefix, push_display_prop): New functions.
3318 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3319 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3320 New variables.
3321 (syms_of_xdisp): Initialize them.
3322
33232008-06-30 Kenichi Handa <handa@m17n.org>
3324
3325 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3326 XftDefaultSubstitute (they are called in XftFontMatch).
3327 (xftfont_open): Fix args to ftfont_font_format.
3328
3329 * ftfont.c (fc_charset_table): New member lang.
3330 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 3331 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
3332 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3333 (ftfont_open): Fix args to ftfont_font_format.
3334 (ftfont_font_format): New arg filename.
3335
33362008-06-30 Chong Yidong <cyd@stupidchicken.com>
3337
3338 * xfaces.c (Finternal_merge_in_global_face): If default face was
3339 modified, realize it again. Update the font face attribute.
3340
33412008-06-29 Jason Rumney <jasonr@gnu.org>
3342
3343 * w32term.c (x_set_frame_alpha): Fix logic.
3344
33452008-06-29 Kenichi Handa <handa@m17n.org>
3346
3347 * fontset.c (Finternal_char_font): Return font-object instead of
3348 font-name.
3349
3350 * composite.c (get_composition_id): Fix the width calculation for TAB.
3351
33522008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3353
3354 * indent.c (Fvertical_motion): Properly handle float column arg.
3355
33562008-06-28 Jason Rumney <jasonr@gnu.org>
3357
3358 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3359 (pfnSetLayeredWindowAttributes): New function pointer.
3360 (w32_initialize): Initialize it when supported.
3361 (x_set_frame_alpha): New function.
3362
3363 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3364 (w32_frame_parm_handlers): Set alpha handler.
3365
3366 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3367
33682008-06-27 Jason Rumney <jasonr@gnu.org>
3369
3370 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3371 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3372 (w32_to_x_charset, x_to_w32_charset)
3373 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3374 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3375 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3376 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3377 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3378 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3379 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3380 (Qw32_charset_unicode): Remove.
3381 (syms_of_w32fns): Update for above changes.
3382
3383 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3384 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3385 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3386 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3387 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3388 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3389 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3390 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3391 (syms_of_w32font): Update for above changes.
3392
33932008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3394
3395 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3396 removed #if.
3397 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3398
33992008-06-26 Juanma Barranquero <lekktu@gmail.com>
3400 Eli Zaretskii <eliz@gnu.org>
3401
3402 * makefile.w32-in (LOCAL_FLAGS):
3403 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3404
3405 * sysdep.c (_spawnlp, _getpid):
3406 Declare with explicit _cdecl instead of _CRTAPI1.
3407
3408 * editfns.c (Fget_internal_run_time):
3409 Check for WINDOWSNT with #ifdef, not #if.
3410
34112008-06-26 Jason Rumney <jasonr@gnu.org>
3412
3413 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3414
3415 * w32term.c (x_draw_glyph_string_foreground)
3416 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3417 Use FONT_HANDLE macro.
3418 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3419
3420 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3421 (uniscribe_encode_char): Use FONT_HANDLE macro.
3422
3423 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3424 (w32font_text_extents): Use precast w32_font.
3425 (w32font_close): Free cached metrics.
3426 (w32font_open_internal): Allocate space for name on stack.
3427
34282008-06-26 Chong Yidong <cyd@stupidchicken.com>
3429
3430 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3431
34322008-06-26 Jason Rumney <jasonr@gnu.org>
3433
3434 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3435 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3436
34372008-06-26 Juanma Barranquero <lekktu@gmail.com>
3438
3439 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3440
34412008-06-26 Jason Rumney <jasonr@gnu.org>
3442
3443 * w32bdf.c, w32bdf.h: Remove obsolete files.
3444
3445 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3446
3447 * w32gui.h: Don't include w32bdf.h.
3448 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3449 Remove obsolete font support.
3450
3451 * w32font.h (struct w32font_info): Remove compat_w32_font.
3452 Add hfont member.
3453 (FONT_COMPAT): Remove obsolete macro.
3454
3455 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3456 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3457 (w32font_open_internal): Remove compat code. Set new hfont member.
3458 (Fx_select_font): Use new hfont member.
3459
3460 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3461 (uniscribe_encode_char): Use new hfont member.
3462
3463 * w32term.c (x_draw_glyph_string_foreground)
3464 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3465 (x_draw_glyph_string): Use metrics in w32font_info.
3466
34672008-06-26 Kenichi Handa <handa@m17n.org>
3468
3469 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3470
34712008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3472
3473 * unexnext.c:
3474 * m/ews4800.h:
3475 * m/hp9000s300.h:
3476 * m/ibm370aix.h:
3477 * m/mips-siemens.h:
3478 * m/ncr386.h:
3479 * m/next.h:
3480 * m/pmax.h:
3481 * m/powerpcle.h:
3482 * m/tandem-s2.h:
3483 * s/386bsd.h:
3484 * s/bsd386.h:
3485 * s/bsd4-1.h:
3486 * s/bsd4-2.h:
3487 * s/bsdos2-1.h:
3488 * s/bsdos2.h:
3489 * s/bsdos3.h:
3490 * s/bsdos4.h:
3491 * s/nextstep.h:
3492 * s/ultrix4-3.h:
3493 * s/usg5-0.h:
3494 * s/usg5-2-2.h:
3495 * s/usg5-2.h:
3496 * s/usg5-4-3.h:
3497 * s/ux4800.h:
3498 * s/uxpds.h:
3499 * s/uxpv.h: Remove support for obsolete systems.
3500 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3501 Remove, insert contents in s/hpux-10.20.h.
3502 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3503 Remove, insert contents in s/aix4-2.h.
3504 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3505 * s/bsd4-3.h: Rename to ...
3506 * s/bsd-common.h: ... this.
3507 * data.c:
3508 * doc.c:
3509 * ecrt0.c:
3510 * emacs.c:
3511 * fileio.c:
3512 * floatfns.c:
3513 * keyboard.c:
3514 * mem-limits.h:
3515 * print.c:
3516 * process.c:
3517 * sysdep.c:
3518 * syssignal.h:
3519 * systty.h:
3520 * syswait.h:
3521 * term.c:
3522 * unexec.c:
3523 * unexelf.c:
3524 * unexhp9k800.c:
3525 * m/hp800.h:
3526 * m/ibmrs6000.h:
3527 * m/mips.h:
3528 * m/vax.h:
3529 * s/darwin.h:
3530 * s/freebsd.h:
3531 * s/gnu.h:
3532 * s/ms-w32.h:
3533 * s/msdos.h:
3534 * s/netbsd.h:
3535 * s/template.h: Remove references to obsolete variables.
3536
3537 * Makefile.in: Add dependencies for all unexec files.
3538 (admindir): Remove unused variable.
3539 (UNEXEC_SRC): Remove references.
3540
35412008-06-25 Chong Yidong <cyd@stupidchicken.com>
3542
3543 * xfns.c (x_default_font_parameter): If Xft is available, first
3544 try Monospace-12 for the default font.
3545
35462008-06-25 Jason Rumney <jasonr@gnu.org>
3547
3548 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3549
35502008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3551
3552 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3553
3554 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3555
35562008-06-25 Juanma Barranquero <lekktu@gmail.com>
3557
3558 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3559 <scroll-conservatively>: Fix typo in docstring.
3560
3561 * xselect.c (Fx_send_client_event): Doc fix.
3562
35632008-06-25 Kenichi Handa <handa@m17n.org>
3564
3565 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3566
3567 * font.c (font_parse_fcname): Remove unused variables.
3568 (font_sort_entites): Delete the arg SPEC. Caller changed.
3569 Fix for the case of ! best_only.
3570 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3571
3572 * lisp.h (Fstring_to_unibyte): EXFUN it.
3573
3574 * character.h (str_to_unibyte): Extern it.
3575
3576 * character.c (str_to_unibyte): New function.
3577
3578 * fns.c (Fstring_to_unibyte): New function.
3579 (syms_of_fns): Defsubr it.
3580
35812008-06-24 Kenichi Handa <handa@m17n.org>
3582
3583 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3584 DPI too.
3585 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3586
35872008-06-24 Andreas Schwab <schwab@suse.de>
3588
3589 * Makefile.in (${lispsource}loaddefs.el): Rename from
3590 ../lisp/loaddefs.el.
3591 (bootstrap-clean): Do what distclean does but don't remove
3592 Makefile.
3593 (distclean): Depend on bootstrap-clean and remove Makefile.
3594
35952008-06-24 Chong Yidong <cyd@stupidchicken.com>
3596
3597 * buffer.h (struct buffer): New member word_wrap.
3598
3599 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3600 word-wrap.
3601 (init_buffer_once): Initialize them.
3602
3603 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3604 line_wrap enum possessing three possible values.
3605
3606 * termopts.h: Replace truncate_partial_width_windows with
3607 Vtruncate_partial_width_windows.
3608
3609 * dispnew.c (direct_output_for_insert): Avoid direct output when
3610 inserting a space with word wrap on.
3611
3612 * indent.c (compute_motion): Obey integer values of
3613 truncate-partial-width-windows.
3614
3615 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3616 replacing truncate_partial_width_windows.
3617 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3618 truncate only if the window width is below that integer.
3619 (start_display, resize_mini_window, produce_stretch_glyph)
3620 (display_string, move_it_in_display_line_to): Use line_wrap.
3621 (back_to_previous_visible_line_start, reseat_1): Reset
3622 string_from_display_prop_p.
3623 (display_line): Extend default face to end of line when wrapping.
3624
36252008-06-24 Kim F. Storm <storm@cua.dk>
3626
3627 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3628 to wrap continued lines at word boundaries.
3629
36302008-06-24 Jason Rumney <jasonr@gnu.org>
3631
3632 * font.c (Ffont_face_attributes): Multiply pixel size before point
3633 conversion to avoid multiplying rounding error.
3634
36352008-06-23 Jason Rumney <jasonr@gnu.org>
3636
3637 * w32term.c (x_draw_glyph_string_background)
3638 (x_draw_glyph_string): Remove old bdf font code.
3639
3640 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3641
36422008-06-22 Kenichi Handa <handa@m17n.org>
3643
3644 * font.c (font_find_for_lface): Try the adstyle specified in
3645 the property of LFACE_FONT of LFACE (if any).
3646
36472008-06-21 Seiji Zenitani <zenitani@mac.com>
3648 Ryo Yoshitake <ryo@shiftmode.net>
3649
3650 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3651
36522008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3653
3654 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3655 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3656 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3657 (witness-emacs): Remove.
3658 (lisp, shortlisp): Move loaddefs.el earlier.
3659 (mostlyclean): Forget about witness-emacs.
3660
36612008-06-22 Glenn Morris <rgm@gnu.org>
3662
3663 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3664 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3665
36662008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3667
3668 * Makefile.in (PRECOMP): Remove.
3669 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3670 (witness-emacs): Run `compile-first'.
3671 (.el.elc): Use the new compile-onefile target.
3672
36732008-06-21 Kenichi Handa <handa@m17n.org>
3674
3675 * xftfont.c (xftfont_open): Handle QCembolden only when
3676 FC_EMBOLDEN is defined.
3677
36782008-06-21 Andreas Schwab <schwab@suse.de>
3679
3680 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3681 (.el.elc): Likewise.
3682
36832008-06-21 Miles Bader <miles@gnu.org>
3684
3685 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3686 build dir, not the lisp source dir.
3687
36882008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3689
3690 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3691 (bootstrapclean): Remove.
3692 (.el.elc): New rule.
3693 (PRECOMP): New var.
3694 (../lisp/subdirs.el): Remove.
3695 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3696 (witness-emacs): New target.
3697 (mostlyclean): Remove witness-emacs as well.
3698 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3699 Add witness-emacs dependency.
3700
37012008-06-20 Chong Yidong <cyd@stupidchicken.com>
3702
3703 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3704 defined by the font.
3705
37062008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3707
3708 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3709 (bootstrap-clean): New target that keeps TAGS around.
3710 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3711 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3712
37132008-06-20 Jason Rumney <jasonr@gnu.org>
3714
3715 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3716 Remove obsolete font code.
3717
3718 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3719 to determine language support.
3720
37212008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3722
3723 * sysdep.c (cfsetspeed): New fun extracted from the code.
3724 (cfmakeraw): Move before first use.
3725
37262008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3727
3728 * sysdep.c (cfmakeraw): Provide fallback implementation.
3729 (serial_configure): Provide fallback implementation of cfsetspeed.
3730
37312008-06-20 Kenichi Handa <handa@m17n.org>
3732
3733 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3734 the pattern.
3735
3736 * fontset.c (fontset_from_font): Copy font_spec before changing
3737 the elements.
3738
3739 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3740
37412008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3742
3743 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3744 for explicit `font' parameters.
3745
3746 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3747
37482008-06-19 Kenichi Handa <handa@m17n.org>
3749
3750 * frame.c: Include <ctype.h>.
3751 (x_set_font_backend): Allow spacing characters in the X resource
3752 for FontBackend.
3753
37542008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3755
3756 * w32fns.c, xfns.c (Qfont_param): New var.
3757 (syms_of_w32fns): Initialize it.
3758 (x_default_font_parameter): Record explicit `font' into
3759 `font-parameter'.
3760
37612008-06-18 Kenichi Handa <handa@m17n.org>
3762
3763 * font.c (font_parse_xlfd): Fix previous change.
3764 (font_parse_fcname): Don't use :fc-unknown-spec.
3765 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3766 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3767 (font_add_log): Prepend the driver name to the resulting fonts.
3768
3769 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3770 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3771 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3772
3773 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3774 (QCembolden): New variables.
3775 (syms_of_xftfont): DEFSYM them.
3776 (xftfont_open): Call XftFontMatch. Don't trust the result of
3777 XftTextExtents8 if the pixel_size is less than 5.
3778
37792008-06-18 Andreas Schwab <schwab@suse.de>
3780
3781 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3782 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3783
37842008-06-18 Jason Rumney <jasonr@gnu.org>
3785
3786 * w32font.c (w32font_list, w32font_match): Add logging.
3787
3788 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3789
37902008-06-17 Chong Yidong <cyd@stupidchicken.com>
3791
3792 * font.c (font_parse_fcname): Store divider characters for
3793 unknown-spec list. For known key symbols, intern using correct
3794 symbol name.
3795
37962008-06-17 Kenichi Handa <handa@m17n.org>
3797
3798 * xfaces.c (realize_default_face): If the frame is not on window
3799 system, set the fontset of face to nil.
3800
38012008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3802
3803 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3804
38052008-06-16 Juanma Barranquero <lekktu@gmail.com>
3806
3807 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3808 (build_font_name_from_vector): Delete externs.
3809
3810 * xfaces.c (struct font_name): Don't declare.
3811
38122008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3813
3814 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3815
38162008-06-16 Chong Yidong <cyd@stupidchicken.com>
3817
3818 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3819
38202008-06-16 Juanma Barranquero <lekktu@gmail.com>
3821
3822 * font.c (Ffont_spec): Fix usage in docstring.
3823 (Ffont_face_attributes): Doc fix.
3824
38252008-06-16 Andreas Schwab <schwab@suse.de>
3826
3827 * font.c (Ffont_face_attributes): Fix definition.
3828
38292008-06-16 Jason Rumney <jasonr@gnu.org>
3830
3831 * font.h (font_style_symbolic_from_value): Remove.
3832
3833 * font.c (font_style_symbolic_from_value): Remove.
3834 (font_style_symbolic): Revert to pre 2008-06-13 version.
3835
3836 * w32font.c (w32_to_fc_weight): New function.
3837 (w32font_full_name, logfont_to_fcname): Use it.
3838
38392008-06-16 Kenichi Handa <handa@m17n.org>
3840
3841 * font.c (font_check_object): Delete it.
3842 (font_clear_cache): Check if a font-object is alive.
3843 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3844 font-object to nil.
3845 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3846 (font_at): Don't call font_check_object.
3847 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3848
38492008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3850
3851 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3852
38532008-06-16 Chong Yidong <cyd@stupidchicken.com>
3854
3855 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3856
38572008-06-15 Chong Yidong <cyd@stupidchicken.com>
3858
3859 * font.c (font_parse_fcname): Only one decimal point.
3860 (font_unparse_fcname): Handle data in family and foundry indices
3861 as symbols, not strings.
3862 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3863
3864 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3865
3866 * font.h (font_unparse_gtkname): Add prototype.
3867
38682008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3869
3870 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3871
38722008-06-15 Andreas Schwab <schwab@suse.de>
3873
3874 * font.c (font_update_drivers): Fix crash when no drivers match.
3875
38762008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3877
3878 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3879 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3880
38812008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3882
3883 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3884
38852008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3886
3887 * process.c (Fserial_process_configure, Fprocess_send_eof):
3888 Use EQ to compare Lisp_Objects.
3889
38902008-06-13 Jason Rumney <jasonr@gnu.org>
3891
3892 * w32fns.c (Fw32_select_font): Remove old font API function.
3893
3894 * w32font.c (logfont_to_fcname): New function.
3895 (Fx_select_font): New font dialog function compatible with
3896 GTK/fontconfig version.
3897
3898 * font.c (font_style_symbolic_from_value): New function.
3899 (font_style_symbolic): Use it.
3900
3901 * font.h (font_style_symbolic_from_value): Declare new function.
3902
39032008-06-13 Juanma Barranquero <lekktu@gmail.com>
3904
3905 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3906 <font-width-table>: Fix typos in docstrings.
3907
39082008-06-13 Daniel Engeler <engeler@gmail.com>
3909
3910 These changes add serial port access.
3911 * process.c: Add HAVE_SERIAL.
3912 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3913 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3914 (list_processes_1, select_wrapper, Fstop_process)
3915 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3916 (status_notify): Modify to handle serial processes.
3917 [HAVE_SERIAL] (Fserial_process_configure)
3918 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3919 New functions.
3920 * process.h (struct Lisp_Process): Add `type'.
3921 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3922 New functions.
3923 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3924 serial ports.
3925 (serial_open, serial_configure) New functions.
3926 * w32.h: Add FILE_SERIAL.
3927 (struct _child_process): Add ovl_read, ovl_write.
3928
39292008-06-13 Kenichi Handa <handa@m17n.org>
3930
3931 * dispextern.h (enum lface_attribute_index): New member
3932 LFACE_FOUNDRY_INDEX.
3933
3934 * font.c (font_score): Delete arg alternate_families. Check only
3935 weight, slant, width, and size. Ignore the difference of alias
3936 style symbols.
3937 (font_sort_entites): Adjust for the above change. Reflect the
3938 order of font-driver to scores.
3939 (font_list_entities): Don't check alternate_familes here.
3940 (font_clear_prop): Handle foundry.
3941 (font_update_lface): Don't parse "foundry-family" form here.
3942 Handle FONT_FOUNDRY_INDEX.
3943 (font_find_for_lface): Likewise. Handle alternate families here.
3944 If registry is nil, try iso8859-1 and ascii-0.
3945 (font_open_for_lface): Pay attention to size in ENTITY.
3946 (font_open_by_name): Simplify by calling font_load_for_lface.
3947 (free_font_driver_list): Delete it.
3948 (font_update_drivers): Preserve the order of backends.
3949 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3950 of font_score and font_sort_entites.
3951 (font_update_sort_order): Likewise.
3952
3953 * xfaces.c (LFACE_FOUNDRY): New macro.
3954 (check_lface_attrs): Check foundry.
3955 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3956 (merge_face_vectors): Check foundry.
3957 (merge_face_ref): Likewise.
3958 (Finternal_set_lisp_face_attribute): Likewise.
3959 (x_update_menu_appearance): Likewise.
3960 (Finternal_get_lisp_face_attribute): Likewise.
3961 (lface_hash): Likewise.
3962 (lface_same_font_attributes_p): Likewise.
3963 (x_supports_face_attributes_p): Likewise.
3964 (tty_supports_face_attributes_p): Likewise.
3965 (Finternal_set_alternative_font_family_alist): Intern strings.
3966 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3967 (realize_default_face): Set LFACE_FOUNDRY (lface).
3968
3969 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3970 font-driver at first.
3971
3972 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3973
39742008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3975
3976 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3977
39782008-06-12 Jim Meyering <meyering@redhat.com>
3979
3980 Make unexec_free handle NULL the same way free does.
3981 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3982
39832008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3984
3985 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3986 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3987 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3988 (WEAK_ALIAS): Simplify.
3989 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3990 when searching a unibyte buffer.
3991
39922008-06-12 Chong Yidong <cyd@stupidchicken.com>
3993
3994 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3995
39962008-06-12 Juanma Barranquero <lekktu@gmail.com>
3997
3998 * w32font.c: Include ctype.h.
3999
40002008-06-11 Jason Rumney <jasonr@gnu.org>
4001
4002 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4003 misreported as space.
4004 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4005 as aliases for registry iso10646-1.
4006
40072008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4008
4009 * buffer.c (clone_per_buffer_values): Skip `name'.
4010
40112008-06-11 Chong Yidong <cyd@stupidchicken.com>
4012
4013 * font.c (font_parse_fcname): Fix last change; accept decimal
4014 points in font size.
4015
40162008-06-10 Jason Rumney <jasonr@gnu.org>
4017
4018 * w32uniscribe.c (add_opentype_font_name_to_list):
4019 Skip non unicode fonts.
4020
40212008-06-10 Chong Yidong <cyd@stupidchicken.com>
4022
4023 * xfns.c (Fx_font_dialog): New function.
4024
4025 * gtkutil.c (xg_dialog_response_cb): Rename from
4026 xg_file_response_callback.
4027 (pop_down_dialog): Rename from pop_down_file_dialog.
4028 (xg_get_file_name): Callers changed.
4029 (xg_get_font_name): New function.
4030
4031 * gtkutil.h (xg_get_font_name): Insert prototype.
4032
40332008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4034
4035 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4036 x_underline_minimum_display_offset.
4037 (syms_of_xdisp): Declare it here rather than in xterm.c.
4038 * dispextern.h (underline_minimum_offset): Declare it.
4039 * w32term.c (x_draw_glyph_string): Use it.
4040 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4041 (syms_of_xterm): Don't declare it any more.
4042 (x_draw_glyph_string): Adjust to the new name.
4043
40442008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4045
4046 * xterm.c (x_underline_minimum_display_offset): New var.
4047 (x_draw_glyph_string): Use it.
4048 (syms_of_xterm): Declare it.
4049
40502008-06-10 Chong Yidong <cyd@stupidchicken.com>
4051
4052 * font.c (font_parse_fcname): Accept GTK-style font names too.
4053
40542008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4055
4056 * dired.c (file_name_completion): Don't return t if the match is exact
4057 but with different capitalization.
4058 * minibuf.c (Ftry_completion): Simplify.
4059
4060 * window.c (Vwindow_point_insertion_type): New var.
4061 (set_window_buffer): Use it.
4062 (syms_of_window): Init and export it to Lisp.
4063
40642008-06-10 Kenichi Handa <handa@m17n.org>
4065
4066 * font.h (font_intern_prop): Prototype adjusted.
4067
4068 * font.c (font_intern_prop): New arg force_symbol.
4069 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4070 Adjust for the change of font_intern_prop.
4071
4072 * ftfont.c (ftfont_pattern_entity):
4073 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4074 (w32_registry):
4075 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4076 the change of font_intern_prop.
4077
40782008-06-09 Juanma Barranquero <lekktu@gmail.com>
4079
4080 * w32menu.c (digest_single_submenu): Declare extern.
4081
40822008-06-09 Jason Rumney <jasonr@gnu.org>
4083
4084 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4085
4086 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4087 (parse_single_submenu): Remove.
4088 (digest_single_submenu): Remove.
4089 (syms_of_w32menu): Don't initialise variables that have moved
4090 to menu.c.
4091 (set_frame_menubar): Sync with version in xmenu.c.
4092 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4093
4094 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4095 Make static again.
4096
40972008-06-09 Jason Rumney <jasonr@gnu.org>
4098
4099 Changes to w32 files related to the move of common menu code
4100 to menu.c on 2008-06-08 by Chong Yidong.
4101
4102 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4103 defs to w32gui.h.
4104 (single_keymap_panes, push_menu_item, push_menu_pane):
4105 Make globally visible.
4106
4107 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4108 (local_free, malloc_widget_value, free_widget_value)
4109 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4110 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4111 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4112 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4113 (menu_items, menu_items_allocated, menu_items_used)
4114 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4115 (init_menu_items, finish_menu_items, discard_menu_items)
4116 (grow_menu_items, push_submenu_start, push_submenu_end)
4117 (push_left_right_boundary, push_menu_pane, push_menu_item)
4118 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4119 (free_menubar_widget_tree_value, parse_single_submenu)
4120 (update_submenu_strings): Remove functions.
4121 (xmalloc_widget_value): Remove and declare extern.
4122
4123 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4124 (OBJ1): Build it.
4125
4126 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4127 (local_heap, local_alloc, local_free, malloc_widget_value)
4128 (free_widget_value): Define here.
4129
41302008-06-09 Kenichi Handa <handa@m17n.org>
4131
4132 * font.h (Qascii_0): Extern it.
4133
4134 * font.c (Qascii_0): New variable.
4135 (syms_of_font): DEFSYM it.
4136 (font_open_by_name): If the registry "iso8859-1" fails, try also
4137 "ascii-0".
4138
4139 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4140
41412008-06-08 Kenichi Handa <handa@m17n.org>
4142
4143 * .gdbinit (xfont): New command.
4144
41452008-06-08 Andreas Schwab <schwab@suse.de>
4146
4147 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4148 * Makefile.in (menu.o): Update dependencies.
4149
4150 * Makefile.in (obj): Always add menu.o.
4151 * emacs.c (main): Always call syms_of_menu.
4152 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4153
41542008-06-08 Chong Yidong <cyd@stupidchicken.com>
4155
4156 * Makefile.in: Compile menu.c.
4157
4158 * lisp.h: Declare syms_of_menu.
4159
4160 * emacs.c (main): Call syms_of_menu.
4161
4162 * keyboard.h: Relocate platform-independent menu definitions from
4163 xmenu.c.
4164
4165 * menu.c: New file. Relocate platform-independent menu
4166 definitions from xmenu.c. Suggested by Adrian Robert.
4167
4168 * xmenu.c: Remove platform-independent menu definitions.
4169 (menu_items menu_items_inuse, menu_items_allocated)
4170 (menu_items_used, menu_items_n_panes)
4171 (menu_items_submenu_depth): Move to keyboard.h.
4172 (init_menu_items, finish_menu_items, unuse_menu_items)
4173 (discard_menu_items, restore_menu_items, save_menu_items)
4174 (grow_menu_items, push_submenu_start, push_submenu_end)
4175 (push_left_right_boundary, push_menu_pane, push_menu_item)
4176 (keymap_panes, single_keymap_panes, single_menu_item)
4177 (list_of_panes, list_of_items, find_and_call_menu_selection)
4178 (xmalloc_widget_value, free_menubar_widget_value_tree)
4179 (parse_single_submenu, digest_single_submenu)
4180 (update_submenu_strings): Move to menu.c.
4181
41822008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4183
4184 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4185
41862008-06-06 Miles Bader <miles@gnu.org>
4187
4188 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4189 face, not frame default.
4190
41912008-06-05 Martin Rudalics <rudalics@gmx.at>
4192
4193 * window.c (pop_up_windows, pop_up_frames)
4194 (display_buffer_reuse_frames, Vpop_up_frame_function)
4195 (Vdisplay_buffer_function, Veven_window_heights)
4196 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4197 (Vspecial_display_function, Vsame_window_buffer_names)
4198 (Vsame_window_regexps, split_height_threshold)
4199 (Vsplit_window_preferred_function): Move those vars to window.el.
4200 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4201 (Fdisplay_buffer): Move those functions to window.el.
4202 (syms_of_window): Remove corresponding declarations.
4203 (display_buffer): New function.
4204 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4205 * dispnew.c (Flast_nonminibuf_frame): New function.
4206 * buffer.c (Fpop_to_buffer): Move to window.el.
4207
42082008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4209
4210 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4211
42122008-06-05 Kenichi Handa <handa@m17n.org>
4213
4214 * coding.c (detect_coding): Fix previous change.
4215 (detect_coding_system): Likewise.
4216
42172008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4218
4219 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4220
4221 * keymap.c (Vminibuffer_local_filename_must_match_map):
4222 Rename from Vminibuffer_local_must_match_filename_map.
4223 (syms_of_keymap):
4224 * minibuf.c (Fcompleting_read): Adjust accordingly.
4225 * commands.h: Rename declaration as well.
4226
42272008-06-05 Kenichi Handa <handa@m17n.org>
4228
4229 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4230 family name.
4231 (Ffont_put): Likewise.
4232
4233 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4234 current font-spec.
4235
4236 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4237 is unspecified.
4238
4239 * xfaces.c (realize_x_face): If the font-related face attributes
4240 are the same as those of default face, realize a new fontset from
4241 default->fontset.
4242 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4243
42442008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4245
4246 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4247 (move_it_in_display_line): New wrapper.
4248
4249 * window.c (window_scroll_pixel_based_preserve_x)
4250 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4251 (window_scroll_pixel_based, window_scroll_line_based):
4252 Use them to preserve column positions.
4253 (syms_of_window): Initialize them.
4254
4255 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4256 (HPOS . VPOS) pair.
4257
4258 * dispextern.h (move_it_in_display_line): Declare.
4259
42602008-06-05 Juanma Barranquero <lekktu@gmail.com>
4261
4262 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4263 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4264 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4265
42662008-06-04 Juanma Barranquero <lekktu@gmail.com>
4267
4268 * window.c (Fset_window_parameter): Doc fix.
4269 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4270
42712008-06-04 Joakim Verona <joakim@verona.se>
4272
4273 * window.h (struct window): Add new member window_parameters.
4274
4275 * window.c (Fwindow_parameters, Fwindow_parameter)
4276 (Fset_window_parameter): New defuns.
4277 (syms_of_window): Defsubr the new defuns.
4278 (make_window): Initialize window_parameters to nil.
4279
42802008-06-04 John Paul Wallington <jpw@pobox.com>
4281
4282 * eval.c (Fdefmacro): Doc fix.
4283
42842008-06-04 Kenichi Handa <handa@m17n.org>
4285
4286 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4287 Be sure to call setup_coding_system when we find a proper coding system.
4288 (detect_coding_system): Fix handling of coding->head_ascii.
4289
42902008-06-03 Andreas Schwab <schwab@suse.de>
4291
4292 * font.c (font_prop_validate_spacing): Fix last change.
4293
42942008-06-03 Kenichi Handa <handa@m17n.org>
4295
4296 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4297 (font_parse_fcname): Fix handling of unknown key.
4298
4299 * xfont.c (xfont_list): Try an alias.
4300
4301 * charset.c (char_charset): Return NULL if the arg charset_list is
4302 specified and C doesn't belong to any of them.
4303
43042008-06-02 Chip Coldwell <coldwell@redhat.com>
4305
4306 * font.c (font_pixel_size): Don't take cdr of an integer.
4307
43082008-06-02 Jim Meyering <meyering@redhat.com>
4309
4310 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4311 * alloc.c (xfree): Return right away for a NULL arg.
4312 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4313 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4314 * mac.c (create_apple_event_from_event_ref): Likewise.
4315 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4316 Likewise.
4317 * doprnt.c (doprnt1): Likewise.
4318 * frame.c (frame): Likewise.
4319 * keyboard.c (wipe_kboard): Likewise.
4320 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4321 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4322 * term.c (tty_default_color_capabilities, maybe_fatal)
4323 (delete_tty): Likewise.
4324 * w16select.c (string): Likewise.
4325 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4326 * w32bdf.c (w32_free_bdf_font): Likewise.
4327 * w32fns.c (w32_unload_font): Likewise.
4328 * w32font.c (w32font_close): Likewise.
4329 * window.c (size_window): Likewise.
4330 * xselect.c (receive_incremental_selection): Likewise.
4331 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4332 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4333 * w32.c (stat): Likewise.
4334
4335 Remove useless if-before-free tests.
4336 * editfns.c (Fset_time_zone_rule): Likewise.
4337 * lread.c (nosuffix): Likewise.
4338 * ralloc.c (get_bloc): Likewise.
4339 * regex.c (reg_free): Likewise.
4340 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4341 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4342 * xsmfns.c (smc_save_yourself_CB): Likewise.
4343
43442008-06-02 Kenichi Handa <handa@m17n.org>
4345
4346 * font.c (font_find_for_lface): Handle float font size.
4347 (font_open_for_lface): Likewise.
4348
4349 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4350 comparing the properties.
4351
43522008-06-01 Jason Rumney <jasonr@gnu.org>
4353
4354 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4355 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4356 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4357 Don't add empty script list.
4358 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4359
43602008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4361
4362 * Makefile.in (dot, dotdot): Remove, update users.
4363 ".." has been used elsewhere in the file for a long time.
4364 (LIBXT_STATIC): Remove conditional based on unused variable.
4365
43662008-06-01 Miles Bader <miles@gnu.org>
4367
4368 * xfaces.c (Vface_remapping_alist): New variable.
4369 (syms_of_xfaces): Initialize it.
4370 (enum named_merge_point_kind): New type.
4371 (struct named_merge_point): Add `named_merge_point_kind' field.
4372 (push_named_merge_point): Make cycle detection respect different
4373 named-merge-point kinds.
4374 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4375 Remove face-name alias resolution.
4376 (lface_from_face_name): New definition using
4377 `lface_from_face_name_no_resolve'.
4378 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4379 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4380 (get_lface_attributes): New definition that layers face-remapping on
4381 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4382 (lookup_basic_face): New function.
4383 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4384 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4385 `get_lface_attributes'.
4386 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4387 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4388 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4389
4390 * xdisp.c (init_iterator): Pass base_face_id through
4391 `lookup_basic_face' when we actually use it as a face-id.
4392 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4393 DEFAULT_FACE_ID.
4394
4395 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4396 lookup the initial face-id.
4397
4398 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4399
44002008-06-01 Juanma Barranquero <lekktu@gmail.com>
4401
4402 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4403 (Fremove_text_properties): Fix typos in docstrings.
4404
44052008-05-31 Kenichi Handa <handa@m17n.org>
4406
4407 * font.c (font_list_entities): Fix the car part of data to be
4408 stored in the cache.
4409
4410 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4411
44122008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4413
4414 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4415 Add a `test' argument so another predicate than `equal' can be used.
4416 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4417 (map_char_table): Remove unused vars `c' and `i'.
4418 * lisp.h (Foptimize_char_table): Adjust declaration.
4419 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4420
44212008-05-30 Kenichi Handa <handa@m17n.org>
4422
4423 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4424 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4425 defined.
4426
44272008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4428
4429 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4430 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4431 frame-local settings for the same variable.
4432
44332008-05-30 Kenichi Handa <handa@m17n.org>
4434
4435 * fontset.c (Ffont_info): Move to font.c.
4436 (syms_of_fontset): Delete defsubr of Sfont_info.
4437
4438 * font.c (font_style_to_value, font_score): Delete casting of the
4439 args to xstcasecmp.
4440 (register_font_driver): Increment num_font_drivers only when
4441 registering the driver globally.
4442 (Ffont_info): Move from fontset.c. Handle a font object too.
4443 (syms_of_font): Defsubr Sfont_info.
4444
44452008-05-29 Kenichi Handa <handa@m17n.org>
4446
4447 * coding.h (enum define_coding_utf8_arg_index): New enum.
4448 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4449 coding_attr_utf_bom.
4450 (enum utf_bom_type): Rename from utf_16_bom_type.
4451 (struct utf_16_spec): Adjust for the above change.
4452 (struct coding_system): Add utf_8_bom in `spec' union.
4453
4454 * coding.c (CODING_UTF_8_BOM): New macro.
4455 (enum coding_category): Delete coding_category_utf_8, add
4456 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4457 coding_category_utf_8_sig.
4458 (CATEGORY_MASK_UTF_8): Delete it.
4459 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4460 (CATEGORY_MASK_UTF_8_SIG): New macros.
4461 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4462 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4463 CATEGORY_MASK_UTF_8_SIG.
4464 (CATEGORY_MASK_UTF_8): New macro.
4465 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4466 (detect_coding_utf_8): Check BOM.
4467 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4468 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4469 (encode_coding_utf_16): Likewise.
4470 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4471 (detect_coding, detect_coding_system): Handle utf-8-auto.
4472 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4473 (syms_of_coding): Fix setting up of Vcoding_category_table.
4474
44752008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4476
4477 * process.c (Faccept_process_output): If `millisec' is non-nil,
4478 `seconds' default to 0.
4479 (wait_reading_process_output): Also return non-nil if we read output
4480 from a non-running process.
4481
44822008-05-29 Jason Rumney <jasonr@gnu.org>
4483
4484 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4485 `raster' specified.
4486 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4487 in the uniscribe backend, but disallow any font that has no
4488 unicode subrange support.
4489
44902008-05-29 Juanma Barranquero <lekktu@gmail.com>
4491
4492 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4493 Fix typos in docstrings.
4494
44952008-05-29 Kenichi Handa <handa@m17n.org>
4496
4497 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4498 (Fx_family_fonts): Set frame correctly.
4499
45002008-05-28 Jason Rumney <jasonr@gnu.org>
4501
4502 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4503
45042008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4505
4506 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4507 calling build_annotations.
4508
45092008-05-28 Juanma Barranquero <lekktu@gmail.com>
4510
4511 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4512 (Fencode_coding_string):
4513 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4514 <latin-extra-code-table>: Fix typos in docstrings.
4515 (syms_of_coding) <coding-system-alist>: Doc fix.
4516 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4517
45182008-05-28 Kenichi Handa <handa@m17n.org>
4519
4520 * fontset.c (Ffont_info): Don't call font_close_object.
4521
4522 * font.c (font_parse_family_registry): Use Ffont_put to validate
4523 foundry and family.
4524 (font_delete_unmatched): Don't check spacing.
4525 (font_list_entities): Add spacing to the spec to list fonts.
4526
4527 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4528 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4529
4530 * coding.c (encode_coding_raw_text): Fix previous change.
4531 (encode_coding_object): When the dst_object is a buffer and is
4532 different from src_object, move gap to PT.
4533
45342008-05-27 Chong Yidong <cyd@stupidchicken.com>
4535
4536 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4537
45382008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4539
4540 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4541 all branches. Compute it differently.
4542
4543 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4544
45452008-05-27 Juanma Barranquero <lekktu@gmail.com>
4546
4547 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4548 into "else if () ... else ...".
4549
45502008-05-27 Jason Rumney <jasonr@gnu.org>
4551
4552 * w32font.c (w32font_open_internal): Determine if glyph indices
4553 are likely to work here.
4554
45552008-05-27 Chong Yidong <cyd@stupidchicken.com>
4556
4557 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4558 draw overlap glyphs with appropriate highlighting.
4559
45602008-05-27 Kenichi Handa <handa@m17n.org>
4561
4562 * xfont.c (xfont_open): Fix calculation of font->average_width.
4563
45642008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4565
4566 * casefiddle.c (casify_object): Try to guess better whether the
4567 argument is a byte or a char.
4568
45692008-05-26 Andreas Schwab <schwab@suse.de>
4570
4571 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4572 Always send multiples of format size.
4573
4574 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4575
45762008-05-26 Jason Rumney <jasonr@gnu.org>
4577
4578 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4579 (compute_metrics): Don't set failure if we just cleared the cache.
4580 (w32_weight_table): Remove unused variable.
4581 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4582 backwards compatibility.
4583
45842008-05-25 Kenichi Handa <handa@m17n.org>
4585
4586 * w32term.c (x_draw_glyph_string):
4587 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4588
4589 * xfaces.c: Delete unused function prototypes.
4590 (xstrlwr, font_frame): Delete them.
4591 (clear_face_cache): Delete unused variable.
4592
4593 * xftfont.c (xftfont_open): Delete unused variable.
4594 If underline_thickness is not 1, adjust underline_position.
4595
4596 * ftxfont.c (ftxfont_open): Delete unused variable.
4597
4598 * fontset.c (face_for_char): Optimize for the case of no charset
4599 property.
4600
4601 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4602 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4603 (otf_open, font_otf_capability, generate_otf_features)
4604 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4605 Comment out by surrounding "#if 0" and "#endif" for the moment.
4606 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4607 (syms_of_font): Codes for accessing above commented out.
4608
46092008-05-24 Eli Zaretskii <eliz@gnu.org>
4610
4611 * w32proc.c: Include dispextern.h.
4612
4613 * w32.c: Include dispextern.h.
4614
46152008-05-23 Juanma Barranquero <lekktu@gmail.com>
4616
4617 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4618 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4619 Fix typos in docstrings.
4620
46212008-05-23 Jason Rumney <jasonr@gnu.org>
4622
4623 * xsmfns.c: Remove includes that are already included by config.h.
4624
46252008-05-23 Kenichi Handa <handa@m17n.org>
4626
4627 * charset.c (Qemacs, charset_emacs): New variables.
4628 (char_charset): Fix for non-Unicode characters.
4629 (syms_of_charset): Define charset_emacs.
4630
4631 * w32term.c (x_draw_glyph_string): Be sure to update
4632 s->underline_thickness and s->underline_position. Be sure to draw
4633 underline within the current line area.
4634
4635 * xterm.c (x_draw_glyph_string): Be sure to update
4636 s->underline_thickness and s->underline_position. Be sure to draw
4637 underline within the current line area.
4638
4639 * fontset.c: Delete unused variables and add casting for char *
4640 throughout the file.
4641 (fontset_font): Try the fallback fonts of the current fontset
4642 before consulting the default fontset.
4643
4644 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4645
4646 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4647
46482008-05-22 Jason Rumney <jasonr@gnu.org>
4649
4650 * font.c: Don't include strings.h.
4651
4652 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4653
4654 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4655 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4656 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4657 to call xstrcasecmp.
4658
4659 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4660
4661 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4662
4663 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4664
4665 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4666
46672008-05-22 Kenichi Handa <handa@m17n.org>
4668
4669 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4670
4671 * font.c (font_prop_validate_style): Adjust for the format
4672 change of font_style_table.
4673
4674 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4675 two args.
4676
4677 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4678 two args.
4679
46802008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4681
4682 * minibuf.c (keys_of_minibuf): Delete.
4683 * lisp.h (keys_of_minibuf): Delete.
4684 * emacs.c (main): Don't call keys_of_minibuf.
4685
46862008-05-22 Kenichi Handa <handa@m17n.org>
4687
4688 * ftfont.c (ftfont_resolve_generic_family): Rename from
4689 ftfont_list_generic_family. Return a single family for each
4690 generic family.
4691 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4692 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4693 Call font_add_log.
4694 (ftfont_match): Call font_add_log.
4695
4696 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4697 (FONT_DEBUG): Define it.
4698 (font_add_log): Extern it.
4699 (font_assert): Rename from xassert.
4700
4701 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4702 (xfont_list_family): Call font_add_log.
4703 (xfont_match): Likewise.
4704 (memq_no_quit): Delete.
4705
4706 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4707 call of Ffont_xlfd_name.
4708
4709 * xfaces.c (struct table_entry, slant_table, weight_table)
4710 (swidth_table): Move to font.c.
4711
4712 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4713 xassert are changed to font_assert. Delete many unused variables.
4714 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4715 New variables.
4716 (struct table_entry): Move from xfaces.c and modified.
4717 (weight_table, slant_table, width_table): Move from xfaces.c and
4718 contents adjusted for the change of struct table_entry.
4719 (font_style_to_value, font_style_symbolic): Adjust for the
4720 format change of font_style_table.
4721 (font_parse_family_registry): Don't overwrite existing foundry and
4722 family of font_spec.
4723 (font_score): Fix calculation of diff for sizes.
4724 (font_sort_entites): Call font_add_log.
4725 (font_delete_unmatched): Return a newly created list.
4726 (font_list_entities): Fix previous change. Call font_add_log.
4727 (font_matching_entity, font_open_entity, font_close_entity):
4728 Call font_add_log.
4729 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4730 (Finternal_set_font_style_table): Delete.
4731 (BUILD_STYLE_TABLE): New macro.
4732 (build_style_table): New function.
4733 (Vfont_log, font_log_env_checked): New variables.
4734 (font_add_log): New function.
4735 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4736 Declare Lisp variables "font-weight-table", "font-slant-table",
4737 "font-width-table", and "font-log". Initialize font_style_table.
4738
47392008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4740
4741 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4742
47432008-05-21 Seiji Zenitani <zenitani@mac.com>
4744 Ryo Yoshitake <ryo@shiftmode.net>
4745
4746 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4747 (Vframe_alpha_lower_limit): New variable.
4748 (x_set_alpha): New function.
4749
4750 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4751
4752 * xfns.c (x-create-frame, Qalpha):
4753 Initialize the frame parameter `alpha'.
4754 * xterm.c (OPAQUE, OPACITY): New.
4755 (x_set_frame_alpha): New function.
4756 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4757
4758 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4759 * w32fns.c (w32_frame_parm_handlers): Likewise.
4760
47612008-05-20 Jason Rumney <jasonr@gnu.org>
4762
4763 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4764 truetype fonts to opentype list.
4765
47662008-05-20 Juanma Barranquero <lekktu@gmail.com>
4767
4768 * fontset.c (Ffontset_info): Doc fix.
4769 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4770 <ignore-relative-composition>: Fix typos in docstrings.
4771
4772 * font.c (syms-of-font) <font-encoding-alist>:
4773 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4774 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4775 (Ffont_otf_alternates): Doc fixes.
4776
47772008-05-20 Kenichi Handa <handa@m17n.org>
4778
4779 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4780 font.h through out the file.
4781 (FONT_DRIVERS): Rename from FONTOBJ.
4782 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4783 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4784
4785 * emacs.c (main): Call syms_of_font unconditionally.
4786
4787 * font.h (find_font_encoding): Extern it.
4788
4789 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4790 fontset.c.
4791 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4792 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4793 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4794 only when HAVE_WINDOW_SYSTEM is defined.
4795 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4796 when HAVE_WINDOW_SYSTEM is defined.
4797
4798 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4799 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4800
4801 * xfaces.c: Include font.h unconditionally.
4802 (merge_face_ref, merge_face_vectors)
4803 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4804
48052008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4806
4807 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4808 indirect_variable.
4809 * eval.c (lisp_indirect_variable): New fun.
4810 (Fuser_variable_p): Use it.
4811
48122008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4813
4814 * lisp.h (indirect_variable):
4815 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4816 Use Lisp_Symbol pointers rather than Lisp_Object.
4817 Adjust callers.
4818 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4819 To this end, change calling-convention.
4820
4821 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4822 if some non-hidden buffers are selected by string&pred.
4823
48242008-05-19 Chong Yidong <cyd@stupidchicken.com>
4825
4826 * process.c (wait_reading_process_output): Always check status
4827 when in batch mode.
4828
48292008-05-19 Kenichi Handa <handa@m17n.org>
4830
4831 * font.c (font_list_entities): Fix handling of cache.
4832 (font_matching_entity): Likewise.
4833
4834 * ftfont.c (cs_iso8859_1): Delete.
4835 (ft_face_cache): New variable.
4836 (struct ftfont_info): New member fc_charset_idx.
4837 (ftfont_build_basic_charsets): Delete.
4838 (fc_charset_table): New variable.
4839 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4840 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4841 Callers changed.
4842 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4843 (ftfont_spec_pattern): New argument fc_charset_idx.
4844 Check registry more rigidly. Change callers.
4845 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4846 change of :font-entity property of the font.
4847
4848 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4849 property of the font.
4850
48512008-05-18 Juanma Barranquero <lekktu@gmail.com>
4852
4853 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4854 (Funencodable_char_position, Fcheck_coding_systems_region)
4855 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4856 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4857 (Ffind_operation_coding_system, Fset_coding_system_priority)
4858 (Fcoding_system_eol_type): Doc fixes.
4859
48602008-05-17 Glenn Morris <rgm@gnu.org>
4861
4862 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4863
48642008-05-16 Eli Zaretskii <eliz@gnu.org>
4865
4866 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4867 and st_gid.
4868
4869 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4870 HAVE_WINDOW_SYSTEM is not defined.
4871
4872 * xfaces.c (merge_face_ref, merge_face_vectors)
4873 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4874 HAVE_WINDOW_SYSTEM is defined.
4875 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4876
48772008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4878
4879 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4880
48812008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4882
4883 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4884
48852008-05-15 Kenichi Handa <handa@m17n.org>
4886
4887 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4888 preference.
4889
48902008-05-15 Glenn Morris <rgm@gnu.org>
4891
4892 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4893
48942008-05-15 Chong Yidong <cyd@stupidchicken.com>
4895
4896 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4897 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4898
4899 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4900
49012008-05-15 Kenichi Handa <handa@m17n.org>
4902
4903 * ftfont.c (ftfont_list): Downcase family name to check generic
4904 families.
4905
4906 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4907 font-spec for QCfont value.
4908
4909 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4910 buffer. Check the return value of it.
4911
49122008-05-14 Jason Rumney <jasonr@gnu.org>
4913
4914 * w32term.c (w32_get_glyph_overhangs): Remove.
4915 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4916
49172008-05-14 Kenichi Handa <handa@m17n.org>
4918
4919 * font.c (font_prop_validate): Make nil a valid value.
4920 (font_clear_cache): Check if the cached vector of entities is nil
4921 or not.
4922
49232008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4924
4925 * emacs.c (main_thread): Conditionalize on
4926 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4927 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4928
4929 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4930 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4931 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4932
49332008-05-14 Kenichi Handa <handa@m17n.org>
4934
4935 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4936 has no corresponding coding system.
4937
49382008-05-14 Jason Rumney <jasonr@gnu.org>
4939
4940 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4941
4942 * w32font.h (w32font_open_internal): Update declaration.
4943
4944 * w32font.c (w32font_open_internal): Change last argument from
4945 w32font_info struct to font object. Fill in font object from
4946 font_entity. Get Outline metrics if possible. Use them to
4947 calculate underline position and thickness. Use xlfd name as name
4948 property. Don't set codepage.
4949 (w32font_open): Pass font_object to w32font_open_internal. Don't
4950 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4951 (w32font_draw): Use s->font.
4952 (clear_cached_metrics): Don't clear non-existent blocks.
4953
4954 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4955 font was not found.
4956 (x_draw_glyph_string): Use underline position and thickness from font.
4957
4958 * w32uniscribe.c (uniscribe_open): Pass font_object to
4959 w32font_open_internal.
4960
49612008-05-14 Kenichi Handa <handa@m17n.org>
4962
4963 These changes are to delete all legacy font-handling codes, and
4964 make Emacs use only font-backends.
4965
4966 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4967 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4968
4969 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4970
4971 * charset.h (Vcharset_non_preferred_head)
4972 (Vcurrent_iso639_language): Extern them.
4973
4974 * charset.c (Vcharset_non_preferred_head): New variable.
4975 (Vcurrent_iso639_language): New variable.
4976 (syms_of_charset): Declare it as a Lisp variable.
4977 (char_charset): Don't check non preferred charsets. As a last
4978 resort, return charset_unicode.
4979 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4980
4981 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4982 conditionals. Don't check enable_font_backend. Delete all codes
4983 used only when USE_FONT_BACKEND is not defined.
4984
4985 * dispextern.h (struct glyph_string): Change type of `font' to
4986 `struct font *'.
4987 (struct glyph_string): New member underline_position and
4988 underline_thickness.
4989 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4990 (struct face): Change type of `font' to `struct font *'. Remove
4991 members `font_name', `font_info_id'.
4992 (per_char_metric, encode_char): Delete externs.
4993 (calc_pixel_width_or_height): Adjust the prototype.
4994
4995 * emacs.c (enable_font_backend): Delete extern.
4996 (main): Don't set enable_font_backend. Don't check the command
4997 line argument "-disable-font-backend".
4998
4999 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5000 (enum font_property_index): New members FONT_DPI_INDEX,
5001 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5002 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5003 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5004 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5005 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5006 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5007 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5008 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5009 (struct font_spec, struct font_entity): New structs.
5010 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5011 (struct font): Many members from old "struct font_info" moved to
5012 here. Members font and entity deleted.
5013 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5014 the new font-related objects.
5015 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5016 (CHECK_FONT_GET_OBJECT): Likewise.
5017 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5018 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5019 (struct font_driver): New members case_sensitive anc check. Type
5020 of the member list and open changed.
5021 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
5022 (font_symbolic_width, font_find_object, font_get_spec)
5023 (font_set_lface_from_name): Delete extern.
5024 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
5025
5026 * font.c: Include <strings.h>.
5027 (enable_font_backend): Delete it.
5028 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
5029 (CHECK_VALIDATE_FONT_SPEC): Delete it.
5030 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5031 (null_string): Delete it.
5032 (null_vector): Make it static.
5033 (font_family_alist): Delete it.
5034 (Qnormal): Extern it.
5035 (QCextra, QClanguage): Delete it.
5036 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5037 (font_make_spec, font_make_entity, font_make_object)
5038 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5039 the string. Callers changed.
5040 (font_pixel_size): Adjusted for the format change of font-related
5041 objects.
5042 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5043 (font_style_to_value, font_style_symbolic): New function.
5044 (build_font_family_alist): Delete it.
5045 (font_registry_charsets): Use Fassoc_string instead of
5046 assq_no_quit.
5047 (font_prop_validate_symbol): Don't return null_string.
5048 (font_prop_validate_style): Adjusted for the change of
5049 style-related values in a font vector.
5050 (font_property_table): Delete entries for QClanguage and
5051 QCantialias, add entries for QCavgwidth.
5052 (get_font_prop_index): Delete the 2nd argument FROM.
5053 (font_prop_validate): Arguments changed.
5054 (font_put_extra): Adjusted for the change of font-related objects.
5055 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5056 (font_parse_fcname, font_unparse_fcname)
5057 (font_prepare_composition): Likewise.
5058 (font_parse_family_registry): Renamed from font_merge_old_spec.
5059 (otf_open): Delete the 1st arg entity.
5060 (font_otf_capability): Adjusted for the above change.
5061 (font_score): New arg alternate_families. Adjusted for the change
5062 of font-related objects.
5063 (font_sort_entites): New arg best_only.
5064 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5065 Delete them.
5066 (font_match_p): Check alternate families.
5067 (font_find_object): Delete it.
5068 (font_check_object): New function.
5069 (font_clear_cache): Adjusted for the change of font-related objects.
5070 (font_delete_unmatched): New arg.
5071 (font_list_entities): Call font_driver->list with a spec that
5072 doesn't specify style-related properties.
5073 (font_matching_entity): Arguments changed. Caller changed.
5074 (font_open_entity): Adjusted for the change of font-related objects.
5075 (font_close_object, font_has_char, font_encode_char)
5076 (font_get_name, font_get_spec): Likewise.
5077 (font_spec_from_name, font_clear_prop, font_update_lface):
5078 New functions.
5079 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5080 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5081 (font_at): Adjusted for the change of font-related objects.
5082 (font_range): New function.
5083 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5084 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5085 (Fcopy_font_spec, Fmerge_font_spec): New function.
5086 (Ffont_family_list): Renamed from list-families.
5087 (Finternal_set_font_style_table): Arguments changed.
5088 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5089 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5090 change of font-related objects.
5091 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5092
5093 * fontset.h (struct font_info): Delete it. Most members go to
5094 struct font.
5095 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5096 (enum FONT_SPEC_INDEX): Delete it.
5097 (font_info, list_fonts_func, load_font_func, query_font_func)
5098 (set_frame_fontset_func, find_ccl_program_func)
5099 (get_font_repertory_func, new_fontset_from_font_name): Delete
5100 externs.
5101 (fontset_from_font_name): Extern it.
5102 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5103 (FONT_INFO_FROM_FACE): Deleted.
5104 (face_for_font): Adjust prototype.
5105
5106 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5107 conditionals. Don't check enable_font_backend. Delete all codes
5108 used only when USE_FONT_BACKEND is not defined.
5109 (get_font_info_func, list_font_func, load_font_func)
5110 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5111 (get_font_repertory_func): Delete them.
5112 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5113 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5114 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5115 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5116 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5117 (fontset_compare_rfontdef): New function.
5118 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5119 rfont-defs by qsort. Adjusted for the change of font-group vector.
5120 (load_font_get_repertory): Deleted.
5121 (fontset_find_font): Use new macros to ref/set elements of
5122 font-def and rfont-def.
5123 (fontset_font): Fix the timing of remembering that no font for C.
5124 (free_face_fontset): Do nothing if the face has no fontset.
5125 (face_suitable_for_char_p): Use new macros to ref/set elements of
5126 rfont-def.
5127 (face_for_char): Likewise. Call face_for_char with font_object.
5128 (fs_load_font): Delete. Delete #pragma surrounding it.
5129 (fs_query_fontset): Use strcasecmp instead of strcmp.
5130 (generate_ascii_font_name): Adjusted for the format change of
5131 font-spec.
5132 (Fset_fontset_font): Likewise. Use new macros to set elements of
5133 font-def.
5134 (Fnew_fontset): Use font_unparse_xlfd to generate
5135 FONTSET_ASCII (fontset).
5136 (new_fontset_from_font_name): Deleted.
5137 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5138 a fontset is already created for the font. FIx updating of
5139 Vfontset_alias_alist.
5140 (fontset_ascii_font): Deleted.
5141 (Ffont_info): Adjusted for the format change of font-spec.
5142 (Finternal_char_font): Likewise.
5143 (Ffontset_info): Likewise.
5144 (syms_of_fontset): Don't check load_font_func.
5145
5146 * fns.c (internal_equal): Handle PREV_FONT.
5147
5148 * frame.h: Delete USE_FONT_BACKEND conditional.
5149
5150 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5151 conditionals. Don't check enable_font_backend. Delete all codes
5152 used only when USE_FONT_BACKEND is not defined.
5153 (x_set_font): Call x_new_font, not x_new_fontset2.
5154 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5155 already set for the frame.
5156
5157 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5158 a font-entity by font_make_entity. Use font_intern_prop instead
5159 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5160 font property. If a font is scalable, set avgwidth property to 0.
5161 Set font-entity property by font_put_extra.
5162 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5163 (ffont_driver): Adjusted for the change of struct font_driver.
5164 (ftfont_spec_pattern): New function.
5165 (ftfont_list): Return a list, not vector.
5166 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5167 (ftfont_list_family): Don't downcase names.
5168 (ftfont_free_entity): Deleted.
5169 (ftfont_open): Return a font-object. Adjusted for the change of
5170 struct font. Get underline_thickness and underline_position from
5171 font property. Don't update dpyinfo->smallest_font_height and
5172 dpyinfo->smallest_char_width.
5173 (ftfont_close): Don't free `struct font'.
5174 (ftfont_has_char): Adjusted for the format change of font-entity.
5175 (ftfont_encode_char, ftfont_text_extents): Likewise.
5176
5177 * ftxfont.c (ftxfont_list): Return a list, not vector.
5178 (ftxfont_open): Return a font-object. Adjusted for the change of
5179 struct font. Get underline_thickness and underline_position from
5180 font property. Don't update dpyinfo->smallest_font_height and
5181 dpyinfo->smallest_char_width.
5182 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5183 (ftxfont_draw): Adjusted for the change of struct font.
5184
5185 * image.c (image_ascent): Don't include "charset.h". Include
5186 "character.h" and "font.h".
5187
5188 * lisp.h (enum pvec_type): New member PREV_FONT.
5189 (Fassoc_string): EXFUN it.
5190
5191 * print.c: Include font.h.
5192 (print_object): Handle font-related objects.
5193
5194 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5195 conditionals. Don't check enable_font_backend. Delete all codes
5196 used only when USE_FONT_BACKEND is not defined.
5197 (handle_auto_composed_prop): Do nothing if it->f is not on a
5198 window system. Check how many following characters can be
5199 displayed by the same font.
5200 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5201 'struct font *'.
5202 (get_char_face_and_encoding): Assign the whole encoding task to
5203 the `encode-char' method of a font driver.
5204 (fill_composite_glyph_string): Adjusted for the change of `struct
5205 face' and `struct glyph_string'.
5206 (fill_glyph_string): Likewise.
5207 (get_per_char_metric): Arguments changed.
5208 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5209 and `struct glyph_string'.
5210 (produce_stretch_glyph, calc_line_height_property)
5211 (x_produce_glyphs): Likewise.
5212
5213 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5214 conditionals. Don't check enable_font_backend. Delete all codes
5215 used only when USE_FONT_BACKEND is not defined. Use
5216 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5217 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5218 (Qp): Extern them.
5219 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5220 Deleted.
5221 (struct font_name): Deleted.
5222 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5223 (compare_fonts_by_sort_order): New function.
5224 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5225 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5226 Deleted.
5227 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5228 compare_fonts_by_sort_order.
5229 (Fx_font_family_list): Call Ffont_family_list.
5230 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5231 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5232 (face_symbolic_slant, face_symbolic_swidth)
5233 (split_font_name_into_vector, build_font_name_from_vector)
5234 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5235 (font_rescale_ratio, split_font_name, build_font_name)
5236 (free_font_names, sort_fonts, x_face_list_fonts)
5237 (face_font_available_p, sorted_font_list, cmp_font_names)
5238 (font_list_1, concat_font_list, font_list, remove_duplicates):
5239 Deleted.
5240 (Fx_list_fonts): Use Ffont_list.
5241 (LFACE_AVGWIDTH): Deleted.
5242 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5243 by FONTP.
5244 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5245 (set_lface_from_font_name): Delete it.
5246 (set_lface_from_font): Renamed from
5247 set_lface_from_font_and_fontset. Caller changed. Don't set
5248 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5249 for face.
5250 (merge_face_vectors): Copy font-spec if necessary.
5251 Clear properties of the font-spec if necessary.
5252 (merge_face_ref): Clear properties of the font-spec if necessary.
5253 (Finternal_set_lisp_face_attribute): Likewise.
5254 (set_font_frame_param): Use font_load_for_lface to load a
5255 font-object, and call Fmodify_frame_parameters with it.
5256 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5257 font name by Ffont_xlfd_name.
5258 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5259 QCslant, and QCwidth.
5260 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5261 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5262 Compare fonts by EQ.
5263 (lookup_non_ascii_face): Deleted.
5264 (face_for_font): The 2nd argument changed.
5265 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5266 Check atomic font properties by case insensitive.
5267 (realize_non_ascii_face): Set face->overstrike correctly.
5268 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5269 (dump_realized_face): Get font name from
5270 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5271
5272 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5273 conditionals. Don't check enable_font_backend. Delete all codes
5274 used only when USE_FONT_BACKEND is not defined.
5275 (xic_create_xfontset): Original code deleted and renamed from
5276 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5277 (x_make_gc): Don't set GCFont in GCs.
5278 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5279 opened by "fixed".
5280 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5281 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5282 get_font_repertory_func.
5283
5284 * xfont.c: Include <stdlib.h> and "ccl.h".
5285 (struct xfont_info): New structure.
5286 (xfont_query_font): Deleted.
5287 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5288 moved from xterm.c.
5289 (xfont_driver): Adjusted for the change of struct font_driver.
5290 (compare_font_names): New function.
5291 (xfont_list_pattern): Sort font names case insensitively. Make
5292 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5293 (xfont_list): Return a list, not vector.
5294 (xfont_match): If the font doesn't have QCname property, generate
5295 a name from the other font properties.
5296 (xfont_open): Return a font-object. Adjusted for the change of
5297 struct font. Get underline_thickness and underline_position from
5298 font property. Don't update dpyinfo->smallest_font_height and
5299 dpyinfo->smallest_char_width.
5300 (xfont_close): Don't free struct font.
5301 (xfont_prepare_face): Adjusted for the change of struct font.
5302 (xfont_done_face): Deleted.
5303 (xfont_has_char): Adjusted for the change of struct font.
5304 (xfont_encode_char, xfont_draw): Likewise.
5305 (xfont_check): New function.
5306
5307 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5308 callback function.
5309 (xftfont_match): Adjusted for the format change of font-entity.
5310 (xftfont_open): Adjusted for the format change of font-entity and
5311 font-object. Adjusted for the change of struct font. Return a
5312 font-object. Don't update dpyinfo->smallest_font_height and
5313 dpyinfo->smallest_char_width.
5314 (xftfont_close): Block input while calling XftFontClose.
5315 (xftfont_prepare_face): Don't block input while calling
5316 xftfont_get_colors. Adjusted for the change of struct font.
5317 (xftfont_shape): Return value of error case fixed.
5318
5319 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5320
5321 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5322 conditionals.
5323 (FONT_WIDTH): Return (f)->max_width.
5324 (struct x_display_info): Delete member `font'.
5325 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5326 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5327 (struct x_output): Change type of `font' to `struct font *'.
5328
5329 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5330 conditionals. Don't check enable_font_backend. Delete all codes
5331 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5332 (x_per_char_metric, x_encode_char): Deleted.
5333 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5334 (x_compute_glyph_string_overhangs): Adjusted for the change of
5335 `struct face'.
5336 (x_draw_glyph_string_foreground)
5337 (x_draw_composite_glyph_string_foreground): Likewise.
5338 (x_draw_glyph_string): Likewise. Use font->underline_position and
5339 font->underline_thickness.
5340 (x_new_font): Renamed from x_new_fontset2.
5341 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5342 (x_check_font): Call `check' method of a font driver.
5343 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5344 (x_query_font, x_get_font_repertory): Deleted.
5345 (x_find_ccl_program): Renamed and moved to xfont.c.
5346 (x_redisplay_interface): Adjusted for the change of `struct
5347 redisplay_interface'.
5348
5349 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5350 conditionals. Don't check enable_font_backend. Delete all codes
5351 used only when USE_FONT_BACKEND is not defined. Surround non-used
5352 code by "#ifdef OLD_FONT" and "endif".
5353 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5354
5355 * w32font.h (struct w32font_info): New member.
5356 (FONT_COMPAT): New macro.
5357 (w32font_open_internal): Prototype adjusted.
5358
5359 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5360 OLD_FONT" and "endif".
5361
5362 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5363 conditionals. Don't check enable_font_backend. Delete all codes
5364 used only when USE_FONT_BACKEND is not defined.
5365 (w32font_open): Return a font-object. Make a font-object by
5366 font_make_object. Adjusted for the change of struct w32font_info.
5367 (w32font_close): Don't free struct font. Adjusted for the change
5368 of struct w32font_info.
5369 (w32font_encode_char, w32font_text_extents, w32font_draw):
5370 Adjusted for the change of struct w32font_info.
5371 (w32font_draw): Likewise.
5372 (w32font_list_internal): Return a list, not vector.
5373 (w32font_open_internal): Change the 4th arg to font-object.
5374 Adjusted for the change of struct w32font_info and font-object format.
5375 (add_font_name_to_list): Don't downcase names.
5376 (w32_enumfont_pattern_entity): Make a font-entity by
5377 font_make_entity. Adjusted for the format change of font-entity.
5378 Use FONT_SET_STYLE to set a style-related font property. If a
5379 font is scalable, set avgwidth property to 0. Set font-entity
5380 property by font_put_extra.
5381 (font_matches_spec): Adjusted for the format change of font-entity.
5382 (w32_weight_table, w32_decode_weight): New variables.
5383 (w32_encode_weight): New function.
5384 (fill_in_logfont): Adjusted for the format change of font-spec.
5385 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5386 weight value.
5387 (w32font_driver): Adjusted for the change of struct font_driver.
5388
5389 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5390 conditionals. Don't check enable_font_backend. Surround non-used
5391 code by "#ifdef OLD_FONT" and "endif".
5392 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5393 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5394
5395 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5396 conditionals. Don't check enable_font_backend. Delete all codes
5397 used only when USE_FONT_BACKEND is not defined. Surround non-used
5398 code by "#ifdef OLD_FONT" and "endif".
5399
5400 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5401 (uniscribe_open): Return value changed to font-object.
5402 Adjusted for the format change of font-object.
5403 (uniscribe_otf_capability): Adjusted for the change of struct font.
5404 (add_opentype_font_name_to_list): Don't downcase names.
5405 (uniscribe_font_driver): Adjusted for the change of struct
5406 font_driver.
5407
54082008-05-13 Chong Yidong <cyd@stupidchicken.com>
5409
5410 * dispnew.c (update_frame_1): Check if tty output is still valid
5411 before flushing it.
5412
54132008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5414
5415 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5416 to Gtk+ menus.
5417
54182008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5419
5420 * dired.c (file_name_completion): Tweak the code so as to always do it
5421 in a single pass. Tighten the scope of some variables.
5422
5423 * dired.c (Qdefault_directory): New var.
5424 (file_name_completion): Use it instead of Fexpand_file_name.
5425 (syms_of_dired): Initialize it.
5426
54272008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5428
5429 * fileio.c (double_dollars): Remove dead code.
5430
54312008-05-10 Eli Zaretskii <eliz@gnu.org>
5432
5433 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5434 Mention w32-get-true-file-attributes in doc string.
5435
5436 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5437
54382008-05-09 Glenn Morris <rgm@gnu.org>
5439
5440 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5441 2008-04-23.
5442
54432008-05-09 Eli Zaretskii <eliz@gnu.org>
5444
5445 Support for reporting owner and group of each file on MS-Windows:
5446 * dired.c (stat_uname, stat_gname): New functions, with special
5447 implementation for w32.
5448 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5449
5450 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5451 (dflt_group_name): New static variable.
5452 (dflt_group): Rename from the_group.
5453 (init_user_info): Init dflt_group fields. Get user's group name
5454 from LookupAccountSid.
5455 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5456 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5457 New initialization states.
5458 (globals_of_w32): Initialize them to zero. Initialize the default
5459 group name to "None".
5460 (GetFileSecurity_Name): New global var, the name of the function
5461 to call for GetFileSecurity.
5462 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5463 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5464 (get_file_security, get_security_descriptor_owner)
5465 (get_security_descriptor_group, is_valid_sid)
5466 (get_file_security_desc, get_rid, get_name_and_id)
5467 (get_file_owner_and_group): New functions.
5468 (stat): Use get_file_security_desc and get_file_owner_and_group to
5469 report the owner and primary group of each file. Don't ignore the
5470 high 32 bits of file's size, now that st_size is 64-bit wide.
5471 Fix test when to get true file attributes.
5472 (init_user_info): Use get_rid instead of equivalent inline code.
5473 (fstat): Don't ignore the high 32 bits of file's size.
5474
54752008-05-09 Chong Yidong <cyd@stupidchicken.com>
5476
5477 * image.c (png_load): Use correct bit-depth for setting background
5478 color.
5479
54802008-05-08 Eli Zaretskii <eliz@gnu.org>
5481
5482 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5483 epa-hook.elc.
5484
54852008-05-08 Juanma Barranquero <lekktu@gmail.com>
5486
5487 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5488
54892008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5490
5491 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5492 because the original parameters are in pure storage now.
5493 (mac_window): Remove unused params. Update callers.
5494
54952008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5496
5497 * lread.c (substitute_object_recurse): Use lower-level primitives.
5498 Don't signal errors when traversing sub-char-tables.
5499 Don't loop over all the possible characters when traversing char-tables.
5500
5501 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5502 just like we do in print.c.
5503
55042008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5505
5506 * minibuf.c (Ftry_completion): Remove code left over from when we used
5507 scmp instead of Fcompare_strings.
5508
55092008-05-04 Juanma Barranquero <lekktu@gmail.com>
5510
5511 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5512
55132008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5514
5515 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5516 Create bitmap context in native byte order.
5517
5518 * macterm.c (XDrawLine)
5519 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5520 context in native byte order.
5521
55222008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5523
5524 * config.in: Regenerate.
5525
5526 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5527 New definitions for Image I/O support.
5528 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5529 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5530 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5531 (mac_data_provider_release_data, image_load_image_io)
5532 [USE_MAC_IMAGE_IO]: New functions.
5533 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5534 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5535 (init_image_func_pointer) [MAC_OSX]: Remove function.
5536 (image_load_quartz2d) [MAC_OSX]: Check availability of
5537 CGImageCreateWithPNGDataProvider at compile time.
5538 Use lowercase `false' for boolean constant.
5539 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5540 Use image_load_image_io.
5541 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5542 Don't check MyCGImageCreateWithPNGDataProvider.
5543 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5544 Don't call init_image_func_pointer.
5545
5546 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5547
5548 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5549 Make variable non-static.
5550 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5551 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5552
5553 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5554 (RED_FROM_ULONG): Mask off higher bits.
5555 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5556
5557 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5558 Include AvailabilityMacros.h.
5559 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5560 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5561
55622008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5563
5564 * chartab.c (Fset_char_table_range): If range is t, really set all
5565 chars to that value.
5566
55672008-05-03 Eli Zaretskii <eliz@gnu.org>
5568
5569 * dired.c (Ffile_attributes): Don't allow the device number become
5570 negative.
5571
55722008-05-02 Daiki Ueno <ueno@unixuser.org>
5573
5574 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5575
55762008-05-02 Juri Linkov <juri@jurta.org>
5577
5578 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5579 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5580 DEFAULT argument as a list of default values in docstrings.
5581
55822008-05-01 Chong Yidong <cyd@stupidchicken.com>
5583
5584 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5585
55862008-05-01 Martin Rudalics <rudalics@gmx.at>
5587
5588 * dispnew.c (change_frame_size_1): Preserve small windows when
5589 shrinking frames by calling set_window_height|width with third
5590 arg 2.
5591
5592 * window.h (struct window): Replace field too_small_ok by field
5593 resize_proportionally.
5594
5595 * window.c (make_window): Initialize resize_proportionally.
5596 (enlarge_window): Temporarily set resize_proportionally to make
5597 sure that shrink_windows does scale the window proportionally.
5598 (shrink_windows): When window has resize_proportionally set try
5599 to shrink it proportionally by stealing from other windows.
5600 (struct saved_window, Fset_window_configuration)
5601 (compare_window_configurations): Handle resize_proportionally.
5602 (WINDOW_TOTAL_SIZE): New macro.
5603 (window_min_size, shrink_windows, size_window): Use it.
5604 (check_min_window_sizes): Remove. Invalid values of
5605 window-min-height|width are handled by window_min_size_2 now.
5606 (size_window, Fsplit_window, enlarge_window)
5607 (adjust_window_trailing_edge, grow_mini_window): Don't call
5608 check_min_window_sizes.
5609 (window_min_size_2, window_min_size_1, window_min_size):
5610 New argument safe_p for retrieving "safe" minimum sizes.
5611 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5612 (adjust_window_trailing_edge, grow_mini_window):
5613 Adjust arguments of window_min_size... functions.
5614 (shrink_windows): Argument min_size removed. New argument
5615 safe_p allows shrinking windows to their safe minimum sizes.
5616 Calculate minimum size and decide whether a window shall be
5617 deleted for each window individually.
5618 (size_window): When nodelete_p equals 2, tell shrink_windows to
5619 delete windows only if their new minimum size is no more safe.
5620 (shrink_window_lowest_first): Call window_min_size_1 to make
5621 sure to preserve modeline of bottom-most window when resizing
5622 the minibuffer.
5623 (Fset_window_configuration, Fcurrent_window_configuration)
5624 (compare_window_configurations): Do not handle
5625 window-min-height|width any more.
5626 (syms_of_window): Clarify window-min-height|width doc-strings.
5627
56282008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5629
5630 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5631 some more. Copy some of the code from Ftry_completions.
5632 Remove special case code that dates back to initial revision when the
5633 slash was only added when necessary and that can't trigger nowadays.
5634
56352008-04-27 Kenichi Handa <handa@m17n.org>
5636
5637 * font.c (font_prop_validate): Signal `error' instead of `font'.
5638
56392008-04-29 Jason Rumney <jasonr@gnu.org>
5640
5641 * w32fns.c (Fw32_battery_status): New defun.
5642 (syms_of_w32fns): Defsubr it.
5643
56442008-04-28 Andreas Schwab <schwab@suse.de>
5645
5646 * dired.c (file_name_completion): Fix another mixing of encoded
5647 and decoded names.
5648
56492008-04-28 Juanma Barranquero <lekktu@gmail.com>
5650
5651 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5652
56532008-04-27 Juanma Barranquero <lekktu@gmail.com>
5654
5655 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5656
56572008-04-27 Andreas Schwab <schwab@suse.de>
5658
5659 * dired.c (file_name_completion): Fix inappropriate mixing of
5660 encoded and decoded names.
5661
5662 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5663
5664 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5665
56662008-04-26 Eli Zaretskii <eliz@gnu.org>
5667
5668 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5669 2008-03-31, it's not needed anymore with `struct stat' definition
5670 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5671 for the same reasons.
5672
56732008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5674
5675 * m/sparc.h: Additional redefinitions for GNU/Linux.
5676
56772008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5678
5679 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5680 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5681 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5682 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5683 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5684 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5685 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5686 Likewise.
5687
5688 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5689 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5690 (mac_ax_number_of_characters): Add externs.
5691 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5692 [USE_MAC_TSM]: Likewise.
5693 (mac_handle_text_input_event) [MAC_OSX]:
5694 Handle kEventTextInputOffsetToPos for no active input area case.
5695 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5696 (mac_handle_document_access_event)
5697 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5698 (install_application_handler) [MAC_OSX]: Register handlers for
5699 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5700 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5701 Register mac_handle_document_access_event.
5702
5703 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5704 Make functions non-static.
5705
57062008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5707
5708 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5709 (read_file_name_completion_ignore_case, insert_default_directory)
5710 (Qdefault_directory): Move to minibuffer.el.
5711 (Fread_file_name): Call the new `read-file-name' instead.
5712
57132008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5714
5715 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5716 Make function non-static.
5717 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5718 Remove function.
5719 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5720 Move to mactoolbox.c.
5721 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5722
5723 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5724 (mac_rect_make): New macro.
5725
5726 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5727 instead of float.
5728 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5729 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5730 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5731 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5732 CGRectMake.
5733 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5734 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5735 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5736 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5737 instead of WindowRef in argument type.
5738 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5739 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5740 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5741 instead of DISPLAY. All uses changed.
5742 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5743 (x_calc_absolute_position): Simplify so as not to use
5744 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5745
5746 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5747 instead of WindowRef in argument type.
5748 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5749 [TARGET_API_MAC_CARBON]: Remove externs.
5750 (create_apple_event, mac_event_parameters_to_lisp)
5751 [TARGET_API_MAC_CARBON]: Add externs.
5752
5753 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5754 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5755 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5756 is clicked.
5757 (x_activate_menubar): Remove extern for saved_menu_event_location.
5758 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5759 Move from mac.c.
5760
57612008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5762
5763 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5764 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5765
57662008-04-23 Jason Rumney <jasonr@gnu.org>
5767
5768 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5769 attributes only for local files.
5770
5771 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5772 default to Qlocal.
5773
57742008-04-22 Juri Linkov <juri@jurta.org>
5775
5776 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5777 read-buffer-to-switch instead of using the letter "B".
5778
57792008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5780
5781 * fileio.c (Qdefault_directory): New variable.
5782 (Fread_file_name): Use it to pass `dir' to the completion functions.
5783
57842008-04-20 Chong Yidong <cyd@stupidchicken.com>
5785
5786 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5787
57882008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5789
5790 * keyboard.c (Vpre_help_message): Remove.
5791 (show_help_echo): Remove default C code.
5792
5793 * dired.c (directory_files_internal, file_name_completion):
5794 Only call ENCODE_FILE if the string is indeed decoded.
5795
57962008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5797
5798 * Makefile.in (TOOLKIT_DEFINES): Remove.
5799 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5800
58012008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5802
5803 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5804 (mactoolbox.o): New target.
5805
5806 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5807 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5808
5809 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5810 Use mac_set_frame_window_background instead of XSetWindowBackground.
5811 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5812 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5813 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5814 instead of SetWindowTitleWithCFString.
5815 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5816 Move function to mactoolbox.c.
5817 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5818 Use mac_set_window_modified instead of SetWindowModified.
5819 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5820 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5821 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5822 FrontNonFloatingWindow. Use mac_activate_window instead of
5823 ActivateWindow. Use mac_active_non_floating_window instead of
5824 ActiveNonFloatingWindow.
5825 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5826 Use mac_show_hourglass and mac_hide_hourglass.
5827 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5828 instead of GetGlobalMouse.
5829 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5830 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5831 Use mac_bring_window_to_front instead of BringToFront.
5832 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5833 mactoolbox.c.
5834 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5835 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5836 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5837 mactoolbox.c.
5838
5839 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5840 (XtPointer): Move typedef from macmenu.c.
5841 (enum button_type): Move enum from macmenu.c.
5842 (widget_value): Move typedef from macmenu.c.
5843 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5844 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5845 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5846 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5847 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5848 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5849 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5850 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5851 (Selection): Move typedef from macselect.c.
5852 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5853 macterm.c.
5854 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5855 (mac_is_window_collapsed, mac_bring_window_to_front)
5856 (mac_send_window_behind, mac_hide_window, mac_show_window)
5857 (mac_collapse_window, mac_front_non_floating_window)
5858 (mac_active_non_floating_window, mac_activate_window)
5859 (mac_move_window_structure, mac_move_window, mac_size_window)
5860 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5861
5862 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5863 (enum mac_menu_kind): Move enum to mactoolbox.c.
5864 (min_menu_id): Move variable to mactoolbox.c.
5865 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5866 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5867 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5868 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5869 [TARGET_API_MAC_CARBON]: Likewise.
5870 (XtPointer): Move typedef to macgui.h.
5871 (enum button_type): Move enum to macgui.h.
5872 (widget_value): Move typedef to macgui.h.
5873 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5874 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5875 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5876 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5877 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5878 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5879 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5880 (popup_activated_flag): Make variable non-static.
5881 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5882 (add_menu_item, fill_menu, dispose_menus):
5883 Move functions to mactoolbox.c.
5884 (restore_show_help_function, menu_target_item_handler)
5885 (install_menu_target_item_handler, mac_handle_dialog_event)
5886 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5887 [TARGET_API_MAC_CARBON]: Likewise.
5888 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5889 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5890 (find_and_call_menu_selection, name_is_separator): Make function
5891 non-static.
5892 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5893 to mactoolbox.c.
5894 (set_frame_menubar): Don't call install_menu_quit_handler.
5895 (menu_item_selection): New variable.
5896 (mac_menu_show): Use create_and_show_popup_menu.
5897 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5898 selection but set variable menu_item_selection. All uses changed.
5899 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5900 Call install_menu_quit_handler. Move to mactoolbox.c.
5901
5902 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5903 (Selection): Move typedef to macgui.h.
5904 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5905 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5906 Make variables non-static.
5907 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5908 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5909 Make functions non-static.
5910 (Vmac_service_selection) [MAC_OSX]: Likewise.
5911 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5912 (mac_valid_selection_target_p, mac_clear_selection)
5913 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5914 (mac_put_selection_value, mac_selection_has_target_p)
5915 (mac_get_selection_value, mac_get_selection_target_list)
5916 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5917 Move functions to mactoolbox.c.
5918 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5919 Likewise.
5920 (copy_scrap_flavor_data, mac_handle_service_event)
5921 (install_service_handler) [MAC_OSX]: Likewise.
5922 (syms_of_macselect) <Vmac_dnd_known_types>:
5923 Use mac_dnd_default_known_types.
5924
5925 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5926 Move to mactoolbox.c.
5927 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5928 (Fx_selection_owner_p): Add EXFUN.
5929 (install_window_handler, remove_window_handler, XSetWindowBackground):
5930 Remove externs.
5931 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5932 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5933 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5934 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5935 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5936 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5937 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5938 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5939 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5940 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5941 (mac_valid_selection_target_p, mac_clear_selection)
5942 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5943 (mac_put_selection_value, mac_selection_has_target_p)
5944 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5945 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5946 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5947 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5948 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5949 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5950 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5951 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5952 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5953
5954 * mactoolbox.c: New file.
5955
59562008-04-18 Jason Rumney <jasonr@gnu.org>
5957
5958 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5959
59602008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5961
5962 * character.c (Fmultibyte_char_to_unibyte):
5963 Return latin1 chars unchanged.
5964
5965 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5966 relocated if it points to `name'.
5967
59682008-04-17 Kenichi Handa <handa@m17n.org>
5969
5970 * data.c (Faset): Allow setting a multibyte character in an
5971 ASCII-only unibyte string.
5972
5973 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5974
59752008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5976
5977 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5978 done in config.h.
5979
59802008-04-16 Juanma Barranquero <lekktu@gmail.com>
5981
5982 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5983 (Fchar_direction): Add usage in the docstring.
5984
59852008-04-15 Chong Yidong <cyd@stupidchicken.com>
5986
5987 * keyboard.c (read_key_sequence): Remove always-true checks.
5988
59892008-04-14 Jason Rumney <jasonr@gnu.org>
5990
5991 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5992 compatibility struct, for better underline positioning.
5993
59942008-04-13 David Hansen <david.hansen@gmx.net>
5995
5996 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5997 string.
5998
59992008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6000
6001 * m/hp800.h (XUINT, XSET): Remove.
6002
60032008-04-12 Juanma Barranquero <lekktu@gmail.com>
6004
6005 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6006 previous change.
6007
60082008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6009
6010 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6011 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6012
60132008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6014
6015 * keymap.h (map_keymap_canonical): Declare.
6016 * xmenu.c (single_keymap_panes): Use it.
6017
60182008-04-11 Glenn Morris <rgm@gnu.org>
6019
6020 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6021 set the target's value to that of the alias.
6022
60232008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6024
6025 * term.c (set_tty_color_mode): Left over typo.
6026
60272008-04-10 Michael Albinus <michael.albinus@gmx.de>
6028
6029 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
6030 only after check for file name handler functions. Signal, when
6031 native functionality is not supported.
6032 (syms_of_fileio): Declare it unconditionally.
6033
60342008-04-10 Jason Rumney <jasonr@gnu.org>
6035
6036 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6037 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6038
6039 * w32.c (logon_network_drive): Also logon to remote drives that
6040 are mapped to drive letters.
6041
60422008-04-10 Glenn Morris <rgm@gnu.org>
6043
6044 * xdisp.c (truncate-partial-width-windows): Doc fix.
6045
60462008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6047
6048 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6049 Move functions to minibuffer.el.
6050 (syms_of_fileio): Don't declare them.
6051
60522008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6053
6054 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6055 (syms_of_minibuf): Remove its initialization.
6056
6057 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6058
60592008-04-09 Juanma Barranquero <lekktu@gmail.com>
6060
6061 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6062
60632008-04-09 Jason Rumney <jasonr@gnu.org>
6064
6065 * makefile.w32-in (distclean): Delete makefile too.
6066 (maintainer-clean): New target.
6067
6068 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6069
6070 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6071 for new font backend and composite cases.
6072
60732008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6074
6075 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6076 Most of the code moved to run_timers.
6077 (do_pending_atimers): Call run_timers.
6078 (run_timers): New function.
6079
6080 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6081 run atimers.
6082
6083 * process.c (wait_reading_process_output): The same as above.
6084
60852008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6086
6087 * minibuf.c (last_exact_completion): Remove variable.
6088 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6089 (complete_and_exit_1, complete_and_exit_2)
6090 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6091 (Fdisplay_completion_list, display_completion_list_1)
6092 (Fminibuffer_completion_help, Fself_insert_and_exit)
6093 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6094 minibuffer.el.
6095 (syms_of_minibuf): Remove corresponding initializations.
6096
6097 * keyboard.c (Qdeactivate_mark): New var.
6098 (command_loop_1): Use it to call `deactivate-mark'.
6099 (syms_of_keyboard): Initialize it.
6100
6101 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6102 to another frame.
6103 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6104 Don't call set_tty_color_mode.
6105 (store_frame_param): Reset previous_frame rather than call
6106 set_tty_color_mode.
6107 * term.c (set_tty_color_mode): Rewrite.
6108 * dispextern.h (set_tty_color_mode): New type.
6109 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6110
61112008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6112
6113 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6114 for generic chars, which do not exist any more in emacs-unicode.
6115
61162008-04-08 Michael Albinus <michael.albinus@gmx.de>
6117
6118 * coding.c (detect_coding_emacs_mule)
6119 (Ffind_operation_coding_system): Fix typo.
6120
61212008-04-08 Jason Rumney <jasonr@gnu.org>
6122
6123 * w32uniscribe.c (SNAME): Extract only symbol name.
6124
6125 * w32font.h (struct w32_metric_cache): New struct.
6126 (w32font_info): Use it.
6127 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6128 (CACHE_BLOCKSIZE): New constants.
6129
6130 * w32font.c (Qja, Qko, Qzh): New symbols.
6131 (syms_of_w32font): Initialise them.
6132 (font_matches_spec): Use them to filter by language.
6133 (recompute_cached_metrics): Remove function.
6134 (compute_metrics, clear_cached_metrics): New functions.
6135 (w32font_encode_char): Use them to manage metric cache.
6136 (w32font_text_extents): Cache metrics for all glyphs on demand.
6137 Delay converting glyph indices to WORD until needed.
6138 (w32font_open_internal): Initialize metric cache to empty.
6139 (registry_to_w32_charset): Charset should always be a symbol.
6140 (fill_in_logfont, list_all_matching_fonts): Family should
6141 always be a symbol.
6142
61432008-04-06 Jason Rumney <jasonr@gnu.org>
6144
6145 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6146 Give up if glyph indices not supported. Use uniscribe obtained
6147 ABC widths for individual metrics. Map glyph clusters back to
6148 characters using fClusterStart flag. Return number of glyphs
6149 produced, not chars processed.
6150 (uniscribe_shape): Map char at FROM to current glyph.
6151
61522008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6153
6154 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6155 Use SetMenuItemHierarchicalMenu.
6156
61572008-04-05 Jason Rumney <jasonr@gnu.org>
6158
6159 * image.c (pbm_load): Allow color values up to 65535.
6160 Throw an error if max_color_idx is outside the supported range.
6161 Report an error when image size is invalid.
6162 Read two bytes at a time when raw images have max_color_idx above 255.
6163
61642008-04-05 Eli Zaretskii <eliz@gnu.org>
6165
6166 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6167 cFileName a file name that includes `?' characters, use the 8+3
6168 alias in cAlternateFileName instead.
6169
61702008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6171
6172 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6173 append "CCL: Quitted" when the CCL program is quitted.
6174 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6175
6176 * ccl.h (struct ccl_program): New member quit_silently.
6177
61782008-04-05 Chong Yidong <cyd@stupidchicken.com>
6179
6180 * search.c (compile_pattern_1): Treat non-nil and non-string of
6181 search-spaces-regexp as nil.
6182
6183 * minibuf.c (Fassoc_string): Tweak docstring.
6184
61852008-04-05 Eli Zaretskii <eliz@gnu.org>
6186
6187 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6188 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6189 2008-03-14 to force inode be positive.
6190
6191 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6192 _S_* ones, since we now use our own sys/stat.h.
6193 (stat, fstat): Don't mangle the inode number.
6194 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6195
61962008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6197
6198 * frame.h (struct frame): Give one more bit to `visible' since we use
6199 values larger than 1 to indicate obscured frames on ttys.
6200
6201 * keymap.c (Qkeymap_canonicalize): New var.
6202 (Fmap_keymap_internal): New fun.
6203 (describe_map): Use keymap-canonicalize.
6204
6205 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6206 (Fundo_boundary): Set them.
6207 (syms_of_undo): Initialize them.
6208 (record_point): Use them instead of last_point_position*.
6209 (last_undo_buffer): Change type.
6210
62112008-04-04 Jason Rumney <jasonr@gnu.org>
6212
6213 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6214 (recompute_cached_metrics): Don't set ascent and descent per char.
6215
6216 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6217 (uniscribe_check_otf): Add GC protection before consing.
6218 Rearrange loop for counting features.
6219
62202008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6221
6222 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6223 buffer with byte-size of source buffer.
6224
62252008-04-03 Chong Yidong <cyd@stupidchicken.com>
6226
6227 * callint.c (Fcall_interactively): Handle temporary region even
6228 when shift-select-mode is off.
6229
62302008-04-03 Jason Rumney <jasonr@gnu.org>
6231
6232 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6233
62342008-04-03 Kenichi Handa <handa@m17n.org>
6235
6236 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6237 (CATEGORY_MASK_UTF_16): Likewise.
6238 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6239 binary file.
6240 (detect_coding): Add null-byte detection for a binary file.
6241 (detect_coding_system): Likewise.
6242
62432008-04-03 Jason Rumney <jasonr@gnu.org>
6244
6245 * w32uniscribe.c: New file.
6246
6247 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6248
6249 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6250
6251 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6252 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6253 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6254 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6255 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6256 (Qphonetic): New symbols.
6257 (syms_of_w32font): Initialize them.
6258 (font_supported_scripts): Use them.
6259 (w32font_list_family): List all charsets.
6260 (w32font_text_extents, recompute_cached_metrics): Fix metric
6261 calculations.
6262 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6263 Give opentype fonts their own format.
6264 (font_matches_spec): New arguments backend and logfont.
6265 Handle :otf spec for uniscribe backend.
6266 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6267 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6268
6269 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6270 font backend.
6271 (globals_of_w32fns): Initialize uniscribe font backend.
6272
6273 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6274 dependencies.
6275 (w32uniscribe.$(O)): New file to build.
6276 (FONT_OBJ): Include w32uniscribe.$(O).
6277 (LIBS): Add uniscribe libraries.
6278
6279 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6280
62812008-04-02 Chong Yidong <cyd@stupidchicken.com>
6282
6283 * callint.c (Vshift_select_mode): New var.
6284 (Finteractive): Document new ^ spec.
6285 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6286 is present.
6287
6288 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6289 (command_loop_1): Avoid running the direct display versions of
6290 forward-char and backward-char if shift-selection may occur.
6291 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6292 shift-translation takes place.
6293
6294 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6295 avoid clobbering by define-minor-mode.
6296
6297 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6298 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6299
6300 * syntax.c (Fforward_word): Add ^ interactive spec.
6301
6302 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6303 (Fscroll_right): Add ^ interactive spec.
6304
63052008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6306
6307 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6308
6309 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6310
6311 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6312
63132008-03-31 Juri Linkov <juri@jurta.org>
6314
6315 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6316
63172008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6318
6319 * gtkutil.c (xg_set_geometry): Fix indentation.
6320 (xg_resize_outer_widget): Remove.
6321 (x_wm_size_hint_off): Fix indentation.
6322 (xg_frame_set_char_size): Call flush_and_sync after
6323 gtk_window_resize.
6324 (x_wm_set_size_hint): Pass NULL as geometry window to
6325 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6326 Add menu bar and tool bar height to base height.
6327 (xg_update_frame_menubar, free_frame_menubar)
6328 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6329 (update_frame_tool_bar, free_frame_tool_bar):
6330 Change xg_resize_outer_widget to xg_frame_set_char_size.
6331
63322008-03-30 Michael Albinus <michael.albinus@gmx.de>
6333
6334 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6335 (Fdbus_call_method): New parameter TIMEOUT.
6336 (dbus-send-signal): Optimize UNGCPRO call.
6337
63382008-03-29 Juri Linkov <juri@jurta.org>
6339
6340 * window.c (Fdisplay_buffer): Move call to
6341 Vsplit_window_preferred_function out of conditions that check
6342 if window is eligible for vertical splitting.
6343 When Vsplit_window_preferred_function is non-nil, call it and use
6344 its non-nil return value as window. Otherwise, continue doing
6345 vertical splitting using Fsplit_window with arg horflag=nil.
6346 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6347 default value from `split-window' to nil.
6348
63492008-03-29 Juri Linkov <juri@jurta.org>
6350
6351 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6352 for interactive code letters 'b' and 'B'.
6353
63542008-03-29 Eli Zaretskii <eliz@gnu.org>
6355
6356 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6357 multibyte string.
6358
63592008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6360
6361 * keyboard.c (pending_funcalls): New var.
6362 (timer_check): Run it.
6363 (syms_of_keyboard): Initialize it.
6364 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6365 (Vdelete_terminal_functions): New vars.
6366 (syms_of_terminal): Initialize them.
6367 (Fdelete_terminal): Run delete-terminal-functions.
6368 * xdisp.c (safe_eval): Rewrite.
6369 (safe_call2): New fun.
6370 * frame.c (Qdelete_frame_functions): New var.
6371 (syms_of_frame): Initialize it.
6372 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6373 * lisp.h (safe_call2, pending_funcalls): Declare.
6374
63752008-03-28 Andreas Schwab <schwab@suse.de>
6376
6377 * indent.c (Fmove_to_column): Move declaration before statements.
6378
63792008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6380
6381 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6382 (struct frame): Use bit fields for boolean vars.
6383
6384 * process.c (server_accept_connection): Simplify naming.
6385 (emacs_get_tty_pgrp): Use SDATA.
6386
6387 * coding.c (decode_coding_object): Fix last change.
6388
63892008-03-27 Jason Rumney <jasonr@gnu.org>
6390
6391 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6392
63932008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6394
6395 * charset.c (Fdefine_charset_internal): Change the way of
6396 registering charsets in Vcharset_order_list.
6397 (syms_of_charset): Make the charset `eight-bit' supplementary.
6398
63992008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6400
6401 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6402 operations, to avoid having the difference between pointers
6403 overflow.
6404
64052008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6406
6407 * indent.c (check_display_width): New fun.
6408 (scan_for_column): Use it.
6409
6410 * data.c (syms_of_data): Mark most-positive-fixnum and
6411 most-negative-fixnum as constants.
6412
6413 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6414
6415 * indent.c (scan_for_column): Extract from current_column_1.
6416 Merge with the same code from Fmove_to_column.
6417 (current_column_1, Fmove_to_column): Use it.
6418
64192008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6420
6421 * keymap.c (map_keymap_internal): New fun.
6422 (map_keymap): Use it.
6423 (Fmap_keymap_internal): New fun.
6424 (Fmap_keymap): Remove left-out test from before make_save_value.
6425
6426 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6427
6428 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6429 Use XCAR/XCDR.
6430
6431 * process.h (struct Lisp_Process): Remove filter_multibyte.
6432 * process.c (QCfilter_multibyte): Remove.
6433 (setup_process_coding_systems): Don't use filter_multibyte.
6434 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6435 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6436 (Fset_process_filter_multibyte): Change the coding-system to
6437 approximate the previous behavior.
6438 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6439 coding-system.
6440
6441 * coding.c (decode_coding_object): When not decoding into a buffer,
6442 obey the coding system's preference of (uni|multi)byte.
6443
64442008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6445
6446 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6447 every char is changed and has a different byte-length.
6448 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6449 Fix int -> EMACS_INT.
6450
64512008-03-23 David Hansen <david.hansen@gmx.net>
6452
6453 * dbusbind.c (xd_read_message): Remove extra copying of message
6454 strings. Check for NULL `interface' or `member'.
6455
64562008-03-22 Eli Zaretskii <eliz@gnu.org>
6457
6458 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6459 cFileName a file name that includes `?' characters, use the 8+3
6460 alias in cAlternateFileName instead.
6461
64622008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6463
6464 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6465
64662008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6467
6468 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6469 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6470 work on current_buffer only instead (that was already the case
6471 for some of the code anyway).
6472 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6473 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6474 (SET_PT, SET_PT_BOTH): Adjust.
6475 * intervals.h (set_point, temp_set_point, set_point_both)
6476 (temp_set_point_both): Remove redundant declarations.
6477
64782008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6479
6480 * fileio.c (Finsert_file_contents):
6481 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6482 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6483 when buffer != current_buffer anyway.
6484
64852008-03-20 Andreas Schwab <schwab@suse.de>
6486
6487 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6488 as default.
6489
64902008-03-19 Jason Rumney <jasonr@gnu.org>
6491
6492 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6493 (syms_of_w32fns): Initialize them.
6494 (HOURGLASS_ID): New constant.
6495 (x_window_to_frame): Don't check hourglass_window.
6496 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6497 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6498 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6499 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6500 Only change the cursor if hourglass is not active.
6501 (Fx_create_frame): Initialize frame's current_cursor.
6502 (hourglass_atimer): Remove.
6503 (hourglass_started): New function.
6504 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6505 (show_hourglass): Adapt to w32, changing argument to frame.
6506
6507 * w32term.h (struct w32_output): Remove hourglass_window.
6508 Add current_cursor.
6509
6510 * eval.c (call_debugger, Fsignal):
6511 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6512 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6513 (Fexecute_extended_command, cancel_hourglass_unwind):
6514 * minibuf.c (read_minibuf):
6515 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6516
65172008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6518
6519 * window.c (run_funs): New fun.
6520 (run_window_configuration_change_hook): Use it to run the buffer-local
6521 and the global part of the hook.
6522
6523 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6524 (unwind_format_mode_line): Restore selected window.
6525 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6526
65272008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6528
6529 * editfns.c (Fchar_equal): Check they are valid characters.
6530
6531 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6532
65332008-03-17 Andreas Schwab <schwab@suse.de>
6534
6535 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6536 against a charset.
6537
6538 * lisp.h (Fbuffer_list): Declare.
6539
65402008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6541
aac0c6e3
MR
6542 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6543 handlebox_widget is != 0.
6544
65452008-03-16 Juri Linkov <juri@jurta.org>
6546
6547 * callint.c (Fcall_interactively): For interactive code letters
6548 'b' and 'B' put the buffer list into the list of default "future"
6549 values of the minibuffer.
6550
65512008-03-16 Andreas Schwab <schwab@suse.de>
6552
6553 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6554 modifiers.
6555
6556 * regex.c (re_match_2_internal): Correct matching of a charset
6557 against latin-1 characters.
6558
65592008-03-16 Kenichi Handa <handa@m17n.org>
6560
6561 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6562 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6563 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6564 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6565 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6566 CHAR_STRING_ADVANCE.
6567 (produce_chars): Fix for the case that the source and the
6568 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6569 instead of CHAR_STRING_ADVANCE.
6570 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6571 STRING_CHAR_ADVANCE.
6572
65732008-03-15 Andreas Schwab <schwab@suse.de>
6574
6575 * regex.c (re_match_2_internal): Correct matching of eight bit
6576 characters in unibyte strings.
6577
65782008-03-15 Martin Rudalics <rudalics@gmx.at>
6579
6580 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6581 at end of range when it coincides with the end of the buffer.
6582
65832008-03-14 Eli Zaretskii <eliz@gnu.org>
6584
6585 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6586
6587 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6588
65892008-03-14 Jason Rumney <jasonr@gnu.org>
6590
6591 * editfns.c (initial_tz): New variable.
6592 (syms_of_editfns): Initialize it.
6593 (Fset_time_zone_rule): Set it when first called.
6594 Use it when TZSTRING is nil.
6595
6596 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6597 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6598 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6599 (globals_of_w32fns): Initialize them.
6600 (compute_tip_xy): Use them to position tooltips.
6601
66022008-03-14 Glenn Morris <rgm@gnu.org>
6603
6604 * emacs.c (main): Revert previous change.
6605 (standard_args): Revert -internal-script back to -scriptload,
6606 and remove the long-option form.
6607
66082008-03-13 Glenn Morris <rgm@gnu.org>
6609
6610 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6611 Remove option -enable-font-backend.
6612
66132008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6614
6615 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6616
66172008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6618
6619 * xterm.c (x_connection_closed): For GTK: If this is the last
6620 terminal just exit without closing the display.
6621
66222008-03-11 Jason Rumney <jasonr@gnu.org>
6623
6624 * w32font.c (w32font_full_name): Use floor to round.
6625
66262008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6627
6628 * sound.c (alsa_configure): Declare vol at beginning of block.
6629
6630 * fontset.c (Ffontset_info): Remove extra semicolon.
6631
66322008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6633
6634 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6635 size of resulting string.
6636
66372008-03-10 Jason Rumney <jasonr@gnu.org>
6638
6639 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6640
66412008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6642
6643 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6644 Don't pretend as if characters with display property haven't been
6645 consumed for string-replacing-string case.
6646
66472008-03-08 Kim F. Storm <storm@cua.dk>
6648
6649 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6650 (get_next_display_element, next_element_from_string)
6651 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6652
66532008-03-08 Andreas Schwab <schwab@suse.de>
6654
6655 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6656
66572008-03-06 Jason Rumney <jasonr@gnu.org>
6658
6659 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6660 when charset not specified. Only translate ANSI to unicode when
6661 font_type is truetype.
6662 (w32font_coverage_ok): New function.
6663 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6664
66652008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6666
6667 * lread.c (Fread_char): Resolve modifiers.
6668 (Fread_char_exclusive): Likewise.
6669
6670 * character.c (char_resolve_modifier_mask): New function.
6671 (char_string): Use char_resolve_modifier_mask.
6672 (Fchar_resolve_modifiers): New function.
6673 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6674 function.
6675
66762008-03-04 Jason Rumney <jasonr@gnu.org>
6677
6678 * makefile.w32-in: Always include w32font.c in the build.
6679 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6680
66812008-03-04 Andreas Schwab <schwab@suse.de>
6682
6683 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6684 (versionclean): Likewise.
6685
66862008-03-04 Juanma Barranquero <lekktu@gmail.com>
6687
6688 * .cvsignore: Add oo.
6689
66902008-03-03 Andreas Schwab <schwab@suse.de>
6691
6692 * coding.c (decode_coding_object): Inhibit gap shrinking while
6693 decoding in place.
6694
66952008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6696
6697 * w32term.c: Remove unused include "gnu.h".
6698 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6699
6700 * gnu.h: Rename to ...
6701 * emacs-icon.h: ... this.
6702 * xterm.c: Use emacs-icon.h instead of gnu.h.
6703 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6704
67052008-03-03 Juanma Barranquero <lekktu@gmail.com>
6706
6707 * w32font.c: Include math.h.
6708
67092008-03-03 Jason Rumney <jasonr@gnu.org>
6710
6711 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6712 Compute options separately.
6713 (w32font_open_internal): Set glyph_idx before caching metrics.
6714
6715 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6716 Define if system headers don't.
6717 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6718 (w32font_encode_char): Don't declare here.
6719
6720 * w32font.c (Quniscribe, QCformat): New symbols.
6721 (syms_of_w32font): Define them.
6722 (w32font_has_char): Indicate uncertainty.
6723 (w32font_encode_char): Encode as glyph point. Make static.
6724 (recompute_cached_metrics): New function.
6725 (w32font_open_internal): Use it. Set font to use glyph points
6726 initially. Set format based on type of font.
6727 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6728 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6729 on it. Set format based on information available here.
6730 (add_font_entity_to_list): Identify backend based on opentype_only.
6731
67322008-03-02 Andreas Schwab <schwab@suse.de>
6733
6734 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6735
6736 * coding.c (decode_coding_big5, produce_chars):
6737 Fix typos in last change.
6738
67392008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6740
6741 * gnu.h: New icon.
6742
67432008-03-02 Kenichi Handa <handa@m17n.org>
6744
6745 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6746 `dos', don't decode '\r' if that is the last in the source.
6747 (decode_coding_utf_16, decode_coding_emacs_mule)
6748 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6749 (decode_coding_raw_text, decode_coding_charset): Likewise.
6750 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6751
67522008-03-01 Jason Rumney <jasonr@gnu.org>
6753
6754 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6755
67562008-03-01 Kim F. Storm <storm@cua.dk>
6757
6758 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6759
67602008-03-01 Jason Rumney <jasonr@gnu.org>
6761
6762 * w32font.c (w32font_full_name): New function.
6763 (w32font_open_internal): Use it.
6764
67652008-03-01 Kim F. Storm <storm@cua.dk>
6766
6767 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6768
67692008-03-01 Jason Rumney <jasonr@gnu.org>
6770
6771 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6772
67732008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6774
6775 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6776 xg_frame_resized when the event is for the edit widget.
6777
6778 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6779
6780 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6781 set_char_size.
6782 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6783 operations on widgets here. Just set frame size if needed.
6784 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6785 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6786 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6787 the whole frame.
6788 (xg_create_tool_bar): Move attachment of the tool bar to
6789 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6790 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6791
67922008-03-01 Jason Rumney <jasonr@gnu.org>
6793
6794 * w32fns.c (w32_msg_pump): Disable debug code.
6795
67962008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6797
6798 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6799
68002008-02-29 Chong Yidong <cyd@stupidchicken.com>
6801
6802 * xdisp.c (next_overlay_string): Don't set
6803 overlay_strings_at_end_processed_p if we're currently reading from
6804 a display string.
6805
68062008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6807
6808 * xdisp.c (get_overlay_strings_1): Fix typo.
6809
68102008-02-29 Chong Yidong <cyd@stupidchicken.com>
6811
6812 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6813
68142008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6815
6816 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6817
6818 * xdisp.c (display_mode_element): Cancel the previous change.
6819 (decode_mode_spec): Likewise.
6820 (handle_auto_composed_prop): Don't make composition if it->string
6821 is a string.
6822
68232008-02-27 Kim F. Storm <storm@cua.dk>
6824
6825 * lisp.h (GLYPH): Change type from int to struct with separate char
6826 and face_id members.
6827 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6828 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6829 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6830 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6831 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6832 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6833 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6834 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6835 handle new Lisp glyph code encoding, either an integer or a cons.
6836
6837 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6838 (GLYPH_ALIAS): Delete.
6839 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6840 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6841 (GLYPH_FROM_CHAR): Replace macro by ...
6842 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6843
6844 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6845 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6846 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6847 (GLYPH_INVALID_P): New macro.
6848 (spec_glyph_lookup_face): Update prototype.
6849
6850 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6851 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6852 new glyph code encoding.
6853 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6854 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6855
6856 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6857 Adapt to new glyph type and new glyph code encoding.
6858
6859 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6860
6861 * indent.c (current_column, current_column_1, Fmove_to_column)
6862 (compute_motion): Adapt to new glyph code encoding.
6863
6864 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6865
68662008-02-27 Chong Yidong <cyd@stupidchicken.com>
6867
6868 * process.c (wait_reading_process_output): Check for window
6869 changes caused by timers.
6870 Suggested by Johan Bockgård.
6871
68722008-02-27 Glenn Morris <rgm@gnu.org>
6873
6874 * emacs.c (USAGE1): Add `--disable-font-backend'.
6875
68762008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6877
6878 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6879 is made to the buffer.
6880
68812008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6882
6883 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6884 (face_at_string_position):
6885 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6886 (face_at_string_position):
6887 * xdisp.c (display_string, next_overlay_change):
6888 * buffer.h (overlays_at):
6889 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6890 Update callers.
6891
68922008-02-26 Chong Yidong <cyd@stupidchicken.com>
6893
6894 * editfns.c (Fformat): Doc fix.
6895
68962008-02-26 Juanma Barranquero <lekktu@gmail.com>
6897
6898 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6899 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6900 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6901
69022008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6903
6904 * buffer.c (Fbuffer_swap_text): New function.
6905 (syms_of_buffer): Defsubr it.
6906
69072008-02-25 Chong Yidong <cyd@stupidchicken.com>
6908
6909 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6910
69112008-02-25 Jason Rumney <jasonr@gnu.org>
6912
6913 * w32font.c (w32font_draw): Draw one character at a time when padding.
6914
69152008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6916
6917 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6918 Handle a nil arg. Use run_window_configuration_change_hook.
6919 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6920 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6921 Use run_window_configuration_change_hook.
6922
69232008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6924
6925 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6926 1-pixel width.
6927
69282008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6929
6930 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6931 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6932 if the glyph in the font is zero pixel with.
6933
6934 * dispextern.h (struct glyph_string): New member padding_p.
6935
6936 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6937
6938 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6939
6940 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6941
6942 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6943
6944 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6945
69462008-02-25 Jason Rumney <jasonr@gnu.org>
6947
6948 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6949
69502008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6951
6952 Allow fine-grained image-cache flushing.
6953 * dispextern.h (struct image): Add `dependencies' field.
6954 (clear_image_caches): Change arg to Lisp_Object.
6955 * image.c (make_image): Initialize `dependencies' field.
6956 (clear_image_cache): Change arg to allow fine-grained flushing.
6957 Perform the flush even if image-cache-eviction-delay is nil.
6958 (clear_image_caches): Change arg to Lisp_Object.
6959 (Fclear_image_cache): Expand meaning of the argument.
6960 (mark_image): Mark `dependencies' field.
6961 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6962 (lface_hash): Use XHASH rather than XFASTINT.
6963 (face_at_buffer_position): Fix int -> EMACS_INT position.
6964 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6965 (select_frame_for_redisplay): Remove code duplication.
6966 (redisplay_internal): Adapt arg to call to clear_image_caches.
6967
69682008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6969
6970 * s/vms4-0.h:
6971 * s/vms4-2.h:
6972 * s/vms4-4.h:
6973 * s/vms5-5.h: Remove, unused.
6974
6975 * s/irix5-2.h:
6976 * s/irix6-0.h:
6977 * s/riscos5.h:
6978 * s/mach-bsd4-3.h:
6979 * m/mips4.h: Remove files for obsolete systems.
6980
6981 * Makefile.in:
6982 * filelock.c:
6983 * unexmips.c:
6984 * m/hp9000s300.h:
6985 * m/iris4d.h:
6986 * s/aix3-1.h:
6987 * s/hpux.h:
6988 * s/msdos.h:
6989 * s/usg5-0.h:
6990 * s/usg5-2-2.h:
6991 * s/usg5-2.h:
6992 * s/usg5-3.h: Remove references to obsolete variables.
6993
6994 * s/irix5-0.h: Remove, move all the contents ...
6995 * s/irix6-5.h: ... here. Simplify.
6996 * config.in: Regenerate.
6997
69982008-02-24 Jason Rumney <jasonr@gnu.org>
6999
7000 * w32term.c (x_draw_glyph_string_background): Clear the background
7001 manually when cleartype is in use.
7002 (x_draw_glyph_string_foreground): Draw text transparently when
7003 cleartype is in use.
7004
7005 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7006 a font into it unless we have to.
7007
70082008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7009
7010 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7011 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7012
aac0c6e3
MR
70132008-02-18 Jason Rumney <jasonr@gnu.org>
7014
7015 * w32fns.c (Fw32_shell_execute): Encode parameters.
7016
70172008-02-09 Eli Zaretskii <eliz@gnu.org>
7018
7019 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7020
70212008-02-05 Juanma Barranquero <lekktu@gmail.com>
7022
7023 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
7024
70252008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
7026
7027 * xterm.c (x_set_offset): Don't change the gravity if
7028 CHANGE_GRAVITY is -1.
7029
70302008-02-23 Chong Yidong <cyd@stupidchicken.com>
7031
7032 * fileio.c (auto_save_error_occurred): New var.
7033 (auto_save_error): Set it.
7034 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7035 error occurred.
7036
70372008-02-23 Eli Zaretskii <eliz@gnu.org>
7038
7039 * w32.c (globals_of_w32): Add initializations for
7040 g_b_init_get_sid_sub_authority and
7041 g_b_init_get_sid_sub_authority_count.
7042
70432008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7044
7045 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7046 (font_parse_xlfd): Use them for sanity check.
7047 (Finternal_set_font_style_table): Make sure the table is bijective.
7048
7049 Consolidate the image_cache to the terminal struct.
7050 * termhooks.h (P_): Remove redundant def.
7051 (struct terminal): New field `image_cache'.
7052 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7053 of FRAME_X_IMAGE_CACHE.
7054 * xterm.h (struct x_display_info): Remove image_cache field.
7055 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7056 * w32term.h (struct w32_display_info): Remove image_cache field.
7057 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7058 * macterm.h (struct mac_display_info): Remove image_cache field.
7059 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7060 * xterm.c (x_term_init):
7061 * w32term.c (w32_term_init):
7062 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7063 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7064 Remove declarations.
7065 (clear_image_caches, mark_image_cache): New declarations.
7066 * xfaces.c (clear_face_cache):
7067 * xdisp.c (redisplay_internal): Use clear_image_caches.
7068 * image.c (clear_image_cache): Don't check that a frame is on
7069 a window-system before checking if it shares the same cache.
7070 (clear_image_caches): New function.
7071 (Fclear_image_cache): Use it.
7072 (mark_image): Move from allo.c.
7073 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7074 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7075 (mark_object): Don't call mark_image_cache for frames.
7076 (mark_terminals): Call mark_image_cache.
7077
7078 * lisp.h (Fdelete_terminal): Declare.
7079
7080 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7081 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7082 wrong_type_argument.
7083
70842008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7085
7086 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7087 malayalam.el, and tamil.el. Add sinhala.el.
7088
70892008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7090
7091 * xterm.c (x_connection_closed): Consolidate identical tests.
7092 (x_delete_terminal): Don't crash if called via x_connection_closed.
7093
70942008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7095
7096 * xdisp.c (decode_mode_spec): New arg string.
7097 (display_mode_element): Adjust for the above change.
7098
70992008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7100
7101 * callint.c (Fcall_interactively): Use AREF.
7102
71032008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7104
7105 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7106
71072008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7108
7109 * xfns.c (Fx_show_tip): Set string to " " if empty.
7110
71112008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7112
7113 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7114 with Qt.
7115
71162008-02-17 Kenichi Handa <handa@m17n.org>
7117
7118 * ftfont.c (ftfont_shape): Return Lispy number.
7119
7120 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7121 for GCs.
7122 (Finternal_set_font_selection_order): Call font_update_sort_order
7123 only when enable_font_backend is set.
7124 (realize_x_face): Set face->font_info to that of default face only
7125 when enable_font_backend is set.
7126
7127 * xdisp.c (handle_composition_prop): Set it->c to the fist
7128 character of the composed region.
7129 (fill_composite_glyph_string): Set base_face->font_info to
7130 s->font_info. Get a face for ascii from base_face->ascii_face.
7131 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7132 with a face already decided.
7133 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7134 non-negative.
7135 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7136 call font_prepare_composition unconditionally.
7137
7138 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7139
7140 * xterm.h (struct x_display_info): New member font.
7141
7142 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7143 (x_set_mouse_face_gc, x_new_font): Likewise.
7144 (x_term_init): Setup display_info->font.
7145 (x_delete_terminal): Free display_info->font.
7146
7147 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7148
7149 * ftxfont.c (ftxfont_default_fid): Delete it.
7150 (ftxfont_open): Set xfont->fid to 0.
7151 (ftxfont_end_for_frame): Clear data specific to the frame and the
7152 font-driver.
7153
7154 * xftfont.c (xftfont_default_fid): Delete it.
7155 (xftfont_open): Set xfont->fid to 0.
7156
7157 * fontset.c (FONTSET_OBJLIST): New macro.
7158 (fontset_find_font): Update font-object list of the fontset.
7159 (free_realized_fontset): New function.
7160 (free_face_fontset): Call free_realized_fontset.
7161 (Ffont_info): Call font_close_object only when enable_font_backend
7162 is set.
7163
7164 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7165 [HAVE_NTGUI]: Include w32term.h.
7166 [MAC_OS]: Include macterm.ch.
7167 (font_otf_ValueRecord): Use make_number.
7168 (font_finish_cache): Fix handling of reference count.
7169 (font_clear_cache): Update num_fonts.
7170 (font_open_entity): Update smallest_char_width and
7171 smallest_font_height of the frame.
7172 (font_close_object): Update num_fonts.
7173 (Fclear_font_cache): Fix finding the target cache data.
7174
71752008-02-16 Glenn Morris <rgm@gnu.org>
7176
7177 * fontset.c (Finternal_char_font): Fix compilation warning.
7178
71792008-02-16 Eli Zaretskii <eliz@gnu.org>
7180
7181 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7182 instead of char arrays. Enlarge the size of array passed to
7183 get_token_information.
7184
7185 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7186 warnings.
7187
71882008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7189
7190 * .gdbinit: Don't set `args', it breaks gdb --args.
7191
71922008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7193
7194 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7195 within a narrowed buffer.
7196
71972008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7198
7199 * coding.c (decode_coding_object, encode_coding_object):
7200 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7201
72022008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7203
7204 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7205 hardcoding 1.
7206 (detect_coding_system):
7207 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7208 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7209 * insdel.c (insert_from_gap):
7210 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7211 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7212 (string_to_multibyte):
7213 * character.c (chars_in_text, multibyte_chars_in_text):
7214 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7215
7216 * character.h (FETCH_STRING_CHAR_ADVANCE)
7217 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7218 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7219 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7220
7221 * casefiddle.c (casify_region): Only call after-change and composition
7222 functions on the part of the region that was changed.
7223
7224 * keyboard.c (read_avail_input):
7225 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7226
72272008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7228
7229 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7230 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7231
72322008-02-11 Juanma Barranquero <lekktu@gmail.com>
7233
7234 * w32menu.c (push_submenu_start, push_submenu_end)
7235 (push_left_right_boundary, push_menu_pane, push_menu_item):
7236 * keyboard.c (read_key_sequence): Don't pass args with side effects
7237 to AREF, it fails when compiling with -DENABLE_CHECKING.
7238
72392008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7240
7241 * Makefile.in (${lispsource}international/charprop.el):
7242 Delete this target.
7243
7244 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7245 emacs-unicode-2.
7246
72472008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7248
7249 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7250
72512008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7252
7253 * frame.c (Qnoelisp): New symbol.
7254 (syms_of_frame): Initialize it.
7255 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7256 harmless Elisp code, from a strong `force' from x_connection_closed.
7257 * frame.h (Qnoelisp): Declare.
7258 * xterm.c (x_connection_closed): Pass `noelisp'.
7259
7260 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7261 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7262 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7263 rather than `int' for the type of `type'.
7264
72652008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7266
7267 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7268
7269 * Makefile.in (GNUC): Remove support for gcc-1.x.
7270
72712008-02-10 Richard Stallman <rms@gnu.org>
7272
7273 * lisp.h (ASET): Use AREF, not ASLOT.
7274
72752008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7276
7277 * lisp.h (ASET): Check bounds.
7278
72792008-02-10 Glenn Morris <rgm@gnu.org>
7280
7281 * buffer.c (mode-name): Doc fix.
7282
72832008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7284
7285 * Makefile.in:
7286 * emacs.c:
7287 * gmalloc.c:
7288 * keyboard.c:
7289 * lisp.h:
7290 * m/ibm370aix.h:
7291 * process.c:
7292 * regex.c:
7293 * s/hpux.h:
7294 * sysdep.c:
7295 * sysselect.h:
7296 * systty.h:
7297 * unexec.c:
7298 * w32term.c:
7299 * xsmfns.c:
7300 * xterm.c: Remove code that deals with obsolete variables.
7301
7302 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7303
7304 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7305 nothing else needs it anymore.
7306
73072008-02-09 Eli Zaretskii <eliz@gnu.org>
7308
7309 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7310 instead of unibyte_char_to_multibyte.
7311
73122008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7313
7314 * s/gnu-linux.h: Remove commented out code.
7315
7316 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7317
7318 * Makefile.in: Update what RMS says about using autoconf.
7319 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7320 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7321 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7322 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7323
73242008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7325
7326 * keymap.c (Fkey_description): Move side effect outside of macro call.
7327
7328 * xfaces.c (Finternal_make_lisp_face):
7329 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7330
7331 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7332 (syms_of_fontset): Use ASET.
7333
7334 * fns.c (concat): Move side effect outside of macro call.
7335 (hash_clear): Use ASET.
7336
73372008-02-08 Richard Stallman <rms@gnu.org>
7338
7339 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7340 If FORCE, and frame has a surrogate minibuffer for another frame,
7341 delete the other frame first.
7342
73432008-02-07 Timo Savola <timo.savola@iki.fi>
7344
7345 * xterm.c (x_detect_focus_change): Handle embed client message.
7346 (handle_one_xevent): Ditto.
7347 (handle_one_xevent): If embedded and we get a button press/release,
7348 request focus.
7349 (xembed_set_info, xembed_send_message): New functions.
7350 (x_make_frame_visible): Call xembed_set_info if embedded.
7351 (x_make_frame_invisible): Call xembed_set_info if embedded.
7352 (x_term_init): Initialize Xatom_XEMBED.
7353 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7354 (x_iconify_frame): Ditto.
7355
7356 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7357 (enum xembed_info, enum xembed_message, enum xembed_focus)
7358 (enum xembed_modifier, enum xembed_accelerator): New.
7359 (xembed_set_info, xembed_send_message): Declare.
7360 (FRAME_X_EMBEDDED_P): New.
7361
7362 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7363 gtk_plug_new.
7364
7365 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7366 window ID of a frame.
7367 (x_window): Reparent frame if embedded.
7368 (Fx_create_frame): Don't set border width if embedded.
7369
7370 * emacs.c (USAGE3): Add --parent-id.
7371 (standard_args): Ditto.
7372
73732008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7374
7375 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7376
73772008-02-07 Jim Meyering <meyering@redhat.com>
7378
7379 Use "do...while (0)", not "if (1)...else" in macro definitions.
7380 The latter provokes a warning from gcc about the empty else, when
7381 followed by ";". Also, without that trailing semicolon, it would
7382 silently swallow up any following statement.
7383 * syntax.h (SETUP_SYNTAX_TABLE)
7384 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7385 * buffer.h (DECODE_POSITION): Likewise.
7386 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7387 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7388 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7389 (FETCH_CHAR_ADVANCE): Likewise.
7390 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7391
73922008-02-07 Jim Meyering <meyering@redhat.com>
7393
7394 * lread.c [lint]: Don't include <sys/inode.h>.
7395
73962008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7397
7398 * xselect.c (x_handle_dnd_message):
7399 * xmenu.c (digest_single_submenu, xmenu_show):
7400 * xdisp.c (with_echo_area_buffer_unwind_data)
7401 (format_mode_line_unwind_data, unwind_format_mode_line)
7402 (display_menu_bar):
7403 * eval.c (Ffetch_bytecode):
7404 * doc.c (store_function_docstring):
7405 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7406 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7407 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7408
74092008-02-07 Kenichi Handa <handa@m17n.org>
7410
7411 * ftxfont.c (ftxfont_open): Don't set
7412 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7413
7414 * ftfont.c (ftfont_open): Fix previous change.
7415
74162008-02-06 Jason Rumney <jasonr@gnu.org>
7417
7418 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7419 Use cached metrics for ASCII characters.
7420 (w32font_open_internal): Don't set font's owning_frame.
7421 Cache metrics for ASCII characters.
7422
7423 * w32font.h (struct w32font_info): Add ascii_metrics.
7424 Remove owning_frame.
7425
74262008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7427
7428 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7429 to negative value.
7430
7431 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7432
7433 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7434
7435 * charset.c (syms_of_charset): Set QCtest and Qeq.
7436
74372008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7438
7439 * process.c (Fstart_process):
7440 * callproc.c (Fcall_process): Handle the case where
7441 Funhandled_file_name_directory returns nil.
7442
7443 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7444 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7445 * font.c (check_gstring): Use them and AREF to access the vector before
7446 we know it's really a gstring.
7447 (Ffont_shape_text): Fix typo.
7448 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7449
7450 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7451 Declare.
7452
7453 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7454
74552008-02-05 Jason Rumney <jasonr@gnu.org>
7456
7457 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7458 Set smallest_font_height and smallest_char_width in display info.
7459
74602008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7461
7462 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7463
74642008-02-05 Miles Bader <miles@gnu.org>
7465
7466 * xfaces.c (get_lface_attributes, merge_named_face)
7467 (lookup_named_face, lookup_derived_face, realize_named_face):
7468 Revert 2008-02-01 change by cyd@stupidchicken.com.
7469
74702008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7471
7472 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7473 fallback fonts.
7474 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7475
74762008-02-04 Jason Rumney <jasonr@gnu.org>
7477
7478 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7479 set full_name.
7480 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7481
74822008-02-03 Jason Rumney <jasonr@gnu.org>
7483
7484 * makefile.w32-in (OBJ1): Include font.o here.
7485 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7486
74872008-02-02 Jason Rumney <jasonr@gnu.org>
7488
7489 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7490
74912008-02-01 Jason Rumney <jasonr@gnu.org>
7492
7493 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7494
7495 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7496
74972008-02-01 Andreas Schwab <schwab@suse.de>
7498
7499 * Makefile.in (shortlisp, lisp): Update for rename of
7500 ../lisp/language/myanmar.el.
7501
75022008-02-01 Chong Yidong <cyd@stupidchicken.com>
7503
7504 * xfaces.c (get_lface_attributes): Delete function.
7505 (merge_named_face, lookup_named_face, lookup_derived_face)
7506 (realize_named_face): Call lface_from_face_name directly, and use
7507 the fact that merge_face_vectors does not alter its FROM argument.
7508
75092008-02-01 Jason Rumney <jasonr@gnu.org>
7510
7511 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7512 input in the default locale. Handle non-Unicode multibyte input.
7513
75142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7515
7516 * fontset.c (reorder_font_vector): Exclude nil elements from the
7517 font group. Don't try multiple fonts.
7518 (fontset_font): Adjust for the above change.
7519 (Finternal_char_font): Return nil if the found font doesn't
7520 contain the character ch.
7521
7522 * Makefile.in (lisp, shortlisp): Add cham.el.
7523
75242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7525
7526 * font.h (FONTP): Make it return 1 also for a font-object.
7527
7528 * .gdbinit (xfontset): New function.
7529
7530 * font.c (font_find_for_lface): Check if the character C is
7531 supported or not only for the first font.
7532
7533 * fontset.c (reorder_font_vector): Fix typo.
7534 (fontset_find_font): Don't add a font-spec specifying a script.
7535 Use 0 (not Qt) for the indication of empty font-group. Change the
7536 format of RFONT-DEF. Return Qt if no font in the font-group
7537 support the character.
7538 (fontset_font): Adjust for the above change. If no font was
7539 found the character, remember that.
7540 (face_for_char): Adjust for the change of RFONT-DEF.
7541 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7542 no font for the target.
7543 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7544
75452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7546
7547 * font.c (font_load_for_face): Handle the case that the font in
7548 face->lface is a string.
7549
75502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7551
7552 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7553
75542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7555
7556 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7557 Fix previous change. If the frame is not on a window system,
7558 signal an error.
7559
75602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7561
7562 * coding.c (decode_coding_object, encode_coding_object): Adjust
7563 marker positions after conversion.
7564
7565 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7566
75672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7568
7569 * font.c (font_find_for_lface): Fix the handling of the return
7570 value of font_has_char.
7571 (Ffont_shape_text): Fix previous change.
7572
7573 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7574 (fontset_ref_and_range): Delete it.
7575 (fontset_find_font): Call char_table_ref_and_range instead of
7576 FONTSET_REF_AND_RANGE.
7577 (make_fontset): Don't setup font groups of Latin here.
7578 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7579 (new_fontset_from_font): Make the specified font the default for
7580 all Latin characters.
7581
75822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7583
7584 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7585 is on a window system before accessing the fontset of the frame.
7586
75872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7588
7589 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7590
7591 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7592 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7593
7594 * font.c (Ffont_shape_text): If the font driver doesn't have a
7595 shaper function, make zero-width glyphs to have at least one-pixel
7596 width. Fix setting of `to' field of glyphs.
7597
75982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7599
7600 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7601 glyphs.
7602
7603 * font.h (struct font_driver): Improve docstring of member `shape'.
7604
76052008-02-01 Kenichi Handa <handa@m17n.org>
7606
7607 * composite.c (syms_of_composite): Fix docstring of
7608 auto-composition-function.
7609
7610 * font.h (LGLYPH_SIZE): New macro.
7611
7612 * font.c (Ffont_fill_gstring): Stop filling when a character not
7613 supported by the font is found.
7614 (Ffont_shape_text): When a shape callback function returns nil,
7615 try at most two more times with larger gstring.
7616 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7617
7618 * xdisp.c (handle_auto_composed_prop): Change the argument to
7619 auto-composition-function.
7620
7621 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7622 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7623 Lispy glyph and store it in the lgstring.
7624
7625 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7626
7627 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7628
76292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7630
7631 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7632
7633 * fontset.c (Vfont_encoding_charset_alist): New variable.
7634 (syms_of_fontset): DEFVAR it.
7635 (reorder_font_vector, fontset_find_font): Optimize for the case of
7636 no need of reordering.
7637 (face_for_char): Map the charset property by
7638 Vfont_encoding_charset_alist.
7639
76402008-02-01 Jason Rumney <jasonr@gnu.org>
7641
7642 * w32font.c (logfonts_match): Don't check adstyle here.
7643 (font_matches_spec): Check here against physical font instead.
7644 (add_font_entity_to_list): Avoid some substitutions.
7645
7646 * font.c (font_parse_fcname): Default weight and slant to normal.
7647 (font_score): Prefer normal fonts if weight or slant unspecified.
7648 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7649 match freetype scores.
7650
76512008-02-01 Jason Rumney <jasonr@gnu.org>
7652
7653 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7654 font, as it may have been deleted.
7655 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7656 most common hyphenless variation.
7657 (logfonts_match): Check generic family.
7658 (font_matches_spec): Don't check generic family here.
7659 (fill_in_logfont): Set generic family based on adstyle.
7660
7661 * w32font.h (w32font_get_cache): Update declaration.
7662
76632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7664
7665 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7666
7667 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7668 If none of the new drivers are available, call font_update_drivers
7669 with the old drivers.
7670
7671 * w32font.c (w32font_get_cache): Adjust the argument type.
7672
7673 * xfont.c (xfont_get_cache): Adjust the argument type.
7674
7675 * font.h (struct font_driver): Change argument type of get_cache.
7676
7677 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7678
7679 * font.c (Ffont_get): Fix arguments to Fassoc.
7680 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7681 (font_clear_cache): New function.
7682 (font_list_entities, font_matching_entity): Use font_get_cache.
7683 (font_update_drivers): Call font_clear_cache when finishing a driver.
7684
7685 * fontset.c (fontset_find_font): Fix previous change.
7686
76872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7688
7689 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7690 dpyinfo->font_table.
7691 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7692 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7693
7694 * font.c (font_at): Handle the case that the arg C is negative.
7695 Handle the unibyte case.
7696 (Ffont_at): Call font_at with the arg C -1.
7697
7698 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7699 the position here, and call font_at with the arg C -1.
7700 Don't check the range of the existing composition at the point.
7701
77022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7703
7704 * fontset.c (fontset_add): New args charset_id and family.
7705 Change caller.
7706 (load_font_get_repertory, fontset_find_font): Assume that
7707 font_spec is always a font-spec object.
7708 (Fset_fontset_font): Always store a font-spec object in a fontset.
7709
7710 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7711 instead of get_property_and_range.
7712
77132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7714
7715 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7716 (xftfont_open): Don't keep locking face.
7717 (xftfont_close): Don't unlock face.
7718 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7719
7720 * fontset.c (fontset_find_font): Don't prefer a font of
7721 supplementary charset.
7722
77232008-02-01 Kenichi Handa <handa@m17n.org>
7724
7725 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7726 script, langsys_tag to langsys, new member script.
7727 (OTF_TAG_STR): Terminate by '\0'.
7728 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7729 listing to the script specified in that property. Fix arg to
7730 OTF_check_features.
7731
77322008-02-01 Jason Rumney <jasonr@gnu.org>
7733
7734 * w32font.h: New file.
7735
7736 * w32font.c: Include it.
7737 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7738 (w32font_open): Set owning_frame.
7739 (w32font_text_extents): Use owning_frame.
7740 (struct font_callback_data): Add opentype_only field.
7741 (add_font_entity_to_list): Use it to filter fonts.
7742 Don't check against full name.
7743 (w32font_list_internal): New function.
7744 (w32font_list): Use it.
7745 (w32font_match_internal): New function.
7746 (w32font_match): Use it.
7747 (w32font_open_internal): New function.
7748 (w32font_open): Use it.
7749 (w32font_get_cache, w32font_close, w32font_has_char)
7750 (w32font_encode_char, w32font_text_extents, w32font_draw):
7751 Make non-static.
7752
7753 * makefile.w32-in (w32font.o): Depend on w32font.h.
7754
77552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7756
7757 * charset.c (Fdefine_charset_internal): Record a supplementary
7758 charset at the tail of Vcharset_order_list.
7759
7760 * font.c (Ffont_shape_text): Fix the return value.
7761
7762 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7763
7764 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7765
77662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7767
7768 * ftfont.c (struct OpenTypeSpec): New struct.
7769 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7770 (ftfont_get_open_type_spec): New function.
7771 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7772
7773 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7774
77752008-02-01 Jason Rumney <jasonr@gnu.org>
7776
7777 * w32font.c (add_font_entity_to_list): Compare only the beginning
7778 of full name.
7779
77802008-02-01 Kenichi Handa <handa@m17n.org>
7781
7782 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7783 Never return HANDLED_RECOMPUTE_PROPS.
7784
77852008-02-01 Kenichi Handa <handa@m17n.org>
7786
7787 * font.c (font_gstring_produce): Delete it.
7788
7789 * composite.h (COMPOSITION_METHOD):
7790 Handle COMPOSITION_WITH_GLYPH_STRING.
7791
77922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7793
7794 * xfont.c (Qx): Delete.
7795 (syms_of_xfont): Don't initialize Qx.
7796
7797 * composite.h (enum composition_method):
7798 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7799
78002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7801
7802 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7803 (choose_face_font): Accept new form of font-spec.
7804
7805 * frame.h (font_driver_list): Declare it unconditionally.
7806 (struct frame): Define members font_driver_list and font_data_list
7807 unconditionally.
7808
7809 * fontset.c: Include "font.h" unconditionally.
7810 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7811 (Fset_fontset_font): Accept a font-spec object.
7812
7813 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7814 PIXEL_SIZE part a wild card.
7815
7816 * dispextern.h (struct glyph_string): Define members clip and
7817 num_clips unconditionally.
7818 (struct face): Define members font_info and extra unconditionally.
7819
7820 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7821 ftfont_info only when HAVE_LIBOTF is defined.
7822
78232008-02-01 Andreas Schwab <schwab@suse.de>
7824
7825 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7826 and end.
7827
78282008-02-01 Jason Rumney <jasonr@gnu.org>
7829
7830 * w32font.c (w32font_driver): Add new fields.
7831
78322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7833
7834 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7835 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7836 (LIBES): Add @M17N_FLT_CFLAGS@.
7837
7838 * composite.c (compose_text): Don't treat the new style
7839 composition specially.
7840
7841 * emacs.c (main): Call syms_of_font unconditionally.
7842
7843 * font.h (FONT_ENTITY_NOT_LOADABLE)
7844 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7845 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7846 (struct font_driver): New member shape.
7847 (font_registry_charsets): Extern it.
7848 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7849 (font_otf_capability, font_drive_otf): Delete their externs.
7850
7851 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7852 (font_charset_alist, font_registry_charsets): Move from xfont.c
7853 and rename.
7854 (font_prop_validate_otf): New function.
7855 (font_property_table): Register it for QCotf.
7856 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7857 (font_drive_otf): Delete.
7858 (font_prepare_composition): New arg F. Adjust for the change of
7859 lispy gstring.
7860 (font_find_for_lface): New arg C.
7861 (font_load_for_face): Adjust for the change of font_find_for_lface.
7862 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7863 lispy gstring.
7864 (Ffont_shape_text): New function.
7865 (Fopen_font): If the font size is not given, use 12-pixel.
7866 (Ffont_at): New arg STRING.
7867 (syms_of_font): Initalize font_charset_alist.
7868 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7869 conditionally.
7870
7871 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7872 fonts of the same font-spec. Change the format of RFONT-DEF.
7873 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7874 Adjust for the change of RFONT-DEF.
7875 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7876
7877 * ftfont.h: New file.
7878
7879 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7880 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7881 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7882 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7883 font_otf_capability and font_drive_otf, set ftfont_shape.
7884 (ftfont_list): Adjust for the change of :otf property value.
7885 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7886 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7887 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7888 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7889 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7890 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7891
7892 * w32term.c (x_draw_composite_glyph_string_foreground):
7893 Adjust for the change of lispy gstring.
7894
7895 * xdisp.c (handle_composition_prop): Adjust for the change of
7896 lispy gstring. Call a function for auto-composition with the
7897 third arg it->window.
7898 (fill_composite_glyph_string): Adjust for the change of lispy string.
7899 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7900
7901 * xfaces.c (set_font_frame_param): Adjust for the change of
7902 font_find_for_lface.
7903
7904 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7905 (xfont_registry_charsets): Likewise. Change caller.
7906 (syms_of_xfont): Don't handle x_font_charset_alist.
7907
7908 * xftfont.c: Include "ftfont.h".
7909 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7910 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7911 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7912 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7913 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7914 Set xftfont_driver.shape to xftfont_shape.
7915
7916 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7917 the change of lispy gstring.
7918
79192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7920
7921 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7922
79232008-02-01 Jason Rumney <jasonr@gnu.org>
7924
7925 * w32font.c (w32font_draw): Fill background manually.
7926
79272008-02-01 Jason Rumney <jasonr@gnu.org>
7928
7929 * font.c (Qfontp): Remove unused symbol.
7930 (QCantialias): New symbol.
7931 (syms_of_font): Define it.
7932 (font_property_table): Set a validator for QCantialias.
7933
7934 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7935 Define if not already.
7936 (QCfamily): Share with xfaces.c.
7937 (Qstandard, Qsubpixel, Qnatural): New symbols.
7938 (syms_of_w32font): Define them. Don't define QCfamily here.
7939 (w32_antialias_type, lispy_antialias_type): New functions.
7940 (w32_enumfont_pattern_entity): New arg requested_font.
7941 Set antialias parameter if non-default was requested.
7942 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7943
79442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7945
7946 * lread.c (read1): Undo the previous change.
7947
79482008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7949
7950 * frame.c (Fdelete_frame): Call font_update_drivers only when
7951 USE_FONT_BACKEND is defined.
7952
79532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7954
7955 * font.h (struct font_bitmap): New member bits_per_pixel.
7956 (struct font_driver): New members start_for_frame and end_for_frame.
7957 (struct font_data_list): New struct.
7958 (font_put_frame_data, font_get_frame_data): Extern them.
7959
7960 * frame.h (struct frame): New member font_data_list.
7961
7962 * font.c (font_update_drivers): Call driver->start_for_frame and
7963 driver->end_for_frame at proper timings.
7964 (font_put_frame_data, font_get_frame_data): New functions.
7965 (Ffont_spec): Add usage in the docstring.
7966
7967 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7968 (Fdelete_frame): Call font_update_drivers.
7969
7970 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7971 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7972 (xftfont_get_xft_draw): New function.
7973 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7974 (xftfont_end_for_frame): New function.
7975 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7976
7977 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7978 Change argument. Cache GCs in the per-frame data.
7979 (struct ftxfont_frame_data): New struct.
7980 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7981 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7982 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7983 (ftxfont_end_for_frame): New function.
7984 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7985
7986 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7987
79882008-02-01 Kenichi Handa <handa@m17n.org>
7989
7990 * xselect.c (Vselection_coding_system)
7991 (Vnext_selection_coding_system): Delete them.
7992 (syms_of_xselect): Don't declare selection-coding-system and
7993 next-selection-coding-system. They are declared in select.el.
7994
79952008-02-01 Jason Rumney <jasonr@gnu.org>
7996
7997 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7998
7999 * w32fns.c: Include imm.h.
8000 (get_composition_string_fn, get_ime_context_fn): New optional
8001 system functions.
8002 (globals_of_w32fns): Load them from imm32.dll.
8003 (ignore_ime_char): New flag.
8004 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8005 WM_IME_ENDCOMPOSITION messages.
8006
8007 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8008 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8009
80102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8011
8012 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8013 (READCHAR_REPORT_MULTIBYTE): New macro.
8014 (readchar): New 2nd arg MULTIBYTE.
8015 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8016 Make symbol's name multibyte according to the multibyteness of the
8017 source.
8018
80192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8020
8021 * xfaces.c (face_for_overlay_string): Call lookup_face with
8022 correct arguments (fix of synching with the trunk).
8023
80242008-02-01 Kenichi Handa <handa@m17n.org>
8025
8026 * font.c (font_prop_validate_symbol, font_prop_validate_style)
8027 (font_prop_validate_non_neg, font_prop_validate_spacing):
8028 Delete argument prop_index.
8029 (font_property_table): Change arguments to validater. Change Callers.
8030 (font_lispy_object): Delete.
8031 (font_at): Use font_find_object instead fo font_lispy_object.
8032
80332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8034
8035 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8036 and file names.
8037
80382008-02-01 Jason Rumney <jasonr@gnu.org>
8039
8040 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8041 (font_matches_spec): Remove debug output.
8042 (add_font_entity_to_list): Avoid using substituted fonts.
8043
80442008-02-01 Jason Rumney <jasonr@gnu.org>
8045
8046 * doc.c (Fsnarf_documentation):
8047 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8048
80492008-02-01 Miles Bader <miles@gnu.org>
8050
8051 * dispextern.h (struct glyph_row): Only define "clip" field if
8052 HAVE_WINDOW_SYSTEM is defined.
8053
80542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8055
8056 Fix up multi-tty merge.
8057
8058 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8059 and indentation.
8060
8061 * xfaces.c (free_realized_face, clear_face_gcs):
8062 Include font_done_for_face in the input_blocked section, just in case.
8063
8064 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8065 (get_char_face_and_encoding): Undo last change and remove the *other*
8066 duplicate definition (i.e. keep the one that's better scoped and that
8067 includes code for the font-backend).
8068
8069 * terminal.c (create_terminal): Default keyboard_coding to
8070 `no-conversion' and terminal_coding to `undecided'.
8071
8072 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8073
8074 * fontset.c (free_realized_fontsets): Check that the table entry does
8075 contain a fontset before trying to compare it to `base'.
8076
8077 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8078 syms_of_charset, and syms_of_coding earlier because init_window_once
8079 now needs Vcoding_system_hash_table to be setup.
8080
8081 * coding.h (default_buffer_file_coding): Remove.
8082
8083 * coding.c (default_buffer_file_coding): Remove.
8084 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8085 than ->symbol, and use the terminal-local coding system.
8086 (syms_of_coding): Don't setup the coding-systems that are not
8087 terminal-local.
8088 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8089
8090 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8091 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8092
8093 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8094 in chartab.c and were re-added here by mistake.
8095 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8096
8097 * doc.c (Fsnarf_documentation):
8098 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8099 src to etc.
8100
8101 * ChangeLog.10: Add mistakenly removed entry.
8102
81032008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8104
8105 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8106
81072008-02-01 Miles Bader <miles@gnu.org>
8108
8109 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8110 Add extra args to FACE_FOR_CHAR.
8111
81122008-02-01 Kenichi Handa <handa@m17n.org>
8113
8114 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8115 in sequence.
8116
8117 * chartab.c (map_sub_char_table, map_char_table): If the range
8118 contains just one character, call the function with that character
8119 even if the depth is not 3.
8120
81212008-02-01 Jason Rumney <jasonr@gnu.org>
8122
8123 * w32font.c (w32font_text_extents): Calculate metrics for the
8124 whole string.
8125
81262008-02-01 Jason Rumney <jasonr@gnu.org>
8127
8128 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8129
81302008-02-01 Jason Rumney <jasonr@gnu.org>
8131
8132 * w32term.c (x_set_glyph_string_clipping): Use
8133 get_glyph_string_clip_rects.
8134 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8135 Adjust for the change of struct glyph_string.
8136
8137 * w32font.c (w32font_draw): Do clipping here.
8138
81392008-02-01 Kenichi Handa <handa@m17n.org>
8140
8141 * xftfont.c (xftfont_draw): Adjust for the change of struct
8142 glyph_string.
8143
8144 * xterm.c (x_set_glyph_string_clipping): Use
8145 get_glyph_string_clip_rects.
8146 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8147 Adjust for the change of struct glyph_string.
8148
8149 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8150 the resulting clip(s}.
8151 (expose_overlaps): Add arg r. Change callers. Set it to
8152 row->clip temporarily.
8153 (expose_window): Redraw rows overlapping the exposed area.
8154
8155 * dispextern.h (struct glyph_row): New member clip.
8156 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8157 clip_height, new member clip, and num_clips.
8158
81592008-02-01 Kenichi Handa <handa@m17n.org>
8160
8161 * data.c (Fchar_or_string_p): Fix docstring.
8162
81632008-02-01 Kenichi Handa <handa@m17n.org>
8164
8165 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8166 create a temporary XftDraw object.
8167
81682008-02-01 Kenichi Handa <handa@m17n.org>
8169
8170 * font.c (Ffontp): Fix docstring.
8171
8172 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8173 strong evidence of ISO-2022.
8174
81752008-02-01 Kenichi Handa <handa@m17n.org>
8176
8177 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8178 SYNTAX_ENTRY_FOLLOW_PARENT.
8179
81802008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8181
8182 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8183 its type.
8184 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8185 Update to the new type of weak_hash_tables and next_weak.
8186
8187 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8188 a plain C pointer to Lisp_Hash_Table.
8189
8190 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8191 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8192 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8193 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8194 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8195 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8196 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8197 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8198 (GC_EQ): Remove since they've been identical to their non-GC_
8199 alter-egos ever since the markbit was eradicated.
8200
8201 * alloc.c:
8202 * buffer.c:
8203 * buffer.h:
8204 * data.c:
8205 * fileio.c:
8206 * filelock.c:
8207 * fns.c:
8208 * frame.h:
8209 * lisp.h:
8210 * macterm.c:
8211 * print.c:
8212 * process.c:
8213 * w32fns.c:
8214 * w32menu.c:
8215 * w32term.c:
8216 * xfns.c:
8217 * xmenu.c:
8218 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8219
82202008-02-01 Kenichi Handa <handa@m17n.org>
8221
8222 * chartab.c (map_sub_char_table): Make it work for the top-level
8223 char-table. Fix handling of parent char-table.
8224 (map_char_table): Adjust for the above change.
8225
82262008-02-01 Jason Rumney <jasonr@gnu.org>
8227
8228 * w32font.c (Qgdi): Rename from Qw32.
8229
82302008-02-01 Jason Rumney <jasonr@gnu.org>
8231
8232 * w32bdf.c (get_quoted_string): Make function static.
8233
82342008-02-01 Kenichi Handa <handa@m17n.org>
8235
8236 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8237 bigger ascent and descent than those of the font, use them as
8238 font's ascent and descent.
8239
82402008-02-01 Kenichi Handa <handa@m17n.org>
8241
8242 * Makefile.in (${lispsource}international/charprop.el): Move this
8243 target within "#ifdef HAVE_UNIDATA" and "#endif".
8244
82452008-02-01 Kenichi Handa <handa@m17n.org>
8246
8247 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8248 (shortlisp): Add ../lisp/language/tai-viet.el.
8249
82502008-02-01 Ulrich Mueller <ulm@gentoo.org>
8251
8252 * Makefile.in (${lispsource}international/charprop.el): Depend on
8253 temacs${EXEEXT}.
8254
82552008-02-01 Jason Rumney <jasonr@gnu.org>
8256
8257 * w32font.c (w32font_close): Delete the GDI font object.
8258
8259 * w32menu.c: Include character.h.
8260
8261 * w32proc.c: Likewise.
8262
8263 * w32select.c: Likewise.
8264
8265 * makefile.w32-in (w32proc.o): Depend on character.h.
8266
82672008-02-01 Jason Rumney <jasonr@gnu.org>
8268
8269 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8270
8271 * w32menu.c (syms_of_w32menu): Likewise.
8272
8273 * w32proc.c (syms_of_ntproc): Likewise.
8274
8275 * w32select.c (syms_of_w32select): Likewise.
8276
8277 * w32term.c (syms_of_w32term): Likewise.
8278
82792008-02-01 Jason Rumney <jasonr@gnu.org>
8280
8281 * w32font.c (w32font_draw): Delete brush after using it.
8282
82832008-02-01 Jason Rumney <jasonr@gnu.org>
8284
8285 * w32font.c (w32font_open): Don't set font_idx.
8286 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8287 to font settings.
8288 (w32font_draw): Fill background explicitly.
8289
82902008-02-01 Jason Rumney <jasonr@gnu.org>
8291
8292 * w32term.c (w32_initialize): Don't call w32font_initialize.
8293
8294 * w32font.c (w32font_info): Remove subranges.
8295 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8296 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8297 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8298 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8299 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8300 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8301 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8302 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8303 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8304 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8305 New symbols.
8306 (font_callback_data): New struct.
8307 (w32font_list, w32font_match): Use it.
8308 (w32font_open): Don't populate subranges.
8309 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8310 (w32font_encode_char): Always return unicode code-point as-is.
8311 (w32font_text_extents): Supply a transformation matrix to
8312 GetGlyphOutline. Never look up by glyph index. Avoid looping
8313 twice. Use unicode version of GetTexExtentPoint32 instead of
8314 glyph index version.
8315 (set_fonts_frame): Remove.
8316 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8317 set frame parameter. Use backward compatible fake foundries.
8318 Save generic family in extra slot under QCfamily. Make width slot
8319 constant. Save QCspacing value. Save list of scripts instead of
8320 binary subranges.
8321 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8322 (add_font_entity_to_list): Use font_callback_data struct. Filter
8323 unwanted fonts.
8324 (add_one_font_entity_to_list): Use font_callback_data struct.
8325 (w32_registry): Default to iso10646_1.
8326 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8327 string font registries. Don't fill in font name if it is a generic
8328 family name, fill family instead. Use spacing, family and script
8329 extra info to fill pitch, family and charset fields.
8330 (list_all_matching_fonts): Use font_callback_data struct.
8331 (unicode_range_for_char): Remove.
8332 (font_supported_scripts): New function.
8333 (w32font_initialize): Remove.
8334 (syms_of_w32font): Update which symbols are defined.
8335
83362008-02-01 Jason Rumney <jasonr@gnu.org>
8337
8338 * font.c (font_pixel_size): Reverse assq_no_quit args.
8339
8340 * w32term.h (FONT_WIDTH): Report max width, not average.
8341 (FONT_MAX_WIDTH): Remove.
8342 (FONT_AVG_WIDTH): New macro.
8343
8344 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8345 redefinition of FONT_WIDTH.
8346
8347 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8348 (w32_cache_char_metrics): Use FONT_WIDTH.
8349
8350 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8351
83522008-02-01 Jason Rumney <jasonr@gnu.org>
8353
8354 * w32font.c (w32font_open): Make lfHeight negative.
8355
8356 * w32fns.c (x_default_font_parameter): Use new style font name.
8357 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8358
83592008-02-01 Jason Rumney <jasonr@gnu.org>
8360
8361 * w32font.c (QCsubranges): New symbol.
8362 (w32font_open, w32font_has_char): Get subranges from subproperty
8363 of extra.
8364 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8365 (syms_of_w32font): Define :subranges symbol.
8366
8367 * font.c (font_put_extra): Expose externally.
8368
8369 * font.h (font_put_extra): Move declaration from font.c.
8370
8371 * font.c (Ffont_get): Use font driver to determine otf capability.
8372 (adjust_anchor): Check if driver defines anchor_point before using.
8373
8374 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8375 (w32font_draw): Use options.
8376 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8377 Fix detection of truetype fonts.
8378 (registry_to_w32_charset): Handle charsets other than iso8859-1
8379 expressed as lisp symbols.
8380 (w32_registry): Express charset as lisp symbol.
8381 (fill_in_logfont): Reverse pixel and point height logic.
8382 Don't set width here. Set quality to default.
8383
8384 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8385 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8386
8387 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8388 Remove redundant loop and allocation.
8389
8390 * makefile.w32-in (font.o, w32font.o): New objects.
8391 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8392 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8393
8394 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8395 STORE_XCHARB a valid l-value.
8396
8397 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8398 calculations for non-Truetype fonts.
8399 (x_draw_glyph_string): Sync with xterm.c.
8400 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8401 Remove redundant code.
8402 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8403
8404 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8405 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8406
8407 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8408 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8409
8410 * w32font.c: New file for w32 font backend.
8411
84122008-02-01 Kenichi Handa <handa@m17n.org>
8413
8414 * term.c: Don't include "buffer.h" twice.
8415
84162008-02-01 Kenichi Handa <handa@m17n.org>
8417
8418 * character.c (Funibyte_string): New function.
8419 (syms_of_character): Defsubr it.
8420
84212008-02-01 Jason Rumney <jasonr@gnu.org>
8422
8423 * w32term.c [USE_FONT_BACKEND]:
8424 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8425 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8426 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8427 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8428 (x_free_frame_resources): Sync with xterm.c.
8429
84302008-02-01 Andreas Schwab <schwab@suse.de>
8431
8432 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8433 char-table size.
8434
84352008-02-01 Kenichi Handa <handa@m17n.org>
8436
8437 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8438
84392008-02-01 Kenichi Handa <handa@m17n.org>
8440
8441 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8442 font_otf_gpos, add font_drive_otf.
8443
8444 * fontset.c (fontset_find_font): Pay attention to font size
8445 specified for a font.
8446 (reorder_font_vector): Check contents of font_def.
8447
8448 * font.c (struct otf_list): Delete it.
8449 (otf_list): Make it a lisp variable.
8450 (otf_open): Use lispy otf_list.
8451 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8452 (check_otf_features): New function.
8453 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8454 New functions.
8455 (font_drive_otf): New function merging font_otf_gsub and
8456 font_otf_gpos.
8457 (font_open_for_lface): New arg spec. Change argument order.
8458 (font_load_for_face): Adjust for the change of font_open_for_lface.
8459 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8460 Ffont_otf_gpos.
8461 (syms_of_font): Staticpro otf_list. Delete defsubr of
8462 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8463
8464 * xfaces.c (set_font_frame_param): Adjust for the change of
8465 font_open_for_lface.
8466
8467 * font.h (font_open_for_lface): Adjust prototype.
8468 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8469 member otf_drive.
8470 (font_otf_gsub, font_otf_gpos): Delete externs.
8471 (font_drive_otf): Extern it.
8472
84732008-02-01 Kenichi Handa <handa@m17n.org>
8474
8475 * font.c (font_at): If the window W is not on a window system,
8476 return Qnil.
8477
8478 * coding.c (produce_chars, encode_coding): Don't call
8479 insert_from_gap if no characters to produce.
8480
84812008-02-01 Kenichi Handa <handa@m17n.org>
8482
8483 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8484 Fclear_face_cache.
8485
8486 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8487
84882008-02-01 Miles Bader <miles@gnu.org>
8489
8490 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8491 Parse "--disable-font-backend" option.
8492 (standard_args): Add "--disable-font-backend" option.
8493
84942008-02-01 Kenichi Handa <handa@m17n.org>
8495
8496 * fontset.c (fontset_find_font): New function.
8497 (fontset_font): Use fontset_find_font.
8498 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8499 Register the specified font for all Latin characters.
8500 (new_fontset_from_font): Register the specified font for all Latin
8501 characters.
8502 (dump_fontset): For a realized fontset, include the base fontset
8503 name in the returned vector.
8504
85052008-02-01 Kenichi Handa <handa@m17n.org>
8506
8507 * character.h (CHAR_STRING): Cast C to unsigned on calling
8508 char_string.
8509
8510 * character.c (char_string): Type of arg C changed to unsigned.
8511 Signal an error if C is an invalid character code.
8512
8513 * editfns.c (general_insert_function, Fchar_to_string):
8514 Use CHARACTERP, not INTEGERP.
8515
85162008-02-01 Kenichi Handa <handa@m17n.org>
8517
8518 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8519 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8520
8521 * regex.c (analyse_first): Fix for multibyte characters in "case
8522 charset:" and "case categoryspec:".
8523
85242008-02-01 Andreas Schwab <schwab@suse.de>
8525
8526 * Makefile.in (LIBES): Move standard libraries to the end.
8527
85282008-02-01 Kenichi Handa <handa@m17n.org>
8529
8530 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8531 nonzero, don't shrink the buffer nextb.
8532
8533 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8534
8535 * coding.c (coding_alloc_by_making_gap): New arg offset.
8536 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8537 offset.
8538 (decode_coding_iso_2022): Update coding->safe_charsets.
8539 (decode_coding_gap): Temporarily set
8540 current_buffer->text->inhibit_shrinking to 1.
8541
85422008-02-01 Kenichi Handa <handa@m17n.org>
8543
8544 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8545 indexing into elements of s->cmp and s->char2b.
8546
85472008-02-01 Juanma Barranquero <lekktu@gmail.com>
8548
8549 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8550
85512008-02-01 Kenichi Handa <handa@m17n.org>
8552
8553 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8554 target_multibyte instead of multibyte.
8555 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8556 (bcmp_translate): Change the argument name from multibyte to
8557 target_multibyte.
8558
85592008-02-01 Kenichi Handa <handa@m17n.org>
8560
8561 These changes are to compile a regexp into a pattern that can be
8562 used both for multibyte and unibyte targets.
8563
8564 * Makefile.in (search.o): Depend on charset.h.
8565
8566 * character.c (multibyte_char_to_unibyte_safe): New function.
8567
8568 * search.c: Include "charset.h".
8569 (compile_pattern_1): Delete argument multibyte. Don't set
8570 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8571 (compile_pattern): Don't compare cp->buf.target_multibyte.
8572 Compare cp->buf.charset_unibyte.
8573 (compile_pattern): Set cp->buf.target_multibyte.
8574
8575 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8576
8577 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8578
8579 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8580 multibyte. Change callers.
8581 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8582 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8583 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8584 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8585 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8586 (regex_compile): Make the compiled pattern usable both for
8587 multibyte and unibyte targets.
8588 (analyse_first): Make the fastmap usable both for multibyte and
8589 unibyte targets.
8590 (TRANSLATE_VIA_MULTIBYTE): Delete.
8591 (re_match_2_internal): Pay attention to the case that the
8592 multibyteness of bufp and target may be different.
8593
85942008-02-01 Kenichi Handa <handa@m17n.org>
8595
8596 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8597 empty box occupy at least one column width.
8598
85992008-02-01 Miles Bader <miles@gnu.org>
8600
8601 * Makefile.in: Remove redundant HAVE_XFT clause.
8602
86032008-02-01 Kenichi Handa <handa@m17n.org>
8604
8605 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8606
86072008-02-01 Kenichi Handa <handa@m17n.org>
8608
8609 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8610 being nil.
8611
86122008-02-01 Kenichi Handa <handa@m17n.org>
8613
8614 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8615
86162008-02-01 Kenichi Handa <handa@m17n.org>
8617
8618 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8619
86202008-02-01 Kenichi Handa <handa@m17n.org>
8621
8622 * search.c (simple_search): Fix previous change.
8623
86242008-02-01 Kenichi Handa <handa@m17n.org>
8625
8626 * xftfont.c (ftfont_font_format): Extern declaration.
8627
8628 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8629
8630 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8631 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8632
8633 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8634 (ftfont_font_format): Fix previous change.
8635
8636 * font.h (Ffont_xlfd_name): EXFUN it.
8637
8638 * font.c (font_parse_xlfd): Fix the array size of `f'.
8639 (register_font_driver): Use EQ to compare driver->type.
8640
8641 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8642 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8643 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8644
86452008-02-01 Kenichi Handa <handa@m17n.org>
8646
8647 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8648 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8649
86502008-02-01 Kenichi Handa <handa@m17n.org>
8651
8652 * xfont.c (xfont_open): Set font->format.
8653
8654 * xftfont.c (xftfont_open): Set font->format.
8655
8656 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8657 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8658 (ftfont_open): Set font->format.
8659 (ftfont_font_format): New function.
8660
8661 * font.h (struct font): New member format.
8662
8663 * font.c (Qopentype): New variable.
8664 (syms_of_font): Defsym it.
8665 (Fquery_font): Change the format of the last element of the return
8666 value.
8667
86682008-02-01 Kenichi Handa <handa@m17n.org>
8669
8670 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8671 last resort.
8672
86732008-02-01 Kenichi Handa <handa@m17n.org>
8674
8675 * coding.c (detect_coding_charset): Fix detection of multi-byte
8676 charset.
8677
86782008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8679
8680 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8681
86822008-02-01 Kenichi Handa <handa@m17n.org>
8683
8684 * xdisp.c (get_next_display_element): Set it->face_id for the
8685 first component of a composition.
8686 (x_produce_glyphs): Check if the font is changed or not for composition.
8687
86882008-02-01 Kenichi Handa <handa@m17n.org>
8689
8690 * fontset.c (Qlatin): New variable.
8691 (syms_of_fontset): Define it as a lisp symbol.
8692 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8693
86942008-02-01 Kenichi Handa <handa@m17n.org>
8695
8696 * font.c (font_unparse_fcname): Pay attention to the case that
8697 some of font property is a null string.
8698
86992008-02-01 Kenichi Handa <handa@m17n.org>
8700
8701 * term.c: Include "composite.h".
8702 (encode_terminal_code): Output all components of composition.
8703 Check the size of encode_terminal_src.
8704 (produce_glyphs): For composition, call produce_composite_glyph.
8705 (append_composite_glyph, produce_composite_glyph): New functions.
8706
8707 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8708 is not found, get font_info from the current ascii face.
8709
87102008-02-01 Kenichi Handa <handa@m17n.org>
8711
8712 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8713 buffer-file-name to Qnil before calling insert_from_buffer.
8714
8715 * font.c (font_unparse_fcname): Pay attention to the case that
8716 foundry is a null string.
8717
87182008-02-01 Kenichi Handa <handa@m17n.org>
8719
8720 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8721
8722 * font.c (Qunicode_sip): New variable.
8723 (syms_of_font): Declare it as a Lisp symbol.
8724
8725 * font.h (Qunicode_sip): Extern it.
8726
87272008-02-01 Kenichi Handa <handa@m17n.org>
8728
8729 * composite.c (get_composition_id): Pay attention to TAB component.
8730
8731 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8732 TAB. Adjust for the change of s->char2b which always points to
8733 the first element of allocated memory.
8734
8735 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8736
8737 * xdisp.c (handle_composition_prop): Set it->c to the first
8738 non-TAB component.
8739 (fill_composite_glyph_string): Change argument.
8740 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8741 (x_produce_glyphs): Fix handling of left/right padding.
8742
87432008-02-01 Kenichi Handa <handa@m17n.org>
8744
8745 * coding.c (detect_coding_system): Fix for handling off
8746 inhibit_iso_escape_detection. Fix for the case that no coding
8747 system is defined for a specific coding category.
8748
87492008-02-01 Kenichi Handa <handa@m17n.org>
8750
8751 * font.c (font_matching_entity): Delete unused local var.
8752
8753 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8754 opening a font.
8755
8756 * fileio.c (Finsert_file_contents): On recovering a file, assume
8757 Unix-like eol.
8758 (choose_write_coding_system): On auto-saving a file, force
8759 Unix-like eol.
8760
8761 * coding.c (setup_coding_system): Fix setting of
8762 coding->common_flags based on eol_type.
8763 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8764 inherit from it.
8765
87662008-02-01 Kenichi Handa <handa@m17n.org>
8767
8768 * alloc.c (NSTATICS): Increas to 0x600.
8769
87702008-02-01 Kenichi Handa <handa@m17n.org>
8771
8772 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8773 (ftfont_list): Don't check :name property.
8774 (ftfont_match): New function.
8775 (ftfont_pattern_entity): If the pattern doesn't contain
8776 FC_SPACING, don't assume FC_MONO.
8777
8778 * font.h (struct font_driver): New member `match'.
8779 (font_update_drivers): Adjust prototype.
8780
8781 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8782 property of FONT.
8783 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8784 them unconditionally.
8785 (font_matching_entity): New function.
8786 (font_open_by_name): Try font_matching_entity if exact match is
8787 not found.
8788 (font_update_drivers): Delete the arg FONT. Return a list of
8789 actually used backends. Don't free faces, font caches here.
8790 Don't store data in frame parameters. Don't call x_set_font.
8791 (Ffont_spec): Store :name property as is.
8792 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8793 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8794 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8795 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8796 Call font->driver->otf_gsub instead of font_otf_gsub.
8797
8798 * frame.c (x_set_font_backend): Do more works that were done in
8799 font_update_drivers before.
8800
8801 * xfont.c (xfont_match): New function.
8802 (xfont_driver): Set xfont_driver.match to xfont_match.
8803 (xfont_draw): Set font in GC if necessary.
8804
8805 * ftxfont.c (ftxfont_match): New function.
8806 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8807
8808 * xftfont.c (xftfont_match): New function.
8809 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8810
88112008-02-01 Kenichi Handa <handa@m17n.org>
8812
8813 * font.h (struct font): New member scalable.
8814 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8815 (font_otf_gsub): Adjust prototype.
8816
8817 * font.c (font_otf_capability): Fix handling of the default langsys.
8818 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8819 Check the contents of SPEC.
8820 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8821 (check_gstring): New function.
8822 (REPLACEMENT_CHARACTER): New macro.
8823 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8824 glyph codes of GSTRING.
8825 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8826 (font_prepare_composition): Set cmp->glyph_len.
8827 (font_open_entity): Set font->scalable.
8828 (Ffont_get): Handle :otf property.
8829 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8830 functions.
8831 (Fquery_font): Use font->font.full_name.
8832 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8833 Sfont_otf_alternates.
8834
8835 * ftfont.c (ftfont_open): Set font->font.full_name and
8836 font->font.name properly. Fix calculation of font->font.height
8837 and font->min_width.
8838
8839 * ftxfont.c (ftxfont_create_gcs): New function.
8840 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8841 (ftxfont_draw_backgrond): Fix filling region.
8842 (ftxfont_default_fid): New function.
8843 (ftxfont_open): Set xfont->fid to the return value of
8844 ftxfont_default_fid.
8845 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8846 (ftxfont_done_face): Free only GCs that are created by
8847 ftxfont_create_gcs.
8848 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8849
8850 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8851 Clip to src->width, etc (not src->clip_XXX).
8852
8853 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8854 FontBackend frame parameter.
8855
88562008-02-01 Kenichi Handa <handa@m17n.org>
8857
8858 * font.h (struct font_driver_list): New member `on'.
8859 (Fclear_font_cache): EXFUN it.
8860 (font_update_drivers): Extern it.
8861
8862 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8863 (font_list_entities): Check driver_list->on.
8864 (register_font_driver): Initalize `on' member to 0.
8865 (font_update_drivers): New function.
8866 (Fclear_font_cache): Check driver_list->on.
8867
8868 * frame.h (Qfont_backend): Extern it.
8869 (x_set_font_backend): Extern it.
8870
8871 * frame.c (Qfont_backend): New variable.
8872 (frame_parms): New element for font-backend.
8873 (x_set_font_backend): New function.
8874
8875 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8876 FontBackend frame parameter.
8877 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8878 x_set_font_backend.
8879
8880 * xfont.c (xfont_list): Don't try listing by :name property if the
8881 name is not for XLFD.
8882
88832008-02-01 Kenichi Handa <handa@m17n.org>
8884
8885 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8886 (LGLYPH_SET_TO): New macros.
8887 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8888 element of G is vector or not.
8889 (font_at): Extern it.
8890
8891 * font.c: Include window.h.
8892 (font_lispy_object): New function.
8893 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8894 end of valid glyph.
8895 (font_close_object): Fix getting (struct font *).
8896 (font_at): New function.
8897 (Ffont_get): If FONT is a font-object, get entity from it.
8898 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8899 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8900 range check.
8901 (Ffont_at): New function.
8902 (syms_of_font): Defsubr Sfont_at.
8903
8904 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8905 before the entry for Qcomposition.
8906 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8907 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8908 the font in gstring.
8909 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8910 LGLYPH_FORM (g) to detect the end of valid glyph.
8911 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8912 we are composing with gstring.
8913
8914 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8915 Check if adjustment is vector or not.
8916
8917 * Makefile.in (font.o): Make it depends on window.h.
8918
89192008-02-01 Kenichi Handa <handa@m17n.org>
8920
8921 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8922 adjustment is vector or not.
8923
89242008-02-01 Miles Bader <miles@gnu.org>
8925
8926 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8927
89282008-02-01 Kenichi Handa <handa@m17n.org>
8929
8930 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8931 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8932 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8933
8934 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8935 (DEVICE_DELTA): Fix typo.
8936 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8937 LGLYPH format.
8938
8939 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8940 the change of LGLYPH format.
8941
89422008-02-01 Kenichi Handa <handa@m17n.org>
8943
8944 * ftfont.c (ftfont_list): Fix typo.
8945 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8946
89472008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8948
8949 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8950
8951 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8952 xftface_info is non-NULL.
8953
89542008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8955
8956 * ftfont.c (ftfont_list): Move misplaced #endif.
8957
89582008-02-01 Kenichi Handa <handa@m17n.org>
8959
8960 * ftfont.c (ftfont_list): Pay attention to the case that
8961 FC_CAPABILITY is not defined.
8962
89632008-02-01 Kenichi Handa <handa@m17n.org>
8964
8965 * xftfont.c (xftfont_open): Set charset related members to -1.
8966
8967 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8968 QCname.
8969 (ftfont_open): Set charset related members to -1.
8970
8971 * fontset.c (Votf_script_alist): New variable.
8972 (syms_of_fontset): Initialize it.
8973 (fontset_font): Delete unused variable.
8974
8975 * fontset.h (Votf_script_alist): Extern it.
8976
8977 * font.c (font_find_for_lface): Optimize code.
8978
8979 * font.h (font_close_object, font_merge_old_spec): Extern them.
8980
89812008-02-01 Kenichi Handa <handa@m17n.org>
8982
8983 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8984 (syms_of_font): Initialize them.
8985 (font_pixel_size): Allow float value in dpi.
8986 (font_prop_validate_type): Delete.
8987 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8988 Change caller.
8989 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8990 (font_prop_validate_extra): Delete.
8991 (font_prop_validate_spacing): New function.
8992 (font_property_table): Add elements for all known properties.
8993 (get_font_prop_index): Rename from check_font_prop_name. New
8994 argument FROM. Change caller.
8995 (font_prop_validate): Validate all known properties.
8996 (font_put_extra): Delete argument force. Change caller.
8997 (font_expand_wildcards): Make it static. Fix the way of shrinking
8998 the possible range.
8999 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9000 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9001 Change caller.
9002 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9003 (font_parse_fcname): Delete argument merge. Fix parsing of point
9004 size. Don't validate properties values here. Change caller.
9005 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9006 (font_open_by_name): Delete unused variable.
9007 (Ffont_spec): Likewise. Validate property values.
9008 (Ffont_match_p): New function.
9009
9010 * font.h (QCscalable): Extern it.
9011 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9012
9013 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9014
9015 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9016 (xfont_list_pattern): New function.
9017 (xfont_list): Use xfont_list_pattern.
9018
90192008-02-01 Kenichi Handa <handa@m17n.org>
9020
9021 * font.h (Flist_fonts): EXFUN it.
9022
90232008-02-01 Jason Rumney <jasonr@gnu.org>
9024
9025 * w32term.c (w32_initialize): Add back smoothing_type and
9026 smoothing_enabled definitions.
9027
90282008-02-01 Kenichi Handa <handa@m17n.org>
9029
9030 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9031 s->face->font on determining underline position.
9032
90332008-02-01 Kenichi Handa <handa@m17n.org>
9034
9035 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9036 (font_has_char): Accept font-object too.
9037 (font_find_for_lface): Try at first with a size specified in face.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9042 font_open_by_name.
9043
90442008-02-01 Kenichi Handa <handa@m17n.org>
9045
9046 * font.h (QCspacing, QCdpi): Extern them.
9047 (enum font_spacing): New enum.
9048 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9049
9050 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9051 (QCspacing, QCdpi): New variables.
9052 (syms_of_font): Initialize them.
9053 (font_pixel_size): New function.
9054 (font_put_extra): New function.
9055 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9056 in FONT_EXTRA.
9057 (font_parse_fcname): Handle enumerated values (e.g. bold).
9058 Fix handling font size. Add QCname property that contains only
9059 unknown properties.
9060 (font_score): Change argument. Change caller. Pay attention to
9061 FONT_PIXEL_SIZE_QUANTUM.
9062 (font_sort_entites, font_list_entities, font_find_for_lface)
9063 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9064 (Ffont_spec): Add QCname property that contains only unknown properties.
9065
9066 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9067 include weight in listing pattern, instead check weight of each
9068 listed font. Don't include scalable in pattern. Pay attention to
9069 FONT_PIXEL_SIZE_QUANTUM.
9070
90712008-02-01 Kenichi Handa <handa@m17n.org>
9072
9073 * font.c (font_parse_fcname): Fix parsing of point-size.
9074 (font_unparse_fcname): Produce symbolic names for style properties.
9075 (font_list_entities): Handle float size correctly.
9076 (font_open_by_name): Prefer `normal' property values if the name
9077 doesn't specify them.
9078
9079 * fontset.c (Finternal_char_font): Use font_get_name, not
9080 Ffont_xlfd_name.
9081
9082 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9083 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9084 pattern. Don't force scalable.
9085
9086 * xftfont.c (xftfont_open): For generating a name, start from
9087 96-byte buffer.
9088
90892008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9090
9091 * frame.h (x_new_fontset2): Fix prototype.
9092
90932008-02-01 Kenichi Handa <handa@m17n.org>
9094
9095 * font.h (struct font_driver): Delete member parse_name.
9096 (font_match_p, font_get_spec, font_parse_fcname)
9097 (font_unparse_fcname): Extern them.
9098 (font_get_name): Adjust prototype.
9099
9100 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9101 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9102 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9103 unnecessary checks for weight, slant, and swidth.
9104 (font_parse_fcname): New function.
9105 (font_unparse_fcname): New function.
9106 (font_parse_name): New function.
9107 (font_match_p): New function.
9108 (font_get_name): Change return value to Lisp string.
9109 (font_get_spec): New function.
9110 (Qunspecified, Qignore_defface): Don't extern them.
9111 (font_find_for_lface): Assume that LFACE is fully specified.
9112 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9113 object, use it for FACE.
9114 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9115 driver->parse_name.
9116 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9117
9118 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9119 prototype.
9120
9121 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9122 argument F. Don't call Fnew_fontset. Instead, directly call
9123 make_fontset.
9124
9125 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9126
9127 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9128 of x_new_fontset2.
9129
9130 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9131 (Qsans__serif): New variables.
9132 (ftfont_generic_family_list): New variable.
9133 (syms_of_ftfont): Initialize the above variables.
9134 (ftfont_pattern_entity): Delete argument NAME.
9135 (ftfont_list_generic_family): New function.
9136 (ftfont_parse_name): Delete this function.
9137 (ftfont_list): Try generic family only when FcFontList found no font.
9138 (ftfont_list_family): Fix args to FcObjectSetBuild.
9139
9140 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9141 object in attrs[LFACE_FONT_INDEX].
9142 (set_lface_from_font_name): Cancel all changes for font-backend.
9143 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9144 function.
9145 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9146 font object in QCfont attribute.
9147 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9148 (realize_default_face) [USE_FONT_BACKEND]: Call
9149 set_lface_from_font_and_fontset.
9150
9151 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9152 "fixed", and signal error here if no suitable font was found.
9153
9154 * xfont.c (xfont_parse_name): Delete this function.
9155
9156 * xftfont.c (xftfont_open): Change coding style of error
9157 handling. Generate fontconfig's fontname pattern.
9158
9159 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9160 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9161
9162 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9163 Both args FONTSET and FONT_OBJECT must be existing ones.
9164
91652008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9166
9167 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9168
91692008-02-01 Kenichi Handa <handa@m17n.org>
9170
9171 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9172
9173 * font.h (struct font): Fix typo.
9174
9175 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9176 XLFD_XXX_INDEX.
9177 (enum xlfd_field_mask): New enum.
9178 (intern_font_field): Changed argument. Change caller. If digits
9179 are followed by non-digits, return a symbol.
9180 (font_expand_wildcards): New function.
9181 (font_parse_xlfd): Fix wildcard handling.
9182 (Ffont_spec): If :name is specified, reflect the info in the other
9183 properties.
9184
9185 * ftfont.c (ftfont_pattern_entity): Fix typo.
9186 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9187 locale.
9188
91892008-02-01 Kenichi Handa <handa@m17n.org>
9190
9191 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9192
9193 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9194 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9195 registry doesn't specify encoding part.
9196 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9197 (font_open_by_name): At first try parsing the name.
9198 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9199 as Lisp symbols.
9200
9201 * fontset.c (reorder_font_vector): Pay attention to the case that
9202 the 3rd element of font_def is nil.
9203 (fontset_font): For the default fontset, append one more fontset
9204 elements for a script-based font specification. Don't add script
9205 attribute on finding a font.
9206 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9207 font name.
9208 (fontset_ascii_font): If a font can't be opened, return nil.
9209
9210 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9211 (ftfont_pattern_entity): New function.
9212 (ftfont_get_cache): Assume that freetype_font_cache is already
9213 initialized.
9214 (ftfont_list): Handle the case that a file is specified in font
9215 name. Use ftfont_pattern_entity to generate entities.
9216 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9217 (syms_of_ftfont): Initialize freetype_font_cache.
9218
9219 * xftfont.c (xftfont_open): Make the font name fontconfig's
9220 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9221 (xftfont_close): Free font->font.name if not NULL.
9222
9223 * xfont.c (xfont_list): If script is specified for a font, return
9224 null_vector.
9225 (xfont_list_family): Declare argument type.
9226
9227 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9228 name, set LFACE_FONT (lface) to nil.
9229
9230 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9231 return Qnil.
9232
92332008-02-01 Kenichi Handa <handa@m17n.org>
9234
9235 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9236 (standard_args): Add "-enable-font-backend".
9237
92382008-02-01 Kenichi Handa <handa@m17n.org>
9239
9240 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9241 (struct xftdraw_list, xftdraw_list): Delete them.
9242 (register_xftdraw, check_xftdraw): Delete them.
9243 (xftfont_prepare_face): Don't call register_xftdraw.
9244 (xftfont_done_face): Don't call check_xftdraw.
9245 (xftfont_draw): Get background color only when with_background is
9246 nonzero.
9247
9248 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9249
92502008-02-01 Kenichi Handa <handa@m17n.org>
9251
9252 These changes are for the new font handling codes.
9253
9254 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9255 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9256 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9257 (FONTSRC, FONTOBJ): New variables.
9258 (obj): Add $(FONTOBJ).
9259 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9260 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9261 @LIBOTF_LIBS@.
9262 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9263 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9264
9265 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9266
9267 * character.h (Vscript_representative_chars): Extern it.
9268
9269 * character.c (Vscript_representative_chars): New variable.
9270 (syms_of_character): Declare it as a Lisp variable.
9271
9272 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9273 enable_font_backend is nonzero, accept the composition method
9274 COMPOSITION_WITH_GLYPH_STRING.
9275
9276 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9277 enumeration COMPOSITION_WITH_GLYPH_STRING.
9278
9279 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9280 members clip_x, clip_y, clip_width, and clip_height.
9281 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9282
9283 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9284 --enable-font-backend. Call syms_of_font.
9285
9286 * fns.c (assoc_no_quit): New function.
9287
9288 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9289 (face_for_font, new_fontset_from_font)
9290 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9291
9292 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9293 (fontset_font, fontset_ascii, face_for_char)
9294 (make_fontset_for_ascii_face, Ffont_info)
9295 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9296 is nonzero, use font-backend mechanism.
9297 (find_font_encoding): Make it non-static.
9298 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9299 New functions.
9300
9301 * frame.h (struct frame): New members resx and resy.
9302 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9303 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9304
9305 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9306 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9307
9308 * lisp.h (assoc_no_quit): Extern it.
9309
9310 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9311 Through out the file, use FONT_INFO_FROM_FACE instead of
9312 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9313 rif->per_char_metric.
9314 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9315 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9316 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9317 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9318 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9319 nonzero, use font-backend mechanism.
9320 (get_per_char_metric): New function.
9321
9322 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9323 (set_lface_from_font_name)
9324 (set_font_frame_param, free_realized_face)
9325 (prepare_face_for_display, clear_face_gcs)
9326 (Finternal_set_font_selection_order, realize_x_face)
9327 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9328 font-backend mechanism.
9329 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9330 (load_face_font) [USE_FONT_BACKEND]: Abort.
9331 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9332 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9333
9334 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9335 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9336 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9337 nonzero, register all available font drivers. Call
9338 x_default_font_parameter for deciding a font.
9339 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9340
9341 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9342 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9343 (x_set_glyph_string_clipping_exactly)
9344 (x_compute_glyph_string_overhangs)
9345 (x_draw_glyph_string_foreground)
9346 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9347 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9348 enable_font_backend is nonzero, use font-backend mechanism.
9349 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9354 system_eol_type.
9355 (syms_of_coding): Initialize system_eol_type.
9356
9357 * process.c (Fset_process_coding_system): Inherit system's eol
9358 format if necessary.
9359
93602008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9361
9362 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9363
93642008-02-01 Kenichi Handa <handa@m17n.org>
9365
9366 * coding.c (decode_eol): Pay attention to buffer relocation in
9367 del_range_2.
9368 (decode_coding): Call decode_eol before restoring undo_list.
9369
93702008-02-01 Kenichi Handa <handa@m17n.org>
9371
9372 * charset.c (Fdefine_charset_internal): Fix setting of
9373 emacs_mule_bytes.
9374
93752008-02-01 Kenichi Handa <handa@m17n.org>
9376
9377 * keyboard.c (read_char): Check if C is a character or not before
9378 looking up Vkeyboard_translate_table.
9379
93802008-02-01 Kenichi Handa <handa@m17n.org>
9381
9382 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9383 condition to terminate the loop.
9384
93852008-02-01 Kenichi Handa <handa@m17n.org>
9386
9387 * coding.c (produce_composition): Compare charbuf[i] instead of
9388 args[i] against 0.
9389 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9390
93912008-02-01 Kenichi Handa <handa@m17n.org>
9392
9393 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9394 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9395 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9396 detect_coding.
9397 (emacs_mule_char): Handle old style (Emacs 20) component character
9398 of a composition.
9399 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9400 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9401 composition rule.
9402 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9403
94042008-02-01 Kenichi Handa <handa@m17n.org>
9405
9406 * coding.c (encode_coding_ccl): Allocate destination dynamically
9407 when necessary.
9408
94092008-02-01 Kenichi Handa <handa@m17n.org>
9410
9411 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9412 the loop. When quitted, show a proper error message.
9413
94142008-02-01 Kenichi Handa <handa@m17n.org>
9415
9416 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9417 src->clip_head and src->clip_tail temporarily instead of src->hl.
9418
9419 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9420 character sequence.
9421 (Fccl_execute_on_string): Use ASET, not XSET.
9422
94232008-02-01 Kenichi Handa <handa@m17n.org>
9424
9425 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9426
94272008-02-01 Kenichi Handa <handa@m17n.org>
9428
9429 * coding.c (decode_coding): Fix the condition of terminating the
9430 decoding loop.
9431
94322008-02-01 Kenichi Handa <handa@m17n.org>
9433
9434 * data.c (Faset): On setting a character bigger than 255 in a
9435 unibyte string, signal an error instead of make the string multibyte.
9436
94372008-02-01 Kenichi Handa <handa@m17n.org>
9438
9439 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9440 made by a mapping table.
9441
94422008-02-01 Kenichi Handa <handa@m17n.org>
9443
9444 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9445 not.
9446 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9447 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9448
9449 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9450 s->face is NULL or not.
9451
94522008-02-01 Kenichi Handa <handa@m17n.org>
9453
9454 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9455 (x_draw_glyph_string): Fix drawing of right_overhang and
9456 left_overhang around/on cursor.
9457
9458 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9459
94602008-02-01 Kenichi Handa <handa@m17n.org>
9461
9462 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9463
94642008-02-01 Kenichi Handa <handa@m17n.org>
9465
9466 * coding.c (Fdefine_coding_system_internal)
9467 (Fdefine_coding_system_alias): Avoid a duplicated element in
9468 Vcoding_system_alist.
9469
94702008-02-01 Kenichi Handa <handa@m17n.org>
9471
9472 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9473
9474 * coding.c (Qcoding_system_define_form): New variable.
9475 (syms_of_coding): Intern and staticpro it.
9476 (Fcoding_system_p): Check Qcoding_system_define_form.
9477 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9478
9479 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9480 Fcoding_system_p.
9481 (CHECK_CODING_SYSTEM): If ID is not available, call
9482 Fcheck_coding_system.
9483 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9484 Try also Fcheck_coding_system.
9485
94862008-02-01 Kenichi Handa <handa@m17n.org>
9487
9488 * coding.c (code_conversion_restore): GCPRO arg.
9489
94902008-02-01 Kenichi Handa <handa@m17n.org>
9491
9492 * character.c (lisp_string_width): Check multibyteness of STRING.
9493
94942008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9495
9496 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9497 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9498 (decode_mac_font_name): Use decode_coding_c_string instead of
9499 decode_coding.
9500 (x_load_font): Initialize fontp->fontset to -1. Set
9501 fontp->encoding_type.
9502
95032008-02-01 Kenichi Handa <handa@m17n.org>
9504
9505 * search.c (search_buffer): Give up BM search on case-fold-search
9506 if one of a target character has a case-equivalence of different
9507 byte length even if that target charcter is an ASCII.
9508 (simple_search): Fix calculation of byte length of matched text.
9509 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9510
95112008-02-01 Kenichi Handa <handa@m17n.org>
9512
9513 * coding.c (decode_coding): Fix handling of invalid bytes.
9514
95152008-02-01 Kenichi Handa <handa@m17n.org>
9516
9517 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9518 Unicode characters.
9519
95202008-02-01 Kenichi Handa <handa@m17n.org>
9521
9522 * coding.c (encode_coding_object): If a pre-write-conversion
9523 function makes a new buffer, kill it.
9524
95252008-02-01 Kenichi Handa <handa@m17n.org>
9526
9527 * coding.c (QCascii_compatible_p): New variable.
9528 (syms_of_coding): Initialize it.
9529 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9530 calling string_char.
9531 (record_conversion_result): Add `default:' case.
9532 (coding_charset_list): Delete unused variable `coding_type'.
9533 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9534 property in the plist of the coding system.
9535 (Fcoding_system_put): Check QCascii_compatible_p.
9536
95372008-02-01 Miles Bader <miles@gnu.org>
9538
9539 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9540 removed calculation of frame `f', as it's now used.
9541
95422008-02-01 Kenichi Handa <handa@m17n.org>
9543
9544 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9545 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9546 (UNIDATA): New variable.
9547 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9548 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9549 $(RUN_TEMACS) unconditionally.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9554 (admindir): New variable.
9555 ($(lispsource)international/charprop.el): New target.
9556
95572008-02-01 Miles Bader <miles@gnu.org>
9558
9559 * character.c (chars-in-region): Remove obsolete function.
9560 (syms_of_character): Remove its initialization.
9561
95622008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9563
9564 * w32select.c (validate_coding_system)
9565 (setup_windows_coding_system): New functions.
9566 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9567 setup_windows_coding_system.
9568 (setup_config, Fw32_get_clipboard_data): Use
9569 validate_coding_system.
9570 (Fx_selection_exists): Move call to setup_config to a place
9571 where signals are allowed.
9572
9573 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9574 (Fcheck_coding_system): Add declarations.
9575
95762008-02-01 Kenichi Handa <handa@m17n.org>
9577
9578 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9579
95802008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9581
9582 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9583 string as the second argument for x_new_fontset.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9588 (encode_coding_object): Use safe_call instead of call2.
9589
95902008-02-01 Kenichi Handa <handa@m17n.org>
9591
9592 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9593
9594 * Makefile.in (lisp): Include charprop.el.
9595
95962008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9597
9598 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9599 Not sure if it's unnecessary.
9600
96012008-02-01 Steven Tamm <steventamm@mac.com>
9602
9603 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9604 some possibly unnecessary fontset checking code that crashed
9605 when creating a new frame.
9606
96072008-02-01 Kenichi Handa <handa@m17n.org>
9608
9609 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9610 lookup_face.
9611
9612 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9613
9614 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9615
96162008-02-01 Kenichi Handa <handa@m17n.org>
9617
9618 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9619 (coding_charset_list): New function.
9620
9621 * coding.h (coding_charset_list): Extern it.
9622
96232008-02-01 Kenichi Handa <handa@m17n.org>
9624
9625 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9626 concatenation of family and registry.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * character.h (BYTE8_STRING): Fix typo.
9631
9632 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9633 string to multibyte (sync to HEAD).
9634
9635 * casefiddle.c (casify_region): Handle changes in byte-length
9636 using replace_range_2 (sync to HEAD).
9637
96382008-02-01 Andreas Schwab <schwab@suse.de>
9639
9640 * chartab.c (map_char_table): GCPRO table and arg.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9645 already at limit.
9646
96472008-02-01 Kenichi Handa <handa@m17n.org>
9648
9649 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9650 instead of fast_c_string_match_ignore_case.
9651 (find_font_encoding): Change argument to Lisp_Object. Use
9652 fast_string_match_ignore_case instead of
9653 fast_c_string_match_ignore_case. Change caller.
9654
96552008-02-01 Kenichi Handa <handa@m17n.org>
9656
9657 * xdisp.c (get_next_display_element): In unibyte case, decide to
9658 display in octal form by checking a character by
9659 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9660
9661 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9662
9663 * character.c (unibyte_has_multibyte_table): New variable.
9664
9665 * character.h (unibyte_has_multibyte_table): Extern it.
9666 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * coding.c (encode_coding_iso_2022): Fix handling of charset
9671 annotation.
9672
96732008-02-01 Kenichi Handa <handa@m17n.org>
9674
9675 * coding.c (setup_coding_system): If coding_system is nil, use
9676 Qundecided.
9677 (Fterminal_coding_system): Return nil if terminal coding system is
9678 `undecided'.
9679 (syms_of_coding): Define coding-system `undecided' here. Setup
9680 terminal_coding as `undecided'.
9681
96822008-02-01 Kenichi Handa <handa@m17n.org>
9683
9684 * xdisp.c (message_dolog, set_message_1): Call
9685 unibyte_char_to_multibyte with arg type int.
9686
9687 * lread.c (read1): Fix reading of a char-table.
9688
9689 * print.c (print_object): Include sub char-table in circularities
9690 detection.
9691
96922008-02-01 Kenichi Handa <handa@m17n.org>
9693
9694 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9695 Append the found sequences in car of ARGS instead of prepending.
9696
96972008-02-01 Kenichi Handa <handa@m17n.org>
9698
9699 * fileio.c (report_file_error): Make a unibyte string from
9700 strerror (errorno).
9701 (Fsubstitute_in_file_name): Fix the arg to
9702 unibyte_char_to_multibyte. It is evaluated twice.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9707
97082008-02-01 Kenichi Handa <handa@m17n.org>
9709
9710 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9711 BOM is not found.
9712 (detect_coding, detect_coding_system): Optimization for ISO-2022
9713 when no 8-bit data is found.
9714
97152008-02-01 Jason Rumney <jasonr@gnu.org>
9716
9717 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9718
97192008-02-01 Kenichi Handa <handa@m17n.org>
9720
9721 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9722 CHARS.
9723
97242008-02-01 Steven Tamm <steventamm@mac.com>
9725
9726 * macterm.c (mac_encode_char): Add charset argument and update
9727 to use encoding_type.
9728 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9729 switch to pure fontset.
9730 (decode_mac_font_name): Temporarily remove decoding.
9731 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9732 (x_load_font): Temporarily remove encoding.
9733
97342008-02-01 Kenichi Handa <handa@m17n.org>
9735
9736 * xfaces.c (Fface_font): If frame is not on a window system,
9737 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9738 refer to face->font.
9739 (split_font_name_into_vector, build_font_name_from_vector)
9740 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9741 when HAVE_WINDOW_SYSTEM is defined.
9742
97432008-02-01 Kenichi Handa <handa@m17n.org>
9744
9745 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9746 (x_produce_glyphs): Fix setting of members of cmp in case
9747 cmp->glyph_len is zero.
9748
9749 * fontset.c (Fset_fontset_font): Fix docstring.
9750 (Ffontset_info): Make it backward compatible. New arg ALL.
9751
97522008-02-01 Kim F. Storm <storm@cua.dk>
9753
9754 * process.c (read_process_output): Grow decoding_buf when needed;
9755 this could cause a crash in allocate_string and compact_small_strings.
9756
97572008-02-01 Kenichi Handa <handa@m17n.org>
9758
9759 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9760
97612008-02-01 Kenichi Handa <handa@m17n.org>
9762
9763 * coding.c (setup_coding_system): Set coding->common_flags
9764 correctly for raw-text.
9765 (consume_chars): On encoding unibyte text by raw-text, don't check
9766 multibyte form.
9767 (encode_coding): On encoding by raw-text, never use translation tables.
9768
9769 * fileio.c (e_write): Short cut for the case of no encoding.
9770
97712008-02-01 Kenichi Handa <handa@m17n.org>
9772
9773 * coding.c (detect_coding, detect_coding_system): Delete unused
9774 variables.
9775
97762008-02-01 Kenichi Handa <handa@m17n.org>
9777
9778 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9779 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9780
97812008-02-01 Kenichi Handa <handa@m17n.org>
9782
9783 * coding.c (Ffind_coding_systems_region_internal): Include
9784 raw-text and no-conversion in the result.
9785
97862008-02-01 Kenichi Handa <handa@m17n.org>
9787
9788 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9789 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9790 FONT_DEF.
9791 (font_def_arg, add_arg, from_arg, to_arg): New args.
9792 (set_fontset_font): Change argument.
9793 (Fset_fontset_font): Fix for the case that TARGET is a script
9794 name and charset name.
9795 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9796
97972008-02-01 Kenichi Handa <handa@m17n.org>
9798
9799 * fontset.c (fontset_font): Rename from fontset_face. Change return
9800 value.
9801 (face_suitable_for_char_p, face_for_char): Adjust for the change
9802 of fontset_font.
9803 (make_fontset_for_ascii_face): Fix setting of the fontset element
9804 for ASCII.
9805 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9806 to get a font name.
9807 (Ffontset_info): Adjust for the change of fontset_font.
9808
9809 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9810
9811 * character.h (LEADING_CODE_LATIN_1_MIN)
9812 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9813
98142008-02-01 Kenichi Handa <handa@m17n.org>
9815
9816 * editfns.c (check_translation): New function.
9817 (Ftranslate_region_internal): Handle M:N mapping.
9818
98192008-02-01 Kenichi Handa <handa@m17n.org>
9820
9821 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9822
98232008-02-01 Kenichi Handa <handa@m17n.org>
9824
9825 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9826 goto invalid_code.
9827 (decode_coding_iso_2022): Fix handling of invalid designation.
9828
9829 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9830 after calling code_conversion_save.
9831
98322008-02-01 Kenichi Handa <handa@m17n.org>
9833
9834 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9835
9836 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9837
9838 * fontset.c: Include "intervals.h".
9839 (fontset_face): Fix comparing of Lisp_Objects.
9840 (free_face_fontset, new_fontset_from_font_name): Fix
9841 Lisp_Object/int mixup.
9842
9843 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9844
9845 * coding.c: Add many prototypes for static functions.
9846 (get_translation_table): Allow max_lookup to be NULL.
9847 (decode_coding, Ffind_coding_systems_region_internal)
9848 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9849 get_translation_table with max_lookup NULL.
9850
98512008-02-01 Kenichi Handa <handa@m17n.org>
9852
9853 * coding.c (get_translation_table): Declare it as Lisp_Object.
9854 (LOOKUP_TRANSLATION_TABLE): New macro.
9855 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9856 instead of CHAR_TABLE_REF.
9857
98582008-02-01 Kenichi Handa <handa@m17n.org>
9859
9860 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9861 annotation data format.
9862 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9863 Change arguments FROM and TO to single argument NCHARS. Change caller.
9864 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9865 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9866 (decode_coding_ccl, decode_coding_charset): Pay attention to
9867 coding->charbuf_used.
9868 (get_translation): New function.
9869 (produce_chars): New arguments translation_table and last_block.
9870 Translate characters here. Return number of carryover chars.
9871 Change caller.
9872 (produce_composition): New argument pos. Change caller.
9873 Adjust for the change of annotation data format.
9874 (produce_charset, produce_annotation): Likewise.
9875 (decode_coding, encode_coding): Don't call translate_chars.
9876 (consume_chars): New arg translation_table. Change caller.
9877 (translate_chars): Delete.
9878 (syms_of_coding): Make translation-table's number of extra slots 2.
9879
98802008-02-01 Kenichi Handa <handa@m17n.org>
9881
9882 * search.c (simple_search): Fix setting this_pos_byte in backward
9883 search.
9884
9885 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9886 byte sequence.
9887 (detect_coding_ccl): Fix setting of the variable valids.
9888
98892008-02-01 Kenichi Handa <handa@m17n.org>
9890
9891 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9892
9893 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9894
9895 * editfns.c (Ftranslate_region_internal): Rename from
9896 Ftranslate_region. Accept a char-table in TABLE.
9897 (syms_of_editfns): Defsubr Stranslate_region_internal.
9898
9899 * xfaces.c (set_lface_from_font_name): If a font is specified for
9900 a frame, generate a fontset from the font.
9901 (build_scalable_font_name): If the scalable font is requested for
9902 a specific size, don't change that size.
9903 (try_font_list): Try a scalable font also in the case that a
9904 pattern string is specified.
9905
99062008-02-01 Kenichi Handa <handa@m17n.org>
9907
9908 * xfaces.c (Fface_font): New optional arg CHARACTER.
9909
99102008-02-01 Kenichi Handa <handa@m17n.org>
9911
9912 * charset.h (CHARSET_OFFSET): New macro.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9917
9918 * fontset.c (fontset_face): Handle the case that repertory is a
9919 char-table.
9920 (find_font_encoding): Return nil for unknown encoding.
9921 (Fset_fontset_font): Ignore a font of unknown encoding.
9922
99232008-02-01 Kenichi Handa <handa@m17n.org>
9924
9925 * keymap.c (describe_vector): Handle default value of a char table.
9926
9927 * fontset.c (fontset_face): Handle fallback fonts correctly.
9928 (Ffontset_info): Return infomation about fallback fonts.
9929
99302008-02-01 Kenichi Handa <handa@m17n.org>
9931
9932 * fontset.c (FONTSET_DEFAULT): New macro.
9933 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9934 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9935 the case that it is nil.
9936 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9937 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9938
9939 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9940 subset or superset.
9941
99422008-02-01 Kenichi Handa <handa@m17n.org>
9943
9944 * emacs.c (main): Call init_charset after syms_of_XXX.
9945
9946 * charset.c (Vcharset_map_directory): Delete.
9947 (Vcharset_map_path): New variable.
9948 (load_charset_map_from_file): Use Vcharset_map_path instead.
9949 (init_charset): Initialize Vcharset_map_path.
9950 (syms_of_charset): Delete declaration of "charset-map-directory",
9951 add declaration of "charset-map-path".
9952
99532008-02-01 Kenichi Handa <handa@m17n.org>
9954
9955 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9956 ASCII only string.
9957
9958 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9959
9960 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9961 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9962
99632008-02-01 Kenichi Handa <handa@m17n.org>
9964
9965 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9966
9967 * coding.c (QCmnemonic, QCdefalut_char)
9968 (QCdecode_translation_table, QCencode_translation_table)
9969 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9970 (get_translation_table): Return a list of translation tables if
9971 necessary.
9972 (decode_coding): Call get_translation_table with ENCODEP 0.
9973 (char_encodable_p): If translation_table is non-nil, always call
9974 translate_char.
9975 (Fdefine_coding_system_internal): Accept list of translation
9976 tables as :encode-translation-table and :decode-translation-table.
9977 (Fcoding_system_put): New function.
9978 (syms_of_coding): Declare new symbols. Defsubr
9979 Scoding_system_put.
9980 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9981 typically JISX0212.
9982
9983 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9984 when the charset is superset type.
9985
9986 * character.c (translate_char): Accept list of translation tables.
9987
99882008-02-01 Kenichi Handa <handa@m17n.org>
9989
9990 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9991 (CODING_ATTR_TRANS_TBL): New macro.
9992
9993 * coding.c (get_translation_table): New function.
9994 (translate_chars): Fix the bug of skipping annotation data.
9995 (decode_coding, encode_coding): Utilize get_translation_table.
9996 (char_encodable_p, Funencodable_char_position): Translate char if
9997 necessary.
9998 (Ffind_coding_systems_region_internal)
9999 (Fcheck_coding_systems_region): Setup translation table for encode
10000 in a coding system attribute vector in advance.
10001 (Fdefine_coding_system_internal): Allow a symbol as translation
10002 table. For shift-jis type coding system, allow 4th charset.
10003
100042008-02-01 Kenichi Handa <handa@m17n.org>
10005
10006 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10007
10008 * xdisp.c (get_next_display_element): Pass -1 as POS to
10009 FACE_FOR_CHAR if displaying a C-string.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * composite.c (get_composition_id): Handle xoff and yoff in a
10014 composition rule.
10015
10016 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10017 (struct composition): New member lbearing and rbearing.
10018
10019 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10020 (x_get_glyph_overhangs): Handle a composition glyph.
10021 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
10022
10023 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
10024 composition glyph.
10025
100262008-02-01 Kenichi Handa <handa@m17n.org>
10027
10028 * print.c: Include charset.h.
10029 (Vprint_charset_text_property): New variable.
10030 (Qdefault): Extern it.
10031 (PRINT_STRING_NON_CHARSET_FOUND)
10032 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10033 (print_check_string_result): New variable.
10034 (print_check_string_charset_prop): New function.
10035 (print_prune_charset_plist): New variable.
10036 (print_prune_string_charset): New function.
10037 (print_object): Call print_prune_string_charset if
10038 Vprint_charset_text_property is not t.
10039 (print_interval): Print nothing if interval->plist is nil.
10040 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10041 variable. Init and staticpro print_prune_charset_plist.
10042
100432008-02-01 Kenichi Handa <handa@m17n.org>
10044
10045 * fontset.c (new_fontset_from_font_name): Use the specified font
10046 for all characters in the new fontset.
10047
10048 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10049 OBJECT args.
10050
10051 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10052 OBJECT args for composition too.
10053
10054 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10055 OBJECT args.
10056
100572008-02-01 Kenichi Handa <handa@m17n.org>
10058
10059 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10060
10061 * fontset.c (reorder_font_vector): Adjust for the change of
10062 FONT_DEF format.
10063 (fontset_face): New arg id. Change caller.
10064 (face_for_char): New args pos and object.
10065 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10066 (fs_query_fontset): Check NAME by Fassoc too.
10067 (Fset_fontset_font): Allow non-XLFD font name.
10068 (Ffontset_info): Adjust for the change of FONT_DEF format.
10069
10070 * fontset.h (face_for_char): Adjust prototype.
10071
10072 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10073 (append_space, extend_face_to_end_of_line)
10074 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10075 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10076
10077 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10078 POS and OBJECT args.
10079
10080 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10081 POS and OBJECT args.
10082
100832008-02-01 Jason Rumney <jasonr@gnu.org>
10084
10085 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10086 of GlobalAlloc'ed memory.
10087
100882008-02-01 Kenichi Handa <handa@m17n.org>
10089
10090 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10091
10092 * charset.h (charset_table_used): Delete extern.
10093
10094 * charset.c (charset_table_used): Make it static.
10095 (map_charset_chars): Fix args to c_function with.
10096
10097 * chartab.c (map_sub_char_table_for_charset): Fix args to
10098 c_function with.
10099
10100 * coding.h (enum coding_result_code): Delete
10101 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10102
10103 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10104 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10105 (Vlast_code_conversion_error): New variables.
10106 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10107 (ONE_MORE_BYTE): Record error if any instead of signaling an
10108 error. If non-ASCII multibyte char is found, return the negative
10109 value of the code. All callers changed to check it.
10110 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10111 (record_conversion_result): New function. Change all codes setting
10112 coding->result to call this function.
10113 (detect_coding_utf_8, decode_coding_utf_8)
10114 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10115 Don't use the local variable incomplete.
10116 (emacs_mule_char): Change the second arg to `const'.
10117 (decode_coding): Fix of flushing out unprocessed data.
10118 (make_conversion_work_buffer): Fix making of a work buffer.
10119 (decode_coding_object): Return coding->dst_object.
10120
10121 * fontset.c (set_fontset_font): Fix args.
10122
10123 * lisp.h (CHARACTERBITS): Define as 22.
10124
10125 * process.c (send_process): Be sure to set coding->src_multibyte.
10126
10127 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10128
101292008-02-01 Kenichi Handa <handa@m17n.org>
10130
10131 * xdisp.c (handle_auto_composed_prop): Give limit to
10132 Fnext_single_char_property_change.
10133
101342008-02-01 Kenichi Handa <handa@m17n.org>
10135
10136 * composite.c (syms_of_composite): Don't make the composition hash
10137 table weak.
10138
10139 * fontset.c (Fset_fontset_font): Fix docstring.
10140
10141 * lisp.h (detect_coding_system): Adjust prototype.
10142
10143 * fileio.c (kill_workbuf_unwind): Delete this function.
10144 (Finsert_file_contents): Adjust the call of detect_coding_system.
10145 Get conversion_buffer by code_conversion_save. Use the macro
10146 CODING_MAY_REQUIRE_DECODING. After decoding, update
10147 coding_system.
10148
10149 * coding.h (make_conversion_work_buffer): Delete extern.
10150 (code_conversion_save): Extern it.
10151
10152 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10153 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10154 (decode_coding_utf_8): Don't do eol converion.
10155 (detect_coding_utf_16): Check coding->src_chars, not
10156 coding->src_bytes. Add heuristics for those that have no signature.
10157 (decode_coding_emacs_mule, decode_coding_iso_2022)
10158 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10159 Don't do eol converion.
10160 (adjust_coding_eol_type): Return a new coding system.
10161 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10162 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10163 each change.
10164 (decode_coding): Pay attention to undo_list. Do eol conversion for
10165 all types of coding-systems (if necessary).
10166 (Vcode_conversion_work_buf_list): Delete it.
10167 (Vcode_conversion_reused_workbuf): Rename from
10168 Vcode_conversion_reused_work_buf.
10169 (Vcode_conversion_workbuf_name): New variable.
10170 (reused_workbuf_in_use): New variable.
10171 (make_conversion_work_buffer): Delete the arg DEPTH.
10172 (code_conversion_restore): Change argument to cons.
10173 (code_conversion_save): Delete the argument BUFFER. Change callers.
10174 (detect_coding_system): New argument src_chars. Change callers.
10175 Fix for utf-16 detection.
10176 (init_coding_once): Don't use ISO_carriage_return.
10177 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10178 reused_workbuf_in_use.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * keymap.c (store_in_keymap): Pay attention to the case that idx
10183 is a cons specifying a character range.
10184
101852008-02-01 Kenichi Handa <handa@m17n.org>
10186
10187 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10188 HANDLED_RECOMPUTE_PROPS.
10189
10190 * coding.c (Fdefine_coding_system_internal): Fix checking of
10191 ascii compatibility.
10192
101932008-02-01 Kenichi Handa <handa@m17n.org>
10194
10195 * charset.c (find_charsets_in_text): Delete unused locale variable.
10196 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10197
10198 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10199 Resync charset_list to Vemacs_mule_charset_list.
10200
10201 * keymap.c (store_in_keymap): Pay attention to the case that idx
10202 is a cons specifying a character range.
10203
102042008-02-01 Kenichi Handa <handa@m17n.org>
10205
10206 * composite.c (update_compositions): Bind inhibit-read-only, etc
10207 to t before calling remove-list-of-text-properties.
10208
10209 * print.c (print_object): Always print ASCII chars as is.
10210
102112008-02-01 Kenichi Handa <handa@m17n.org>
10212
10213 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10214
10215 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10216 is a char table.
10217
102182008-02-01 Kenichi Handa <handa@m17n.org>
10219
10220 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10221
102222008-02-01 Kenichi Handa <handa@m17n.org>
10223
10224 * xfaces.c (set_lface_from_font_name): Fix for the case that
10225 FONTNAME is not fontset name.
10226
102272008-02-01 Kenichi Handa <handa@m17n.org>
10228
10229 * fns.c (base64_encode_1): Fix previous change.
10230
102312008-02-01 Kenichi Handa <handa@m17n.org>
10232
10233 * fontset.c (set_fontset_font): New function.
10234 (Fset_fontset_font): If a font is specified for a charset, use
10235 map_charset_chars to store the font spec in a fontset.
10236
102372008-02-01 Kenichi Handa <handa@m17n.org>
10238
10239 * fontset.c (fontset_face): Create a fallback fontset on demand.
10240 (make_fontset): Don't create a fallback fontset here.
10241 (free_face_fontset): Free a fallback fontset (if any) too.
10242 (n_auto_fontsets): Delete this variable.
10243 (auto_fontset_alist): New variable.
10244 (new_fontset_from_font_name): Check auto_fontset_alist.
10245 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10246 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10247 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10248 Defsubr Sfontset_list_all.
10249
102502008-02-01 Kenichi Handa <handa@m17n.org>
10251
10252 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10253
102542008-02-01 Kenichi Handa <handa@m17n.org>
10255
10256 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10257
102582008-02-01 Kenichi Handa <handa@m17n.org>
10259
10260 * editfns.c (Fgoto_char): Fix docstring.
10261
102622008-02-01 Kenichi Handa <handa@m17n.org>
10263
10264 * insdel.c (insert_from_gap): Adjust intervals correctly.
10265
102662008-02-01 Jason Rumney <jasonr@gnu.org>
10267
10268 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10269 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10270 (w32_initialize): Try to load it.
10271 (x_get_font_repertory): Use it if available.
10272 (w32_encode_char): Add shortcut for unicode output.
10273
10274 * w32fns.c (w32_load_system_font): Default charset to -1.
10275 (x_to_w32_charset): Match all fonts for unicode.
10276 (w32_to_x_charset): New parameter matching. Don't return partial
10277 or wildcard charsets.
10278 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10279 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10280 (w32_to_x_font): Match charset to real charset.
10281 (enum_font_cb2): Always list unicode versions.
10282
10283 * makefile.w32-in (temacs): Increase EMHEAP.
10284
102852008-02-01 Jason Rumney <jasonr@gnu.org>
10286
10287 * w32term.c (w32_encode_char): New charset parameter.
10288 font_info.encoding becomes encoding_type.
10289 (x_get_font_repertory): New function. Warning: stub only!
10290 (x_new_font): Return quickly if font already set.
10291 (x_new_fontset): fontsetname parameter is Lisp_Object.
10292 Use new fs_query_fontset. Try new_fontset_from_font_name.
10293 Use fontset_name for return value.
10294
10295 * w32term.h: Declare x_get_font_repertory.
10296
10297 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10298 place of find_charset_in_text. Use encode_coding_object in place
10299 of encode_coding.
10300 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10301 decode_coding.
10302
10303 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10304 of x_new_fontset.
10305 (w32_load_system_font): Initialize charset as unicode.
10306 font_info.encoding becomes encoding_type.
10307 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10308 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10309 (syms_of_w32fns): Set get_font_repertory_func.
10310
10311 * w32console.c: Include character.h. Use terminal_encode_buffer
10312 from term.c.
10313 (write_glyphs): Use new version of encode_terminal_code. Use
10314 encode_coding_object in place of encode_coding.
10315
10316 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10317 encoding becomes encoding_type.
10318
10319 * term.c (terminal_encode_buffer): Make externally visible.
10320
10321 * makefile.w32-in: Add character.h dependancies.
10322 (character.o, chartab.o): New targets.
10323
103242008-02-01 Kenichi Handa <handa@m17n.org>
10325
10326 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10327 CODING_ID_EOL_TYPE.
10328
103292008-02-01 Andreas Schwab <schwab@suse.de>
10330
10331 * coding.c (produce_chars): Revert last change.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * charset.h (charset_unicode): Extern it.
10336
10337 * charset.c (string_xstring_p): Check by (C >= 0x100).
10338 (find_charsets_in_text): Change format of the arc CHARSETS. New
10339 arg MULTIBYTE.
10340 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10341 change of find_charsets_in_text.
10342 (Fsplit_char): Fix doc. Never return unknown.
10343
10344 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10345
10346 * coding.c (Fdefine_coding_system_alias): Update
10347 Vcoding_system_list.
10348
10349 * fontset.c (load_font_get_repertory): Pay attention to the case
10350 that ENCODING of a font is specified by a char-table.
10351
10352 * xterm.c (x_get_font_repertory): Handle the case that the
10353 encoding of font is other than Unicode.
10354
103552008-02-01 Kenichi Handa <handa@m17n.org>
10356
10357 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10358 if a character is encodable by the terminal coding system. If
10359 not, produces proper number of `?'s. Update
10360 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10361 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10362
103632008-02-01 Kenichi Handa <handa@m17n.org>
10364
10365 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10366 variables.
10367 (encode_terminal_code): Change argument. Encode multiple
10368 characters at once. Store the result of encoding in
10369 terminal_encode_buffer.
10370 (write_glyphs, insert_glyphs): Adjust for the change of
10371 encode_terminal_code.
10372 (term_init): Initialize terminal_encode_buffer and
10373 terminal_encode_buf_size.
10374
10375 * coding.c (consume_chars): If coding->src_object is nil, don't
10376 check annotation.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * character.c (char_string): Use ASCII_CHAR_P instead of
10381 SINGLE_BYTE_CHAR_P.
10382
103832008-02-01 Kenichi Handa <handa@m17n.org>
10384
10385 * xdisp.c (handle_auto_composed_prop): Check if the last
10386 characters of auto-composed region is newly composed with the
10387 following characters.
10388 (handle_composition_prop): Fix checking of point being inside
10389 composition.
10390
103912008-02-01 Kenichi Handa <handa@m17n.org>
10392
10393 * fns.c (concat): Don't change multibyteness of the result by
10394 concatenating an 8-bit character.
10395
10396 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10397 multibyteness of the result when newelt is an 8-bit character.
10398
103992008-02-01 Dave Love <fx@gnu.org>
10400
10401 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10402 EMACS_INT.
10403
10404 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10405
10406 * xfaces.c (face_numeric_value): Declare dim size_t.
10407 (Finternal_lisp_face_equal_p): Remove unused f.
10408
10409 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10410 (MATRIX_ROW): Remove unused vars.
10411 (draw_glyphs, x_insert_glyphs, fast_find_position)
10412 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10413 byte/char counts.
10414
10415 * regex.c (regex_compile): Remove unused var.
10416
10417 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10418
10419 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10420 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10421
10422 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10423
10424 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10425
10426 * fileio.c (Fwrite_region): Remove unused var.
10427
10428 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10429 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10430
10431 * composite.c (Fremove_list_of_text_properties): Declare.
10432
10433 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10434 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10435 (coding_inherit_eol_type): Remove unused attrs.
10436 (detect_coding): Cast arg of detect_eol.
10437
10438 * charset.c (syms_of_charset): Remove unused var p.
10439 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10440 byte/char counts.
10441
10442 * casetab.c (set_case_table): Remove unused var.
10443
10444 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10445 unused vars.
10446
104472008-02-01 Dave Love <fx@gnu.org>
10448
10449 * xterm.c (x_bitmap_mask): Declare.
10450
104512008-02-01 Dave Love <fx@gnu.org>
10452
10453 * xterm.c (x_term_init): Fix type error.
10454
10455 * lisp.h: Add Funibyte_char_to_multibyte.
10456
10457 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10458 (Fset_coding_system_priority): Doc fix.
10459
10460 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10461
10462 * indent.c (check_composition): Make start and end EMACS_INT.
10463
10464 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10465
10466 * xdisp.c (handle_composition_prop, check_point_in_composition):
10467 Make buffer positions EMACS_INT.
10468
10469 * composite.c (find_composition, run_composition_function)
10470 (update_compositions, Ffind_composition_internal): Make buffer
10471 positions EMACS_INT.
10472
10473 * composite.h (find_composition, update_compositions): Make
10474 position args EMACS_INT.
10475
10476 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10477
10478 * intervals.c (get_property_and_range):
10479 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10480
10481 * unexalpha.c: Don't include varargs.h.
10482
104832008-02-01 Dave Love <fx@gnu.org>
10484
10485 * coding.h (ENCODE_UTF_8): New.
10486
10487 * Makefile.in (gtkutil.o): Depend on coding.h.
10488
10489 * coding.c (Fset_coding_system_priority): Doc fix.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10494 the case of auto saving.
10495
104962008-02-01 Andreas Schwab <schwab@suse.de>
10497
10498 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10499 `range' from GC.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10504
105052008-02-01 Kenichi Handa <handa@m17n.org>
10506
10507 * fileio.c (choose_write_coding_system): Return a decided coding system.
10508 (Fwrite_region): Set Vlast_coding_system_used to the return value
10509 of choose_write_coding_system.
10510
105112008-02-01 Kenichi Handa <handa@m17n.org>
10512
10513 * charset.c (Fset_charset_priority): Pay attention to duplicated
10514 arguments.
10515
10516 * coding.c (QCcategory): New variable.
10517 (syms_of_coding): Defsym it. Set all elements of
10518 Vcoding_category_table and their symbol values.
10519 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10520 coding-category-XXX, and coding-category-list.
10521 (Fdefine_coding_system_internal): Add category in the plist.
10522
105232008-02-01 Kenichi Handa <handa@m17n.org>
10524
10525 * callproc.c (Fcall_process): Handle carryover correctly.
10526
10527 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10528 (raw_text_coding_system): Check NILP (coding_system).
10529 (coding_inherit_eol_type): Check NILP (coding_system) and
10530 NILP (parent).
10531 (consume_chars): Fix for the case of raw-text.
10532
10533 * process.c (read_process_output): Handle carryover correctly.
10534
105352008-02-01 Dave Love <fx@gnu.org>
10536
10537 * regex.c (re_search_2): Fix last change.
10538
105392008-02-01 Kenichi Handa <handa@m17n.org>
10540
10541 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10542 target_multibyte. Even in a unibyte case, return a converted
10543 multibyte char.
10544 (GET_CHAR_AFTER): New macro.
10545 (PATFETCH): Translate via multibyte char.
10546 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10547 (SETUP_MULTIBYTE_RANGE): New macro.
10548 (regex_compile): Setup compiled code so that its multibyteness
10549 matches that of a target. Fix the handling of "[X-YZ]" using
10550 SETUP_MULTIBYTE_RANGE.
10551 (analyse_first) <charset>: For filling fastmap for all multibyte
10552 characters, don't check by BASE_LEADING_CODE_P.
10553 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10554 the same as RE_MULTIBYTE_P (bufp) now.
10555 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10556 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10557 (TRANSLATE_VIA_MULTIBYTE): New macro.
10558 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10559 It is the same as RE_MULTIBYTE_P (bufp) now.
10560 <exactn>: Translate via multibyte.
10561 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10562 translate it.
10563 <charset, charset_not>: Fetch a character by
10564 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10565 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10566 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10567 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10568 by GET_CHAR_AFTER.
10569 (bcmp_translate): Likewise.
10570
10571 * search.c (compile_pattern): Check the member target_multibyte,
10572 not the member multibyte of buf.
10573
10574 * lread.c (read1): While reading a string, set force_singlebyte
10575 and force_multibyte correctly.
10576
10577 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10578 up of unibyte_to_multibyte_table.
10579
105802008-02-01 Kenichi Handa <handa@m17n.org>
10581
10582 * coding.c (setup_coding_system): If coding has
10583 post-read-conversion or pre-write-conversion, set
10584 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10585 respectively.
10586 (decode_coding_gap): Run post-read-conversion if any.
10587
10588 * fileio.c (Finsert_file_contents): Even if we read into a
10589 unibyte buffer, check if we must decode the result or not.
10590
105912008-02-01 Kenichi Handa <handa@m17n.org>
10592
10593 * coding.c (make_conversion_work_buffer): Change the work buffer
10594 name to the same one as that of Emacs 21.
10595
105962008-02-01 Kenichi Handa <handa@m17n.org>
10597
10598 * coding.h (make_conversion_work_buffer): Adjust prototype.
10599 (code_conversion_restore): Don't extern it.
10600
10601 * coding.c (detected_mask): Delete unused variable.
10602 (decode_coding_iso_2022): Pay attention to the byte sequence of
10603 CTEXT extended segment, and retain those bytes as is.
10604 (decode_coding_ccl): Delete unused variable `valids'.
10605 (setup_coding_system): Delete unused variable `category'.
10606 (consume_chars): Delete unused variable `category'. Make it work
10607 for non-multibyte case.
10608 (make_conversion_work_buffer): Change argument.
10609 (saved_coding): Delete unused variable.
10610 (code_conversion_restore): Don't check saved_coding->destination.
10611 (code_conversion_save): New function.
10612 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10613 instead of record_unwind_protect.
10614 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10615 (detect_coding_system): Delete unused variable `mask'.
10616 (Fdefine_coding_system_internal): Delete unused variable id.
10617
10618 * fileio.c (kill_workbuf_unwind): New function.
10619 (Finsert_file_contents): On replacing, call
10620 make_conversion_work_buffer with correct args, and call
10621 record_unwind_protect with the first arg kill_workbuf_unwind.
10622
10623 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10624
106252008-02-01 Kenichi Handa <handa@m17n.org>
10626
10627 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10628 (fontset_add): Fix for the case that TO is less than TO1.
10629 (Ffontset_info): Don't use fallback fontset on checking the
10630 default fontset.
10631 (dump_fontset): New function for debugging.
10632
10633 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10634 coding_type is Qcharset.
10635
106362008-02-01 Kenichi Handa <handa@m17n.org>
10637
10638 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10639 (map_char_table): Don't inherit the value from the parent on
10640 initializing VAL. Adjust for the above change.
10641
106422008-02-01 Kenichi Handa <handa@m17n.org>
10643
10644 * coding.c (Qsignature, Qendian): Delete these variables.
10645 (syms_of_coding): Don't initialize them.
10646 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10647 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10648 detect_info->found.
10649 (decode_coding_utf_16): Don't detect BOM here.
10650 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10651 is NOT utf_16_without_bom.
10652 (setup_coding_system): For a coding system of type utf-16, check
10653 if the attribute :endian is Qbig or not (not nil or not), and set
10654 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10655 (detect_coding): If coding type is utf-16 and BOM detection is
10656 required, detect it.
10657 (Fdefine_coding_system_internal): For a coding system of type
10658 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10659
106602008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * coding.c (coding_set_source): Fix for the case that the current
10663 buffer is different from coding->src_object.
10664 (decode_coding_object): Don't use the conversion work buffer if
10665 DST_OBJECT is a buffer.
10666
106672008-02-01 Dave Love <fx@gnu.org>
10668
10669 * lread.c (read_emacs_mule_char) [len==2]: Index
10670 emacs_mule_charset correctly.
10671
106722008-02-01 Dave Love <fx@gnu.org>
10673
10674 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10675 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10676 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10677 treated specially.)
10678 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10679 (detected_mask): Remove Big5 bits.
10680
106812008-02-01 Kenichi Handa <handa@m17n.org>
10682
10683 The following changes are to make the font rescaling facility
10684 compatible with Emacs 21.
10685
10686 * xfaces.c (Vface_font_rescale_alist): Rename from
10687 Vface_resizing_fonts.
10688 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10689 (font_rescale_ratio): Rename from font_resizing_ratio.
10690 (split_font_name): Set font->rescale_ratio.
10691 (better_font_p): Pay attention to font->rescale_ratio.
10692 (build_scalable_font_name): Likewise. Change RESX, and RESY
10693 fields.
10694 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10695
106962008-02-01 Kenichi Handa <handa@m17n.org>
10697
10698 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10699 (Qutf_16_le): Remove these variables.
10700 (syms_of_coding): Don't DEFSYM them.
10701 (decode_coding_utf_16): Fix handling of BOM.
10702 (encode_coding_utf_16): Fix handling of BOM.
10703
107042008-02-01 Kenichi Handa <handa@m17n.org>
10705
10706 * fileio.c (Finsert_file_contents): On replacing, before decoding
10707 the file into the work buffer, set point of the work buffer to the end.
10708
107092008-02-01 Dave Love <fx@gnu.org>
10710
10711 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10712
107132008-02-01 Dave Love <fx@gnu.org>
10714
10715 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10716 and fix C types.
10717
107182008-02-01 Kenichi Handa <handa@m17n.org>
10719
10720 * xdisp.c (SKIP_GLYPHS): New macro.
10721 (set_cursor_from_row): Pay attention to string display properties.
10722
10723 * category.c (copy_category_entry): Fix for the case that RANGE
10724 is an integer.
10725
10726 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10727
10728 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10729
107302008-02-01 Kenichi Handa <handa@m17n.org>
10731
10732 * charset.c (Fcharset_id_internal): New function.
10733 (syms_of_charset): Defsubr it.
10734
10735 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10736 with the last arg charset_list acquired from coding.
10737 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10738 the attribute coding_attr_ccl_valids.
10739
10740 * coding.h (enum define_coding_ccl_arg_index): Set the first
10741 member coding_arg_ccl_decoder to coding_arg_max.
10742
10743 * ccl.h (ccl_driver): Adjust prototype.
10744
10745 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10746 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 10747 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
10748 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10749 last arg Qnil.
10750
107512008-02-01 Kenichi Handa <handa@m17n.org>
10752
10753 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10754 call encode_char.
10755
10756 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10757
107582008-02-01 Dave Love <fx@gnu.org>
10759
10760 * composite.c (syms_of_composite): Make composition_hash_table weak.
10761
107622008-02-01 Kenichi Handa <handa@m17n.org>
10763
10764 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10765 (font_name_registry): Don't extern them.
10766 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10767
10768 * fontset.h (Qfontset): Don't extern it.
10769 (new_fontset_from_font_name): Extern it.
10770
10771 * fontset.c: Give 8 extra slots to fontset objects.
10772 (Qfontset_info): New variable.
10773 (syms_of_fontset): Defsym it.
10774 (FONTSET_FALLBACK): New macro.
10775 (fontset_face): Try also the default fontset.
10776 (make_fontset): Realize a fallback fontset from the default fontset.
10777 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10778 using split_font_name_into_vector and build_font_name_from_vector.
10779 (Fset_fontset_font): Access the elements of font_spec by enum
10780 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10781 name by using split_font_name_into_vector.
10782 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10783 generate a proper font name from the fontset name. Update
10784 Vfontset_alias_alist.
10785 (n_auto_fontsets): New variable.
10786 (new_fontset_from_font_name): New function.
10787 (Ffont_info): Store the information about fonts generated from the
10788 default fontset in the first extra slot of the returned char-table.
10789
10790 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10791 (font_name_registry): Delete function.
10792 (split_font_name_into_vector): New function.
10793 (build_font_name_from_vector): New function.
10794 (font_list): The argument REGISTRY is now a list of registry names.
10795 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10796 specifies an explicit font name, return the name as is. Make a
10797 list of registy names.
10798
10799 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10800 of x_new_fontset.
10801 (Fx_create_frame): Don't call x_new_fontset here. Just use
10802 x_list_fonts to check the existence of fonts.
10803
10804 * xterm.h (x_new_fontset): Adjust prototype.
10805
10806 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10807 string. Use new_fontset_from_font_name to create a fontset from a
10808 font name.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * syntax.c (Vfind_word_boundary_function_table): New name for
10813 Vnext_word_boundary_function_table.
10814 (find-word-boundary-function-table): New name for
10815 next-word-boundary-function-table.
10816
108172008-02-01 Dave Love <fx@gnu.org>
10818
10819 * Makefile.in: Fix some dependencies.
10820
10821 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10822 set it to nil before returning.
10823
10824 * composite.c (update_compositions): Fix type error.
10825
10826 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10827
108282008-02-01 Kenichi Handa <handa@m17n.org>
10829
10830 * xterm.c (x_new_font): Optimize for the case that the font is
10831 already set for the frame.
10832
108332008-02-01 Kenichi Handa <handa@m17n.org>
10834
10835 * chartab.c (char_table_ascii): Check if the char table contents
10836 is sub-char-table or not.
10837 (char_table_set, char_table_set_range): Fix argument to
10838 char_table_ascii.
10839
10840 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10841 (detect_coding_utf_8, detect_coding_utf_16)
10842 (detect_coding_emacs_mule, detect_coding_iso_2022)
10843 (detect_coding_sjis, detect_coding_big5)
10844 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10845 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10846 sequence is valid in this coding system. Change callers.
10847 (MAX_ANNOTATION_LENGTH): New macro.
10848 (ADD_ANNOTATION_DATA): New macro.
10849 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10850 ADD_ANNOTATION_DATA. Change the format of annotation data.
10851 (ADD_CHARSET_DATA): New macro.
10852 (emacs_mule_char): New argument ID. Change callers.
10853 (decode_coding_emacs_mule, decode_coding_iso_2022)
10854 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10855 Produce charset annotation data in coding->charbuf.
10856 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10857 to charset annotation data in coding->charbuf.
10858 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10859 coding->common_flags if the coding system is iso-2022 based and
10860 uses designation.
10861 (produce_composition): Adjust for the new annotation data format.
10862 (produce_charset): New function.
10863 (produce_annotation): Handle charset annotation.
10864 (handle_composition_annotation, handle_charset_annotation): New
10865 functions.
10866 (consume_chars): Handle charset annotation. Utilize the above two
10867 functions.
10868 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10869 buffer, get the deleted text as a string and set
10870 coding->src_object to that string.
10871 (detect_coding, detect_coding_system): Use the new struct
10872 coding_detection_info.
10873
10874 * coding.h (struct coding_detection_info): New structure.
10875 (struct coding_system): Adjust prototype of the member `detector'.
10876 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10881
108822008-02-01 Dave Love <fx@gnu.org>
10883
10884 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10885 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10886 to new local and nullify apropos_accumulate before returning.
10887 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10888
108892008-02-01 Kenichi Handa <handa@m17n.org>
10890
10891 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10892 correctly.
10893
108942008-02-01 Dave Love <fx@gnu.org>
10895
10896 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10897
108982008-02-01 Kenichi Handa <handa@m17n.org>
10899
10900 The following changes are to make character composition happen
10901 automatically on displaying.
10902
10903 * Makefile.in (lisp, shortlisp): Add composite.elc.
10904
10905 * composite.h (Qauto_composed, Vauto_composition_function)
10906 (Qauto_composition_function): Extern them.
10907
10908 * composite.c (Vcomposition_function_table)
10909 (Qcomposition_function_table): Delete variables.
10910 (Qauto_composed, Vauto_composition_function)
10911 (Qauto_composition_function): New variables.
10912 (run_composition_function): Don't call
10913 compose-chars-after-function.
10914 (update_compositions): Clear `auto-composed' text property.
10915 (compose_chars_in_text): Delete this function.
10916 (syms_of_composite): Staticpro Qauto_composed and
10917 Qauto_composition_function. Declare Vauto_composition_function as
10918 a Lisp variable.
10919
10920 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10921
10922 * xdisp.c (it_props): Add an entry for Qauto_composed.
10923 (handle_auto_composed_prop): New function.
10924
10925 * xselect.c (selection_data_to_lisp_data): Don't call
10926 compose_chars_in_text.
10927
109282008-02-01 Dave Love <fx@gnu.org>
10929
10930 * keyboard.c (read_char): Modify checking around use of
10931 Vkeyboard_translate_table.
10932
10933 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10934 and fix C types.
10935
109362008-02-01 Kenichi Handa <handa@m17n.org>
10937
10938 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10939 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10940 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10941 the case that the last byte is '\r' correctly.
10942 (decode_coding): Flush out the unprocessed data correctly.
10943 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10944
109452008-02-01 Dave Love <fx@gnu.org>
10946
10947 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10948 Add XK_ISO... case.
10949 (xaw_scroll_callback): Revert last change.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10954
109552008-02-01 Kenichi Handa <handa@m17n.org>
10956
10957 * xfaces.c (Vface_resizing_fonts): New variable.
10958 (struct font_name): New member `resizing_ratio'.
10959 (font_resizing_ratio): New function.
10960 (split_font_name): Set font->resizing_ratio.
10961 (better_font_p): Pay attention to font->resizing_ratio.
10962 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10963 RESX, and RESY fields.
10964 (try_alternative_families): Try scalable fonts if
10965 Vscalable_fonts_allowed is not Qt.
10966 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10967
109682008-02-01 Dave Love <fx@gnu.org>
10969
10970 * xterm.c (xaw_scroll_callback): Cast correctly.
10971
109722008-02-01 Dave Love <fx@gnu.org>
10973
10974 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10975 (lispy_kana_keys): Comment out.
10976 (make_lispy_event) [XK_kana_A]: Comment out.
10977
10978 * xterm.c (xaw_scroll_callback): Cast call_data.
10979 (XTread_socket): Deal with ASCII keysyms.
10980 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10981
109822008-02-01 Dave Love <fx@gnu.org>
10983
10984 * xterm.c (Vx_keysym_table): New.
10985 (syms_of_xterm): Initialize it.
10986 (XTread_socket): Use it.
10987 From head: Eliminate incorrect optimization that tried to avoid
10988 decoding the output of X*LookupString.
10989 (x_get_font_repertory): Delete charset declaration.
10990
109912008-02-01 Kenichi Handa <handa@m17n.org>
10992
10993 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10994 return 0.
10995 (Fdefine_coding_system_internal): Setup
10996 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10997
109982008-02-01 Dave Love <fx@gnu.org>
10999
11000 * coding.c (Fcheck_coding_system): Doc fix.
11001
11002 * editfns.c (Finsert_byte): Return a proper value.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 * coding.c (decode_coding): Fix args to translate_chars. Pay
11007 attention to Vstandard_translation_table_for_decode.
11008 (encode_coding): Fix args to translate_chars. Pay attention to
11009 Vstandard_translation_table_for_encode.
11010
11011 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11012 SINGLE_BYTE_CHAR_P.
11013
11014 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11015 not by SINGLE_BYTE_CHAR_P.
11016
11017 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11018 SINGLE_BYTE_CHAR_P.
11019
11020 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11021 SINGLE_BYTE_CHAR_P.
11022
11023 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
11024 by SINGLE_BYTE_CHAR_P.
11025
11026 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
11027 SINGLE_BYTE_CHAR_P.
11028
110292008-02-01 Dave Love <fx@gnu.org>
11030
11031 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11032
110332008-02-01 Dave Love <fx@gnu.org>
11034
11035 * fns.c (Flanginfo): Fix typo.
11036
11037 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11038
110392008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11042 (detect_coding_emacs_mule, detect_coding_iso_2022)
11043 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11044 incomplete byte sequence. Don't update *mask when correctly detected.
11045 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11046 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11047 (detect_coding, detect_coding_system): Adjust for the changes above.
11048
110492008-02-01 Kenichi Handa <handa@m17n.org>
11050
11051 * character.c (char_string): Rename from
11052 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11053 (string_char): Rename from string_char.
11054
11055 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11056 if C is greater than MAX_3_BYTE_CHAR.
11057 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11058 string_char instead of string_char_with_unification.
11059
110602008-02-01 Dave Love <fx@gnu.org>
11061
11062 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11063
110642008-02-01 Kenichi Handa <handa@m17n.org>
11065
11066 * keymap.c (push_key_description): Pay attention to force_multibyte.
11067
11068 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11069
110702008-02-01 Dave Love <fx@gnu.org>
11071
11072 * charset.c (define_charset_internal): Rename `supprementary'.
11073
11074 * Makefile.in (lisp, shortlisp): Remove latin-N.
11075
110762008-02-01 Dave Love <fx@gnu.org>
11077
11078 * xfns.c (x_window, x_window): Use use_xim.
11079
11080 * xterm.c (use_xim): Initialize.
11081 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11082 (x_term_init): Maybe set use_xim.
11083
11084 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11085
110862008-02-01 Kenichi Handa <handa@m17n.org>
11087
11088 * search.c (search_buffer): Fix case-fold-search of multibyte
11089 characters.
11090 (boyer_moore): Rename the last argument to char_high_bits.
11091
110922008-02-01 Kenichi Handa <handa@m17n.org>
11093
11094 * xdisp.c (display_string): Fix for the case of zero width glyph.
11095
11096 * xfns.c (x_set_font): Change the error message of the case that
11097 x_new_fontset returns Qt.
11098
11099 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11100 (Finternal_set_lisp_face_attribute): Use signal_error for the
11101 error of invalid fontset.
11102
11103 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11104 fontset, return Qt.
11105
111062008-02-01 Dave Love <fx@gnu.org>
11107
11108 * unexelf.c (unexec): Make .got handling not SGI-specific.
11109
11110 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11111
11112 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11113
11114 * keyboard.c (read_key_sequence): Fix type error.
11115
11116 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11117 type error.
11118
11119 * fontset.c (fontset_add): Return Lisp_Object.
11120
111212008-02-01 Dave Love <fx@gnu.org>
11122
11123 * charset.h (charset_ordered_list_tick): Declare extern.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 The following changes (and some of 2008-02-01 changes of mine) are
11128 for handling syntax, category, and case conversion for unibyte
11129 characters by converting them to multibyte on the fly. With these
11130 changes, we don't have to setup syntax and case tables for unibyte
11131 characters in each language environment.
11132
11133 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11134 multibyte if necessary.
11135
11136 * bytecode.c (Fbyte_code): Likewise.
11137
11138 * character.h (LEADING_CODE_LATIN_1_MIN)
11139 (LEADING_CODE_LATIN_1_MAX): New macros.
11140 (unibyte_to_multibyte_table): Extern it.
11141 (unibyte_char_to_multibyte): New macro.
11142 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11143 (CHAR_LEADING_CODE): New macro.
11144 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11145
11146 * character.c (unibyte_to_multibyte_table): New variable.
11147 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11148 (multibyte_char_to_unibyte): If C is an eight-bit character,
11149 convert it to the corresponding byte value.
11150
11151 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11152 not 1, signals an error. Update the elements of
11153 unibyte_to_multibyte_table.
11154 (init_charset_once): Initialize unibyte_to_multibyte_table.
11155 (syms_of_charset): Define the charset `iso-8859-1'.
11156
11157 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11158 as is without converting it to unibyte. In a unibyte buffer,
11159 convert C to multibyte before checking the syntax.
11160
11161 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11162
11163 * minibuf.c (Fminibuffer_complete_word): Use the macro
11164 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11165
11166 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11167
11168 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11169 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11170 that is zero, convert an eight-bit char to multibyte.
11171 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11172 non-emacs case.
11173 (PATFETCH): Convert an eight-bit char to multibyte.
11174 (HANDLE_UNIBYTE_RANGE): New macro.
11175 (regex_compile): Setup the compiled pattern for multibyte chars
11176 even if the given regex string is unibyte. Use PATFETCH_RAW
11177 instead of PATFETCH in many places. To handle `charset'
11178 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11179 only for ASCII chars.
11180 (analyse_first) <exactn>: Simplify because the compiled pattern
11181 is multibyte.
11182 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11183 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11184 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11185 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11186 multibyte always 1.
11187 (re_search_2): In emacs, set the locale variable multibyte to 1,
11188 otherwise to 0. New local variable target_multibyte. Check it
11189 to decide the multibyteness of STR1 and STR2. If
11190 target_multibyte is zero, convert unibyte chars to multibyte
11191 before translating and checking fastmap.
11192 (TARGET_CHAR_AND_LENGTH): New macro.
11193 (re_match_2_internal): In emacs, set the locale variable multibyte
11194 to 1, otherwise to 0. New local variable target_multibyte. Check
11195 it to decide the multibyteness of STR1 and STR2. Use
11196 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11197 <charset, charset_not>: If multibyte is nonzero, check fastmap
11198 only for ASCII chars. Call bcmp_translate with
11199 target_multibyte, not with multibyte.
11200 <begline>: Declare the local variable C as `unsigned'.
11201 (bcmp_translate): Change the last arg name to target_multibyte.
11202
11203 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11204 the regexp pattern and the matching target. Set cp->buf.multibyte
11205 to the multibyteness of the regexp pattern. Set
11206 cp->but.target_multibyte to the multibyteness of the matching target.
11207 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11208 FETCH_STRING_CHAR_ADVANCE.
11209 (Freplace_match): Convert unibyte chars to multibyte.
11210
11211 * syntax.c (char_quoted, back_comment, scan_words)
11212 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11213 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11214 unibyte chars to multibyte.
11215 (skip_chars): Delete the arg syntaxp, and move the code for
11216 handling syntaxes to skip_syntaxes. Change callers.
11217 Fix the case that the multibyteness of STRING and the current
11218 buffer doesn't match.
11219 (skip_syntaxes): New function.
11220 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11221 SINGLE_BYTE_CHAR_P.
11222
112232008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * xfaces.c (QCfontset): New variable.
11226 (LFACE_FONTSET): New macro.
11227 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11228 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11229 (Finternal_set_lisp_face_attribute)
11230 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11231 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11232 check also LFACE_FONTSET_INDEX.
11233 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11234 attrs[LFACE_FONT_INDEX].
11235 (syms_of_xfaces): Intern and staticpro QCfontset.
11236
11237 * dispextern.h (enum lface_attribute_index): New member
11238 LFACE_FONTSET_INDEX.
11239
11240 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11241
112422008-02-01 Kenichi Handa <handa@m17n.org>
11243
11244 * coding.c (coding_set_destination): Fix coding->destination for
11245 the case converting a region.
11246 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11247 (encode_coding_object): Fix coding->dst_pos and
11248 coding->dst_pos_byte for the case converting a region.
11249
11250 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11251
11252 * character.h (BYTE8_STRING): New macro.
11253
11254 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11255
112562008-02-01 Kenichi Handa <handa@m17n.org>
11257
11258 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11259 characters by octal form.
11260
11261 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11262
11263 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11264 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11265 _fetch_multibyte_char_len.
11266 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11267
11268 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11269
11270 * casefiddle.c (casify_object): Simplify. Handle the case that
11271 the case conversion change the byte length.
11272 (casify_region): Likewise.
11273
11274 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11275
11276 * character.c (_fetch_multibyte_char_len): Delete this variable.
11277 (syms_of_character): Setup Vprintable_chars.
11278
11279 * editfns.c (Fchar_equal): Fix for the unibyte case.
11280 (Finsert_byte): New function.
11281 (syms_of_editfns): Defsubr it.
11282
11283 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11284 of direct code 0x3ffff.
11285
11286 * search.c (Freplace_match): Fix for the unibyte case.
11287
112882008-02-01 Kenichi Handa <handa@m17n.org>
11289
11290 * lread.c (safe_to_load_p): Fix the logic.
11291
11292 * syntax.c (scan_words): Don't treat characters belonging to
11293 different scripts as constituting a word.
11294
11295 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11296
11297 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11298
11299 * emacs.c (main): In the case of --unibyte, instead of aborting on
11300 finding non-empty buffer, make it unibyte.
11301
113022008-02-01 Kenichi Handa <handa@m17n.org>
11303
11304 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11305 to create a fontset.
11306
113072008-02-01 Dave Love <fx@gnu.org>
11308
11309 * character.c (Funibyte_char_to_multibyte): Doc fix.
11310
11311 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11312
113132008-02-01 Kenichi Handa <handa@m17n.org>
11314
11315 * fontset.c (fontset_add): Make the type `int'.
11316 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11317
11318 * character.c (unibyte_char_to_multibyte)
11319 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11320 charset_unibyte, not charset_primary.
11321
11322 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11323
11324 * charset.c (charset_unibyte): Rename from charset_primary.
11325 (Funibyte_charset): Rename from Fprimary_charset.
11326 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11327 (syms_of_charset): Adjust for the above changes.
11328
11329 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11330 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11331 it->multibyte_p is zero.
11332
11333 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11334 Delete extern.
11335
113362008-02-01 Kenichi Handa <handa@m17n.org>
11337
11338 * coding.c (Fdefine_coding_system_internal): Fix category setting
11339 for a coding system of type iso-2022.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11344
113452008-02-01 Kenichi Handa <handa@m17n.org>
11346
11347 * syntax.c (Vnext_word_boundary_function_table): New variable.
11348 (next-word-boundary-function-table): Declare it as a Lisp variable
11349 in syms_of_syntax.
11350 (scan_words): Call functions in Vnext_word_boundary_function_table
11351 if any.
11352
11353 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11354
11355 * fontset.c (fs_load_font): If fontp->charset is not negative,
11356 return fontp without setting its members.
11357
113582008-02-01 Dave Love <fx@gnu.org>
11359
11360 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11361
11362 * m/sparc.h (HAVE_ALLOCA): Delete.
11363
11364 * s/irix6-5.h: Don't include strings.h.
11365 (bcopy, bzero, bcmp): Don't undef.
11366
11367 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11368
11369 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11370 (TIOCSIGSEND): Don't test IRIX6.
11371 (bcopy, bzero, bcmp): Define conditionally.
11372
113732008-02-01 Kenichi Handa <handa@m17n.org>
11374
11375 * buffer.c (Qas, Qmake, Qto): New variables.
11376 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11377 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11378
11379 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11380 we are inserting a process output into a multibyte buffer.
11381
11382 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11383 multibyte_char_to_unibyte.
11384
11385 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11386 by the primary charset, make it eight-bit char.
11387 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11388
11389 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11390 (charset_8_bit__control, charset_8_bit_graphic)
11391 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11392 (define_charset_internal): New function.
11393 (syms_of_charset): Call define_charset_internal for pre-defined
11394 charsets.
11395
11396 * charset.h (charset_8_bit): Extern it.
11397
11398 * coding.c (make_conversion_work_buffer): Adjust for the change
11399 of Fset_buffer_multibyte.
11400 (encode_coding_raw_text): Increment p0 in the loop.
11401
11402 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11403
11404 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11405 for the change of Fset_buffer_multibyte.
11406
11407 * fns.c (Fstring_to_multibyte): New function.
11408 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11409
114102008-02-01 Dave Love <fx@gnu.org>
11411
11412 * xfns.c (x_put_x_image): Declare args.
11413
11414 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11415 (try_font_list): Declare an arg.
11416
11417 * xdisp.c (message2_nolog, set_message): Declare an arg.
11418
11419 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11420
11421 * syntax.c (scan_sexps_forward): Declare an arg.
11422
11423 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11424 Declare an arg.
11425
11426 * lisp.h (Fnew_fontset): Declare.
11427
11428 * keymap.c (push_key_description): Call CHARACTERP correctly.
11429
11430 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11431 (face_for_char): Delete unused vars.
11432 (Fset_fontset_font): Doc fix. Delete unused vars.
11433
11434 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11435
11436 * composite.c (update_compositions): Declare arg.
11437
11438 * cm.c (calccost, cmgoto): Declare args.
11439
11440 * charset.c: Remove `emacs' conditional. Doc fixes.
11441 (map_char_table_for_charset): Declare.
11442
11443 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11444
11445 * ccl.c: Remove `emacs' conditional.
11446
114472008-02-01 Kenichi Handa <handa@m17n.org>
11448
11449 The following changes are to allow specifying multiple font
11450 patterns for a character range (specified by script or charset).
11451
11452 * Makefile.in (abbrev.o): Depend on syntax.h.
11453 (xfaces.o): Depend on charset.h.
11454
11455 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11456 SINGLE_BYTE_CHAR_P.
11457
11458 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11459
11460 * character.h (Vchar_script_table): Extern it.
11461
11462 * character.c (Vscript_alist): Delete.
11463 (Vchar_script_table, Qchar_script_table): New variable.
11464 (syms_of_character): Declare Vchar_script_table as a lisp variable
11465 and initialize it.
11466
11467 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11468 have property char-table-extra-slots, make no extra slot.
11469
11470 * dispextern.h (struct face): Delete member `charset'.
11471 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11472 SINGLE_BYTE_CHAR_P.
11473 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11474 Add prototypes.
11475 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11476 (generate_ascii_font_name): Rename from generate_ascii_font.
11477
11478 * fontset.h (get_font_repertory_func): New prototype.
11479 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11480 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11481
11482 * fontset.c (Qprepend, Qappend): New variables.
11483 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11484 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11485 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11486 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11487 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11488 (load_font_get_repertory): New functions.
11489 (fontset_set): Delete.
11490 (fontset_face): New arg FACE. Return face ID, not face.
11491 Complete re-write to handle new fontset structure. Change caller.
11492 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11493 (face_for_char): Don't call lookup_face.
11494 (make_fontset_for_ascii_face): New arg FACE.
11495 (fs_load_font): New arg CHARSET_ID. Don't check
11496 Vfont_encoding_alist here.
11497 (find_font_encoding): New function.
11498 (list_fontsets): Use STRINGP, not ! NILP.
11499 (accumulate_script_ranges): New function.
11500 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11501 re-written to handle new fontset structure.
11502 (Ffontset_font): Return a copy of element.
11503 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11504 docstring of font-encoding-alist.
11505
11506 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11507 (Fset_fotset_font): Fix arguments to 5.
11508
11509 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11510
11511 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11512 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11513 (highlight_trailing_whitespace): Adjust for the change of
11514 lookup_named_face.
11515
11516 * xfaces.c: Include charset.h.
11517 (load_face_font): Delete argument C. Change caller.
11518 (generate_ascii_font_name): Rename from generate_ascii_font.
11519 (font_name_registry): New function.
11520 (cache_face): Store ascii faces before non-ascii faces in buckets.
11521 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11522 Lookup only ascii faces.
11523 (lookup_non_ascii_face): New function.
11524 (lookup_named_face): Delete argument C. Change caller.
11525 (lookup_derived_face): Delete argument C. Change caller.
11526 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11527 a string, just call font_list with it.
11528 (choose_face_font): Delete arguments FACE and C. New arg
11529 FONT_SPEC. Change caller.
11530 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11531 Change caller.
11532 (realize_non_ascii_face): New function.
11533 (realize_x_face): Call load_face_font here.
11534 (realize_tty_face): Delete argument C. Change caller.
11535 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11536 get a face ID.
11537 (dump_realized_face): Don't print charset of FACE.
11538
11539 * xfns.c (x_set_font): Always call x_new_fontset and
11540 store_frame_parameter.
11541 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11542 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11543
11544 * xterm.h (x_get_font_repertory): Extern it.
11545
11546 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11547 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11548 it->multibyte_p is zero.
11549 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11550 (x_new_fontset): If FONTSETNAME doesn't match any existing
11551 fontsets, create a new one.
11552 (x_get_font_repertory): New function.
11553
115542008-02-01 Kenichi Handa <handa@m17n.org>
11555
11556 * coding.c (Ffind_coding_systems_region_internal): Detect an
11557 ASCII only string correctly.
11558
11559 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11560 version is 0.
11561
115622008-02-01 Kenichi Handa <handa@m17n.org>
11563
11564 * lread.c: Include "coding.h".
11565 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11566 (load_each_byte, unread_char): New variables.
11567 (readchar_backlog): Delete.
11568 (readchar): Return a character unless load_each_byte is nonzero.
11569 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11570 cons. If unread_char is not -1, simply return it.
11571 (unreadchar): Handle the case that readcharfun is
11572 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11573 (read_multibyte): Delete.
11574 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11575 (read_emacs_mule_char): New functions.
11576 (Fload): Even if the file doesn't have the extension ".elc", if
11577 safe_to_load_p returns a positive version number, assume that the
11578 file contains bytecompiled code. If the version is less than 22,
11579 load the file while decoding multibyte sequences by emacs-mule.
11580 (readevalloop): Don't use readchar_backlog.
11581 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11582 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11583 (read_escape): Delete the arg BYTEREP.
11584 (read1): Set load_each_byte to 1 temporarily while handling
11585 #@NUMBER. Don't call read_multibyte.
11586 (read_vector): Call Fread with a cons. If readcharfun is
11587 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11588 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11589 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11590 and Qload_force_doc_strings.
11591
115922008-02-01 Kenichi Handa <handa@m17n.org>
11593
11594 * xdisp.c (face_before_or_after_it_pos): Call
11595 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11596
115972008-02-01 Kenichi Handa <handa@m17n.org>
11598
11599 * character.h (TRAILING_CODE_P): New macro.
11600 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11601 (string_char_with_unification): Fix prototype.
11602 (Vscript_alist): Extern it.
11603
11604 * character.c (Vscript_alist): New variable.
11605 (string_char_with_unification, str_as_unibyte)
11606 (string_escape_byte8): Add `const' to local variables.
11607 (syms_of_character): Declare script-alist as a Lisp variable.
11608
11609 * charset.h (Vcharset_ordered_list): Extern it.
11610 (charset_ordered_list_tick): Extern it.
11611 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11612 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11613 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11614 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11615 (Funify_charset): Adjust for the change of Funify_charset.
11616
11617 * charset.c (charset_ordered_list_tick): New variable.
11618 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11619 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11620 deunify intead of unify a charset.
11621 (string_xstring_p): Add `const' to local variables.
11622 (find_charsets_in_text): Add `const' to arguments and local variables.
11623 (encode_char): Adjust for the change of Funify_charset. Fix
11624 detecting of invalid code.
11625 (Fset_charset_priority): Increment charset_ordered_list_tick.
11626 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11627 and TO_CODE.
11628
11629 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11630 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11631 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11632 (decode_coding_ccl, consume_chars)
11633 (Ffind_coding_systems_region_internal)
11634 (Fcheck_coding_systems_region): Add `const' to local variables.
11635
11636 * print.c (print_object): Use octal form for printing the
11637 contents of a bool vector.
11638
116392008-02-01 Dave Love <fx@gnu.org>
11640
11641 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11642 <version == 20>: Refuse to load.
11643
116442008-02-01 Dave Love <fx@gnu.org>
11645
11646 * fns.c: Move coding.h.
11647 (Qcodeset, Qdays, Qmonths): New.
11648 (concat): Use CHARACTERP instead of INTEGERP.
11649 (Flocale_codeset): Delete.
11650 (Flanginfo): New function.
11651 (syms_of_fns): Change accordingly.
11652
11653 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11654
116552008-02-01 Dave Love <fx@gnu.org>
11656
11657 * casetab.c (init_casetab_once, init_casetab_once): Fix
11658 CHAR_TABLE_SET call.
11659
11660 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11661
11662 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11663
11664 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11665 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11666 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11667
11668 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11669
11670 * coding.c (ENCODE_DESIGNATION, decode_eol)
11671 (make_conversion_work_buffer, code_conversion_restore)
11672 (Fdefine_coding_system_internal): Convert Lisp types.
11673 (code_conversion_restore): Use EQ, not ==.
11674 (Fencode_coding_string): Fix code_convert_string call.
11675
11676 * coding.h (code_convert_region): Fix prototype.
11677
11678 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11679
11680 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11681 (Ffontset_info): Convert Lisp types.
11682
11683 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11684
11685 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11686
11687 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11688
11689 * chartab.c: Include "...h", not <...h> in some cases.
11690
11691 * callproc.c (Fcall_process): Remove unused variables.
11692
116932008-02-01 Dave Love <fx@gnu.org>
11694
11695 * coding.c (Fset_coding_system_priority): Allow null arg list.
11696
116972008-02-01 Dave Love <fx@gnu.org>
11698
11699 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11700 (Fself_insert_and_exit): Use CHARACTERP.
11701
11702 * callproc.c (Fcall_process): Remove unused vars.
11703
11704 * xterm.c (XTread_socket): Add extra dead keysyms.
11705
11706 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11707
11708 * dispextern.h: Remove prototypes for redraw_frame,
11709 redraw_garbaged_frames.
11710
11711 * cmds.c (Fself_insert_command): Use CHARACTERP.
11712
11713 * chartab.c (make_sub_char_table): Remove unused var.
11714 (Fset_char_table_default, Fmap_char_table): Doc fix.
11715
11716 * keymap.c (access_keymap): Remove generic char code.
11717 (push_key_description): Use CHARACTERP.
11718
117192008-02-01 Dave Love <fx@gnu.org>
11720
11721 * charset.c: Doc fixes.
11722 (Funify_charset): Extra checking.
11723
117242008-02-01 Dave Love <fx@gnu.org>
11725
11726 * lread.c: Remove some unused variables.
11727 (safe_to_load_p): If safe, return the magic number version byte.
11728 (Fload): Maybe use load-with-code-conversion.
11729
117302008-02-01 Kenichi Handa <handa@m17n.org>
11731
11732 * category.c (Fmodify_category_entry): Don't modify the contents
11733 of category_set for characters out of the range. Avoid
11734 unnecessary modification.
11735
11736 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11737 Vchar_unify_table. The default value of the table is now nil.
11738
11739 * character.c (syms_of_character): Setup Vchar_width_table for
11740 eight-bit-control and raw-byte chars.
11741
11742 * charset.h (enum define_charset_arg_index): Delete
11743 charset_arg_parents and add charset_arg_subset and
11744 charset_arg_superset.
11745 (enum charset_attr_index): Delete charset_parents and add
11746 charset_subset and charset_superset.
11747 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11748 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11749 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11750 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11751 (CHARSET_SUPERSET): New macros.
11752 (charset_work): Extern it.
11753 (ENCODE_CHAR): Use charset_work.
11754 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11755 (map_charset_chars): Extern it.
11756
11757 * charset.c (load_charset_map): Set the default value of encoder
11758 and deunifier char-tables to nil.
11759 (map_charset_chars): Change argument. Change callers. Use
11760 map_char_table_for_charset instead of map_char_table.
11761 (Fmap_charset_chars): New optional args from_code and to_code.
11762 (Fdefine_charset_internal): Adjust for the change of
11763 `define-charset' (:parents -> :subset or :superset).
11764 (charset_work): New variable.
11765 (encode_char, syms_of_charset): Adjust for the change of
11766 Fdefine_charset_internal.
11767 (Ffind_charset_string): Setup the vector `charsets' correctly.
11768
11769 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11770 the previous change.
11771 (char_table_ref_and_range): Adjust for the above change.
11772 (map_sub_char_table_for_charset): New function.
11773 (map_char_table_for_charset): New function.
11774
11775 * keymap.c (describe_vector): Handle a char-table directly here.
11776 (describe_char_table): Delete.
11777
11778 * lisp.h (map_charset_chars): Delete.
11779
117802008-02-01 Dave Love <fx@gnu.org>
11781
11782 * fns.c (count_combining): Comment out (unused).
11783 (Flocale_codeset): New.
11784 (syms_of_fns): Defsubr it.
11785
11786 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11787 (size_t): Remove.
11788
117892008-02-01 Dave Love <fx@gnu.org>
11790
11791 * Makefile.in (chartab.o): Depend on charset.h.
11792
117932008-02-01 Kenichi Handa <handa@m17n.org>
11794
11795 * character.c (syms_of_character): Set the default value of
11796 Vprintable_chars to Qnil.
11797
117982008-02-01 Dave Love <fx@gnu.org>
11799
11800 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11801
118022008-02-01 Kenichi Handa <handa@m17n.org>
11803
11804 * charset.c (load_charset_map): Handle the case that from < to
11805 correctly.
11806
11807 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11808 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11809 Pay attention to raw-8-bit chars.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11814 It is not bytecompiled now.
11815
11816 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11817 (charset_jisx0208): New variables.
11818 (Fdefine_charset_internal): Setup them if appropriate.
11819 (init_charset_once): Initialize them to -1.
11820
11821 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11822 (charset_jisx0208): Extern them.
11823
11824 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11825 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11826 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11827 (setup_iso_safe_charsets): Fix arguments to Fassq.
11828 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11829 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11830 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11831 (encode_coding_iso_2022): Change the 1st arg to
11832 ENCODE_ISO_CHARACTER to a variable.
11833
118342008-02-01 Kenichi Handa <handa@m17n.org>
11835
11836 * charset.h (enum define_charset_arg_index): New enums
11837 charset_arg_min_code and charset_arg_max_code.
11838 (struct charset): New member char_index_offset.
11839
11840 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11841 Take charset->char_index_offset into account.
11842 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11843 args[charset_arg_max_code]. Setup charset.char_index_offset.
11844 (syms_of_charset): Fix args to Fdefine_charset_internal.
11845
118462008-02-01 Dave Love <fx@gnu.org>
11847
11848 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11849
118502008-02-01 Dave Love <fx@gnu.org>
11851
11852 * coding.c: Doc fixes.
11853 (Fcoding_system_aliases): Fix return value.
11854 (Qmac): Remove (duplicated) definition.
11855
118562008-02-01 Dave Love <fx@gnu.org>
11857
11858 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11859 functions.
11860
11861 * character.c (Fstring): Doc fix.
11862
11863 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11864
11865 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11866 ids.
11867 (font-encoding-alist): Doc fix.
11868
118692008-02-01 Dave Love <fx@gnu.org>
11870
11871 * term.c (costs_set): Declare static, non-initialized for pcc.
11872 (encode_terminal_code): Remove unused var.
11873
11874 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11875 for K&R.
11876
11877 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11878
11879 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11880 (suffixes): Move out of make_subsidiaries for K&R.
11881
11882 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11883
11884 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11885
118862008-02-01 Dave Love <fx@gnu.org>
11887
11888 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11889
11890 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11891
118922008-02-01 Yong Lu <lyongu@asia-infonet.com>
11893
11894 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11895
11896 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11897
118982008-02-01 Kenichi Handa <handa@m17n.org>
11899
11900 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11901 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11902
119032008-02-01 Kenichi Handa <handa@m17n.org>
11904
11905 * coding.c (decode_coding_charset): Adjust for the change of
11906 Fdefine_coding_system_internal.
11907 (Fdefine_coding_system_internal): For a coding system of
11908 `charset' type, store a list of charset IDs in
11909 `charset_attr_charset_valids' element of coding attributes.
11910
119112008-02-01 Kenichi Handa <handa@m17n.org>
11912
11913 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11914 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11915 caller. Handle 2-byte and 3-byte charsets correctly.
11916 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11917 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11918 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11919 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11920 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11921 sequence.
11922 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11923 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11924 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11925 and alt&rule composition.
11926 (decode_coding_iso_2022): Handle composition correctly.
11927 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11928
11929 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11930 re-defining a charset. If the charset has :emacs-mule-id, setup
11931 emacs_mule_bytes.
11932 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11933
119342008-02-01 Kenichi Handa <handa@m17n.org>
11935
11936 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11937 (encode_coding_big5, encode_coding_charset): If coding requires safe
11938 encoding, produce a character specified by
11939 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11940
119412008-02-01 Dave Love <fx@gnu.org>
11942
11943 * xterm.c (XSetIMValues): Declare.
11944
11945 * process.c: Conditionally include sys/wait.h, pty.h.
11946
11947 * print.c (print_object): Fix print format for 64-bit systems.
11948
11949 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11950
11951 * buffer.c (emacs_strerror): Declare.
11952
11953 * fontset.c (Fclear_face_cache): Declare.
11954 (accumulate_font_info): Comment-out (unused).
11955 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11956 variables.
11957
11958 * character.h (string_escape_byte8): Declare.
11959
11960 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11961 unused vars.
11962 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11963 (Fmap_charset_chars): Doc fix.
11964
11965 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11966 (Fset_coding_system_priority, Fset_coding_system_priority)
11967 (Fdefine_coding_system_internal): Doc fix.
11968
119692008-02-01 Dave Love <fx@gnu.org>
11970
11971 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11972
119732008-02-01 Kenichi Handa <handa@m17n.org>
11974
11975 * character.c (string_escape_byte8): Make multibyte string with
11976 correct size.
11977
11978 * charset.c (Fmake_char): Delete unnecessary code.
11979
119802008-02-01 Kenichi Handa <handa@m17n.org>
11981
11982 * xfns.c (x_encode_text): Allocate coding.destination here, and
11983 call encode_coding_object with dst_object Qnil.
11984
11985 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11986 multibyte form correctly.
11987
11988 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11989 against Vfont_encoding_alist.
11990
11991 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11992 handling of charset list.
11993 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11994 (decode_coding_object): Move point to coding->dst_pos before
11995 calling post-read-conversion function.
11996 (encode_coding_object): Give correct arguments to
11997 pre-write-conversion. Ignore the return value of
11998 pre-write-conversion function. Pay attention to the case that
11999 pre-write-conversion changes the current buffer. If dst_object is
12000 Qt, even if coding->src_bytes is zero, allocate at least one byte
12001 to coding->destination.
12002
12003 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12004
12005 * charset.c (Fmake_char): Make it more backward compatible.
12006 (Fmap_charset_chars): Fix docstring.
12007
120082008-02-01 Dave Love <fx@gnu.org>
12009
12010 * coding.c: Doc fixes.
12011 (Fdefine_coding_system_alias): Use names, not symbols, in
12012 coding-system-alist.
12013
120142008-02-01 Kenichi Handa <handa@m17n.org>
12015
12016 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12017 of calling free_realized_face.
12018
120192008-02-01 Yong Lu <lyongu@asia-infonet.com>
12020
12021 * charset.c (read_hex): Don't treat SPC as a comment starter.
12022 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
12023 (Fdecode_char): Fix typo.
12024
120252008-02-01 Kenichi Handa <handa@m17n.org>
12026
12027 * charset.h (struct charset): New member `code_space_mask'.
12028
12029 * coding.c (coding_set_source): Delete the local variable beg_byte.
12030 (encode_coding_charset, Fdefine_coding_system_internal):
12031 Delete the local variable charset.
12032 (Fdefine_coding_system_internal): Setup
12033 attrs[coding_attr_charset_valids] correctly.
12034
12035 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12036 member to check if CODE is valid or not.
12037 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12038 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12039 is within the range of charset->min_code and carset->max_code.
12040
120412008-02-01 Dave Love <fx@gnu.org>
12042
12043 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12044
12045 * dispextern.h (generate_ascii_font): Fix return type.
12046
12047 * xfaces.c (generate_ascii_font): Fix arg declaration.
12048
12049 * coding.c (coding_inherit_eol_type)
12050 (Fset_terminal_coding_system_internal)
12051 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12052
120532008-02-01 Kenichi Handa <handa@m17n.org>
12054
12055 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12056 multiple charsets correctly.
12057
120582008-02-01 Kenichi Handa <handa@m17n.org>
12059
12060 * search.c (boyer_moore): Fix handling of multibyte character
12061 translation.
12062
12063 * xdisp.c (display_mode_element): When the variable `elt' is
12064 changed, update `this' and `lisp_string'.
12065
120662008-02-01 Kenichi Handa <handa@m17n.org>
12067
12068 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12069
12070 * callproc.c (Fcall_process): Be sure to give the current buffer
12071 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12072
12073 * charset.c (struct charset_map_entries): New struct.
12074 (load_charset_map): Rename from parse_charset_map. New args
12075 entries and n_entries. Change caller.
12076 (load_charset_map_from_file): Rename from load_charset_map.
12077 Change caller. New arg control_flag. Call load_charset_map at
12078 the tail.
12079 (load_charset_map_from_vector): New function.
12080 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12081 (encode_char): If the charset is compact, change a character index
12082 to a code point.
12083
12084 * coding.c (coding_alloc_by_making_gap): Check the case that the
12085 source and destination are the same correctly.
12086 (decode_coding_raw_text): Set coding->consumed_char and
12087 coding->consumed to 0.
12088 (produce_chars): If coding->chars_at_source is nonzero, update
12089 coding->consumed_char and coding->consumed before calling
12090 alloc_destination.
12091 (Fdefine_coding_system_alias): Register ALIAS in
12092 Vcoding_system_alist.
12093 (syms_of_coding): Define `no-conversion' coding system at the tail.
12094
12095 * fileio.c (Finsert_file_contents): Set coding_system instead of
12096 val. If the current buffer is multibyte, always call
12097 decode_coding_gap.
12098
12099 * xfaces.c (try_font_list): Give higher priority to fontset's
12100 family than face's family.
12101
121022008-02-01 Kenichi Handa <handa@m17n.org>
12103
12104 * callproc.c (Fcall_process): Be sure to give the current buffer
12105 to decode_coding_c_string.
12106
12107 * xfaces.c (try_font_list): Give a family specified in a fontset
12108 higher priority than a family specified in a face.
12109
121102008-02-01 Kenichi Handa <handa@m17n.org>
12111
12112 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12113 Fix arguments to insert_from_buffer.
12114
12115 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12116
121172008-02-01 Kenichi Handa <handa@m17n.org>
12118
12119 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12120 (decode_coding_gap): Set coding->dst_multibyte correctly.
12121
121222008-02-01 Kenichi Handa <handa@m17n.org>
12123
12124 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12125 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12126 (encode_coding_utf_16): Substitute coding->default_char for
12127 non-Unicode characters.
12128 (decode_coding): Don't call record_insert here.
12129 (setup_coding_system): Initialize `surrogate' of
12130 coding->spec.utf_16 to 0.
12131 (EMIT_ONE_BYTE): Fix for multibyte case.
12132
12133 * insdel.c (insert_from_gap): Call record_insert.
12134
121352008-02-01 Kenichi Handa <handa@m17n.org>
12136
12137 * casefiddle.c (casify_region): Fix multibyte case.
12138
12139 * character.c (c_string_width): Add return type `int'.
12140 (char_string_with_unification): Delete arg ADVANCED.
12141
12142 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12143 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12144 (CHAR_STRING_ADVANCE): Make it do-while statement.
12145
12146 * chartab.c (sub_char_table_set_range): Optimize for the case
12147 DEPTH == 3. Add workaround code for a GCC optimization bug.
12148
12149 * charset.c (parse_charset_map): Remove an unused variable.
12150
12151 * coding.c: Delete unused variables.
12152
12153 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12154 earlier. If inserted is zero and the coding system doesn't
12155 require flushing, don't call decode_coding_gap.
12156
12157 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12158
121592008-02-01 Kenichi Handa <handa@m17n.org>
12160
12161 The following changes are for using Unicode as an internal
12162 character model, and use UTF-8 format for buffer/string
12163 representation.
12164
12165 * .gdbinit (xchartable): Adjust for the change of char table structure.
12166 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12167
12168 * Makefile.in (obj): Add character.o and chartab.o.
12169 (lisp, shortlisp): Remove utf-8.elc.
12170 (*.o): For many files, change dependency on charset.h to
12171 character.h, and add dependency on character.h.
12172 (character.o, chartab.o): New targets.
12173
12174 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12175 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12176 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12177 of "charset.h".
12178
12179 * dired.c, filelock.c: Include "character.h".
12180
12181 * alloc.c: Include "character.h" instead of "charset.h".
12182 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12183 (syms_of_alloc): Remove defsubr for Smake_char_table.
12184
12185 * buffer.c: Include "character.h" instead of "charset.h", don't
12186 include "coding.h".
12187 (Fset_buffer_multibyte): Adjust for UTF-8.
12188
12189 * buffer.h: EXFUN Fbuffer_live_p.
12190
12191 * callproc.c: Include "character.h" instead of "charset.h".
12192 (Fcall_process): Big change for the new code-conversion APIs.
12193
12194 * casetab.c: Include "character.h" instead of "charset.h".
12195 (set_canon, set_identity, shuffle): Adjust for the new
12196 map_char_table spec.
12197 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12198 accessing the char table structure.
12199
12200 * chartab.c: New file that implements char table.
12201
12202 * category.c: Include "character.h".
12203 (copy_category_entry): New function.
12204 (copy_category_table): Call map_char_table and copy_category_entry.
12205 (Fmake_category_table): Initialize all top-level slots.
12206 (char_category_set): New function.
12207 (modify_lower_category_set): Delete.
12208 (Fmodify_category_entry): Call char_table_ref_and_range.
12209
12210 * category.h (CATEGORY_SET): Just call char_category_set.
12211
12212 * ccl.c: Include "character.h".
12213 (Qccl, Qcclp): New variables.
12214 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12215 it's less than 256.
12216 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12217 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12218 and DST type.
12219 (ccl_driver): Change types of argument, adjust code accordingly.
12220 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12221 ccl_driver.
12222 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12223
12224 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12225 New members src_multibyte, dst_multibyte, consumed, and produced.
12226 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12227 (CODING_SPEC_CCL_PROGRAM): New macro.
12228 (ccl_driver): Update prototype.
12229 (Qccl, Qcclp, Fccl_program_p): Extern them.
12230 (CHECK_CCL_PROGRAM): New macro.
12231
12232 * character.c, character.h, chartab.c: New files.
12233
12234 * charset.c: Mostly re-written. Move character and multibyte sequence
12235 handling codes to character.c.
12236
12237 * charset.h: Mostly re-written. Move character and multibyte sequence
12238 handling codes to character.h.
12239
12240 * coding.c, coding.h: Mostly re-written.
12241
12242 * composite.c: Include "character.h" instead of "charset.h".
12243 (CHAR_WIDTH): Move to character.h.
12244 (HASH_KEY, HASH_VALUE): Delete.
12245
12246 * composite.h (enum composition_method): Change order of enumeration
12247 symbols.
12248
12249 * data.c: Include "character.h" instead of "charset.h".
12250 (Faref): Call CHAR_TABLE_REF for a char table.
12251 (Faset): Call CHAR_TABLE_SET for a char table.
12252
12253 * dispextern.h (free_realized_face, check_face_attribytes)
12254 (generate_ascii_font): Extern them.
12255 (free_realized_multibyte_face): Delete extern.
12256
12257 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12258 table structure.
12259
12260 * editfns.c: Include "character.h" instead of "charset.h".
12261 (Fchar_to_string): Always call CHAR_STRING.
12262
12263 * emacs.c (main): Call init_charset_once, init_charset,
12264 syms_of_chartab, and syms_of_character.
12265
12266 * fileio.c: Include "character.h" instead of "charset.h".
12267 (Finsert_file_contents): Big change for the new code-conversion API.
12268 (choose_write_coding_system, Fwrite_region): Likewise.
12269 (build_annotations_2): Delete.
12270 (e_write): Big change for the new code-conversion API.
12271
12272 * fns.c: Include "character.h" instead of "charset.h".
12273 (copy_sub_char_table): Move to chartab.c.
12274 (Fcopy_sequence): Call copy_char_table for a char table.
12275 (concat): Delete codes calling count_multibyte.
12276 (string_char_to_byte, string_byte_to_char): Adjust for the new
12277 multibyte form.
12278 (internal_equal): Adjust for the change of char table structure.
12279 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12280 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12281 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12282 (char_table_translate, optimize_sub_char_table)
12283 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12284 chartab.c.
12285 (char_table_ref_and_index): Delete.
12286 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12287 (Fmd5): Call preferred_coding_system instead of accessing
12288 Vcoding_category_list. Adjust for the new code-conversion API.
12289 (syms_of_fns): Move defsubr for char table related functions to
12290 chartab.c.
12291
12292 * fontset.c: Mostly re-written.
12293
12294 * fontset.h (struct font_info): Change type of the member encoding_type.
12295 (enum FONT_SPEC_INDEX): New enum.
12296 (fontset_font_pattern, fs_load_font): Update prototype.
12297 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12298
12299 * indent.c: Include "character.h" instead of "charset.h".
12300 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12301
12302 * insdel.c: Include "character.h" instead of "charset.h".
12303 (copy_text): Don't refer to Vnonascii_translation_table.
12304 (insert_from_gap): New function.
12305
12306 * keyboard.c: Include "character.h" instead of "charset.h".
12307 (command_loop_1): Never call direct_output_forward_char before
12308 a non-ASCII character.
12309 (read_char): If Vkeyboard_translate_table is a char table, always
12310 translate a character.
12311
12312 * keymap.c: Include "character.h".
12313 (store_in_keymap): Handle the case that IDX is a cons.
12314 (Fdefine_key): Handle the case that KEY is a cons and the car part
12315 is also a cons (range).
12316 (push_key_description): Adjust for the new character code.
12317 (describe_vector): Call describe_char_table for a char table.
12318 (describe_char_table): New function.
12319
12320 * keymap.h (describe_char_table): Extern it.
12321
12322 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12323 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12324 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12325 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12326 Delete.
12327 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12328 structure.
12329 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12330 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12331 (CHARTAB_SIZE_BITS_3): New macros.
12332 (chartab_size): Extern it.
12333 (struct Lisp_Char_Table): Re-design.
12334 (struct Lisp_Sub_Char_Table): New structure.
12335 (HASH_KEY, HASH_VALUE): Move from fns.c.
12336 (CHARACTERBITS): Define as 22.
12337 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12338 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12339 (GC_SUB_CHAR_TABLE_P): New macro.
12340 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12341 (code_convert_string_norecord): Deleted extern.
12342 (init_character_once, syms_of_character, init_charset)
12343 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12344
12345 * lread.c: Include "character.h".
12346 (read_multibyte): New arg NBYTES.
12347 (read_escape): Change the meaning of returned *BYTEREP.
12348 (to_multibyte): Delete.
12349 (read1): Adjust the handling of char table and string.
12350
12351 * print.c: Include "character.h" instead of "charset.h".
12352 (print_string): Convert 8-bit raw bytes to octal form by
12353 string_escape_byte8.
12354 (print_object): Adjust for the new multibyte form. Print 8-bit
12355 raw bytes always in octal form. Handle sub char table correctly.
12356
12357 * process.c: Include "character.h" instead of "charset.h".
12358 (read_process_output, send_process): Adjust for the new
12359 code-conversion API.
12360
12361 * puresize.h (BASE_PURESIZE): Increase.
12362
12363 * regex.c: Include "character.h" instead of "charset.h".
12364 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12365 (regex_compile): Accept a range whose starting and ending
12366 character have different leading bytes.
12367 (analyse_first): Adjust for the above change.
12368
12369 * search.c: Include "character.h" instead of "charset.h".
12370 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12371 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12372
12373 * syntax.c: Include "character.h" instead of "charset.h".
12374 (syntax_parent_lookup): Delete.
12375 (Fmodify_syntax_entry): Accept a cons as CHAR.
12376 (skip_chars): Adjust for the new multibyte form.
12377 (init_syntax_once): Call char_table_set_range instead of directly
12378 accessing the structure of a char table.
12379
12380 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12381 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12382 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12383 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12384
12385 * term.c: Include "buffer.h" and "character.h".
12386 (encode_terminal_code, write_glyphs): Adjust for the new
12387 code-conversion API.
12388 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12389
12390 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12391
12392 * xdisp.c: Include "character.h".
12393 (get_next_display_element): Adjust for the new multibyte form.
12394 (disp_char_vector): Adjust for the new char table structure.
12395 (decode_mode_spec_coding): Adjust for the new structure of
12396 coding system.
12397 (decode_mode_spec): Adjust for the new code-conversion API.
12398
12399 * xfaces.c: Include "character.h" instead of "charset.h".
12400 (load_face_font): Adjust for the change of choose_face_font and
12401 FS_LOAD_FONT.
12402 (generate_ascii_font): New function.
12403 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12404 (set_font_frame_param): Adjust for the change of choose_face_font.
12405 (free_realized_face): Make it public.
12406 (free_realized_faces_for_fontset): Rename from
12407 free_realized_multibyte_face. Free also faces realized for ASCII.
12408 (choose_face_font): Change arguments. Adjust for the change of
12409 fontset_font_pattern and FS_LOAD_FONT.
12410
12411 * xfns.c: Include "character.h".
12412 (x_encode_text): Adjust for the new code-conversion API.
12413
12414 * xselect.c: Don't include "charset.h".
12415 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12416
12417 * xterm.c: Include "character.h".
12418 (x_encode_char): New argument CHARSET. Change caller.
12419 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12420 Call ENCODE_CHAR instead of SPLIT_CHAR.
12421 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12422 CHAR_WIDTH instead of CHARSET_WIDTH.
12423 (XTread_socket): Adjust for the new code-conversion API.
12424 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12425 (x_load_font): Adjust for the change of struct font.
12426
124272008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12428
12429 * xfaces.c (face_at_buffer_position): Remove unused vars.
12430
124312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12432
12433 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12434 Fix overflow checking.
12435
124362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12437
12438 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12439 Cancel previous change.
12440
124412008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12442
12443 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12444 ccl->eight_bit_control. Fix check for buffer overflow.
12445 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12446 (ccl_driver): Initialize extra_bytes to 0.
12447
124482008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12449
12450 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12451 return it ORed with ctrl_modifier.
12452
124532008-01-29 Miles Bader <miles@gnu.org>
12454
12455 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12456
124572008-01-28 Jason Rumney <jasonr@gnu.org>
12458
12459 * w32.c (stat): Don't double check for networked drive.
12460
124612008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12462
12463 * window.c (run_window_configuration_change_hook): New function.
12464 Code extracted from set_window_buffer. Set the selected frame.
12465 (set_window_buffer): Use it.
12466 * window.h (run_window_configuration_change_hook): Declare.
12467 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12468
12469 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12470
124712008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12472
12473 * Makefile.in: Remove references to unused macros.
12474
124752008-01-26 Eli Zaretskii <eliz@gnu.org>
12476
12477 * w32.c (g_b_init_get_sid_sub_authority)
12478 (g_b_init_get_sid_sub_authority_count): New static variables.
12479 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12480 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12481 (init_user_info): Use them to retrieve uid and gid.
12482 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12483 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12484 st_uid and st_gid of the file.
12485
124862008-01-26 Jason Rumney <jasonr@gnu.org>
12487
12488 * w32.c (logon_network_drive): New function.
12489 (stat): Use it.
12490
124912008-01-26 Chong Yidong <cyd@stupidchicken.com>
12492
12493 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12494 invisible text covered with an ellipsis.
12495
124962008-01-25 Richard Stallman <rms@gnu.org>
12497
12498 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12499 jump back to beginning. Move some other initializations after that.
12500 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12501 New variables.
12502 (syms_of_xdisp): Init them.
12503
12504 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12505
12506 * buffer.c (reset_buffer_local_variables):
12507 Implement `permanent-local-hook'.
12508 (Qpermanent_local_hook): New variable.
12509 (syms_of_buffer): Init and staticpro it.
12510
125112008-01-25 Michael Albinus <michael.albinus@gmx.de>
12512
12513 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12514
125152008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12516
12517 * fns.c (Fclrhash): Return TABLE.
12518
125192008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12520
12521 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12522 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12523 is set even without positional changes.
12524 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12525
12526 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12527
125282008-01-23 Jason Rumney <jasonr@gnu.org>
12529
12530 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12531
12532 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12533 the unicode range available in MULE by locale-coding-system.
12534 Improve dbcs lead byte detection. Set event timestamp and modifiers
12535 earlier.
12536
125372008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12538
12539 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12540 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12541 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12542 when used on child processes.
12543
125442008-01-21 Michael Albinus <michael.albinus@gmx.de>
12545
12546 * dbusbind.c (Fdbus_method_return_internal): Rename from
12547 Fdbus_method_return.
12548 (Fdbus_unregister_object): Move to dbus.el.
12549 (Fdbus_call_method, Fdbus_method_return_internal)
12550 (Fdbus_send_signal): Improve debug messages.
12551
125522008-01-20 Martin Rudalics <rudalics@gmx.at>
12553
12554 * undo.c (undo_inhibit_record_point): New variable.
12555 (syms_of_undo): Initialize it.
12556 (record_point): Don't record point when undo_inhibit_record_point
12557 is set.
12558
125592008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12560
12561 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12562
12563 * xdisp.c (Qauto_hscroll_mode): New var.
12564 (syms_of_xdisp): Initialize it.
12565 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12566 window's buffer.
12567 (hscroll_windows): Don't check automatic_hscrolling_p here.
12568
12569 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12570 vscroll if we're setting window-buffer to the value it already has.
12571
125722008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12573
12574 * m/intel386.h: Remove references to XENIX.
12575
125762008-01-17 Andreas Schwab <schwab@suse.de>
12577
12578 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12579 instead of HAVE_X86_64_LIB64_DIR.
12580 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12581
125822008-01-17 Glenn Morris <rgm@gnu.org>
12583
12584 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12585 to HAVE_X86_64_LIB64_DIR.
12586
125872008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12588
12589 * s/irix3-3.h:
12590 * s/irix4-0.h:
12591 * s/386-ix.h:
12592 * s/domain.h:
12593 * s/hpux9-x11r4.h:
12594 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12595
12596 * sysdep.c: Remove code containing references to symbols defined
12597 by unsupported systems.
12598
125992008-01-16 Glenn Morris <rgm@gnu.org>
12600
12601 * coding.c (select-safe-coding-system-function): Doc fix.
12602
126032008-01-15 Glenn Morris <rgm@gnu.org>
12604
12605 * config.in: Revert 2008-01-13 change: this is a generated file.
12606
126072008-01-13 Tom Tromey <tromey@redhat.com>
12608
12609 * lisp.h: Fix typo.
12610
126112008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12612
12613 * m/sequent-ptx.h:
12614 * m/sequent.h:
12615 * s/ptx.h:
12616 * s/ptx4-2.h:
12617 * s/ptx4.h: Remove files for systems no longer supported.
12618
12619 * callproc.c (Fcall_process): Fix previous change.
12620
126212008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12622
12623 * unexsunos4.c: Remove file, system not supported anymore.
12624
12625 * m/mips.h:
12626 * m/intel386.h:
12627 * callproc.c:
12628 * config.in:
12629 * ecrt0.c:
12630 * emacs.c:
12631 * fileio.c:
12632 * frame.c:
12633 * getpagesize.h:
12634 * keyboard.c:
12635 * lread.c:
12636 * process.c:
12637 * puresize.h:
12638 * sysdep.c:
12639 * systty.h:
12640 * syswait.h:
12641 * unexec.c:
12642 * xdisp.c:
12643 * alloc.c: Remove code containing references to symbols defined by
12644 unsupported systems.
12645
126462008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12647
12648 * coding.c (detect_coding_mask): Fix previous change.
12649
126502008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12651
12652 * coding.c (detect_coding_iso2022): New arg
12653 latin_extra_code_state. Allow Latin extra codes only
12654 when *latin_extra_code_state is nonzero.
12655 (detect_coding_mask): If there is a NULL byte, detect the encoding
12656 as UTF-16 or binary. If Latin extra codes exist, detect the
12657 encoding as ISO-2022 only when there's no other proper encoding is
12658 found.
12659
126602008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12661
12662 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12663 #ifdef MAC_OS.
12664
126652008-01-08 Richard Stallman <rms@gnu.org>
12666
12667 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12668
126692008-01-06 Nick Roberts <nickrob@snap.net.nz>
12670
12671 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12672 menu bar in parentheses.
12673
126742008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12675
12676 * m/7300.h:
12677 * m/acorn.h:
12678 * m/alliant-2800.h:
12679 * m/alliant.h:
12680 * m/alliant1.h:
12681 * m/alliant4.h:
12682 * m/altos.h:
12683 * m/amdahl.h:
12684 * m/apollo.h:
12685 * m/att3b.h:
12686 * m/aviion-intel.h:
12687 * m/aviion.h:
12688 * m/celerity.h:
12689 * m/clipper.h:
12690 * m/cnvrgnt.h:
12691 * m/convex.h:
12692 * m/cydra5.h:
12693 * m/delta88k.h:
12694 * m/dpx2.h:
12695 * m/dual.h:
12696 * m/elxsi.h:
12697 * m/f301.h:
12698 * m/gould-np1.h:
12699 * m/gould.h:
12700 * m/i860.h:
12701 * m/ibmps2-aix.h:
12702 * m/ibmrt-aix.h:
12703 * m/ibmrt.h:
12704 * m/irist.h:
12705 * m/is386.h:
12706 * m/isi-ov.h:
12707 * m/mega68.h:
12708 * m/mg1.h:
12709 * m/news-r6.h:
12710 * m/news-risc.h:
12711 * m/news.h:
12712 * m/nh3000.h:
12713 * m/nh4000.h:
12714 * m/ns16000.h:
12715 * m/ns32000.h:
12716 * m/nu.h:
12717 * m/orion.h:
12718 * m/orion105.h:
12719 * m/paragon.h:
12720 * m/pfa50.h:
12721 * m/plexus.h:
12722 * m/pyramid.h:
12723 * m/pyrmips.h:
12724 * m/sh3el.h:
12725 * m/sps7.h:
12726 * m/sr2k.h:
12727 * m/stride.h:
12728 * m/sun1.h:
12729 * m/sun2.h:
12730 * m/sun3-68881.h:
12731 * m/sun3-fpa.h:
12732 * m/sun3-soft.h:
12733 * m/sun3.h:
12734 * m/sun386.h:
12735 * m/symmetry.h:
12736 * m/tad68k.h:
12737 * m/tahoe.h:
12738 * m/targon31.h:
12739 * m/tek4300.h:
12740 * m/tekxd88.h:
12741 * m/tower32.h:
12742 * m/tower32v3.h:
12743 * m/ustation.h:
12744 * m/wicat.h:
12745 * m/xps100.h:
12746 * s/cxux.h:
12747 * s/cxux7.h:
12748 * s/dgux.h:
12749 * s/dgux4.h:
12750 * s/dgux5-4-3.h:
12751 * s/dgux5-4r2.h:
12752 * s/esix.h:
12753 * s/esix5r4.h:
12754 * s/hiuxmpp.h:
12755 * s/hiuxwe2.h:
12756 * s/iris3-5.h:
12757 * s/iris3-6.h:
12758 * s/isc2-2.h:
12759 * s/isc3-0.h:
12760 * s/isc4-0.h:
12761 * s/isc4-1.h:
12762 * s/newsos5.h:
12763 * s/newsos6.h:
12764 * s/osf1.h:
12765 * s/osf5-0.h:
12766 * s/riscix1-1.h:
12767 * s/riscix12.h:
12768 * s/sco4.h:
12769 * s/sco5.h:
12770 * s/sunos4-0.h:
12771 * s/sunos4-1.h:
12772 * s/sunos413.h:
12773 * s/sunos4shr.h:
12774 * s/umax.h:
12775 * s/unipl5-2.h:
12776 * s/xenix.h:
12777 * cxux-crt0.s:
12778 * unexapollo.c:
12779 * unexconvex.c:
12780 * unexenix.c:
12781 * unexsni.c: Remove files for systems no longer supported.
12782
12783 * m/intel386.h: Remove references to unsupported systems.
12784
12785 * w32.c (get_emacs_configuration): Remove reference to i860.
12786
12787 * sysdep.c: Remove dead code.
12788
127892008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12790
12791 * s/rtu.h:
12792 * m/masscomp.h: Remove files. Platform is obsolete.
12793
127942008-01-04 Michael Albinus <michael.albinus@gmx.de>
12795
12796 * dbusbind.c (Fdbus_method_return): New function.
12797 (xd_read_message): Add the serial number to the event.
12798 (Fdbus_register_method): Activate the function.
12799
128002008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12801
12802 * keyboard.c (read_key_sequence): Fix typo.
12803
128042008-01-03 Michael Albinus <michael.albinus@gmx.de>
12805
12806 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12807 (xd_signature, xd_append_arg): Handle element type detection for
12808 empty arrays.
12809 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12810 SDATA () calls; this must be solved more general.
12811 (Fdbus_register_signal): Use SBYTES instead of strlen.
12812
128132008-01-03 Magnus Henoch <magnus@zemdatav>
12814
12815 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12816 unsigned int for byte values (necessary for big-endian platform).
12817 (Fdbus_call_method): Handle the case of no returned arguments.
12818
128192007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12820
12821 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12822
128232007-12-31 Magnus Henoch <mange@freemail.hu>
12824
12825 * dbusbind.c (xd_signature): Signature of variant is just "v".
12826
128272007-12-30 Michael Albinus <michael.albinus@gmx.de>
12828
12829 * dbusbind.c: Fix several errors and compiler warnings.
12830 Reported by Tom Tromey <tromey@redhat.com>.
12831 (XD_ERROR, XD_DEBUG_MESSAGE)
12832 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12833 (xd_append_arg): Part for basic D-Bus types rewritten.
12834 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12835 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12836 appropriate.
12837 (xd_read_message): Return Qnil. Don't signal an error; it is not
12838 useful during event reading.
12839 (Fdbus_register_signal): Signal an error if the check for
12840 FUNCTIONP fails.
12841 (Fdbus_register_method): New function. The implementation is not
12842 complete, the call of the function signals an error therefore.
12843 (Fdbus_unregister_object): New function, renamed from
12844 Fdbus_unregister_signal. The initial check signals an error, if
12845 the object is not well formed.
12846
128472007-12-30 Richard Stallman <rms@gnu.org>
12848
12849 * textprop.c (get_char_property_and_overlay):
12850 Signal error if POSITION is out of range in a buffer.
12851
128522007-12-29 Martin Rudalics <rudalics@gmx.at>
12853
12854 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12855 because the original parameters are in pure storage now.
12856
128572007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12858
12859 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12860
128612007-12-22 Eli Zaretskii <eliz@gnu.org>
12862
12863 * callint.c (syms_of_callint) <command-history>: Add reference to
12864 history-length in the doc string.
12865
128662007-12-17 Jason Rumney <jasonr@gnu.org>
12867
12868 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12869 before passing as wParam.
12870
128712007-12-22 Michael Albinus <michael.albinus@gmx.de>
12872
12873 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12874 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12875 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12876 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12877 as number.
12878 (Fdbus_call_method): Fix docstring.
12879
128802007-12-21 Michael Albinus <michael.albinus@gmx.de>
12881
12882 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12883 New macros.
12884 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12885 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12886 Simplify.
12887 (xd_signature): New function.
12888 (xd_append_arg): Compute also signatures. Major rewrite.
12889 (xd_retrieve_arg): Make debug messages friendly.
12890 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12891 Check for signatures of arguments.
12892
128932007-12-19 Michael Albinus <michael.albinus@gmx.de>
12894
12895 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12896 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12897 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12898 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12899 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12900 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12901 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12902 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12903 (xd_retrieve_value): Remove. Functionality included in ...
12904 (xd_append_arg): New function.
12905 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12906
129072007-12-16 Michael Albinus <michael.albinus@gmx.de>
12908
12909 * dbusbind.c (top): Include <stdio.h>.
12910 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12911 dbus_message_new_method_call and dbus_message_new_signal.
12912 (Fdbus_register_signal): Rename unique_name to uname.
12913 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12914 non-existing unique name. Fix typos in matching rule. Return an
12915 object which is useful in Fdbus_unregister_signal.
12916 (Fdbus_unregister_signal): Reimplementation, in order to remove
12917 only the corresponding entry.
12918 (Vdbus_registered_functions_table): Change the order of entries.
12919 Apply these changes in xd_read_message and Fdbus_register_signal.
12920
129212007-12-16 Andreas Schwab <schwab@suse.de>
12922
12923 * fileio.c (Finsert_file_contents): Fix overflow check to not
12924 depend on undefined integer overflow.
12925
129262007-12-14 Jason Rumney <jasonr@gnu.org>
12927
12928 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12929 for characters above 127.
12930
129312007-12-13 Jason Rumney <jasonr@gnu.org>
12932
12933 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12934 before dereferencing array.
12935 (lookup_vk_code): Remove zero comparison.
12936
129372007-12-14 Michael Albinus <michael.albinus@gmx.de>
12938
12939 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12940 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12941 Use `unsigned int' instead of `uint'.
12942 (xd_read_message, Fdbus_register_signal): Split expressions into
12943 multiple lines before operators "&&" and "||", according to the
12944 GNU Coding Standards.
12945
129462007-12-14 Eli Zaretskii <eliz@gnu.org>
12947
12948 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12949
129502007-12-12 Juri Linkov <juri@jurta.org>
12951
12952 * buffer.c (Frename_buffer): In interactive spec replace
12953 `read-buffer' with `read-string' that uses `buffer-name-history'
12954 as history, and the current buffer's name as default.
12955
129562007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12957
12958 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12959 manipulating the backtrace manually.
12960 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12961 (struct backtrace, backtrace_list): Remove.
12962 (command_loop_1): Remove dead var `no_direct'.
12963
12964 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12965 preserve non-built-in buffer-local variables.
12966 (Fkill_all_local_variables): Don't re-create&re-set permanent
12967 buffer-local variables.
12968
129692007-12-09 Juri Linkov <juri@jurta.org>
12970
12971 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12972 Lisp code that uses `read-buffer' with current buffer as default.
12973
129742007-12-08 Michael Albinus <michael.albinus@gmx.de>
12975
12976 * dbusbind.c (xd_read_message): Generate an event for every
12977 registered handler. There might be several handlers registered
12978 for the same signal.
12979 (Fdbus_register_signal): Don't overwrite a registration for the
12980 same signal. Add a new registration if handlers are different.
12981 (Vdbus_registered_functions_table): Rework doc string.
12982
129832007-12-07 Michael Albinus <michael.albinus@gmx.de>
12984
12985 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12986 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12987 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12988 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12989 Unify argument lists.
12990 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12991 arguments and hash table keys. Use unique name for service.
12992 (Fdbus_unregister_signal): Remove checks.
12993 (Vdbus_registered_functions_table): Fix doc string.
12994
129952007-12-05 Magnus Henoch <mange@freemail.hu>
12996
12997 * process.c (make_process): Initialize pty_flag to 0.
12998
129992007-12-05 Jason Rumney <jasonr@gnu.org>
13000
13001 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13002 specified XBMs.
13003
130042007-12-05 Richard Stallman <rms@gnu.org>
13005
13006 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13007
130082007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13009
13010 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13011 New variable.
13012 (mac_try_close_socket) [MAC_OSX]: New function.
13013 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13014 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13015
13016 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13017 Use mac_try_close_socket.
13018
130192007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13020
13021 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
13022 reloc_base.
13023 (copy_dysymtab): Compute relocation base here.
13024 (rebase_reloc_address) [__ppc64__]: New function.
13025 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
13026 changed.
13027
130282007-12-05 Jason Rumney <jasonr@gnu.org>
13029
13030 * w32proc.c (sys_spawnve): Quote args with wildcards.
13031
130322007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13033
13034 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13035 __objc_* sections.
13036 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13037
130382007-12-05 Michael Albinus <michael.albinus@gmx.de>
13039
13040 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13041 Move check for Vdbus_registered_functions_table to
13042 xd_read_queued_messages.
13043 (xd_read_queued_messages): Protect xd_read_message calls by
13044 internal_condition_case_1.
13045
130462007-12-04 Michael Albinus <michael.albinus@gmx.de>
13047
13048 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13049 Qdbus_system_bus and Qdbus_session_bus, respectively.
13050 (Vdbus_intern_symbols): Remove.
13051 (Vdbus_registered_functions_table): New hash table.
13052 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13053 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13054 Rewrite in order to manage registered functions by hash table
13055 Vdbus_registered_functions_table.
13056
130572007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13058
13059 * xterm.c: Update URL to Window Manager Specification in comment.
13060
130612007-12-02 Michael Albinus <michael.albinus@gmx.de>
13062
13063 * config.in (HAVE_DBUS): Add.
13064
13065 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13066 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13067 (obj): Add $(DBUS_OBJ).
13068 (LIBES): Add $(DBUS_LIBS).
13069 (dbusbind.o): New target.
13070
13071 * dbusbind.c: New file.
13072
13073 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13074
13075 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13076 (Qdbus_event): New Lisp symbol.
13077 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13078 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
13079 (keys_of_keyboard ): Define dbus-event.
13080
13081 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13082
130832007-12-01 Richard Stallman <rms@gnu.org>
13084
13085 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13086
130872007-11-30 Jason Rumney <jasonr@gnu.org>
13088
13089 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13090 (w32con_reset_terminal_modes): Clear screen buffer.
13091 (w32_face_attributes): Don't use color indexes that are out of range.
13092 Only reverse the default colors.
13093
13094 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13095 WINDOWSNT.
13096
13097 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13098
130992007-11-29 Jason Rumney <jasonr@gnu.org>
13100
13101 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13102 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13103 if the terminal colors are initialized.
13104 (unspecified_fg, unspecified_bg): Remove unused declarations.
13105
131062007-11-29 Andreas Schwab <schwab@suse.de>
13107
13108 * keyboard.c (apply_modifiers): Fix typo.
13109
131102007-11-29 Richard Stallman <rms@gnu.org>
13111
13112 * keymap.c (Fcurrent_local_map): Doc fix.
13113
131142007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13115
13116 * s/gnu-kfreebsd.h: New file.
13117
131182007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13119
13120 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13121 Don't cast redundantly.
13122
13123 * keyboard.c (KEY_TO_CHAR): New macro.
13124 (parse_modifiers, apply_modifiers): Accept integer arguments.
13125 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13126 for chars and symbol keys.
13127 After doing such remapping, apply function-key-map again.
13128
131292007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13130
13131 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13132 compiled anymore.
13133
131342007-11-26 Andreas Schwab <schwab@suse.de>
13135
13136 * process.c (list_processes_1): Fix indentation level of the
13137 command column.
13138
131392007-11-23 Andreas Schwab <schwab@suse.de>
13140
13141 * editfns.c (Fformat): Handle %c specially since it requires the
13142 argument to be of type int.
13143
131442007-11-23 Markus Triska <markus.triska@gmx.at>
13145
13146 * emacs.c (main): Call init_editfns before init_process, since
13147 init_process sets Vprocess_connection_type depending on OS release.
13148
131492007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13150
13151 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13152 (find_symbol_value): Use do_symval_forwarding.
13153
13154 * data.c (set_internal): Set the value in the `cons-cell' (for
13155 Buffer_Local_values) not only for frame-local variables.
13156
131572007-11-22 Andreas Schwab <schwab@suse.de>
13158
13159 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13160 values to sprintf.
13161 * keymap.c (Fsingle_key_description): Likewise.
13162 * print.c (print_object): Likewise.
13163
131642007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13165
13166 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13167 file for image is nil.
13168
131692007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13170
13171 * term.c: Include stdarg.h.
13172 (fatal): Implement using varargs.
13173 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13174
131752007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13176
13177 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13178 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13179 Update call to buffer_slot_type_mismatch.
13180 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13181 (buffer_slot_type_mismatch): Update.
13182 * buffer.c (buffer_local_types): Remove.
13183 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13184 (defvar_per_buffer): Set the type in the buffer_objfwd.
13185
131862007-11-21 Jason Rumney <jasonr@gnu.org>
13187
13188 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13189 CreateFileMapping returns NULL on failure.
13190
131912007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13192
13193 * search.c (Fset_match_data): Remove the `evaporate' feature.
13194 (unwind_set_match_data): Don't use the `evaporate' feature.
13195
131962007-11-21 Jason Rumney <jasonr@gnu.org>
13197
13198 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13199
13200 * w32console.c (w32con_write_glyphs): Remove unused variables.
13201
132022007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13203
13204 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13205
13206 * s/darwin.h (MULTI_KBOARD): Remove.
13207
13208 * macfns.c (x_create_tip_frame, Fx_create_frame)
13209 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13210
132112007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13212
13213 * buffer.c (Fbuffer_local_value): Remove redundant test.
13214 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13215 than in `current-buffer' to match the comment.
13216 Do the swap using swap_in_global_binding.
13217
13218 * data.c (store_symval_forwarding, set_internal):
13219 * eval.c (specbind): Remove dead code.
13220
13221 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13222 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13223 Since we do not want to see internal Lisp_*fwd objects here.
13224
132252007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13226
13227 * sysdep.c (init_system_name): Use getaddrinfo if available.
13228
13229 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13230 (x_scroll_bar_note_movement): start, end, with, height in struct
13231 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13232
132332007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13234
13235 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13236
132372007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13238
13239 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13240 This undoes Richard's change of 14-Oct-2002.
13241
13242 * alloc.c (allocate_other_vector):
13243 * lisp.h (allocate_other_vector): Remove.
13244
13245 * window.c (struct save_window_data): Move non-lisp data to the end
13246 and make it `int' rather than Lisp_Object.
13247 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13248 Done wrap/unwrap integer values.
13249 (Fset_window_configuration, compare_window_configurations):
13250 Update use of fields to their new types.
13251
13252 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13253 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13254 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13255 (SET_SCROLL_BAR_X_WINDOW): Remove.
13256 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13257 Access the new x_window field directly.
13258 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13259 Don't wrap/unwrap integers into Lisp_Objects.
13260 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13261 (x_scroll_bar_report_motion):
13262 Don't wrap/unwrap integers into Lisp_Objects.
13263 (x_term_init): Use SDATA.
13264 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13265 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13266 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13267 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13268 * xfns.c (x_set_background_color):
13269 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13270 Access the new x_window field directly.
13271
13272 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13273 (allocate_pseudovector): Make non-static.
13274
13275 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13276 (allocate_pseudovector): Declare.
13277 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13278
132792007-11-15 Andreas Schwab <schwab@suse.de>
13280
13281 * editfns.c (Fformat): Correctly format EMACS_INT values.
13282 Also take precision into account when formatting an integer.
13283
13284 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13285
132862007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13287
13288 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13289 (syms_of_keyboard): Defsubr it.
13290
13291 * data.c (swap_in_global_binding): Fix longstanding bug where
13292 store_symval_forwarding was not called with the right second argument,
13293 thus causing objfwd-ing from being dropped.
13294
132952007-11-14 Juanma Barranquero <lekktu@gmail.com>
13296
13297 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13298 (Fx_display_pixel_height, Fx_display_planes)
13299 (Fx_display_color_cells, Fx_server_max_request_size)
13300 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13301 (Fx_display_visual_class, Fx_display_save_under):
13302 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13303 (Fx_display_pixel_height, Fx_display_planes)
13304 (Fx_display_color_cells, Fx_server_max_request_size)
13305 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13306 (Fx_display_mm_height, Fx_display_mm_width)
13307 (Fx_display_backing_store, Fx_display_visual_class)
13308 (Fw32_select_font, Fx_display_save_under):
13309 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13310 (Fx_display_pixel_height, Fx_display_planes)
13311 (Fx_display_color_cells, Fx_server_max_request_size)
13312 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13313 (Fx_display_save_under): Fix typos in docstrings.
13314
133152007-11-14 Juanma Barranquero <lekktu@gmail.com>
13316
13317 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13318 corresponding to deleted entries; they are an implementation detail.
13319 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13320 Remove variables.
13321 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13322 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13323 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13324 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13325 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13326 (Fw32_define_rgb_color, Fw32_load_color_file)
13327 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13328 Fix typos in docstrings.
13329 (Fx_server_version): Reflow docstring.
13330 (Fw32_shell_execute): Doc fixes.
13331
133322007-11-13 Juanma Barranquero <lekktu@gmail.com>
13333
13334 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13335 if w32_parse_hot_key returned nil.
13336
133372007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13338
13339 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13340
133412007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13342
aac0c6e3
MR
13343 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13344
13345 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13346
13347 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13348 Remove W32_SCROLL_BAR_CLICK_EVENT.
13349
13350 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13351 Add MULTIMEDIA_KEY_EVENT.
13352
13353 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13354 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13355 (make_lispy_event) [WINDOWSNT]: Use it to translate
13356 MULTIMEDIA_KEY_EVENT.
13357
13358 * w32term.h (WM_APPCOMMAND): Define if not already.
13359 (GET_APPCOMMAND_LPARAM): Likewise.
13360
13361 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13362 WM_APPCOMMAND.
13363
13364 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13365 (syms_of_w32fns): Export and initialize it.
13366 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13367
133682007-11-09 Chong Yidong <cyd@stupidchicken.com>
13369
13370 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13371 twice.
13372
13373 * xdisp.c (handle_face_prop): Fix last change.
13374
133752007-11-09 Richard Stallman <rms@gnu.org>
13376
13377 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13378 not just for after-strings and before-strings.
13379 Call face_for_overlay_string and pass the overlay to it.
13380 (handle_display_prop): Determine whether property came from an overlay.
13381 Pass OVERLAY arg to handle_single_display_spec.
13382 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13383 (load_overlay_strings): Fill in it->string_overlays.
13384 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13385
13386 * xfaces.c (face_for_overlay_string): Function renamed from
13387 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13388
13389 * dispextern.h (struct it): New elt string_overlays.
13390 New elt from_overlay, also in stack.
13391 Rearrange a few elements.
13392 (face_for_overlay_string): Decl renamed from
13393 face_at_buffer_position_no_overlays, and add argument.
13394
133952007-11-09 Richard Stallman <rms@gnu.org>
13396
13397 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13398 to get the base face for an overlay string.
13399
13400 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13401
13402 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13403
13404 * xdisp.c (handle_stop): Move some code out of loop.
13405
134062007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13407
13408 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13409 Fix conversion from Lisp object to ATSUFontID.
13410
134112007-11-09 Jason Rumney <jasonr@gnu.org>
13412
13413 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13414
134152007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13416
13417 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13418 Don't assume regions are aligned to page boundary.
13419 (print_load_command_name): Add LC_UUID if defined.
13420
134212007-11-09 Richard Stallman <rms@gnu.org>
13422
13423 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13424
134252007-11-07 Jason Rumney <jasonr@gnu.org>
13426
13427 * s/windows95.h: Remove.
13428
134292007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13430
13431 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13432 abort with a message on unhandled store_type values.
13433
134342007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13435
13436 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13437 Remove HAVE_X11R5 and HAVE_X11R4.
13438
134392007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13440
13441 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13442
134432007-11-01 Johan Bockgård <bojohan@gnu.org>
13444
13445 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13446 Don't set s->stippled_p here, since it has already been set by
13447 x_set_glyph_string_gc from x_draw_glyph_string.
13448
134492007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13450
13451 * sunfns.c: Remove file.
13452
13453 * m/sun386.h:
13454 * m/sun2.h:
13455 * m/sparc.h: Remove Sun windows code.
13456
134572007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13458
13459 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13460 (init_keyboard): Set current_kboard's window-system to nil.
13461 (tty_read_avail_input): Typo.
13462 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13463
134642007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13465
13466 * s/usg5-4.h:
13467 * s/usg5-3.h:
13468 * s/ptx.h:
13469 * m/is386.h:
13470 * m/ibmps2-aix.h:
13471 * Makefile.in: Remove all mentions of X10.
13472
13473 * dispnew.c (syms_of_display): Don't mention version 10.
13474
134752007-10-28 Juanma Barranquero <lekktu@gmail.com>
13476
13477 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13478 ($(BLD)/abbrev.$(O)): Remove.
13479
134802007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13481
13482 Rewrite abbrev.c in Elisp.
13483 * image.c (Qcount): Don't declare as extern.
13484 (syms_of_image): Initialize and staticpro `Qcount'.
13485 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13486 * emacs.c (main): Don't call syms_of_abbrev.
13487 * Makefile.in (obj): Remove abbrev.o.
13488 (abbrev.o): Remove.
13489 * abbrev.c: Remove.
13490
134912007-10-26 Martin Rudalics <rudalics@gmx.at>
13492
13493 * window.c (window_min_size_2): Don't count header-line.
13494
134952007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13496
13497 * frame.h (struct frame): Move all bit fields after the first bit
13498 field to take advantage of the available space. Group all the
13499 chars together to reduce wasted space due to padding.
13500
135012007-10-26 Juanma Barranquero <lekktu@gmail.com>
13502
13503 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13504
13505 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13506 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13507 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13508 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13509 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13510 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13511 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13512 (last_marked, mark_object_loop_halt): Make static.
13513
13514 * frame.c (syms_of_frame) <delete-frame-functions>:
13515 Fix typo in docstring.
13516
135172007-10-25 Juanma Barranquero <lekktu@gmail.com>
13518
13519 * w32.c (init_environment): Fix tiny memory leak.
13520 (w32_get_resource): Remove unused variable `ok'.
13521
135222007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13523
13524 Make `window-system' into a keyboard-local variable (rather than
13525 frame-local as done originally by multi-tty).
13526
13527 * keyboard.h (struct kboard): Add Vwindow_system.
13528 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13529 (mark_kboards): Mark Vwindow_system.
13530
13531 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13532 (init_display): Don't set the obsolete `window-system' frame-param.
13533
13534 * xterm.c (x_term_init):
13535 * w32term.c (w32_create_terminal):
13536 * term.c (init_tty): Set Vwindow_system.
13537 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13538 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13539
13540 * xfns.c (Fx_create_frame, x_create_tip_frame):
13541 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13542 * macfns.c (Fx_create_frame):
13543 Don't set the obsolete `window-system' frame-param.
13544
13545 * frame.h (Qwindow_system): Remove.
13546 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13547 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13548
135492007-10-24 Richard Stallman <rms@gnu.org>
13550
13551 * frame.c (x_figure_window_size): For fullscreen case,
13552 set USPosition | PPosition without clobbering rest of window_prompting.
13553
13554 * keyboard.c (Fcurrent_idle_time): Doc fix.
13555
13556 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13557
135582007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13559
13560 * process.c (unwind_request_sigio): Only define if __ultrix__.
13561
13562 * callproc.c (child_setup): Remove spurious *.
13563
13564 * lisp.h (Fget_text_property): Declare.
13565 (have_menus_p): Declare it here rather than in sys-dep header files.
13566 * macterm.h (have_menus_p):
13567 * msdos.h (have_menus_p):
13568 * xterm.h (have_menus_p): Remove.
13569
13570 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13571 (Fmake_variable_frame_local): Just check the variable's const-ness
13572 rather than checking nil or t.
13573
135742007-10-22 Jason Rumney <jasonr@gnu.org>
13575
13576 * w32fns.c: Include math.h.
13577 (w32_abort): Declaration moved to nt/config.nt.
13578
13579 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13580 (abort): Redefinition moved to nt/config.nt.
13581
13582 * m/windowsnt.h: Remove.
13583
135842007-10-22 Juanma Barranquero <lekktu@gmail.com>
13585
13586 * emacs.c (Fdump_emacs): Fix typo in message.
13587 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13588 <installation-directory>: Reflow docstring.
13589
135902007-10-22 Juri Linkov <juri@jurta.org>
13591
13592 * minibuf.c: Allow minibuffer default to be a list of default values.
13593 With empty input use the first element of this list as returned default.
13594 (string_to_object)
13595 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13596 (read_minibuf): If defalt is cons, set histstring to its car.
13597 (Fread_string): If default_value is cons, set val to its car.
13598 (Fread_buffer): If def is cons, use its car.
13599 (Fcompleting_read): If defalt is cons, set val to its car.
13600
136012007-10-21 Michael Albinus <michael.albinus@gmx.de>
13602
13603 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13604
136052007-10-20 Juanma Barranquero <lekktu@gmail.com>
13606
13607 * doc.c (Fdocumentation): Check for advice in all cases.
13608
136092007-10-19 Chong Yidong <cyd@stupidchicken.com>
13610
13611 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13612
136132007-10-19 Richard Stallman <rms@gnu.org>
13614
13615 * doc.c (Fdocumentation): Check for and handle an advised function.
13616
136172007-10-19 Juanma Barranquero <lekktu@gmail.com>
13618
13619 * process.c (Fset_process_filter): Doc fix.
13620
136212007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13622
13623 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13624 which caused key-translation-map to applied repeatedly (thus breaking
13625 double-mode).
13626
136272007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13628
13629 * xselect.c (x_own_selection, x_handle_selection_clear)
13630 (x_clear_frame_selections):
13631 * w32menu.c (list_of_panes, list_of_items):
13632 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13633 * textprop.c (validate_plist, interval_has_all_properties)
13634 (interval_has_some_properties, interval_has_some_properties_list)
13635 (add_properties, text_property_list):
13636 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13637 * minibuf.c (Fassoc_string):
13638 * macselect.c (x_own_selection, x_clear_frame_selections)
13639 (Fx_disown_selection_internal):
13640 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13641 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13642
136432007-10-17 Chong Yidong <cyd@stupidchicken.com>
13644
13645 * process.c: Link to libs for calling res_init() if available.
13646 (Fmake_network_process): Call res_init() before getaddrinfo or
13647 gethostbyname, if possible.
13648
136492007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13650
13651 * lread.c (read1): Set pvectype for char_tables.
13652
13653 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13654 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13655 Add type checks.
13656 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13657
13658 * alloc.c (free_misc): Use XMISCTYPE.
13659 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13660
136612007-10-17 Glenn Morris <rgm@gnu.org>
13662
13663 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13664 (syms_of_minibuf): Add Qcompletion_ignore_case.
13665 * dired.c (Qcompletion_ignore_case): Change to external.
13666 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13667 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13668 (Fread_file_name): Use it rather than intern'ing.
13669
13670 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13671 (Fread_coding_system): Ignore case of user input.
13672
136732007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13674
13675 * xdisp.c (handle_display_prop): Ignore display specs after
13676 replacing one when string text is being replaced.
13677 (handle_single_display_spec): Pretend as if characters with display
13678 property haven't been consumed only when buffer text is being replaced.
13679
136802007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13681
13682 * xfns.c (Fx_create_frame, Fx_display_list):
13683 * window.c (window_fixed_size_p, enlarge_window)
13684 (shrink_window_lowest_first):
13685 * macterm.c (init_font_name_table):
13686 * macfns.c (Fx_create_frame, Fx_display_list):
13687 * lread.c (close_load_descs):
13688 * keyboard.c (read_char_x_menu_prompt):
13689 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13690 * coding.c (code_convert_region_unwind): Test the type of an object
13691 rather than just !NILP before extracting data from it.
13692
13693 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13694
13695 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13696 (XMISCANY): New macro.
13697 (XMISCTYPE): Use it.
13698 (struct Lisp_Misc_Any): New type.
13699 (union Lisp_Misc): Use it.
13700 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13701 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13702 (find_symbol_value, set_internal, default_value, Fset_default)
13703 (Fmake_variable_buffer_local, Fmake_local_variable)
13704 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13705 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13706 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13707 * alloc.c (allocate_buffer): Set the size and tag.
13708 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13709 Use XMISCANY.
13710 (die): Follow the GNU convention for error messages.
13711 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13712 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13713 tag any more.
13714 (set_buffer_internal_1):
13715 * frame.c (store_frame_param):
13716 * eval.c (specbind):
13717 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13718
13719 * doc.c (Fsnarf_documentation): Simplify.
13720
137212007-10-14 Juanma Barranquero <lekktu@gmail.com>
13722
13723 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13724 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13725
137262007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13727
13728 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13729
137302007-10-14 Juanma Barranquero <lekktu@gmail.com>
13731
13732 * eval.c (do_autoload): Don't save autoloads.
13733
13734 * data.c (Ffset): Save autoload of the function being set.
13735
137362007-10-07 John Paul Wallington <jpw@pobox.com>
13737
13738 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13739 parameter before setting up faces.
13740
137412007-10-13 Eli Zaretskii <eliz@gnu.org>
13742
13743 * ccl.c (Fregister_code_conversion_map):
13744 * keyboard.c (append_tool_bar_item): Reformat last change.
13745
13746 * lisp.h (eabs): Rename from `abs'. All callers changed.
13747
137482007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13749
13750 * buffer.c (add_overlay_mod_hooklist):
13751 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13752 * fontset.c (make_fontset):
13753 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13754 (append_tool_bar_item):
13755 * macmenu.c (grow_menu_items):
13756 * w32menu.c (grow_menu_items):
13757 * xmenu.c (grow_menu_items): Use larger_vector.
13758
137592007-10-13 Eli Zaretskii <eliz@gnu.org>
13760
13761 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13762 selected frame'' on MSDOS).
13763
137642007-10-12 Martin Rudalics <rudalics@gmx.at>
13765
13766 * frame.c (Qexplicit_name): New variable.
13767 (x_report_frame_params): Report it in parameter alist.
13768 (syms_of_frame): Intern and staticpro it.
13769
137702007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13771
13772 * macfns.c (x_create_tip_frame): Set terminal for frame.
13773
137742007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13775
13776 * frame.c (Qenvironment): Remove.
13777 (syms_of_frame) <Qenvironment>: Don't initialize.
13778 (Fdelete_frame): Don't treat the `environment' param specially.
13779 * frame.h (Qenvironment): Don't declare.
13780 * callproc.c (set_initial_environment): Don't set unused frame param.
13781
13782 * frame.c (Fframe_with_environment): Remove.
13783 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13784
13785 * lisp.h (Fframe_with_environment): Don't declare.
13786
137872007-10-10 Juanma Barranquero <lekktu@gmail.com>
13788
13789 * indent.c (indent_tabs_mode, last_known_column)
13790 (last_known_column_modified): Make static.
13791 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13792
137932007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13794
13795 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13796
137972007-10-09 Jason Rumney <jasonr@gnu.org>
13798
13799 * w32term.c (x_set_window_size): Disable code that attempts to tell
13800 Lisp code about a size change before it actually happens.
13801
138022007-10-09 Richard Stallman <rms@gnu.org>
13803
13804 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13805 return HANDLED_RETURN.
13806
138072007-10-08 Martin Rudalics <rudalics@gmx.at>
13808
13809 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13810 when there's an unread command event.
13811
13812 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13813 window autoselection act appropriately when leaving selected frame.
13814 (syms_of_frame): Initialize focus_follows_mouse.
13815 * frame.h (focus_follows_mouse): Extern it.
13816 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13817 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13818 * msdos.c (dos_rawgetc): Likewise.
13819 * w32term.c (w32_read_socket): Likewise.
13820 * xterm.c (handle_one_xevent): Likewise.
13821 * xdisp.c (syms_of_xdisp): In doc-string of
13822 mouse-autoselect-window mention focus-follows-mouse.
13823
138242007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13825
13826 * macterm.c (mac_load_query_font): Fix missing return value.
13827 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13828 Add BLOCK_INPUT.
13829
138302007-10-08 Richard Stallman <rms@gnu.org>
13831
13832 * xdisp.c (get_window_cursor_type): Implement documented behavior
13833 for cursor-in-non-selected-windows = t.
13834
138352007-10-08 Jason Rumney <jasonr@gnu.org>
13836
13837 * w32.c (w32_get_resource): Always close registry keys.
13838
138392007-10-08 Jason Rumney <jasonr@gnu.org>
13840
13841 * makefile.w32-in (LIBS): Add COMCTL32.
13842
13843 * w32fns.c (globals_of_w32fns): Init common controls.
13844
138452007-10-08 Richard Stallman <rms@gnu.org>
13846
13847 * image.c (our_memory_buffer): Rename from omfib_buffer.
13848
138492007-10-08 Richard Stallman <rms@gnu.org>
13850
13851 * buffer.c (Foverlays_at): Doc fix.
13852
138532007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13854
13855 * fns.c (Fplist_put): Preserve uneven tail data.
13856
138572007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13858
13859 * termhooks.h (enum event_kind): Remove trailing comma.
13860
13861 * frame.h (enum): Remove trailing comma.
13862
138632007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13864
13865 * w32proc.c (delete_child): Don't terminate threads of zombies.
13866
138672007-10-08 Martin Rudalics <rudalics@gmx.at>
13868
13869 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13870
13871 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13872 last-repeatable-command.
13873 (init_kboard): Initialize Vlast_repeatable_command.
13874 (command_loop_1): Set it to real_this_command unless that was
13875 bound to an input event.
13876 (mark_kboards): Mark it.
13877
138782007-10-08 Richard Stallman <rms@gnu.org>
13879
13880 * eval.c (condition-case): Doc fix.
13881
138822007-10-08 Masatake YAMATO <jet@gyve.org>
13883
13884 * xfaces.c (tty_supports_face_attributes_p): Fix code
13885 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13886 was copied and not edited.
13887
138882007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13889
13890 Add new `input-decode-map' keymap and use it for terminal
13891 escape sequences.
13892 * keyboard.h (struct kboard): Add Vinput_decode_map.
13893 Remove Vlocal_key_translation_map.
13894 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13895 (init_kboard): Init input-decode-map.
13896 Replace local-key-translation-map back with key-translation-map.
13897 (syms_of_keyboard): Declare input-decode-map.
13898 Remove local-key-translation-map. Update docstrings.
13899 (mark_kboards): Mark Vinput_decode_map.
13900 Don't mark Vlocal_key_translation_map.
13901 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13902 Replace local-key-translation-map back with key-translation-map.
13903 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13904 Bind in input-decode-map rather than function-key-map.
13905
13906 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13907 This was made redundant by the previous introduction of XSETPVECTYPE.
13908
139092007-10-09 Richard Stallman <rms@gnu.org>
13910
13911 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13912
139132007-09-29 Richard Stallman <rms@gnu.org>
13914
13915 * eval.c (internal_condition_case_2, internal_condition_case_1)
13916 (internal_condition_case): Reenable abort if x_catching_errors ()
13917 to see if that really happens and why.
13918
139192007-10-06 Andreas Schwab <schwab@suse.de>
13920
13921 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13922
139232007-10-04 Juanma Barranquero <lekktu@gmail.com>
13924
13925 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13926
139272007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13928
13929 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13930
139312007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13932
13933 * window.h (struct window):
13934 * window.c (struct save_window_data, struct saved_window):
13935 * termhooks.h (struct terminal):
13936 * process.h (struct Lisp_Process):
13937 * frame.h (struct frame):
13938 * buffer.h (struct buffer):
13939 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13940 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13941 The size field of (pseudo)vectors is now unsigned.
13942 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13943
13944 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13945 Turn `count' into an integer.
13946
13947 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13948 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13949 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13950 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13951 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13952
13953 * alloc.c (allocate_pseudovector): New fun.
13954 (ALLOCATE_PSEUDOVECTOR): New macro.
13955 (allocate_window, allocate_terminal, allocate_frame)
13956 (allocate_process): Use it.
13957 (mark_vectorlike): New function.
13958 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13959 (mark_terminals): Use it.
13960 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13961 (Fmake_byte_code): Use XSETPVECTYPE.
13962
13963 * frame.c (Fframe_parameters): Minor simplification.
13964
13965 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13966
13967 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13968
13969 * buffer.c (Fget_buffer_create, init_buffer_once):
13970 * lread.c (defsubr):
13971 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13972
13973 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13974 defined differently in the m/*.h files.
13975 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13976 (XSETPVECTYPE): New macro.
13977 (XSETPSEUDOVECTOR): Use it.
13978
13979 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13980 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13981
13982 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13983 * lread.c (defvar_per_buffer):
13984 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13985
13986 * window.c (candidate_window_p): Only consider as visible frames that
13987 are on the same terminal.
13988
13989 * m/ibms390x.h (MARKBIT): Remove unused macro.
13990
139912007-10-01 Juanma Barranquero <lekktu@gmail.com>
13992
13993 * lread.c (Fload): Fix typo in docstring.
13994
139952007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13996
13997 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13998 of a non-zero value can't yield zero.
13999
140002007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14001
14002 * term.c (term_clear_mouse_face, term_mouse_highlight)
14003 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14004
14005 * print.c (safe_debug_print): Use XHASH.
14006
14007 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14008 Lisp elements such as tags.
14009 (XHASH): New macro.
14010 (EQ): Use it.
14011 (SREF, SSET, STRING_COPYIN): Use SDATA.
14012 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14013
14014 * alloc.c (mark_terminal): Remove left-over declaration.
14015 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14016 (allocate_vectorlike): Remove type argument. Adjust callers.
14017 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14018 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14019
14020 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14021 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
14022 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
14023 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
14024 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
14025 Use them.
14026
14027 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
14028 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
14029 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
14030
140312007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14032
14033 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14034 loaded by default.
14035
140362007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14037
14038 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14039 on this tty.
14040 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14041
14042 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14043 Update all users.
14044 (handle_one_term_event): Use Gpm_DrawPointer.
14045 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14046 Signal errors instead of returning nil. Always return nil.
14047 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14048 Make it a noop if gpm-mouse was not activated.
14049 (syms_of_term): Update names.
14050
140512007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14052
14053 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14054 (init_sys_modes): Check that gpm_tty is the current tty.
14055
14056 * alloc.c (allocate_terminal): Set the vector size to only count the
14057 lisp fields. Initialize those to nil.
14058 (mark_object): Don't treat terminals specially.
14059 (mark_terminal): Remove.
14060 (mark_terminals): Use mark_object instead.
14061
14062 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14063 the GC to the beginning.
14064
14065 * indent.h:
14066 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14067
14068 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14069
140702007-09-25 Jason Rumney <jasonr@gnu.org>
14071
14072 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14073
14074 * w32console.c (create_w32cons_output): Remove.
14075
14076 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14077
14078 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14079 (reset_sys_modes): Use reset_terminal_modes_hook.
14080
140812007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14082
14083 * eval.c (do_autoload): Don't output any message.
14084
140852007-09-24 Juri Linkov <juri@jurta.org>
14086
14087 * emacs.c (standard_args): Change priority of "--no-splash"
14088 from 40 to 3. Add "--no-desktop" with the same priority.
14089
140902007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14091
14092 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14093 and optimize the case where they are all 1.
14094
140952007-09-23 Johannes Weiner <hannes@saeurebad.de>
14096
14097 * lisp.h (abs): Define if not defined.
14098 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14099 Don't define `abs', since it's defined in lisp.h.
14100
141012007-09-22 Eli Zaretskii <eliz@gnu.org>
14102
14103 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14104 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14105 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14106 (init_tty): Use DEV_TTY instead of "/dev/tty".
14107 [WINDOWSNT]: No need to protect from NAME arg being null.
14108
141092007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14110
14111 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14112 up the tty state.
14113
141142007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14115
14116 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14117 (gpm_tty): Change its type.
14118 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14119 (gpm_tty): Change its type and initialize it.
14120 (Fterm_open_connection): Check the frame is indeed a tty.
14121 Use the new gpm_tty.
14122 (Fterm_close_connection): Use the new gpm_tty.
14123 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14124 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14125
141262007-09-21 Juanma Barranquero <lekktu@gmail.com>
14127
14128 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14129 underline_color, to draw strike-through.
14130
141312007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14132
14133 * lisp.h (allocate_terminal): Declare.
14134
14135 * window.c (candidate_window_p): Consider frames that are being placed
14136 by the user as somewhere between visible and iconified.
14137 (window_loop): Prefer windows on the current frame.
14138 (Fselect_window): Move the use of select-frame to the beginning so we
14139 can just delegate all the work (it'll call us back anyway).
14140
14141 * frame.c (Qdisplay_environment_variable):
14142 * frame.h (Qdisplay_environment_variable): Delete.
14143
14144 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14145 of the first arg, since that value may be a union.
14146
14147 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14148 parameter rather than Qdisplay_environment_variable. If all else
14149 fails, look for DISPLAY in initial-environment.
14150
141512007-09-21 Glenn Morris <rgm@gnu.org>
14152
14153 * Makefile.in (emacstool): Remove target.
14154 (lisp, shortlisp): Remove termdev.elc.
14155
141562007-09-21 Markus Triska <markus.triska@gmx.at>
14157
14158 * xterm.c (x_delete_display): Compile session management conditionally.
14159
141602007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14161
14162 * callproc.c (getenv_internal_1): New function.
14163 (getenv_internal): Use it.
14164 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14165
14166 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14167 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14168 (Fset_terminal_parameter): Work with dead terminals as well.
14169 (Fmodify_terminal_parameters): Remove.
14170
14171 * terminal.c (get_terminal): Handle terminals.
14172 Make sure the terminal returned is live.
14173 (create_terminal): Use allocate_terminal.
14174 (mark_terminals): Move to alloc.c.
14175 (delete_terminal): Use terminal->name as liveness status.
14176 NULL out fields after freeing their contents.
14177 Don't deallocate the object.
14178 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14179 rather than an int.
14180 (Fterminal_live_p): Accept non-integer arguments.
14181 (Fterminal_list): Return terminal objects rather than an ints.
14182
14183 * alloc.c (enum mem_type): New member for `terminal' objects.
14184 (allocate_terminal): New function.
14185 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14186 Handle terminals.
14187 (mark_terminal): New fun.
14188 (mark_terminals): Move from terminal.c.
14189
14190 * term.c (get_tty_terminal): Don't treat output_initial specially.
14191 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14192 (delete_tty): Use terminal->name as liveness status.
14193
14194 * termhooks.h (struct terminal): Make it into a pseudovector.
14195 Remove `deleted' replaced by checking `name's nullness.
14196
14197 * print.c (print_object): Handle terminals.
14198
14199 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14200 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14201
14202 * frame.c (make_terminal_frame):
14203 * keyboard.c (tty_read_avail_input):
14204 * w32term.c (x_delete_terminal):
14205 * xfns.c (Fx_create_frame, x_create_tip_frame):
14206 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14207
142082007-09-20 Glenn Morris <rgm@gnu.org>
14209
14210 * process.c (Fmake_network_process): Doc fix.
14211
142122007-09-19 Jason Rumney <jasonr@gnu.org>
14213
14214 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14215
142162007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14217
14218 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14219 Fix a C warning regarding variable constness.
14220
14221 * xterm.c (handle_one_xevent): Fix a C warning.
14222
142232007-09-18 Jason Rumney <jasonr@gnu.org>
14224
14225 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14226
142272007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14228
14229 * gtkutil.c (gdpy_def): New variable.
14230 (xg_initialize): Initialize gdpy_def.
14231 (xg_display_close): If no other display exists, set gdpy_def to a
14232 new connection.
14233
142342007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14235
14236 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14237 when we have no file name for the icon.
14238 (xg_tool_bar_expose_callback): Remove.
14239 (xg_create_tool_bar): Don't connect expose signal to
14240 xg_tool_bar_expose_callback.
14241 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14242
142432007-09-16 Andreas Schwab <schwab@suse.de>
14244
14245 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14246 values instead of zapping them.
14247
142482007-09-14 Glenn Morris <rgm@gnu.org>
14249
14250 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14251 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14252 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14253 scope and rename to omfib_buffer for clarity.
14254 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14255
142562007-09-14 Kenichi Handa <handa@m17n.org>
14257
14258 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14259
142602007-09-13 Jason Rumney <jasonr@gnu.org>
14261
14262 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14263
14264 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14265
14266 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14267 (mac_term_init): Call here instead, passing rif.
14268
142692007-09-13 Glenn Morris <rgm@gnu.org>
14270
14271 * s/hpux.h: No longer define `static' as nothing.
14272
142732007-09-13 Johan Bockgård <bojohan@gnu.org>
14274
14275 * callint.c (Fcall_interactively): Remove unused var `fun'.
14276
142772007-09-12 Romain Francoise <romain@orebokech.com>
14278
14279 * window.c (prefer_window_split_horizontally, display_buffer):
14280 Revert 2007-09-08 change.
14281
142822007-09-12 Glenn Morris <rgm@gnu.org>
14283
14284 * alloca.c: Remove file.
14285 * Makefile.in (alloca): Do not undef.
14286 (allocaobj, alloca.o): Remove.
14287 (otherobj): Remove allocaobj.
14288 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14289 * regex.c (C_ALLOCA): Remove all references and code that was only
14290 used when this was defined.
14291 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14292 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14293 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14294
14295 * Makefile.in (SOURCES, unlock, relock): Delete.
14296
14297 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14298 (menu_grab_callback): All uses changed.
14299
14300 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14301 (x_reply_selection_request): All uses changed.
14302
143032007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14304
14305 * lread.c (load_warn_old_style_backquotes): Change message to look
14306 better when it appears in the middle of byte-compiler messages.
14307
143082007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14309
14310 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14311
14312 * xterm.c (x_create_terminal): Add comment.
14313
14314 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14315
143162007-09-10 Richard Stallman <rms@gnu.org>
14317
14318 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14319
143202007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14321
14322 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14323 (DEFUN): Document `intspec', use it instead of `prompt'.
14324
14325 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14326
14327 * data.c (Finteractive_form): If the interactive specification starts
14328 with a `(', use it as a Lisp form.
14329
14330 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14331 name and file modes.
14332
14333 * callint.c (Fcall_interactively): Comment fixes.
14334
143352007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14336
14337 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14338 and compiled functions.
14339
143402007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14341
14342 * window.c (prefer_window_split_horizontally): New variable.
14343 (display_buffer): Consider splitting window horizontally depending
14344 on prefer_window_split_horizontally.
14345
143462007-09-08 Eli Zaretskii <eliz@gnu.org>
14347
14348 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14349
143502007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14351
14352 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14353
14354 * frame.c (x_set_frame_parameters): Check number is positive before
14355 using XFASTINT.
14356
14357 * window.c (freeze_window_start): Don't presume selected_window holds
14358 a window object.
14359 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14360
143612007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14362
14363 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14364
143652007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14366
14367 * window.c (Vsplit_window_preferred_function): New var.
14368 (Fdisplay_buffer): Use it.
14369 (syms_of_window): Export, and initialize it.
14370
143712007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14372
14373 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14374
143752007-09-06 Glenn Morris <rgm@gnu.org>
14376
14377 * gtkutil.c (menu_grab_callback) <cnt>:
14378 * xselect.c (x_reply_selection_request) <cnt>: Move static
14379 variable to file scope.
14380
143812007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14382
14383 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14384 consistent values of selected_frame and selected_window.
14385
143862007-09-04 Jason Rumney <jasonr@gnu.org>
14387
14388 * w32console.c (initialize_w32_display): Zero unused hooks.
14389
143902007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14391
14392 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14393 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14394
143952007-09-04 Jason Rumney <jasonr@gnu.org>
14396
14397 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14398 in w32console.c. Set up input. Remove XXX comments that have been
14399 confirmed as correct.
14400
14401 * s/ms-w32.h (MULTI_KBOARD): Define.
14402
14403 * w32console.c (one_and_only_w32cons): Remove.
14404 (initialize_w32_display): Take terminal argument.
14405
14406 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14407 initialize_w32_display.
14408 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14409
14410 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14411
14412 * keyboard.c (discard_mouse_events): Discard it.
14413 (make_lispy_event): Translate it to a lisp event.
14414 (lispy_wheel_names): Add wheel-left and right events.
14415 (syms_of_keyboard): Enlarge wheel_syms.
14416
14417 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14418 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14419
14420 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14421
14422 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14423 from WM_MOUSEHWHEEL.
14424 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14425
14426 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14427 terminal.
14428
14429 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14430 keyboard for the terminal.
14431
144322007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14433
14434 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14435 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14436 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14437 and resume-tty-function to resume-tty-hook.
14438 (Fsuspend_tty, Fresume_tty): Use new names.
14439
144402007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14441
14442 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14443 if it starts with "n:".
14444
144452007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14446
14447 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14448
144492007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14450
14451 * frame.h:
14452 * frame.c (Qterm_environment_variable): Remove.
14453 (syms_of_frame): Don't init and staticpro it.
14454
14455 * callproc.c (getenv_internal): Remove special case for $TERM.
14456
14457 * callproc.c (Vinitial_environment): New variable.
14458 (set_initial_environment): Initialize it.
14459 (syms_of_callproc): Declare it.
14460 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14461 TERM under which a process runs is never related to the TERM in which
14462 Emacs is running.
14463
144642007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14465
14466 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14467 * s/darwin.h: ... do it here.
14468
144692007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14470
14471 * lisp.h (set_initial_environment): Rename from set_global_environment.
14472
14473 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14474 removed by mistake on the multi-tty branch.
14475
14476 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14477 (Fmodify_frame_parameters): Return a value.
14478
14479 * image.c (png_load): Comment-out var only used in commented-out code.
14480
14481 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14482 before passing it to mark_object.
14483
14484 * xfaces.c (internal_resolve_face_name): Return a value.
14485 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14486
14487 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14488 (x_icon): Comment-out var only used in commented-out code.
14489
144902007-08-29 Romain Francoise <romain@orebokech.com>
14491
14492 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14493 QUIT hasn't been provided.
14494
144952007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14496
14497 * callproc.c (child_setup, getenv_internal): Use the
14498 display-environment-variable and term-environment-variable frame params.
14499 (set_initial_environment): Initialise Vprocess_environment.
14500
14501 * config.in: Disable multi-keyboard support on a mac.
14502
14503 * frame.c (Qterm_environment_variable)
14504 (Qdisplay_environment_variable): New variables.
14505 (syms_of_frame): Intern and staticpro them.
14506 (Fmake_terminal_frame): Disable output method test.
14507
14508 * frame.h: Declare them here.
14509
14510 * macfns.c (x_set_mouse_color): Get rif from the frame.
14511 (x_set_tool_bar_lines): Don't use updating_frame.
14512 (mac_window): Add 2 new parameters for consistency with other systems.
14513 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14514 frame parameters following what is done in X11 and w32. Don't use
14515 FRAME_MAC_DISPLAY_INFO.
14516 (Fx_open_connection, start_hourglass): Remove window-system check.
14517 (x_create_tip_frame): Get the keyboard from the terminal.
14518
14519 * macmenu.c: Reorder includes.
14520 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14521
14522 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14523 terminal parameter.
14524 (x_clear_frame): Add a frame parameter.
14525 (note_mouse_movement): Get rif from the frame.
14526 (mac_term_init): Initialize the terminal.
14527 (mac_initialize): Make static and move terminal initialization ...
14528 (mac_create_terminal): ... to this new function.
14529
14530 * macterm.h (struct mac_display_info): Add terminal.
14531 (mac_initialize): Delete declaration.
14532
14533 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14534
14535 * sysdep.c: Comment out text after #endif.
14536
14537 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14538 is defined. Better initialize ttys in windows. Use terminal
14539 specific mouse_position_hook.
14540
14541 * termhooks.h (union display_info): Add mac_display_info.
14542
14543 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14544 Set the default minibuffer frame, window_system and the rest of the
14545 frame parameters following what is done in X11.
14546
14547 * w32term.c (w32_initialize): Make static.
14548
14549 * xselect.c (x_handle_selection_clear): Only access
14550 terminal->kboard when MULTI_KBOARD is defined.
14551
14552 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14553 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14554
145552007-08-29 Jason Rumney <jasonr@gnu.org>
14556
14557 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14558 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14559
14560 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14561 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14562
14563 * keyboard.c (restore_kboard_configuration): Only define when
14564 MULTI_KBOARD defined.
14565
14566 * makefile.w32-in: Update dependancies from Makefile.in.
14567 (OBJ1): Add terminal.$(O)
14568
14569 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14570 Don't define function body.
14571 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14572
14573 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14574
14575 * w32.c (request_sigio, unrequest_sigio): Remove.
14576
14577 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14578 (w32con_clear_frame, w32con_clear_end_of_line)
14579 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14580 (w32con_delete_glyphs, w32con_set_terminal_window)
14581 (scroll_line, w32_sys_ring_bell): Add frame arg.
14582 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14583 Add terminal arg.
14584 (PICK_FRAME): Remove.
14585 (w32con_write_glyphs): Use frame specific terminal coding.
14586 (one_and_only_w32cons): New global variable.
14587 (initialize_w32_display): Use it for storing hooks.
14588 (create_w32cons_output): New function.
14589
14590 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14591 arg a frame.
14592
14593 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14594 Set window_system.
14595 (x_set_tool_bar_lines): Don't use updating_frame.
14596 (Fx_create_frame): Set terminal and ref count.
14597 (Fx_open_connection): Remove window-system check.
14598
14599 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14600
14601 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14602 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14603 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14604 Add frame arg.
14605 (x_delete_terminal, w32_create_terminal): New functions.
14606 (w32_term_init): Create a terminal.
14607 (w32_initialize): Move terminal specific initialization to
14608 w32_create_terminal.
14609
14610 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14611 (w32_clear_rect, w32_clear_area): Use background from frame.
14612 (w32_display_info): Add terminal.
14613 (w32_sys_ring_bell, x_delete_display): Declare here.
14614
14615 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14616
14617 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14618
146192007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14620
14621 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14622 Fix get_named_tty calls for the controlling tty.
14623
146242007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14625
14626 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14627
146282007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14629
14630 * term.c (tty_insert_glyphs): Add missing first parameter.
14631
146322007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14633
14634 * buffer.c (Fbuffer_list, Fbury_buffer):
14635 Take frame->buried_buffer_list into account.
14636
14637 * cm.c (current_tty): New variable, for cmputc().
14638 (cmputc): Use it.
14639 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14640 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14641 (cmgoto): Add tty parameter. Pass it on to calccost().
14642 Use emacs_tputs() instead of tputs().
14643
14644 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14645 tputs().
14646 (current_tty): New variable, for cmputc().
14647 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14648
14649 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14650 (internal_condition_case, internal_condition_case_1)
14651 (internal_condition_case_2): Don't abort when x_catching_errors.
14652
14653 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14654 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14655 prevent crashes caused by bogus longjmps in read_char.
14656
14657 * keymap.h (Fset_keymap_parent): Add EXFUN.
14658
14659 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14660 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14661 Remove redundant definition.
14662
14663 * macfns.c (x_set_mouse_color, x_make_gc):
14664 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14665
14666 * w32term.c (x_free_frame_resources):
14667 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14668 (w32_initialize): Use the accessor macros for terminal characteristics.
14669
14670 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14671 Use the accessor macros for terminal characteristics.
14672 * msdos.c (internal_terminal_init): Use the accessor macros for
14673 terminal characteristics.
14674 (ScreenVisualBell, internal_terminal_init):
14675 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14676
14677 * termopts.h (no_redraw_on_reenter): Declare.
14678
14679 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14680 (mark_terminals, mark_ttys): Declare.
14681 (Fgarbage_collect): Call them.
14682 (mark_object): Mark buried_buffer_list.
14683
14684 * prefix-args.c: Include stdlib.h for exit.
14685
14686 * syssignal.h: Add comment.
14687
14688 * indent.c: Include stdio.h.
14689
14690 * window.h (Vinitial_window_system): Declare.
14691 (Vwindow_system): Delete declaration.
14692
14693 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14694
14695 * image.c (lookup_image): Don't initialize `c' until the xasserts
14696 have been run.
14697
14698 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14699 FRAME_FOREGROUND_PIXEL.
14700
14701 * print.c (print_preprocess): Don't lose print_depth levels while
14702 iterating.
14703
14704 * widget.c (update_from_various_frame_slots):
14705 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14706
14707 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14708 frames.
14709 (window_internal_height): Remove bogus make_number call.
14710 (init_window_once): Call make_terminal_frame with two zero parameters.
14711
14712 * fileio.c (Fread_file_name): Update comment.
14713
14714 * callint.c (Fcall_interactively):
14715 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14716 Make sure it is correctly unwound.
14717
14718 * xsmfns.c (x_session_close): New function.
14719
14720 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14721 Delete declarations.
14722
14723 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14724 (x_output): Remove background_pixel and foreground_pixel fields.
14725 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14726 (x_delete_device, x_session_close): Declare.
14727
14728 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14729 (read_filtered_event): Call `read_char' with a local
14730 `wrong_kboard_jmpbuf'.
14731
14732 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14733 Don't call single_kboard_state. Use FRAME_RIF.
14734
14735 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14736 systems.
14737
14738 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14739 (Fframe_with_environment, Fset_input_meta_mode)
14740 (Fset_quit_char): EXFUN.
14741 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14742 (init_sys_modes, reset_sys_modes): Update prototypes.
14743 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14744
14745 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14746 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14747 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14748 Delete declarations.
14749 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14750 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14751 New declarations.
14752
14753 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14754 already does that during init_display(). Call syms_of_keymap
14755 before syms_of_keyboard. Call `syms_of_terminal'.
14756 Call set_initial_environment, not set_process_environment.
14757 (shut_down_emacs): Call reset_all_sys_modes() instead of
14758 reset_sys_modes().
14759
14760 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14761 (internal_resolve_face_name, resolve_face_name_error): New functions.
14762 (resolve_face_name): Protect against loops and errors thrown by Fget.
14763 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14764 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14765
14766 * scroll.c: Replace CURTTY() with local variables throughout the
14767 file (where applicable).
14768 (calculate_scrolling, calculate_direct_scrolling)
14769 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14770 characteristics.
14771
14772 * keymap.c (Vfunction_key_map): Remove.
14773 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14774 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14775 (Vkey_translation_map): Remove.
14776 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14777 (Fdescribe_buffer_bindings)
14778 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14779 Update for terminal-local key-translation-map.
14780
14781 * Makefile.in (callproc.o): Update dependencies.
14782 (lisp, shortlisp): Add termdev.elc.
14783 (obj): Add terminal.o.
14784 (terminal.o): Add dependencies.
14785 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14786 (data.o, fns.o): Add termhooks.h dependency.
14787 (SOME_MACHINE_LISP): Add dnd.elc.
14788 (minibuf.o): Fix typo.
14789 Update dependencies.
14790
14791 * data.c (do_symval_forwarding, store_symval_forwarding)
14792 (find_symbol_value): Use the selected frame's keyboard, not
14793 current_kboard.
14794
14795 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14796 Vwindow_system.
14797
14798 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14799 Fmenu_bar_open.
14800 (syms_of_xmenu): Update defsubr.
14801 (mouse_position_for_popup, Fx_popup_menu)
14802 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14803 (set_frame_menubar, free_frame_menubar)
14804 (create_and_show_popup_menu, xmenu_show, )
14805 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14806 an X frame.
14807
14808 * xselect.c (x_own_selection): Abort if not an X frame.
14809 (some_frame_on_display): Check if it is an X frame.
14810 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14811
14812 * coding.c: Include frame.h and termhooks.h.
14813 (terminal_coding, keyboard_coding): Delete.
14814 (Fset_terminal_coding_system_internal)
14815 (Fset_keyboard_coding_system_internal)
14816 (Fkeyboard_coding_system)
14817 (Fterminal_coding_system): Add a terminal parameter.
14818 Get terminal_coding from the terminal.
14819 (init_coding_once): Don't call setup_coding_system here.
14820
14821 * dispextern.h (set_scroll_region, turn_off_insert)
14822 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14823 (tty_clear_end_of_line, tty_setup_colors)
14824 (delete_tty, updating_frame)
14825 (produce_special_glyphs, produce_glyphs, write_glyphs)
14826 (insert_glyphs): Remove.
14827 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14828 (tty_turn_off_highlight, get_tty_size): Add declaration.
14829 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14830
14831 * frame.h (enum output_method): Add output_initial.
14832 (struct x_output): Delete.
14833 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14834 Access foreground_pixel and background_pixel directly from the frame.
14835 (tty_display): Delete.
14836 (struct frame): Add buried_buffer_list, foreground_pixel,
14837 background_pixel and terminal. Delete kboard.
14838 (union output_data): Add tty.
14839 (FRAME_KBOARD): Get the kboard from the terminal.
14840 (FRAME_INITIAL_P): New macro.
14841 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14842 (Qterm_environment_variable, Qdisplay_environment_variable)
14843 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14844 New declarations.
14845
14846 * termchar.h (tty_output, tty_display_info): New structures.
14847 (tty_list): Declare.
14848 (FRAME_TTY, CURTTY): New macros.
14849 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14850 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14851 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14852 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14853
14854 * callproc.c: Include frame.h and termhooks.h, for terminal
14855 parameters.
14856 (add_env): New function.
14857 (child_setup): Use it.
14858 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14859 (getenv_internal): Fix get_terminal_param call.
14860 (Fgetenv_internal, egetenv): Update doc.
14861 (syms_of_callproc): Initialize Vprocess_environment to nil.
14862 Register and initialize them. Remove obsolete defvars. Update doc
14863 strings.
14864 (child_setup): Handle Vlocal_environment_variables.
14865 (getenv_internal): Add terminal parameter.
14866 Handle Vlocal_environment_variables.
14867 (Fgetenv_internal): Add terminal parameter.
14868 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14869 environment in a frame (not terminal) parameter. Update doc strings.
14870 (set_initial_environment): Rename from set_global_environment.
14871 Store Emacs environment in initial frame parameter.
14872
14873 * xdisp.c (redisplay_internal): Update references to
14874 `previous_terminal_frame'.
14875 (display_mode_line, Fformat_mode_line): Replace calls to
14876 `push_frame_kboard' with `push_kboard'.
14877 (get_glyph_string_clip_rects): Add extra parentheses and
14878 braces to prevent compiler warnings.
14879 (calc_pixel_width_or_height): Add xassert to check that the
14880 frame is alive. Don't call `lookup_image' on a termcap frame.
14881 (message2_nolog, message3_nolog, redisplay_internal)
14882 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14883 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14884 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14885 (Fx_display_pixel_width, Fx_display_pixel_height)
14886 (Fx_display_planes, Fx_display_color_cells)
14887 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14888 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14889 (Fx_display_backing_store, Fx_display_visual_class)
14890 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14891 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14892
14893 * xfns.c (x_set_foreground_color x_set_background_color)
14894 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14895 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14896 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14897 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14898 terminal that is being deleted.
14899 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14900 frame parameter, and make sure it overrides any user-supplied setting.
14901 (Fx_close_connection, Fx_synchronize): Unify argument names with
14902 the rest of the DEFUNs.
14903
14904 * dispnew.c (Fsend_string_to_terminal): Update call to
14905 `get_tty_terminal'.
14906 (Fredraw_frame, Fsend_string_to_terminal)
14907 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14908 FRAME_TERMCAP_P and FRAME_TTY.
14909 (window_change_signal): Don't believe width/height values that are
14910 impossibly small.
14911 (Vinitial_window_system): Rename from Vwindow_system.
14912 (termscript, Wcm, rif): Delete.
14913
14914 * termhooks.h (struct terminal): New struct containing the
14915 previously global text display hooks and new members NAME,
14916 DELETED and PARAM_ALIST.
14917 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14918 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14919 (FRAME_RIF): New macros.
14920 (get_terminal_param, get_device): New declarations.
14921 (termscript): Delete declaration.
14922
14923 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14924 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14925 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14926 FRAME_FOREGROUND_PIXEL.
14927 (x_fully_uncatch_errors): Disable definition.
14928 (x_scroll_bar_expose): Fix reference to foreground pixel.
14929 (XTread_socket): Disable loop on all X displays.
14930 (x_delete_terminal): Don't set terminal->deleted and let
14931 delete_terminal delete the frames on the terminal.
14932 (x_delete_display): Doc update to reflect changes in
14933 delete_terminal.
14934 (x_display_info) <terminal>: Move member earlier in the struct.
14935 (deleting_tty): Remove old variable.
14936 (Fsuspend_tty): Call clear_tty_hooks.
14937 (Fresume_tty, init_tty): Call set_tty_hooks.
14938 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14939 errors on X frames.
14940 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14941 (handle_one_xevent): Initialize `f' to NULL.
14942 (x_delete_terminal, x_create_terminal): New functions.
14943 (XTset_terminal_modes, XTreset_terminal_modes)
14944 (XTread_socket, x_connection_closed, x_term_init)
14945 (x_term_init, x_delete_display): Add terminal parameter.
14946 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14947 X connections.
14948
14949 * frame.c: Include termchar.h.
14950 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14951 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14952 (Qdisplay_environment_variable): New vars.
14953 (Fframep): Deal with output_initial.
14954 (Fframe-live-p): Doc fix.
14955 (Fwindow-system): New function.
14956 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14957 (make_terminal_frame): Don't create frames on a terminal that is
14958 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14959 (store_frame_param): Check for found_for_frame before calling XFRAME.
14960 (Fmake_terminal_frame): Handle NULL tty names correctly.
14961 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14962 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14963 frames to refer to a deleted frame in their 'environment parameter.
14964 (Fframe_with_environment): New function.
14965 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14966 (get_future_frame_param): New function.
14967 (Fmake_terminal_frame): Use it.
14968 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14969
14970 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14971 * sysdep.c (reset_sys_modes): Update for renames.
14972
14973 * keyboard.c (tty_read_avail_input): New function.
14974 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14975 (syms_of_keyboard): Defsubr them.
14976 (Fset_input_meta_mode, Fset_quit_char): New functions.
14977 (Fset_input_mode): Split to above functions.
14978 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14979 parameter. Use it in call to `read_char'.
14980 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14981 Set wrong_kboard_jmpbuf correctly in recursive calls.
14982 Use current_kboard to access Vkeyboard_translate_table.
14983 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14984 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14985 Update longjmp invocations. Remember the original current_kboard,
14986 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14987 changes it. Comment out unnecessary calls to
14988 `record_single_kboard_state' and `any_kboard_state'.
14989 Update recursive calls.
14990 (wrong_kboard_jmpbuf): Remove global variable.
14991 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14992 Handle deleted interrupted_kboards correctly; that is a legal
14993 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14994 and read_char calls. Abort if interrupted_kboard died in read_char.
14995 (any_kboard_state, single_kboard_state)
14996 (push_frame_kboard): Remove function.
14997 (pop_kboard): Switch out of single_kboard mode if the kboard has
14998 been deleted. Remove unused variable. Help debugging by not
14999 changing current_kboard unnecessarily. Set current_kboard to the
15000 kboard of the selected frame when the stored kboard object has
15001 been deleted before pop_kboard.
15002 (temporarily_switch_to_single_kboard): Change first parameter to a
15003 frame pointer. Throw an error when caller wants to change kboards
15004 while in single_kboard mode. Don't push_kboard if we weren't in
15005 single kboard state. Don't pop_kboard if we popped into any
15006 kboard state.
15007 (restore_kboard_configuration): Abort if pop_kboard changed the
15008 kboard in single_kboard mode. Call pop_kboard only after setting
15009 up single_kboard mode.
15010 (Frecursive_edit): Switch to single_kboard mode only in nested
15011 command loops.
15012 (cmd_error, command_loop, command_loop_1, timer_check):
15013 Comment out unnecessary call to `any_kboard_state' and
15014 `record_single_kboard_state'.
15015 (delete_kboard): Exit single_kboard mode if we have just deleted
15016 that kboard. Use FRAME_KBOARD.
15017 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15018 `fatal_error_signal'.
15019 (record_single_kboard_state): Don't push_kboard if we weren't in
15020 single kboard state. Don't pop_kboard if we popped into any
15021 kboard state.
15022 (push_frame_kboard): Rename to push_kboard.
15023 (kbd_buffer_get_event): Use FRAME_TERMINAL.
15024 (read_avail_input): Read input from all terminals.
15025 (mark_kboards): Also mark Vkeyboard_translate_table.
15026 (kbd_buffer_store_event_hold): Simplify condition.
15027 (read_key_sequence): Reinitialize fkey and keytran at each replay.
15028 (Vkeyboard_translate_table): Move to struct kboard.
15029 (init_kboard): Initialize Vkeyboard_translate_table.
15030 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15031 Vkeyboard_translate_table. Update doc strings. Update docs of
15032 local-function-key-map and function-key-map.
15033
15034 * terminal.c: New file.
15035
15036 * term.c: Include errno.h.
15037 (Vring_bell_function, device_list, initial_device)
15038 (next_device_id, ring_bell, update_begin, update_end)
15039 (set_terminal_window, cursor_to, raw_cursor_to)
15040 (clear_to_end, clear_frame, clear_end_of_line)
15041 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15042 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15043 (syms_of_term): Move their initialization to terminal.c.
15044 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15045 (Ftty_display_color_cells)
15046 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15047 (clear_tty_hooks, set_tty_hooks)
15048 (init_tty, maybe_fatal): New functions.
15049 (Ftty_type): Return nil if terminal is not on a tty instead of
15050 throwing an error. Doc update.
15051 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15052 Doc update. Initialize new subrs and variables.
15053 (delete_tty): Use terminal->deleted.
15054 (tty_set_terminal_modes): Rename from set_terminal_modes.
15055 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15056 (set_scroll_region): Rename to `tty_set_scroll_region'.
15057 (turn_on_insert): Rename to `tty_turn_on_insert'.
15058 (turn_off_insert): Rename to `tty_turn_off_insert'.
15059 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15060 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15061 (toggle_highligh): Rename to `tty_toggle_highlight'.
15062 (background_highlight): Rename to `tty_background_highlight'.
15063 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15064 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15065 (tty_set_scroll_region, tty_background_highlight)
15066 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15067 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15068 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15069 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15070 Add static modifier.
15071 (tty_reset_terminal_modes, tty_set_terminal_window)
15072 (tty_set_scroll_region, tty_background_highlight)
15073 (tty_highlight_if_desired, tty_cursor_to)
15074 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15075 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15076 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15077 renames.
15078
150792007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15080
15081 * keyboard.c: Qrtl is new.
15082 (parse_tool_bar_item): Handle :rtl keyword.
15083 (syms_of_keyboard): Intern :rtl keyword.
15084
15085 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15086
15087 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15088 so no Lisp code is executed.
15089 (file_for_image, find_rtl_image): New functions.
15090 (xg_get_image_for_pixmap): Use file_for_image.
15091 (update_frame_tool_bar): If direction is RTL, use RTL image if
15092 defined. Use Gtk stock images if defined.
15093
150942007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15095
15096 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15097 for nonexistent or zero-width glyph in composition glyph.
15098
150992007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15100
15101 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15102
15103 * xdisp.c (Finvisible_p): New function.
15104 (syms_of_xdisp): defsubr it.
15105
151062007-08-24 Juanma Barranquero <lekktu@gmail.com>
15107
15108 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15109 Doc fixes.
15110
151112007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15112
15113 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15114
151152007-08-24 Martin Rudalics <rudalics@gmx.at>
15116
15117 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15118 whether decoding has modified buffer contents.
15119
151202007-08-24 Jason Rumney <jasonr@gnu.org>
15121
15122 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15123 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15124 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15125 (init_svg_functions) [HAVE_NTGUI]: New function.
15126 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15127 (svg_load_image): Use them.
15128 (svg_load_image) [HAVE_NTGUI]: Implement background.
15129
151302007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15131
15132 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15133 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15134 (LIBX): Remove @RSVG_LIBS@.
15135 (LIBES): Add $(RSVG_LIBS).
15136
15137 * image.c (svg_load_image): Blend with specified background if exists.
15138 Use IMAGE_BACKGROUND. Add Mac OS Support.
15139
15140 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15141 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15142 Remove macros.
15143 [MAC_OSX] (socket_callback): Do nothing.
15144 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15145 ReceiveNextEvent.
15146 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15147 socket_callback.
15148 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15149
151502007-08-22 Glenn Morris <rgm@gnu.org>
15151
15152 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15153
151542007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15155
15156 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15157
15158 * image.c: Add support for SVG images. Some additional comments
15159 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15160 (svg_image_p): New function to test for SVG image.
15161 (svg_load): New function to load SVG image.
15162 (svg_load_image): New function, helper for svg_load.
15163 (Qsvg): New Lisp_object.
15164 (svg_keyword_index): New enum.
15165 (svg_format): New static `image_keyword' struct.
15166 (svg_type): New static `image_type' struct.
15167 (librsvg/rsvg.h): Include it.
15168
151692007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15170
15171 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15172
151732007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15174
15175 * lread.c (Qold_style_backquotes): New var.
15176 (syms_of_lread): Init and staticpro it.
15177 (load_warn_old_style_backquotes): New fun.
15178 (Fload): Use them to warn about old style backquotes.
15179 (end_of_file_error, Fload): Remove unused vars.
15180
15181 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15182
15183 * lread.c (Vold_style_backquotes): New var.
15184 (syms_of_lread): Init and export it to Elisp.
15185 (read1): Set it when we find an old-style (back)quote.
15186
151872007-08-22 Jason Rumney <jasonr@gnu.org>
15188
15189 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15190
151912007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15192
15193 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15194
151952007-08-19 Richard Stallman <rms@gnu.org>
15196
15197 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15198
151992007-08-19 Andreas Schwab <schwab@suse.de>
15200
15201 * alloc.c (pure): Round PURESIZE up.
15202
152032007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15204
15205 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15206 active frame.
15207
152082007-08-16 Richard Stallman <rms@gnu.org>
15209
15210 * eval.c (Fcommandp): Add parens to clarify.
15211
15212 * minibuf.c (Fall_completions): Use enum for type of table.
15213
15214 * emacs.c (USAGE2): Improve text.
15215
152162007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15217
15218 * term.c (tty_default_color_capabilities): Declare static
15219 variables in file scope, to avoid HPUX compiler problem.
15220
152212007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15222
15223 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15224 to gtk_toolbar_insert.
15225
152262007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15227
15228 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15229
15230 * insdel.c (reset_var_on_error): New fun.
15231 (signal_before_change, signal_after_change):
15232 Use it to reset (after|before)-change-functions to nil in case of error.
15233 Bind inhibit-modification-hooks to t.
15234 Don't bind (after|before)-change-functions to nil while they run.
15235
152362007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15237
15238 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15239 filling pixmap with stippled background.
15240
152412007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15242
15243 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15244 Don't use invisible frame as parent window for repositioning.
15245
152462007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15247
15248 * print.c (new_backquote_output): Rename from old_backquote_output.
15249 (print): Inverse its logic (according to its name) so as to match the
15250 behavior of new_backquote_flag in lread.c.
15251
152522007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15253
15254 * gmalloc.c (posix_memalign): New function.
15255
15256 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15257 ActivateControl/DeactivateControl here.
15258 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15259 frame-notice-user-settings is non-nil.
15260 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15261 for kEventParamFMFontStyle.
15262 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15263 mac_pass_command_to_system and mac_pass_control_to_system here.
15264 (XTread_socket): Call ActivateControl/DeactivateControl here.
15265 (XTread_socket) [TARGET_API_MAC_CARBON]:
15266 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15267 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15268 for window repositioning.
15269
152702007-08-08 Glenn Morris <rgm@gnu.org>
15271
15272 * Replace `iff' in doc-strings and comments.
15273
152742007-08-07 Chong Yidong <cyd@stupidchicken.com>
15275
15276 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15277
152782007-08-07 Martin Rudalics <rudalics@gmx.at>
15279
15280 * fileio.c (Finsert_file_contents): Run format-decode and
15281 after_insert_file_functions on entire buffer when REPLACE is
15282 non-nil and inhibit modification_hooks and point_motion_hooks.
15283 For consistency, run after_insert_file_functions iff something
15284 got inserted. Move signal_after_change and update_compositions
15285 after code running after_insert_file_functions. Make sure that
15286 undo_list doesn't record intermediate steps of the decoding process.
15287
152882007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15289
15290 * emacs.c (main)
15291 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15292 Call malloc_enable_thread on interactive startup.
15293
15294 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15295 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15296 [USE_PTHREAD]: Conditionalize with it.
15297 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15298 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15299 New functions.
15300
153012007-08-06 Chong Yidong <cyd@stupidchicken.com>
15302
15303 * xdisp.c (redisplay_window): When restoring original buffer
15304 position, make sure it is still valid.
15305
15306 * image.c (png_load): Ignore png-supplied background color.
15307
153082007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15309
15310 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15311 Use kCFAbsoluteTimeIntervalSince1970.
15312
15313 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15314 New variable.
15315 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15316 event loop should be quit.
15317 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15318 Quit dialog event loop if quit_dialog_event_loop is set.
15319
15320 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15321 (Selection): New typedef. Use instead of ScrapRef.
15322 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15323 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15324 (mac_clear_selection): Rename from clear_scrap.
15325 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15326 scrap_has_target_type. All uses changed.
15327 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15328 (mac_selection_has_target_p): New functions.
15329 (mac_put_selection_value): Rename from put_scrap_string.
15330 (mac_get_selection_value): Rename from get_scrap_string.
15331 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15332 (put_scrap_private_timestamp, scrap_has_target_type)
15333 (get_scrap_private_timestamp): Remove functions.
15334 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15335 (x_own_selection, x_get_local_selection):
15336 Use mac_valid_selection_value_p.
15337 (x_own_selection): Don't use put_scrap_private_timestamp.
15338 Record OWNERSHIP-INFO into Vselection_alist instead.
15339 (x_get_local_selection): Don't check type if request is local.
15340 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15341 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15342
153432007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15344
15345 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15346 add comment explaining why.
15347
153482007-08-03 Richard Stallman <rms@gnu.org>
15349
15350 * fileio.c (Fvisited_file_modtime): Use make_time.
15351
153522007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15353
15354 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15355 build.
15356
153572007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15358
15359 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15360
153612007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15362
15363 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15364
153652007-07-30 Richard Stallman <rms@gnu.org>
15366
15367 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15368
153692007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15370
15371 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15372
153732007-07-28 Nick Roberts <nickrob@snap.net.nz>
15374
15375 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15376 remote default-directory.
15377
15378 * buffer.c (mode-line-format): Update doc string.
15379
153802007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15381
15382 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15383 scroll bar gap.
15384 (x_scroll_bar_create): Set bar->fringe_extended_p.
15385 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15386 on frame edge. Check fringe background extension. Don't clear
15387 extended fringe background area.
15388
15389 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15390 (w32_fill_area): Enclose multiple statements with do ... while (0).
15391
15392 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15393 Extend fringe background to scroll bar gap.
15394 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15395 Set bar->fringe_extended_p.
15396 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15397 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15398 background extension. Don't clear extended fringe background area.
15399
15400 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15401 New member fringe_extended_p.
15402
154032007-07-25 Glenn Morris <rgm@gnu.org>
15404
15405 * Relicense all FSF files to GPLv3 or later.
15406
15407 * COPYING: Switch to GPLv3.
15408
154092007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15410
15411 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15412
15413 * data.c (Finteractive_form): Check for the presence of an
15414 `interactive-form' symbol property more thoroughly.
15415
15416 * data.c (Finteractive_form): Use an `interactive-form' property if
15417 present, analogous to the function-documentation property.
15418
154192007-07-24 Jason Rumney <jasonr@gnu.org>
15420
15421 * w32fns.c (x_real_positions): Get real position from OS instead of
15422 calculating it.
15423
154242007-07-23 Jason Rumney <jasonr@gnu.org>
15425
15426 * filelock.c (current_lock_owner): Allow for @ sign in username.
15427
154282007-07-22 Nick Roberts <nickrob@snap.net.nz>
15429
15430 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15431 remote default-directory.
15432
15433 * buffer.c (mode-line-format): Describe above case in doc string.
15434
154352007-07-20 Eli Zaretskii <eliz@gnu.org>
15436
15437 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15438 Define if not defined.
15439
154402007-07-18 Jason Rumney <jasonr@gnu.org>
15441
15442 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15443
154442007-07-18 Richard Stallman <rms@gnu.org>
15445
15446 * data.c (Fsetq_default): Doc fix.
15447
15448 * eval.c (Fsetq): Doc fix.
15449
154502007-07-18 Juanma Barranquero <lekktu@gmail.com>
15451
15452 * coding.c (Ffind_operation_coding_system):
15453 * eval.c (For, Fand): Doc fixes.
15454 Reported by Johan Bockgård.
15455
154562007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15457
15458 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15459
15460 * xterm.h: Declare x_ewmh_activate_frame.
15461
15462 * xterm.c (x_ewmh_activate_frame): New function.
15463 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15464
154652007-07-17 Martin Rudalics <rudalics@gmx.at>
15466
15467 * window.c (Fdisplay_buffer): If largest or LRU window is the
15468 only window, split it even if it is not eligible for splitting.
15469 This restores the original behavior broken by the 2007-07-15
15470 change.
15471
154722007-07-17 Glenn Morris <rgm@gnu.org>
15473
15474 * abbrev.c (abbrev_check_chars): New function.
15475 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15476 Call abbrev_check_chars to check abbrev characters are word
15477 constituents. Doc fix.
15478
154792007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15480
15481 * process.c (Fstart_process, Fmake_network_process)
15482 (read_process_output): Fix up last changes.
15483
154842007-07-16 Eli Zaretskii <eliz@gnu.org>
15485
15486 * makefile.w32-in (clean): Don't delete *~.
15487
154882007-07-16 Andreas Schwab <schwab@suse.de>
15489
15490 * window.c (Fdisplay_buffer): Use NILP.
15491 (Fset_window_scroll_bars): Likewise.
15492
154932007-07-15 Martin Rudalics <rudalics@gmx.at>
15494
15495 * window.c (window_min_size_2): New function.
15496 (window_min_size_1, size_window, Fdisplay_buffer)
15497 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15498 windows without mode- or header-lines when window-min-height is
15499 too small.
15500 (size_window): Reset nodelete_p after testing it, following an
15501 earlier note by Kim F. Storm.
15502 (display_buffer): Do not set split_height_threshold to twice the
15503 value of window_min_height to avoid changing the value of a
15504 customizable variable. Rather explicitly check whether the
15505 height of the window that shall be splitted is at least as large
15506 as split_height_threshold.
15507 (Fwindow_full_width_p): New defun.
15508 (syms_of_window): Defsubr it.
15509
15510 * window.h: Add EXFUN for Fwindow_full_width_p.
15511
155122007-07-14 Jason Rumney <jasonr@gnu.org>
15513
15514 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15515
155162007-07-14 Richard Stallman <rms@gnu.org>
15517
15518 * eval.c (maybe_call_debugger): New function.
15519 (find_handler_clause): Use maybe_call_debugger.
15520 Call it when the handler says `debug'.
15521 Eliminate DEBUGGER_VALUE_PTR.
15522 (Fsignal): Eliminate debugger_value.
15523 (Qdebug): New variable.
15524 (syms_of_eval): Initialize it.
15525
155262007-07-14 Juanma Barranquero <lekktu@gmail.com>
15527
15528 * eval.c (Fprogn):
15529 * keyboard.c (Ftrack_mouse):
15530 * print.c (Fwith_output_to_temp_buffer):
15531 * window.c (Fsave_window_excursion): Doc fix.
15532
155332007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15534
15535 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15536
155372007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15538
15539 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15540 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15541 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15542 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15543 Remove unused encoding_carryover.
15544 * process.c: Adjust all functions accordingly.
15545
155462007-07-12 Richard Stallman <rms@gnu.org>
15547
15548 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15549
155502007-07-11 Jason Rumney <jasonr@gnu.org>
15551
15552 * makefile.w32-in (LIBS): Include OLE32.
15553
15554 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15555 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15556
155572007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15558
15559 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15560 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15561 from a Lisp_Object into a bare pointer.
15562 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15563 Adjust the code correspondingly.
15564
15565 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15566
15567 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15568 (term_show_mouse_face): Remove unused var `j'.
15569 (handle_one_term_event): Remove unused vars `i' and `j'.
15570 Don't cast return value of ttyname since it's not necessary.
15571
155722007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15573
15574 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15575 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15576
15577 * fns.c (map_char_table): Use an array of int for `indices' rather than
15578 an array of Lisp_Objects (which are only ever integers anyway).
15579 (Fmap_char_table): Update caller.
15580 * lisp.h: Update prototype.
15581 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15582 * fontset.c (Ffontset_info):
15583 * casetab.c (set_case_table): Update callers.
15584
15585 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15586
15587 * keymap.c (struct accessible_keymaps_data)
15588 (struct where_is_internal_data): New structures.
15589 (accessible_keymaps_1, where_is_internal_1): Use them to change
15590 interface to adhere to the one used by map_keymap.
15591 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15592 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15593
15594 * keymap.h (map_keymap_function_t): More informative prototype.
15595
155962007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15597
15598 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15599 (looking_at_1): Don't change search_regs and last_thing_searched
15600 if `inhibit-changing-match-data' is non-nil.
15601 (string_match_1, search_buffer, set_search_regs): Likewise.
15602 (syms_of_search): Add Lisp level definition for
15603 `inhibit-changing-match-data' and set it to nil.
15604 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15605 start and end of the match, instead of using values in search_regs.
15606
156072007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15608
15609 * minibuf.c (Fcompleting_read): New value `confirm-only'
15610 for `require-match'.
15611
156122007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15613
15614 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15615 part of the 2007-06-27 change to syms_of_fileio.
15616
156172007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15618
15619 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15620 Check WINDOWP before using XWINDOW. Consolidate return statements.
15621
156222007-06-27 Richard Stallman <rms@gnu.org>
15623
15624 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15625
156262007-06-27 Juanma Barranquero <lekktu@gmail.com>
15627
15628 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15629
156302007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15631
15632 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15633 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15634 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15635 (_free_internal, memalign): Use them.
15636 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15637 Initialize to PTHREAD_MUTEX_INITIALIZER.
15638 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15639 (morecore_nolock): Rename from morecore. All uses changed.
15640 Use only nolock versions of internal allocation functions.
15641 (_malloc_internal_nolock, _realloc_internal_nolock)
15642 (_free_internal_nolock): New functions created from
15643 _malloc_internal, _realloc_internal, and _free_internal.
15644 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15645 Copy hook value to automatic variable before its use.
15646 (memalign): Copy hook value to automatic variable before its use.
15647
156482007-06-26 Kenichi Handa <handa@m17n.org>
15649
15650 * coding.c (Ffind_operation_coding_system): Docstring improved.
15651 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15652
156532007-06-25 David Kastrup <dak@gnu.org>
15654
15655 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15656 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15657 cater for additional parameter.
15658
15659 * keymap.h: Adjust number of parameters to `current-active-maps'.
15660
15661 * doc.c (Fsubstitute_command_keys): Adjust call of
15662 `current-active-maps'.
15663
156642007-06-25 David Kastrup <dak@gnu.org>
15665
15666 * callint.c (Fcall_interactively): Make the parsing of interactive
15667 specs somewhat more readable.
15668
156692007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15670
15671 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15672 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15673 if extended background has already been filled.
15674
156752007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15676
15677 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15678 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15679
15680 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15681 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15682 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15683 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15684 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15685 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15686 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15687 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15688 Run timers during dialog popup.
15689 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15690
156912007-06-21 Jason Rumney <jasonr@gnu.org>
15692
15693 * image.c (convert_mono_to_color_image): Swap fore and background.
15694
156952007-06-20 Jason Rumney <jasonr@gnu.org>
15696
15697 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15698 (w32_free_bdf_font): Unmap memory not handle.
15699
157002007-06-20 Sam Steingold <sds@gnu.org>
15701
15702 * gmalloc.c (__morecore): Fix the declaration to comply with the
15703 definition.
15704
157052007-06-20 Juanma Barranquero <lekktu@gmail.com>
15706
15707 * w32term.c (w32_delete_display): Remove leftover declaration.
15708 (w32_define_cursor, w32_initialize): Make static.
15709
15710 * w32.c (_wsa_errlist): Fix typo in error message.
15711 (init_environment): Ignore any environment variable from the
15712 registry having a null value.
15713
157142007-06-20 Glenn Morris <rgm@gnu.org>
15715
15716 * Makefile.in (LIBGIF): Default to -lgif.
15717
157182007-06-17 Jason Rumney <jasonr@gnu.org>
15719
15720 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15721 unicode strings.
15722
157232007-06-16 Juanma Barranquero <lekktu@gmail.com>
15724
15725 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15726 Fix typo in docstring.
15727
157282007-06-16 Eli Zaretskii <eliz@gnu.org>
15729
15730 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15731 and their keybindings.
15732
157332007-06-15 Chong Yidong <cyd@stupidchicken.com>
15734
15735 * composite.c (update_compositions): Fix last fix.
15736
157372007-06-14 Jason Rumney <jasonr@gnu.org>
15738
15739 * w32.c (get_process_times_fn): New function pointer.
15740 (globals_of_w32): Intialize it if present in kernel32.dll.
15741 (w32_get_internal_run_time): New function.
15742
15743 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15744
157452007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15746
15747 * composite.c (update_compositions): Check the validness of
15748 compositions.
15749
157502007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15751
15752 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15753 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15754
15755 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15756 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15757
15758 * macgui.h (USE_MAC_TOOLBAR): New define.
15759
15760 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15761 Return immediately unless popup is activated.
15762
15763 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15764 background to scroll bar gap.
15765 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15766 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15767 scroll bars on frame edge. Check fringe background extension.
15768 Don't clear extended fringe background area.
15769 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15770 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15771 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15772 [USE_MAC_TOOLBAR]: New macros.
15773 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15774 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15775 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15776 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15777 [USE_MAC_TOOLBAR]: New functions.
15778 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15779 manually if previous repositioning has failed.
15780 (mac_handle_keyboard_event): Use precomputed event kind.
15781 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15782 as tool bar item click. Handle mouse movement over tool bar items.
15783
15784 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15785 toolbar_win_gravity.
15786 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15787 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15788 Add externs.
15789
15790 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15791 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15792
157932007-06-14 Chong Yidong <cyd@stupidchicken.com>
15794
15795 * image.c (search_image_cache): Remove unused variable.
15796
157972007-06-13 Chong Yidong <cyd@stupidchicken.com>
15798
15799 * xfns.c, xmenu.c: Link to xaw3d if available.
15800
158012007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15802
15803 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15804 frame_foreground and frame_background.
15805
15806 * image.c (lookup_image): Save frame foreground and background colors.
15807 (search_image_cache): Check if saved and current frame colors match.
15808
158092007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15810
15811 * regex.c (regex_compile): Remove the `regnum' counter.
15812 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15813
158142007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15815
15816 * term.c: Include intervals.h to declare Fget_text_property.
15817
158182007-06-10 Jason Rumney <jasonr@gnu.org>
15819
15820 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15821
158222007-06-08 Juanma Barranquero <lekktu@gmail.com>
15823
15824 * callint.c (Fcall_interactively):
15825 * editfns.c (Fdelete_and_extract_region):
15826 * fileio.c (Fread_file_name):
15827 * fns.c (Fmapconcat):
15828 * keyboard.c (cmd_error_internal):
15829 * keymap.c (Fkey_description):
15830 * lread.c (openp):
15831 * minibuf.c (read_minibuf):
15832 * search.c (wordify):
15833 * sunfns.c (sel_read):
15834 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15835 * xfns.c (x_default_scroll_bar_color_parameter):
15836 * xmenu.c (menu_help_callback):
15837 * xselect.c (Fx_get_atom_name):
15838 * xterm.c (x_term_init): Use empty_unibyte_string.
15839
158402007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15841
15842 * alloc.c (init_strings): Initialize canonical empty strings.
15843 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15844 canonical empty string when the requested size is 0.
15845
15846 * emacs.c (empty_unibyte_string): Rename from empty_string.
15847 (empty_multibyte_string): New canonical empty string.
15848 (syms_of_emacs): Don't initialize empty_string.
15849
15850 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15851 string, if appropriate.
15852 (empty_unibyte_string, empty_multibyte_string): New externs.
15853 (empty_string): Remove extern.
15854
15855 * lread.c (syms_of_lread): Use empty_unibyte_string.
15856
158572007-06-07 Jason Rumney <jasonr@gnu.org>
15858
15859 * s/ms-w32.h: Don't define HAVE_TZNAME.
15860
15861 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15862
158632007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15864
15865 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15866
15867 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15868 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15869
15870 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15871 Don't call next handler.
15872 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15873 Remove argument. Install handler to application.
15874 (set_frame_menubar): Don't change deep_p.
15875 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15876 FRAME_OUTER_TO_INNER_DIFF_Y.
15877 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15878 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15879 [HAVE_DIALOGS]: New macros.
15880 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15881 Use them.
15882 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15883
15884 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15885 init_service_handler. All callers changed. Return OSStatus value.
15886
15887 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15888 All callers changed so as not to call SetPortWindowPort.
15889 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15890 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15891 mac_draw_string_common.
15892 (mac_draw_image_string_qd): Likewise.
15893 (mac_draw_string_common): Use them. Add INLINE.
15894 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15895 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15896 GetGlobalMouse.
15897 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15898 and FRAME_OUTER_TO_INNER_DIFF_Y.
15899 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15900 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15901 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15902 repositioning window to mac_handle_window_event.
15903 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15904 saving window location to mac_handle_window_event
15905 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15906 (install_menu_target_item_handler): Remove argument in extern.
15907 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15908 Also accept command events.
15909 (do_keystroke): New function created from XTread_socket.
15910 (init_command_handler): Remove functions.
15911 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15912 and save window location by kEventWindowShowing and kEventWindowHiding
15913 handlers here. Don't call next handler for window state change and
15914 focus events.
15915 (mac_handle_application_event, mac_handle_keyboard_event)
15916 [TARGET_API_MAC_CARBON]: New functions.
15917 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15918 kEventWindowShowing and kEventWindowHiding events. Move installation
15919 of mouse, font, text input and menu target item handlers to
15920 install_application_handler.
15921 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15922 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15923 New function.
15924 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15925 Register it.
15926 (XTread_socket) [TARGET_API_MAC_CARBON]:
15927 Consolidate SendEventToEventTarget calls.
15928 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15929 Move application activation handler to mac_handle_application_event.
15930 Move keyboard handler to mac_handle_keyboard_event.
15931 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15932 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15933 init_command_handler. Call install_application_handler.
15934
15935 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15936 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15937
159382007-06-07 Glenn Morris <rgm@gnu.org>
15939
15940 * emacs.c (main): Use `emacs-copyright' in --version output.
15941
159422007-06-06 Chong Yidong <cyd@stupidchicken.com>
15943
15944 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15945
159462007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15947
15948 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15949
15950 * macgui.h: Replace WindowPtr with WindowRef.
15951
15952 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15953 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15954 Replace ControlHandle with ControlRef.
15955 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15956
15957 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15958 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15959 Replace ControlHandle with ControlRef.
15960 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15961 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15962
15963 * macterm.h (struct scroll_bar): Rename member control_handle_low
15964 and control_handle_high to control_ref_low and control_ref_high.
15965 All uses changed.
15966 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15967 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15968 respectively. All uses changed.
15969 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15970 (install_window_handler, remove_window_handler): Replace WindowPtr
15971 with WindowRef in externs.
15972
159732007-06-05 Juanma Barranquero <lekktu@gmail.com>
15974
15975 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15976
159772007-06-03 Nick Roberts <nickrob@snap.net.nz>
15978
15979 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15980
15981 * frame.c (Fmouse_position, Fmouse_pixel_position):
15982 Condition on HAVE_GPM too.
15983
15984 * term.c (term_mouse_highlight): Remove unused variables.
15985 (Fterm_open_connection): Set gpm_zerobased to 1.
15986 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15987 Use zero based co-ordinates.
15988 (handle_one_term_event): Report a drag as mouse movement too.
15989
15990 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15991
159922007-06-03 Chong Yidong <cyd@stupidchicken.com>
15993
15994 * image.c (search_image_cache): New function. Require background
15995 color match if background color is unspecified in the image spec.
15996 (uncache_image, lookup_image): Use it.
15997
159982007-06-01 Juanma Barranquero <lekktu@gmail.com>
15999
16000 * window.c (Fshrink_window): Reflow docstring.
16001
160022007-06-02 Chong Yidong <cyd@stupidchicken.com>
16003
16004 * Version 22.1 released.
16005
160062007-06-01 Richard Stallman <rms@gnu.org>
16007
16008 * xfns.c (x_encode_text): Add GCPRO.
16009
160102007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16011
16012 * xfns.c (x_set_name_internal): Save encoded name before
16013 x_encode_text in case string data is relocated.
16014
160152007-05-31 Richard Stallman <rms@gnu.org>
16016
16017 * buffer.c (syms_of_buffer): Doc fix.
16018
160192007-05-30 Nick Roberts <nickrob@snap.net.nz>
16020
16021 * sysdep.c (init_sys_modes): Add rather than replace with
16022 O_NONBLOCK.
16023
16024 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
16025 term_mouse_moveto.
16026
16027 * termhooks.h (term_mouse_moveto): New extern.
16028
16029 * term.c (mouse_face_window): Rename...
16030 (Qmouse_face_window): ...to this.
16031 (term_show_mouse_face, term_clear_mouse_face)
16032 (term_mouse_highlight): Use Qmouse_face_window.
16033 (term_mouse_moveto): New function.
16034 (term_mouse_position): Make it work.
16035 (syms_of_term): Uncomment assignment to mouse_position_hook.
16036 Staticpro Qmouse_face_window.
16037
160382007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16039
16040 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16041 around current_column call.
16042
160432007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16044
16045 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16046 * xdisp.c (next_element_from_buffer):
16047 * window.c (delete_window):
16048 * term.c (term_mouse_highlight):
16049 * msdos.c (getdefdir):
16050 * macterm.c (mac_create_bitmap_from_bitmap_data)
16051 (init_font_name_table):
16052 * fns.c (Fsxhash):
16053 * data.c (Fmake_local_variable):
16054 * ccl.c (ccl_driver): Likewise.
16055
160562007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16057
16058 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16059 Call mac_wakeup_from_rne on window size change.
16060
160612007-05-25 Chong Yidong <cyd@stupidchicken.com>
16062
16063 * image.c (uncache_image): Fix typo.
16064
160652007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16066
16067 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16068
160692007-05-22 Richard Stallman <rms@gnu.org>
16070
16071 * xterm.c (x_connection_closed): Remove NO_RETURN.
16072
160732007-05-22 Martin Rudalics <rudalics@gmx.at>
16074
16075 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16076
160772007-05-21 Chong Yidong <cyd@stupidchicken.com>
16078
16079 * image.c (uncache_image): New function.
16080 (Fimage_refresh): New function.
16081
160822007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16083
16084 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16085
160862007-05-20 Nick Roberts <nickrob@snap.net.nz>
16087
16088 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16089 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16090
160912007-05-20 Nick Roberts <nickrob@snap.net.nz>
16092
16093 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16094 conditional on [HAVE_GPM_H].
16095
160962007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16097
16098 * syntax.c (skip_chars): Update syntax-table only after we checked that
16099 the new location is valid.
16100
161012007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16102
16103 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16104 mac_get_window_bounds.
16105
161062007-05-20 Nick Roberts <nickrob@snap.net.nz>
16107
16108 * Makefile.in (LIBGPM): Allow it to be set from configure.
16109 If set then link Emacs with it.
16110
16111 * config.in: Regenerate.
16112
16113 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16114 New externs.
16115
16116 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16117 Include gpm.h.
16118 (handle_one_term_event, term_gpm): New externs.
16119
16120 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16121 and allow it to be interrupted by SIGIO.
16122
16123 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16124 (wait_reading_process_output): Wait on gpm_fd too.
16125 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16126 (add_gpm_wait_descriptor_called_flag): New variable.
16127 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16128
16129 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16130 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16131 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16132 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16133 (make_lispy_event): Add case GPM_CLICK_EVENT.
16134 (read_avail_input): Handle mouse input.
16135
16136 * term.c (write_glyphs_with_face): New function.
16137 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16138 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16139 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16140 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16141 (last_mouse_x, last_mouse_y): New variables.
16142 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16143 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16144 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16145 (Fterm_close_connection): New functions.
16146 (term_init): Initialise mouse_face_window.
16147
161482007-05-19 Chong Yidong <cyd@stupidchicken.com>
16149
16150 * xdisp.c (redisplay_window): If first window line is a
16151 continuation line, recompute the new window start instead of
16152 recentering.
16153
161542007-05-18 Glenn Morris <rgm@gnu.org>
16155
16156 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16157 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16158
161592007-05-17 Glenn Morris <rgm@gnu.org>
16160
16161 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16162
161632007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16164
16165 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16166 dead key repeat and up events.
16167
161682007-05-14 Chong Yidong <cyd@stupidchicken.com>
16169
16170 * image.c (pbm_load): Check image size for monochrome pbm.
16171
161722007-05-13 Chong Yidong <cyd@stupidchicken.com>
16173
16174 * xterm.c (XTread_socket): Revert last change.
16175
161762007-05-12 Chong Yidong <cyd@stupidchicken.com>
16177
16178 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16179
16180 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16181
161822007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16183
16184 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16185 mixup (YAILOM).
16186
161872007-05-07 Andreas Schwab <schwab@suse.de>
16188
16189 * keymap.c (Flookup_key): Fix typo in last change.
16190
161912007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16192
16193 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16194 mapping for unibyte strings.
16195
161962007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16197
16198 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16199 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16200
162012007-04-29 Richard Stallman <rms@gnu.org>
16202
16203 * insdel.c (replace_range): For undo, record insertion first.
16204
162052007-04-29 Andreas Schwab <schwab@suse.de>
16206
16207 * lisp.h (VECSIZE): Use OFFSETOF.
16208
162092007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16210
16211 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16212 disabled lines.
16213
162142007-04-28 Richard Stallman <rms@gnu.org>
16215
16216 * lread.c (read_escape): In a string, \s is always space.
16217
162182007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16219
16220 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16221
16222 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16223 submenu for menu bar items.
16224
16225See ChangeLog.10 for earlier changes.
16226
16227;; Local Variables:
16228;; coding: utf-8
16229;; add-log-time-zone-rule: t
16230;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16231;; End:
16232
16233 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16234
16235 This file is part of GNU Emacs.
16236
16237 GNU Emacs is free software: you can redistribute it and/or modify
16238 it under the terms of the GNU General Public License as published by
16239 the Free Software Foundation, either version 3 of the License, or
16240 (at your option) any later version.
16241
16242 GNU Emacs is distributed in the hope that it will be useful,
16243 but WITHOUT ANY WARRANTY; without even the implied warranty of
16244 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16245 GNU General Public License for more details.
16246
16247 You should have received a copy of the GNU General Public License
16248 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16249
16250;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40