Merge from gnus--devo--0
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e630dfc6
MR
12008-11-02 Martin Rudalics <rudalics@gmx.at>
2
3 * frame.c (do_switch_frame): New argument NORECORD passed to
4 Fselect_window.
5 (Fselect_frame): New argument NORECORD passed to
6 do_switch_frame.
7 (Fset_frame_selected_window): New argument NORECORD passed to
8 Fselect_frame.
9 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
10 in call of do_switch_frame.
11 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
12 Handle NORECORD argument in call of Fselect_frame.
13 * lisp.h (do_switch_frame, Fselect_frame)
14 (Fset_frame_selected_window): Adjust declarations.
15 * window.c (select_frame_norecord): New function.
16 (run_window_configuration_change_hook): Use it and call
17 Fselect_frame with NORECORD set.
18 (Fselect_window): Pass NORECORD to Fselect_frame.
19 (Fset_window_configuration): Handle NORECORD argument in call of
20 do_switch_frame.
21 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
22 Fset_frame_selected_window.
23 * keyboard.c (command_loop_1): Handle NORECORD in call of
24 Fselect_frame (currently ifdefd).
25
9020b223
GM
262008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
27
28 * emacs.c (USAGE2): Untabify.
29
793ffee8
SM
302008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
31
32 * composite.c (fill_gstring_header): Fix copy/paste typo.
33
ab6d1131
MR
342008-10-31 Martin Rudalics <rudalics@gmx.at>
35
36 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
37 (Fother_window): Rename argument and rewrite doc-string.
38 (select_window_norecord): Fix return value. (Bug#1276)
39
601a9cf1
JB
402008-10-30 Juanma Barranquero <lekktu@gmail.com>
41
42 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
43 new frames overriding foreground for tooltips. Based on similar patch
44 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
45
813b0652
CY
462008-10-29 Chong Yidong <cyd@stupidchicken.com>
47
48 * emacs.c (Fdaemon_initialized): Initialize nfd.
49
4414f58f
MR
502008-10-29 Martin Rudalics <rudalics@gmx.at>
51
52 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
53 (Fwindow_text_height): Clarify doc-strings.
54 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
55 doc-string of window-scroll-functions.
56
ecdcaa09
RS
572008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
58
59 * category.c (syms_of_category): Fix typo in docstring.
60
23fe745a
JB
612008-10-28 Juanma Barranquero <lekktu@gmail.com>
62
63 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
64 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
65 Fix typos in docstrings.
66
ff808935
DN
672008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
68
69 * emacs.c (daemon_pipe): Make non-static.
70 (IS_DAEMON): Move definition ...
71 * lisp.h (IS_DAEMON): ... here.
72 (daemon_pipe): Declare.
73 (is_daemon): Remove.
74 * dispnew.c (init_display): Use IS_DAEMON.
75
fc012771
SM
762008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
77
78 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
79 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
80
81 * emacs.c (is_daemon): Remove.
82 (main): Don't set is_daemon.
83 (IS_DAEMON): New macro.
84 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 85 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
86 parent exits.
87 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
88
d8bdbe6f
CY
892008-10-27 Chong Yidong <cyd@stupidchicken.com>
90
d1a072bf
CY
91 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
92 over-sized glyph, draw it with the default glyph width.
93
e2e325aa
CY
94 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
95 glyph, draw it with the default glyph width.
96
97 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
98 glyph, draw it with the default glyph width.
99
d8bdbe6f
CY
100 * xdisp.c (try_scrolling): When computing the distance from the
101 scroll margin to PT, try moving some distance past the window
102 bottom before giving up.
103
7bfac547
MR
1042008-10-27 Martin Rudalics <rudalics@gmx.at>
105
106 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
107 (Fset_window_buffer): Explain in doc-string that a window can be
108 "strongly" dedicated to its buffer.
109
4ff029f6
DN
1102008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
111
112 * emacs.c (daemon_name): New variable.
113 (main): Deal with --daemon=SERVER_NAME.
114 (Fdaemonp): Return a name if one was passed to --daemon.
115
5790ef40
DN
1162008-10-26 Romain Francoise <romain@orebokech.com>
117
f9bd0df9 118 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
119 (main): Create a pipe before forking, make the parent exit only after
120 the child has closed its end of the pipe. Move closing the
121 descriptors ...
122 (Fdaemon_initialized): ... here. New function.
123
f5385255
SM
1242008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
125
4d632321
SM
126 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
127 the previous unoptimized table.
128
f5385255
SM
129 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
130 the distinction between non-nil and non-t value of `dedicated'.
131
6c56a0f3
CY
1322008-10-25 Chong Yidong <cyd@stupidchicken.com>
133
134 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 135 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 136
fec89261
MR
1372008-10-25 Martin Rudalics <rudalics@gmx.at>
138
139 * window.c (Fget_buffer_window, Fdelete_windows_on)
140 (Freplace_buffer_in_windows): Make buffer argument optional and
141 rename to buffer_or_name.
142
34fcddd0
CY
1432008-10-24 Chong Yidong <cyd@stupidchicken.com>
144
f5385255
SM
145 * xdisp.c (handle_single_display_spec, handle_display_prop):
146 Undo 2005-05-16 change.
34fcddd0
CY
147 (handle_stop): Pop iterator if it's loaded with an empty string.
148 (get_overlay_strings_1): Don't save iterator if it's loaded with
149 an empty string (bug#1201).
150
064766f2
KH
1512008-10-24 Kenichi Handa <handa@m17n.org>
152
153 * ftfont.c (ftfont_otf_features): Fix previous change.
154 (ftfont_otf_capability): Check FeatureList.FeatureCount before
155 calling ftfont_otf_features.
156
f9bd0df9 1572008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
158
159 * font.c (font_match_p): Fix for the case that a vector of
160 characters is in script-representative-chars.
161
1dae9197
MA
1622008-10-24 Michael Albinus <michael.albinus@gmx.de>
163
164 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 165 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
166 (xd_read_queued_messages): Catch Qdbus_error from the macros.
167 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
168 macro. (Bug#1186).
169
f9bd0df9 1702008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
171
172 * s/sol2-10.h: New file.
173
878a4584
JB
1742008-10-23 Juanma Barranquero <lekktu@gmail.com>
175
176 * xdisp.c (fill_glyph_string): Fix typo in source (though the
177 poor beast has survived 9+ years and the jump from xterm.c!).
178
cd265ca6
MR
1792008-10-23 Martin Rudalics <rudalics@gmx.at>
180
181 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
182 Reword doc-string.
f5385255 183 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 184
472a4dc9
JB
1852008-10-23 Juanma Barranquero <lekktu@gmail.com>
186
187 * character.c (syms_of_character) <script-representative-chars>:
188 <unicode-category-table>: Doc fixes.
189
159bd5a2
NF
1902008-10-23 Noah Friedman <friedman@splode.com>
191
192 * coding.c (make_conversion_work_buffer): Check that
193 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
194 Fget_buffer_create.
195
49f9c344
KH
1962008-10-23 Kenichi Handa <handa@m17n.org>
197
198 * font.c (font_add_log): Check the values of extra properties.
199
12bb3111
MR
2002008-10-22 Martin Rudalics <rudalics@gmx.at>
201
202 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
203 Reword doc-string.
204 (Fset_window_parameter): Use NILP.
205 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 206 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 207
bbeb4e99
JB
2082008-10-22 Juanma Barranquero <lekktu@gmail.com>
209
210 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
211
2122008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
213
214 * nsfns.m (ns_appkit_version): New function.
215 (x-server-version): Use it.
216 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
217 (x-server-vendor): Don't check_ns().
218
219 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
220
a9b555d3
JB
2212008-10-22 Juanma Barranquero <lekktu@gmail.com>
222
223 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
224 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
225
4626499f
KH
2262008-10-22 Kenichi Handa <handa@m17n.org>
227
e3681952
KH
228 * syntax.c (scan_words): Call word_boundary_p instead of comparing
229 scripts.
230
4626499f
KH
231 * category.c (word_boundary_p): Check scripts instead of charset.
232 Handle nil value in word-separating-categories and
233 word-combining-categories.
234 (syms_of_category): Fix docstrings of word-separating-categories
235 and word-combining-categories.
236
1560f91a
EZ
2372008-10-21 Eli Zaretskii <eliz@gnu.org>
238
239 * coding.c (Fencode_coding_region, Fdecode_coding_region)
240 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
241
f4668441
MR
2422008-10-21 Martin Rudalics <rudalics@gmx.at>
243
244 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
245 Rename arg "buffer" to "buffer_or_name".
246 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
247 it optional.
248 (no_switch_window): Remove since the return value is not used.
a9b555d3 249 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
250 Consider window as dedicated when Fwindow_dedicated_p returns a
251 non-nil value.
252 * lisp.h: Remove prototype for no_switch_window.
253
fd75ddb2
JD
2542008-10-21 Jan Djärv <jan.h.d@swipnet.se>
255
256 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
257 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
258
07295713
KH
2592008-10-21 Kenichi Handa <handa@m17n.org>
260
261 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
262 check Vlatin_extra_code_table.
263
712adc82
EZ
2642008-10-20 Eli Zaretskii <eliz@gnu.org>
265
266 * fileio.c (Fset_file_modes): Doc fix.
267
f549eb0b
MA
2682008-10-19 Michael Albinus <michael.albinus@gmx.de>
269
270 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
271 in arrays.
272
aac0c6e3
MR
2732008-10-19 Martin Rudalics <rudalics@gmx.at>
274
275 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
276 Mention kill-buffer in doc-string.
277 (Fset_window_buffer): Reinsert tem check removed in last commit.
278 (Fenlarge_window, Fshrink_window): Have argument names and
279 doc-string follow Elisp manual more closely.
280
2812008-10-18 Eli Zaretskii <eliz@gnu.org>
282
283 * fileio.c (Fset_file_modes): Doc fix.
284
2852008-10-18 Martin Rudalics <rudalics@gmx.at>
286
287 * window.c (Fwindow_width, Fset_window_start)
288 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
289 (Fdelete_windows_on, Freplace_buffer_in_windows):
290 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
291 (Fwindow_dedicated_p): Make window argument optional.
292 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
293 (Fset_window_buffer): Respect any non-nil dedicated value for
294 window. Rename "buffer" argument to "buffer_or_name".
295
2962008-10-18 Ulrich Mueller <ulm@gentoo.org>
297
298 * m/sh3.h: New file, machine description for SuperH.
299
3002008-10-17 Martin Rudalics <rudalics@gmx.at>
301
302 * window.c (Fsplit_window): Rename arg horflag to horizontal.
303
3042008-10-17 Kenichi Handa <handa@m17n.org>
305
306 * ftfont.c (ftfont_otf_features): Fix indexing
307 gsub_gpos->FeatureList.Feature. Check the validity of indices.
308
3092008-10-16 Magnus Henoch <mange@freemail.hu>
310
311 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
312 (Fdbus_call_method_asynchronously): Ditto.
313 This change makes C-h f display the argument list.
314
3152008-10-16 Chong Yidong <cyd@stupidchicken.com>
316
317 * fileio.c (Fexpand_file_name): Doc fix.
318
319 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
320 of :foreground and :background equivalent to unspecified (20.x
321 compatibility).
322
3232008-10-15 Eli Zaretskii <eliz@gnu.org>
324
325 * buffer.c (syms_of_buffer): Doc fix.
326
3272008-10-14 Kenichi Handa <handa@m17n.org>
328
329 * font.c (font_clear_prop): When clearing font width, clear the
330 average width field too.
331
3322008-10-12 Andreas Schwab <schwab@suse.de>
333
334 * ftfont.c (ftfont_shape_by_flt): Make static.
335 * ftfont.h (ftfont_shape_by_flt): Don't declare.
336
337 * font.c: Don't include <m17n-flt.h>.
338
3392008-10-10 Eli Zaretskii <eliz@gnu.org>
340
341 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
342
3432008-10-09 Eli Zaretskii <eliz@gnu.org>
344
345 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
346 away code.
347
3482008-10-09 Chong Yidong <cyd@stupidchicken.com>
349
350 * dispnew.c (update_text_area): Avoid looping due to large glyph
351 overhangs (bug#1070).
352
3532008-10-09 Kenichi Handa <handa@m17n.org>
354
355 * fontset.c (face_for_char): If face->fontset is negative, just
356 return ascii_face.
357
f5385255
SM
358 * font.c (font_delete_unmatched): Fix previous change.
359 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
360
3612008-10-09 Martin Rudalics <rudalics@gmx.at>
362
363 * frame.c (Fraise_frame): On text-only terminals select frame in
364 order to make it visible. (Bug#1061)
365
3662008-10-08 Chong Yidong <cyd@stupidchicken.com>
367
368 * fontset.c (fontset_find_font): Check frame validity.
369
3702008-10-07 Chong Yidong <cyd@stupidchicken.com>
371
a9b555d3 372 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
373 (xg_display_close): Allow Emacs to close all displays (bug#985).
374
3752008-10-06 Andreas Schwab <schwab@suse.de>
376
f5385255 377 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
378
3792008-10-06 Chong Yidong <cyd@stupidchicken.com>
380
f5385255 381 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 382
a9b555d3 383 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
384
385 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
386 during initialization.
387
3882008-10-04 Eli Zaretskii <eliz@gnu.org>
389
390 * xdisp.c (redisplay_internal): If frame switched, redisplay the
391 whole thing on MSDOS frames as well as on a TTY.
392
393 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
394 well as for TTY.
395 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
396 well as on a TTY.
397
398 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
399 as well as for TTY.
400
401 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
402
403 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
404 MSDOS frames as well.
405
4062008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
407
408 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
409 correct arguments.
410 * menu.c (find_and_return_menu_selection) Add cast.
411
4122008-10-03 Glenn Morris <rgm@gnu.org>
413
414 * emacs.c (USAGE1): Add --daemon.
415
4162008-10-02 Eli Zaretskii <eliz@gnu.org>
417
418 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
419 100, so it's in percents as advertised.
420
4212008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
422
423 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
424 (ns_output.current_cursor, ns_output.desired_cursor)
425 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
426 (FRAME_NEW_CURSOR_COLOR): Remove.
427
428 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 429 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
430 enumeration (HOLLOW_BOX_CURSOR, etc.).
431
432 * nsterm.m (ns_frame_rehighlight): Remove commented code.
433 (draw_window_cursor): Simplify code.
f5385255
SM
434 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
435 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 436 updates manually.
a9b555d3
JB
437 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
438 Use core Emacs cursor types.
aac0c6e3
MR
439
440 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
441 NS.
442
4432008-10-02 Martin Rudalics <rudalics@gmx.at>
444
445 * process.c (Faccept_process_output): Fix doc-string.
446
4472008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
448
449 * gmalloc.c (__sbrk): Also define for uClibc.
450
451 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
452 for uClibc.
453
4542008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
455
456 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
457 styles.
458 (nsfont_open): Reenable the cache.
459
4602008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
461
462 * font.c (font_matching_entity): Reflect ATTRS in font selection.
463 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
464
4652008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
466
467 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
468 a suspended terminal.
469
4702008-09-30 Michael Albinus <michael.albinus@gmx.de>
471
472 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
473
4742008-09-30 Eli Zaretskii <eliz@gnu.org>
475
476 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
477
4782008-09-30 Chong Yidong <cyd@stupidchicken.com>
479
480 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
481 in a continued line coincides with a line beginning.
482
4832008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
484
485 * nsfont.m (nsfont_trait_distance): Fix bug.
486 (nsfont_list): Return a list rather than a vector (syncs with Handa
487 changes of 2008-05-14).
488 (nsfont_open): Improve logging.
489
4902008-09-29 Andreas Schwab <schwab@suse.de>
491
492 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
493
4942008-09-28 Martin Rudalics <rudalics@gmx.at>
495
496 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
497 name as char-resolve-modifiers.
498 Reported by: Markus Triska <markus.triska@gmx.at>
499
5002008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
501
502 * dispnew.c (init_display): Return earlier when running as a daemon.
503
5042008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
505
506 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
507
5082008-09-27 Eli Zaretskii <eliz@gnu.org>
509
510 * composite.c (Fcomposition_get_gstring)
511 (Fcompose_region_internal, Fcompose_string_internal)
512 (Ffind_composition_internal): Doc fix.
513 (syms_of_composite) <compose-chars-after-function>: Doc fix.
514 (syms_of_composite) <auto-composition-function>: Doc fix.
515 (syms_of_composite) <composition-function-table>: Doc fix.
516
5172008-09-25 Chong Yidong <cyd@stupidchicken.com>
518
519 * search.c (wordify): New argument for lax word-ends.
520 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
521
5222008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
523
524 * lisp.h (is_daemon): Declare.
525 * dispnew.c (init_display): Do not try to initialize the terminal
526 when running as a daemon.
527
5282008-09-22 Chong Yidong <cyd@stupidchicken.com>
529
530 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
531 x_display_pixel_height.
532
5332008-09-22 Martin Rudalics <rudalics@gmx.at>
534
535 * undo.c (record_point): Don't call Fundo_boundary for first
536 change. (Bug#731)
537
5382008-09-22 Juanma Barranquero <lekktu@gmail.com>
539
540 * emacs.c (Fdaemonp): Doc fix.
541
5422008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
543
544 * emacs.c (main): Place #ifdef in the proper place.
545
5462008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
547
548 * emacs.c (standard_args): Add --daemon.
549 (main): Disconnect from the terminal when --daemon is passed.
550 (is_daemon): New variable.
551 (Fdaemonp): New function.
552 (syms_of_emacs): Defsubr it.
553
5542008-09-20 Chong Yidong <cyd@stupidchicken.com>
555
556 * xdisp.c (get_next_display_element): Handle string display
557 correctly when checking for the end of a box run.
558
5592008-09-20 Glenn Morris <rgm@gnu.org>
560
561 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
562 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
563 (Frename_file): Avoid copying to trash if a rename involves
564 a delete. (Bug#964).
565
5662008-09-20 Eli Zaretskii <eliz@gnu.org>
567
568 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
569 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
570 frames as well as termcap frames.
571 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
572 get_named_tty.
573
5742008-09-19 Eli Zaretskii <eliz@gnu.org>
575
576 * process.c (procfs_system_process_attributes): Fix cmdline in
577 case /proc/PID/cmdline is empty.
578
579 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
580 x_display_pixel_height.
581
5822008-09-19 Juanma Barranquero <lekktu@gmail.com>
583
584 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
585
586 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
587 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
588
5892008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
590
591 * dispextern.h (struct it): Move line_wrap away from the middle of
592 bitfields. Move voffset in struct iterator_stack_entry after the
593 bitfields. Move tab_width near after another short.
594
5952008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
596
597 * frame.h (struct frame): Move alpha from the middle of bitfields.
598
599 * window.h (struct window): Move frozen_window_start_p after the
600 rest of the bitfields to reduce padding.
601
6022008-09-18 Chong Yidong <cyd@stupidchicken.com>
603
604 * xterm.h (x_display_info): Remove `height' and `width' members.
605
606 * nsterm.h (ns_display_info): Remove `height' and `width' members.
607
608 * w32term.h (w32_display_info): Remove `height', `width',
609 `height_in', and `width_in' members.
610
611 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
612 functions.
613 (x_calc_absolute_position): Use them.
614 (x_term_init): Omit removed `height' and `width' members.
615
616 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
617 functions.
618 (w32_read_socket, x_calc_absolute_position): Use them.
619 (w32_initialize_display_info, w32_term_init): Omit removed members
620 of w32_display_info.
621
622 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
623 functions.
624 (ns_initialize_display_info): Omit removed members of
625 ns_display_info.
626
627 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
628 functions.
629 (x_calc_absolute_position): Use them.
630 (x_term_init): Omit removed `height' and `width' members.
631
632 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
633 (compute_tip_xy): Use x_display_pixel_height and
634 x_display_pixel_width.
635
636 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
637 x_display_pixel_width.
638
639 * xmenu.c (menu_position_func): Use x_display_pixel_height and
640 x_display_pixel_width.
641
6422008-09-18 Kenichi Handa <handa@m17n.org>
643
644 * composite.c (fill_gstring_header): Don't check FROM and TO here.
645 (composition_compute_stop_pos): Fix handling of static composition.
646 (Fcomposition_get_gstring): Check FROM and TO at first.
647
6482008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
649
650 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
651 mixup (YAILOM).
652
6532008-09-17 Chong Yidong <cyd@stupidchicken.com>
654
655 * indent.c (Fvertical_motion): Use position reported by iterator
656 instead of PT for determining screen motion (bug#943).
657
6582008-09-17 Romain Francoise <romain@orebokech.com>
659
660 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
661
6622008-09-17 Kenichi Handa <handa@m17n.org>
663
664 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
665
666 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
667 if necessary.
668
6692008-09-16 Kenichi Handa <handa@m17n.org>
670
671 * coding.c (make_conversion_work_buffer): Avoid calling
672 Fget_buffer_create if it is not necessary.
673
6742008-09-15 Martin Rudalics <rudalics@gmx.at>
675
676 * window.c (Fselect_window): Don't update window_select_count and
677 use_time when norecord is not nil.
678
6792008-09-14 Kenichi Handa <handa@m17n.org>
680
681 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
682 specpdl_ptr.
683
6842008-09-12 Kenichi Handa <handa@m17n.org>
685
686 * indent.c (scan_for_column): Don't handle automatic composition
687 if the current buffer is not associated with a window.
688
689 * composite.c (composition_reseat_it): If the current buffer is
690 not associated with a window, ignore the automatic composition.
691 (find_automatic_composition): Likewise.
692
6932008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
694
695 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
696 (Fgpm_mouse_stop): Use it.
697 * termhooks.h (close_gpm): Declare.
698 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
699 connection if Gpm_GetEvent fails.
700
701 * window.c (set_window_buffer): Always preserve current-buffer.
702
7032008-09-12 Glenn Morris <rgm@gnu.org>
704
705 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
706
7072008-09-11 Glenn Morris <rgm@gnu.org>
708
709 * charset.c (charset-map-path): Doc fix.
710
7112008-09-10 Kenichi Handa <handa@m17n.org>
712
713 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
714
715 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
716 compose a grapheme cluster with the preceding base glyph.
717
718 * composite.c (composition_compute_stop_pos): Fix previous change.
719 Reset cmp_it->id to -1 at first.
720
7212008-09-10 Glenn Morris <rgm@gnu.org>
722
723 * Makefile.in (character.o, chartab.o): Fix config.h typo.
724
7252008-09-09 Chong Yidong <cyd@stupidchicken.com>
726
727 * keyboard.c (read_key_sequence): Reapply translation maps when
728 switching keyboards.
729
7302008-09-09 Kenichi Handa <handa@m17n.org>
731
732 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
733 characters.
734
735 * composite.c (FORWARD_CHAR): Fix calculation
736 of (POSITION).pos_byte.
737 (composition_compute_stop_pos): Limit the search of composition to
738 at most 500 characters ahead. If we reach the limit or find a
739 newline, set cmp_it->ch to -2 and return 0.
740 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
741
7422008-09-08 Kenichi Handa <handa@m17n.org>
743
744 * indent.c (Fvertical_motion): Be sure to set
745 it_overshoot_expected if it.cmp_it.id is non-negative.
746
7472008-09-07 Andreas Schwab <schwab@suse.de>
748
749 * callproc.c (Fcall_process): Don't hold references to string data
750 across garbage collection. Move initialisation of new_argv down
751 to avoid compiler bug.
752
7532008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
754
755 * process.c (Fsystem_process_attributes): Doc fix.
756
7572008-09-07 Chong Yidong <cyd@stupidchicken.com>
758
759 * callproc.c (Fcall_process): Canonicalize current directory name.
760
761 * xdisp.c (move_it_to): When moving by vpos, ensure that the
762 iterator advances to the next line if the current line ends in a
763 continued tab.
764
7652008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
766
767 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
768 member to point to cmp_from.
769
770 * xdisp.c: Doc fix for references to gidx data member.
771
7722008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
773
774 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
775
7762008-09-07 Kenichi Handa <handa@m17n.org>
777
778 * composite.c (FORWARD_CHAR): Check STOP after
779 incrementing (POSITION).pos.
780
7812008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
782
783 * process.c (Fsystem_process_attributes): Doc fix.
784
7852008-09-06 Chong Yidong <cyd@stupidchicken.com>
786
787 * keyboard.c (Ftop_level): Doc fix.
788
7892008-09-06 Eli Zaretskii <eliz@gnu.org>
790
791 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
792 minibuffer, don't let lower part of menu invade the echo area.
793
794 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
795 "char *q" to access menu text and advance through it. Revert the
796 change that displayed ">" instead of ASCII character 0x10.
797
7982008-09-05 Eli Zaretskii <eliz@gnu.org>
799
800 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
801 toggle boxes and radio buttons on MS-DOS as well.
802
8032008-09-05 Kenichi Handa <handa@m17n.org>
804
805 * composite.c (autocmp_chars): Check lookback count.
806 (composition_compute_stop_pos): Set cmp_it->lookback.
807 (composition_reseat_it): Check lookback count.
808 (struct position_record): New struct.
809 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
810 (find_automatic_composition): New function.
811 (composition_adjust_point): Use find_automatic_composition.
812
813 * dispextern.h (struct composition_it): New member lookback.
814
8152008-09-02 Chong Yidong <cyd@stupidchicken.com>
816
817 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
818 if moving by a single line.
819
8202008-09-02 Andreas Schwab <schwab@suse.de>
821
822 * xterm.c (x_delete_display): Fix merge error.
823
824 * fileio.c (Fexpand_file_name): Remove unused variables.
825
8262008-09-02 Eli Zaretskii <eliz@gnu.org>
827
828 * fileio.c (Fexpand_file_name): Copy argument `name' into local
829 storage on all platforms, not just on DOS_NT.
830
8312008-09-02 Jason Rumney <jasonr@gnu.org>
832
833 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
834 mouse is not grabbed after menu is finished.
835
8362008-09-01 Chong Yidong <cyd@stupidchicken.com>
837
838 * xfaces.c (Finternal_set_alternative_font_family_alist)
839 (Finternal_set_alternative_font_registry_alist): Properly copy
840 entire alist structure.
841
8422008-09-01 Kenichi Handa <handa@m17n.org>
843
844 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
845 representative chars of the script is a vector.
846 (ftfont_list): Handle the case the representative chars of the
847 script is a vector.
848
849 * character.c (syms_of_character): Docstring of
850 script-representative-chars fixed.
851
8522008-08-31 Eli Zaretskii <eliz@gnu.org>
853
854 * msdos.c (BUILD_CHAR_GLYPH): New macro.
855 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
856 the menu. Allocate larger buffer for `text', to account for
857 possible ^C characters.
858
8592008-08-31 Martin Rudalics <rudalics@gmx.at>
860
861 * xdisp.c (prepare_menu_bars): Don't call
862 Vwindow_size_change_functions with arg Qt.
863
8642008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
865
866 * font.h (font_range):
867 * fileio.c (report_file_error):
868 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
869
8702008-08-30 Glenn Morris <rgm@gnu.org>
871
872 * data.c (Fmake_variable_frame_local): Doc fix.
873
874 * frame.c (Fmodify_frame_parameters): Doc fix.
875
8762008-08-30 Eli Zaretskii <eliz@gnu.org>
877
878 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
879 needed by GetTokenInformation.
880 (w32_system_process_attributes): Check return values of all system
881 APIs.
882
883 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
884 only when the state changes.
885 (IT_update_begin, IT_update_end): Add termscript trace.
886
887 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
888 clipboard is unavailable. Set dst to NULL if it doesn't point to
889 malloc'ed data.
890 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
891 passing random values to xfree.
892
893 * dispnew.c (init_display): Set `tty's association in frame's
894 parameters alist to the name of the terminal device, if that is
895 known.
896
8972008-08-29 Jason Rumney <jasonr@gnu.org>
898
899 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
900
9012008-08-29 Eli Zaretskii <eliz@gnu.org>
902
903 * composite.c (fill_gstring_body): Avoid compiler warnings.
904
905 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
906 LGLYPH_SET_CODE to avoid compiler warnings.
907
908 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
909
910 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
911
912 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
913 LGLYPH_SET_CODE.
914
9152008-08-29 Kenichi Handa <handa@m17n.org>
916
917 * fileio.c (report_file_error): Don't downcase the first character
918 of errstring if it is still unibyte.
919
9202008-08-29 Kenichi Handa <handa@m17n.org>
921
922 These changes are to re-implement the automatic composition so
923 that it doesn't use text properties.
924
925 * Makefile.in (ftfont.o): Depend on composite.h.
926 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
927
928 * character.h (Vunicode_category_table): Extern it.
929
930 * character.c (Vunicode_category_table): New variable.
931 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
932
933 * chartab.c (optimize_sub_char_table): Perform more greedy
934 optimization.
935
936 * composite.h (enum composition_method): Delete
937 COMPOSITION_WITH_GLYPH_STRING.
938 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
939 (Vcomposition_function_table): Extern it.
940 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
941 (composition_gstring_put_cache, composition_gstring_from_id)
942 (composition_gstring_p, composition_gstring_width)
943 (composition_compute_stop_pos, composition_reseat_it)
944 (composition_update_it, composition_adjust_point): Extern them.
945 (Fcomposition_get_gstring): EXFUN it.
946
947 * composite.c: Include window.h, frame.h, dispextern.h font.h.
948 (Vcomposition_function_table)
949 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
950 (gstring_hash_table, gstring_work, gstring_work_headers): New
951 variables.
952 (gstring_lookup_cache, composition_gstring_put_cache)
953 (composition_gstring_from_id, composition_gstring_p)
954 (composition_gstring_width, fill_gstring_header)
955 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
956 (composition_reseat_it, composition_update_it)
957 (composition_adjust_point, Fcomposition_get_gstring): New
958 functions.
959 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
960 and gstring_work_headers. DEFVAR_LISP composition-function-table.
961 Defsubr compostion_get_gstring.
962
963 * dispextern.h (struct glyph): New union u.cmp. Delete the member
964 cmp_id.
965 (struct glyph_string): Delete the member gidx. New members
966 cmp_id, cmp_from, and cmp_to.
967 (enum it_method): Delete GET_FROM_COMPOSITION.
968 (struct composition_it): New struct.
969 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
970 Delete c, len, cmp_id, cmp_len in u.comp.
971
972 * font.h (enum lgstring_indices): Delete it.
973 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
974 (enum lglyph_indices): Likewise.
975 (font_range): Extern adjusted.
976 (font_fill_lglyph_metrics): Extern it.
977
978 * font.c (QCf): New variable.
979 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
980 (font_prepare_composition): Delete this function.
981 (font_range): Type and arguments changed.
982 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
983 (font_fill_lglyph_metrics): New function.
984 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
985 changed.
986 (syms_of_font): DEFSYM QCf. Delete defsubr for
987 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
988 Sfont_shape_gstring.
989
990 * fontset.h (font_for_char): Extern it.
991
992 * fontset.c (font_for_char): New function.
993
994 * ftfont.c: Include composite.h.
995 (ftfont_resolve_generic_family): Add langset "en" to pattern.
996 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
997 LGSTRING_LENGTH.
998
999 * indent.c: Include composite.h and dispextern.h.
1000 (check_composition): Delete this function.
1001 (scan_for_column): Handle composition by
1002 composition_compute_stop_pos, composition_reseat_it, and
1003 composition_update_it.
1004 (compute_motion): Likewise.
1005 (Fvertical_motion): Fix checking of composition.
1006
1007 * keyboard.c (adjust_point_for_property): Check composition by
1008 composition_adjust_point.
1009
1010 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
1011 struct glyph_string.
1012
1013 * term.c (encode_terminal_code): Adjusted for the change of struct
1014 glyph.
1015 (append_composite_glyph): Adjusted for the change of struct it and
1016 struct glyph.
1017 (produce_composite_glyph): Likewise.
1018
1019 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
1020 for the change of struct glyph_string.
1021 (x_draw_glyph_string): Likewise.
1022
1023 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1024 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1025
1026 * xdisp.c: Include font.h.
1027 (it_props): Delete the entry for Qauto_composed.
1028 (init_iterator): Initialize it->cmp_it.id to -1.
1029 (compute_stop_pos): Call composition_compute_stop_pos.
1030 (face_before_or_after_it_pos): Adjusted for the change of struct
1031 it.
1032 (handle_auto_composed_prop): Delete it.
1033 (handle_composition_prop): Handle only static composition.
1034 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1035 from xassert. Initialize it->cmp_it.stop_pos.
1036 (push_it): Adjusted for the change of struct it.
1037 (pop_it): Likewise.
1038 (get_next_element): Delete next_element_from_composition.
1039 (CHAR_COMPOSED_P): New macro.
1040 (get_next_display_element): For automatic composition, get a face
1041 from the font in the glyph-string.
1042 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
1043 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
1044 case.
1045 (next_element_from_string): Check if the character at the current
1046 position is composed by CHAR_COMPOSED_P.
1047 (next_element_from_buffer): Likewise.
1048 (next_element_from_composition): Adjusted for the change of struct
1049 it. Update it->cmp_it.
1050 (dump_glyph): Adjusted for the change of struct glyph.
1051 (fill_composite_glyph_string): Adjusted for the change of struct
1052 it and struct glyph. Don't handle automatic composition here.
1053 (fill_gstring_glyph_string): New function.
1054 (x_get_glyph_overhangs): Handle automatic composition.
1055 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
1056 glyph.
1057 (BUILD_GSTRING_GLYPH_STRING): New macro.
1058 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1059 automatic composition.
1060 (append_composite_glyph): Adjusted for the change of struct it and
1061 struct glyph.
1062 (x_produce_glyphs): Adjusted for the change of struct it.
1063
1064 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
1065 the change of struct glyph_string.
1066 (x_draw_glyph_string): Likewise.
1067
10682008-08-29 Glenn Morris <rgm@gnu.org>
1069
1070 * buffer.c (word-wrap): Doc fix.
1071 * xdisp.c (truncate-partial-width-windows): Doc fix.
1072 Increase default to 50.
1073
10742008-08-29 Chong Yidong <cyd@stupidchicken.com>
1075
1076 * xdisp.c (update_tool_bar_unwind): New function.
1077 (update_tool_bar): Temporarily set selected frame before building
1078 tool-bar items.
1079
10802008-08-28 Michael Albinus <michael.albinus@gmx.de>
1081
1082 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1083 snprintf, respectively.
1084 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1085
10862008-08-28 Chong Yidong <cyd@stupidchicken.com>
1087
1088 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1089 LDFLAGS to GNUstep CC invocation.
1090
10912008-08-27 Chong Yidong <cyd@stupidchicken.com>
1092
1093 * indent.c (Fvertical_motion): Revert last change. Handle the
1094 general case where we are moving forward, and PT spans multiple
1095 screen lines.
1096
1097 * eval.c (find_handler_clause): Temporarily increase
1098 max-lisp-eval-depth while printing the backtrace buffer, to
1099 guarantee that help-mode code can run.
1100
11012008-08-27 Eli Zaretskii <eliz@gnu.org>
1102
1103 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1104 colors under -rv.
1105 (IT_set_frame_parameters): Don't swap foreground and background
1106 colors if `(reverse . t)' is present in the frame properties.
1107 (internal_terminal_init): Call init_frame_faces only for the
1108 initial frame.
1109
11102008-08-27 Andreas Schwab <schwab@suse.de>
1111
1112 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1113
11142008-08-27 Andreas Schwab <schwab@suse.de>
1115
1116 * search.c (search_buffer): Set char_base to zero only at the end.
1117
11182008-08-27 Kenichi Handa <handa@m17n.org>
1119
1120 * fileio.c (report_file_error): Fix handling of multibyte error
1121 string.
1122
11232008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1124
1125 * xterm.c (x_term_init): Temporarily hide the partially
1126 initialized terminal while calling vendor-specific-keysyms.
1127
11282008-08-26 Eli Zaretskii <eliz@gnu.org>
1129
1130 * msdos.c (internal_terminal_init): Most initializations done only
1131 once, especially initial_screen_colors[] and termscript open.
1132
11332008-08-26 Chong Yidong <cyd@stupidchicken.com>
1134
1135 * eval.c (Fcondition_case): Doc fix.
1136
1137 * widgetprv.h (EmacsFramePart): Change font member to the new font
1138 struct.
1139
1140 * widget.c: Include character.h and font.h for XSETFONT.
1141 (setup_frame_gcs): Compute X font id from font struct, just once.
1142
11432008-08-26 Eli Zaretskii <eliz@gnu.org>
1144
1145 * term.c (get_named_tty): Fix last change.
1146
11472008-08-26 Chong Yidong <cyd@stupidchicken.com>
1148
1149 * indent.c (Fvertical_motion): If moving forward starting from a
1150 multi-line string, move the iterator to the last line of that
1151 string.
1152
11532008-08-25 Eli Zaretskii <eliz@gnu.org>
1154
1155 * frame.c (do_switch_frame): Mark previously displayed frame as
1156 obscured for FRAME_MSDOS_P frames as well.
1157
11582008-08-24 Eli Zaretskii <eliz@gnu.org>
1159
1160 * frame.c (make_terminal_frame): Initialize f->terminal,
1161 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1162 Set the top frame to newly created frame.
1163 (Fmake_terminal_frame): Reuse the_only_display_info.
1164
1165 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1166 estimating available memory.
1167
11682008-08-23 David Reitter <david.reitter@gmail.com>
1169
1170 * nsterm.m (ns_draw_window_cursor): Don't call
1171 NSDisableScreenUpdates and NSEnableScreenUpdates on
1172 non-NS_IMPL_COCOA systems.
1173
11742008-08-23 Andreas Schwab <schwab@suse.de>
1175
1176 * process.c (procfs_system_process_attributes): Fix use of
1177 uninitialized variables.
1178
11792008-08-23 Eli Zaretskii <eliz@gnu.org>
1180
1181 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1182
1183 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1184 calling tty-set-up-initial-frame-faces.
1185
1186 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1187 MSDOS frames along with X frames.
1188
1189 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1190 addition to output_termcap.
1191
1192 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1193
1194 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1195 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1196 highlight.
1197
1198 * process.c [!subprocesses]: Define QCname.
1199 (syms_of_process): Intern and staticpro it.
1200
1201 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1202 Adjust for changes in encoding/decoding routines. Use
1203 encode_coding_object and decode_coding_object instead of
1204 encode_coding and decode_coding.
1205
1206 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1207 argument.
1208
1209 * dosfns.c: Include frame.h before termhooks.h.
1210 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1211 variable termscript.
1212
1213 * s/msdos.h (USER_FULL_NAME): Define.
1214 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1215
1216 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1217 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1218 pw->pw_gecos.
1219
1220 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1221 SELECTED_FRAME as additional (1st) argument.
1222 (tty_read_avail_input): Handle output_msdos_raw in
1223 addition to output_termcap.
1224
1225 * msdos.c: Include frame.h before termhooks.h.
1226 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1227 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1228 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1229 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1230 (IT_set_terminal_modes, IT_reset_terminal_modes)
1231 (IT_set_frame_parameters): Use tty->termscript instead of a global
1232 variable termscript.
1233 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1234 global variable terminal_coding. Don't refer to
1235 Vnonascii_translation_table.
1236 (internal_terminal_init): Set Vwindow_system in current_kboard.
1237 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1238 Announce date and time of session start, if termscript is open.
1239 Don't zero out the_only_display_info (it is done in
1240 term.c:init_tty). Open termscript only of not already open. Log
1241 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1242 here instead of dos_ttraw. Don't initialize display if this is an
1243 initial tty. Don't set FRAME_FONT.
1244 (Vwindow_system_version): Bump to 23.
1245 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1246 is available, set up mouse_position_hook.
1247 (dos_ttraw, IT_set_terminal_modes): If called with initial
1248 terminal, do nothing.
1249 (IT_set_frame_parameters): Handle the Qtty_type frame
1250 parameter by calling internal_terminal_init.
1251 (dos_set_window_size, show_mouse_face)
1252 (clear_mouse_face, IT_note_mode_line_highlight)
1253 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1254 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1255 (initialize_msdos_display): New function.
1256 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1257 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1258 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1259 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1260 Accept additional argument: a pointer to a frame. All callers
1261 changed.
1262 (request_sigio, unrequest_sigio): Don't define, now defined on
1263 sysdep.c.
1264 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1265
1266 * term.c [MSDOS]: Include msdos.h.
1267 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1268 conditional to DOS_NT. Allow only one call to this function in a
1269 session. Don't allocate a new struct tty_display_info; instead,
1270 reuse the_only_display_info. Call get_tty_size to get screen
1271 dimensions. Call init_baud_rate to set bad_rate.
1272 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1273 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1274 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1275 stdin/stdout.
1276 (get_tty_terminal, get_named_tty, Ftty_type)
1277 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1278 output_termcap.
1279 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1280 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1281 only when subprocesses are supported
1282
1283 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1284 f->output_data.x.
1285 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1286 terminal devices.
1287
1288 * msdos.h Remove definition of struct x_display_info and struct
1289 x_output.
1290 (FRAME_FONT): Use output_data.tty.
1291 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1292 (struct x_display_info): Renamed from display_info. All users in
1293 msdos.c changed.
1294 (struct x_output): Remove background_pixel and foreground_pixel.
1295 (the_only_display_info): Renamed from the_only_x_display.
1296 (dos_ttraw): Update prototype.
1297
1298 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1299 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1300
13012008-08-23 Jason Rumney <jasonr@gnu.org>
1302
1303 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1304 (fn_TIFFSetDirectory): New library function used.
1305 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1306 (tiff_load): Use :index to select among multiple images. Set count
1307 property when multiple images exist.
1308 (gif_format): Use :index, not :image.
1309
13102008-08-23 Chong Yidong <cyd@stupidchicken.com>
1311
1312 * xdisp.c (try_scrolling): Check INT_MAX instead of
1313 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1314 to obtain INT_MAX.
1315
13162008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1317
1318 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1319
13202008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1321
1322 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1323 GNUstep library location.
1324
13252008-08-21 Chong Yidong <cyd@stupidchicken.com>
1326
1327 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1328 before using it.
1329
1330 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1331
13322008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1333
1334 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1335 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1336 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1337 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1338 (EmacsApp-cursor_blink_handler): Remove declaration.
1339 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1340 match 01 Feb 2008 changes in xterm.c.
1341 (ns_read_socket): Add cast to avoid warning.
1342 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1343 GNUstep.
1344
13452008-08-20 Chong Yidong <cyd@stupidchicken.com>
1346
1347 * xselect.c (x_get_foreign_selection): Return nil if desired
1348 selection could not be obtained, instead of signalling an error.
1349
13502008-08-20 David Reitter <david.reitter@gmail.com>
1351
1352 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1353 * nsterm.m: Remove ns-specific code for cursor blinking.
1354 (ns_draw_window_cursor): Clear cursor properly rather than
1355 redrawing the area. Respect width of bar cursors.
1356 These changes enable the use of generic blink-cursor-mode and
1357 generic cursor types in NS and support smooth cursor movements (do
1358 not blink off after command).
1359 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1360 Nextstep, too.
1361
13622008-08-19 Kenichi Handa <handa@m17n.org>
1363
1364 * font.c (Vfont_log_deferred): New variable.
1365 (font_add_log): Check Vfont_log_deferred.
1366 (font_deferred_log): New function.
1367
1368 * font.h (font_deferred_log): Extern it.
1369
1370 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1371 for sorting.
1372 (face_for_char): Use deferred log.
1373
13742008-08-18 Kenichi Handa <handa@m17n.org>
1375
1376 * fontset.c (face_for_char): Add font log.
1377
1378 * font.c (font_add_log): Add the font properties :script, :lang,
1379 and :otf in the log.
1380
13812008-08-17 Chong Yidong <cyd@stupidchicken.com>
1382
1383 * xdisp.c: Remove dead code.
1384 (handle_invisible_prop, next_overlay_string): Defer call to
1385 setup_for_ellipsis.
1386 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1387
13882008-08-15 Chong Yidong <cyd@stupidchicken.com>
1389
1390 * xfaces.c (lookup_derived_face): Properly handle possible zero
1391 return value of get_lface_attributes.
1392 (merge_faces): Don't tell lookup_derived_face to signal an error
1393 if face is not found.
1394
1395 * dired.c (Fdirectory_files): Doc fix.
1396
1397 * process.c (make_process): Initialize kill_without_query struct
1398 member.
1399
14002008-08-15 Eli Zaretskii <eliz@gnu.org>
1401
1402 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1403 Alternative calculation of totphys for Visual Studio 6.
1404
1405 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1406
1407 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1408 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1409 All users changed.
1410 (stat): Only root directory passed to GetDriveType. Allow RAM
1411 disk as well as local fixed disk when w32-get-true-file-attributes
1412 is set to `local'.
1413 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1414 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1415 (w32_cached_id, w32_add_to_cache): New functions.
1416 (get_name_and_id): Look account names in the cache before calling
1417 lookup_account_sid.
1418 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1419 New initialization flags.
1420 (globals_of_w32): Initialize them to zero.
1421 (w32_system_process_attributes): Use w32_cached_id and
1422 w32_add_to_cache.
1423
14242008-08-14 Lawrence Mitchell <wence@gmx.li>
1425
1426 * lread.c (Fread_char, Fread_char_exclusive): If no character
1427 event is read before timeout is reached, return nil, rather than
1428 converting to a number.
1429
14302008-08-14 Chong Yidong <cyd@stupidchicken.com>
1431
1432 * fns.c (use_dialog_box): Doc fix.
1433
1434 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1435 on OS X.
1436
14372008-08-13 Chong Yidong <cyd@stupidchicken.com>
1438
1439 * frame.c (Qns_parse_geometry): New var.
1440 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1441
14422008-08-11 Chong Yidong <cyd@stupidchicken.com>
1443
1444 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1445 space character in calculating tabs.
1446
14472008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1448
1449 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1450
14512008-08-10 Glenn Morris <rgm@gnu.org>
1452
1453 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1454 silence gcc "limited range of data type" warnings in some
1455 make_fixnum_or_float calls.
1456
14572008-08-09 Eli Zaretskii <eliz@gnu.org>
1458
1459 * w32.c (w32_system_process_attributes): If the process does not
1460 exist, return nil.
1461
1462 * w32.c: Include thelp32.h, psapi.h and coding.h.
1463 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1464 declarations.
1465 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1466 (Process32Next_Proc): New typedefs.
1467 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1468 (g_b_init_process32_next, g_b_init_open_thread_token)
1469 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1470 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1471 (g_b_init_get_process_working_set_size)
1472 (g_b_init_global_memory_status_ex): New static variables.
1473 (globals_of_w32): Initialize them.
1474 (create_toolhelp32_snapshot, process32_first, process32_next)
1475 (open_thread_token, impersonate_self, revert_to_self)
1476 (get_process_memory_info, get_process_working_set_size)
1477 (global_memory_status, global_memory_status_ex): New wrapper
1478 functions.
1479 (w32_list_system_processes, w32_system_process_attributes)
1480 (enable_privilege, restore_privilege, ltime, process_times):
1481 New functions.
1482 (convert_time_raw): New function.
1483 (convert_time): Remove conversion of FILETIME into time in 100
1484 nsec units, call convert_time_raw instead.
1485
1486 * process.h (w32_list_system_processes, w32_system_process_attributes):
1487 Add prototypes.
1488 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1489 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1490 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1491 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1492
1493 * process.c (Fsystem_process_attributes): Doc fix.
1494
14952008-08-08 Chong Yidong <cyd@stupidchicken.com>
1496
1497 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1498 a continued multi-char glyph; if so, advance to the actual glyph.
1499
15002008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1501
1502 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1503
1504 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1505 (.m.o): Use it.
1506 * config.in: Regenerate.
1507
15082008-08-07 Chong Yidong <cyd@stupidchicken.com>
1509
1510 * xdisp.c (redisplay_window): Revert last change.
1511 (try_window): Check bottom scroll margin too.
1512
15132008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1514
1515 * config.in: Regenerate.
1516
1517 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1518 -list-load-path-shadows'.
1519 (nsgui.h): Reduce number of things depending on it.
1520
15212008-08-06 Chong Yidong <cyd@stupidchicken.com>
1522
1523 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1524 instead of window-end which does the wrong thing at eob.
1525 (try_cursor_movement): Minor optimization.
1526 (redisplay_window): If scroll margin is defined, don't assume
1527 window doesn't need scrolling.
1528
15292008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1530
1531 * config.in: Regenerate.
1532
1533 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1534 (mostlyclean): Don't delete *.d under NS.
1535
1536 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1537
15382008-08-06 Kenichi Handa <handa@m17n.org>
1539
1540 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1541
15422008-08-06 Andreas Schwab <schwab@suse.de>
1543
1544 * config.in: Regenerate.
1545
15462008-08-05 Chong Yidong <cyd@stupidchicken.com>
1547
1548 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1549 forcing a window start.
1550
1551 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1552 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1553
15542008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1555
1556 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1557 argument.
1558
15592008-08-05 Juanma Barranquero <lekktu@gmail.com>
1560
1561 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1562 <scroll-down-aggressively, before-change-functions>:
1563 <after-change-functions>: Reflow docstrings.
1564
15652008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1566 Ken Raeburn <raeburn@gnu.org>
1567
1568 Dock menu customization, based on a patch by Ken Raeburn, plus some
1569 other fixes.
1570 * nsmenu.m (dockMenu): New variable.
1571 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1572
1573 * nsterm.h (dockMenu): Declare.
1574
1575 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1576 (ns_term_init): Initialize dockMenu.
1577 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1578 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1579 left.
1580
1581 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1582
15832008-08-04 Chong Yidong <cyd@stupidchicken.com>
1584
1585 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1586
1587 * config.in: Regenerate.
1588
15892008-08-04 Seiji Zenitani <zenitani@mac.com>
1590
1591 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1592
15932008-08-04 Chong Yidong <cyd@stupidchicken.com>
1594
1595 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1596
15972008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1598
1599 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1600
1601 * keyboard.h: Comment an #endif.
1602
1603 * lisp.h (have_menus_p): Adjust comment.
1604
1605 * menu.c (find_and_return_menu_selection): Fix comparison with
1606 client_data.
1607
1608 * nsmenu.m (popup_activated_flag): New variable.
1609 (popup_activated): New function.
1610 (menu-or-popup-active-p): New exported lisp definition.
1611 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1612 when popup done.
1613 (ns_popup_dialog): Set popup_activated_flag.
1614
1615 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1616 version for GNUstep (handled by conditional typedef in nsterm.m).
1617 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1618 in rgb.txt).
1619
1620 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1621
1622 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1623
1624 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1625
1626 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1627 shortcircuit if popup_activated like GTK and X toolkit.
1628
1629 * m/inter386.h: Change DARWIN to DARWIN_OS.
1630
1631 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1632 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1633 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1634 comment on NO_SOCK_SIGIO.
1635
16362008-08-03 Chong Yidong <cyd@stupidchicken.com>
1637
1638 * nsterm.m (windowDidResize): Remove stopModal call.
1639
16402008-08-03 Andreas Schwab <schwab@suse.de>
1641
1642 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1643 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1644
16452008-08-02 Chong Yidong <cyd@stupidchicken.com>
1646
1647 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1648 Don't use uninitialized pointer variable when using getrlimit.
1649
16502008-08-02 Jason Rumney <jasonr@gnu.org>
1651
1652 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1653
16542008-08-02 Eli Zaretskii <eliz@gnu.org>
1655
1656 * alloc.c (NSTATICS): Bump to 0x640.
1657
1658 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1659
1660 * lisp.h: Add prototype for directory_files_internal.
1661
1662 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1663 New functions.
1664 (syms_of_process): Defsubr them. Add initializations for various
1665 Q* symbols used in procfs_system_process_attributes.
1666 (procfs_list_system_processes, procfs_system_process_attributes)
1667 [HAVE_PROCFS]: New functions.
1668 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1669 (procfs_get_total_memory): New functions.
1670
16712008-08-01 Juanma Barranquero <lekktu@gmail.com>
1672
1673 * xfaces.c (Fx_load_color_file): Fix previous change;
1674 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1675
16762008-08-01 Michael Albinus <michael.albinus@gmx.de>
1677
1678 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1679
16802008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1681
1682 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1683
16842008-08-01 Chong Yidong <cyd@stupidchicken.com>
1685
1686 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1687
1688 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1689 define NSApplicationDelegateReplySuccess.
1690 (EmacsView -converstationIdentifier): Use long instead of
1691 NSInteger for GNUstep, since it doesn't have NSInteger.
1692
1693 * xmenu.c: Revert last change.
1694
1695 * keyboard.h: Fix last change.
1696
16972008-08-01 Juanma Barranquero <lekktu@gmail.com>
1698
1699 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1700 on Windows.
1701
17022008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1703
1704 Warning clearing and clean-up in NS port.
1705 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1706 Add prototypes.
1707 * nsgui.h (FACE_DEFAULT): Remove, unused.
1708 (XGCValues): Change colors to unsigned long.
1709 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1710 nsterm.m.
1711 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1712 (ns_list_fonts): Remove, unused.
1713 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1714 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1715 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1716 (nsfont_draw): Compare face colors to 0, not nil.
1717 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1718 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1719 (-addSubmenuWithTitle:): Use NSMenuItem class.
1720 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1721 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1722 (ns_clip_to_row): Make gc arg a BOOL.
1723 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1724 ns_clip_to_row() call.
1725 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1726 used). Cast FRAME_FONT assignments.
1727 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1728 (ns_string_to_lispmod): Change arg to const char.
1729 (ns_term_init): Use NSMenuItem class.
1730 (EmacsApp -openFile:): Move to different section of file.
1731 (EmacsApp -application:openFiles:): Don't return a value, call
1732 -replyToOpenOrPrint:.
1733 (EmacsView -keyDown:): Fix up cast.
1734 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1735 (EmacsView -menuDown:): Cast tag in call to
1736 find_and_call_menu_selection().
1737 (ns_list_fonts): Remove, unused.
1738 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1739 (ns_fontname_to_xlfd): Make static.
1740 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1741 Remove prototypes (now in keyboard.h).
1742 (next_menubar_widget_id): Remove, unused.
1743 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1744 Remove prototypes (now in keyboard.h).
1745 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1746
17472008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1748
1749 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1750 (floatfns.o): Depend on syssignal.h.
1751 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1752
1753 * systty.h: Fix previous change that removed BSD_TERMIOS.
1754 Add comments to #ifdefs.
1755
17562008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1757
1758 * w32fns.c (w32-load-color-file): Remove.
1759 (x-open-connection): Use renamed Fx_load_color_file.
1760 * xfaces.c (x-load-color-file): Add.
1761 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1762 Emacs.clr.
1763 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1764
17652008-07-31 Michael Albinus <michael.albinus@gmx.de>
1766
1767 * dbusbind.c (Fdbus_call_method_asynchronously)
1768 (Fdbus_method_error_internal): New defuns.
1769 (xd_read_message): Handle also reply messages.
1770 (Vdbus_registered_functions_table): Extend docstring.
1771
17722008-07-31 Juanma Barranquero <lekktu@gmail.com>
1773
1774 * keyboard.c (gobble_input): Fix previous change.
1775
17762008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1777
1778 * bitmaps/README:
1779 * xfns.c:
1780 * termcap.c:
1781 * term.c:
1782 * syswait.h:
1783 * systty.h:
1784 * systime.h:
1785 * syssignal.h:
1786 * sysdep.c:
1787 * process.h:
1788 * process.c:
1789 * print.c:
1790 * ndir.h:
1791 * lread.c:
1792 * keyboard.c:
1793 * getpagesize.h:
1794 * floatfns.c:
1795 * fileio.c:
1796 * emacs.c:
1797 * doc.c:
1798 * dispnew.c:
1799 * dired.c:
1800 * data.c:
1801 * callproc.c:
1802 * buffer.c:
1803 * README:
1804 * Makefile.in:
1805 * s/template.h:
1806 * s/msdos.h:
1807 * m/vax.h: Remove VMS support.
1808 * s/vms.h:
1809 * vlimit.h:
1810 * uaf.h:
1811 * temacs.opt:
1812 * param.h:
1813 * ioctl.h: Remove file.
1814
18152008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1816
1817 * s/ms-w32.h (MULTI_KBOARD): Remove.
1818 * xterm.c:
1819 * xselect.c:
1820 * xfns.c:
1821 * window.c:
1822 * w32term.c:
1823 * w32fns.c:
1824 * terminal.c:
1825 * termhooks.h:
1826 * term.c:
1827 * sysdep.c:
1828 * keyboard.h:
1829 * keyboard.c:
1830 * frame.h:
1831 * frame.c:
1832 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1833 * config.in: Regenerate.
1834
18352008-07-30 Jason Rumney <jasonr@gnu.org>
1836
1837 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1838
1839 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1840 (w32font_open_internal): Get unicode version of textmetrics.
1841 Don't enable or disable glyph indices here.
1842 (w32font_open): Disable use of glyph indices.
1843
1844 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1845
18462008-07-30 Chong Yidong <cyd@stupidchicken.com>
1847
1848 * minibuf.c (Vread_buffer_function): Doc fix.
1849
18502008-07-30 John Paul Wallington <jpw@pobox.com>
1851
1852 * minibuf.c (read_buffer_completion_ignore_case): New var.
1853 (Fread_buffer): Use it.
1854
18552008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1856
1857 * systty.h (sensemode): Remove empty #if. Remove reference to
1858 BSD_TERMIOS, unused.
1859
1860 * sysdep.c: Remove reference to DGUX.
1861 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1862
1863 * config.in: Regenerate.
1864
18652008-07-30 Jason Rumney <jasonr@gnu.org>
1866
1867 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1868
18692008-07-29 Jason Rumney <jasonr@gnu.org>
1870
1871 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1872 is populated.
1873 (uniscribe_encode_char): Always use uniscribe.
1874 Avoid using context if cache is populated.
1875
18762008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1877
1878 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1879 open menu.
1880
1881 * gtkutil.c (menu_nav_ended): Remove.
1882 (create_menus): Remove signal connect for menu_nav_ended.
1883
18842008-07-28 Chong Yidong <cyd@stupidchicken.com>
1885
1886 * xdisp.c (redisplay_window): Check return value of
1887 compute_window_start_on_continuation_line before forcing a window
1888 start.
1889
18902008-07-28 Jason Rumney <jasonr@gnu.org>
1891
1892 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1893
1894 * w32term.c (w32_enable_unicode_output, cleartype_active):
1895 Remove obsolete display options.
1896 (x_draw_glyph_string_background): Don't use old cleartype_active
1897 workaround.
1898 (w32_initialize): Remove cleartype_active initialization.
1899 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1900
19012008-07-28 Andreas Schwab <schwab@suse.de>
1902
1903 * lisp.h (init_weak_hash_tables, syms_of_font)
1904 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1905 (remove_hash_entry): Don't declare.
1906 * eval.c (maybe_call_debugger): Make static and move before use.
1907 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1908 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1909 * xterm.h (x_set_frame_alpha): Declare.
1910
19112008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1912
1913 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1914 (create_menus): Connect selection-done to menu_nav_ended.
1915
19162008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1917
1918 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1919 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1920 parameter with read of 'alpha' one.
1921 (Qns_frame_parameter): Remove.
1922 * nsselection.m (selection-coding-system)
1923 (next-selection-coding-system, Vselection_coding_system)
1924 (Vnext_selection_coding_system): Drop.
1925
19262008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1927
1928 * nsfns.m (do-applescript, do_applescript): Rename to
1929 ns-do-applescript, ns_do_applescript, and move within file.
1930
19312008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1932
1933 Remove support for Mac Carbon.
1934 * mactoolbox.c:
1935 * macterm.h:
1936 * macterm.c:
1937 * macselect.c:
1938 * macmenu.c:
1939 * macgui.h:
1940 * macfns.c:
1941 * mac.c: Remove file.
1942 * s/darwin.h:
1943 * m/intel386.h:
1944 * xfaces.c:
1945 * xdisp.c:
1946 * window.c:
1947 * tparam.c:
1948 * termhooks.h:
1949 * termcap.c:
1950 * term.c:
1951 * syssignal.h:
1952 * sysselect.h:
1953 * sysdep.c:
1954 * process.c:
1955 * lread.c:
1956 * lisp.h:
1957 * keyboard.c:
1958 * image.c:
1959 * fringe.c:
1960 * frame.h:
1961 * frame.c:
1962 * fontset.c:
1963 * font.h:
1964 * font.c:
1965 * fns.c:
1966 * fileio.c:
1967 * emacs.c:
1968 * dispnew.c:
1969 * dispextern.h:
1970 * config.in:
1971 * atimer.c:
1972 * Makefile.in: Remove code for Carbon
1973
19742008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1975
1976 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1977
19782008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1979
1980 * macterm.h (kCGBitmapByteOrder32Host): New define for
1981 non-universal SDKs.
1982
1983 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1984 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1985
1986 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1987 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1988
19892008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1990
1991 * w32inevt.c: Include dispextern.h.
1992
19932008-07-26 Andreas Schwab <schwab@suse.de>
1994
1995 * print.c (print_object): Fix off-by-one in last change.
1996
19972008-07-25 Juanma Barranquero <lekktu@gmail.com>
1998
1999 * term.c (syms_of_term): Don't initialize default_orig_pair,
2000 default_set_foreground and default_set_background on Windows.
2001
20022008-07-25 Jason Rumney <jasonr@gnu.org>
2003
2004 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2005 ScriptItemize. Clean up return value checking. Remove unused
2006 variables.
2007 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2008 shaping engine.
2009
2010 * w32font.c (w32font_has_char): Handle the case where we can't
2011 determine the script for a character.
2012
20132008-07-25 Chong Yidong <cyd@stupidchicken.com>
2014
2015 * term.c (syms_of_term): Initialize default_orig_pair,
2016 default_set_foreground, and default_set_background.
2017
2018 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2019 clash (bug#86).
2020 (getloadavg): Callers changed.
2021
2022 * image.c (svg_load_image): Fix last change.
2023 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2024 image size is valid. Use g_object_unref instead of deprecated
2025 rsvg_handle_free to free rsvg handle.
2026 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2027
20282008-07-25 Jason Rumney <jasonr@gnu.org>
2029
2030 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2031 surrogates before looking up glyph index.
2032 (w32font_text_extents): Encode as surrogates if falling back to
2033 functions that need UTF-16 wide chars.
2034
2035 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2036 BMP as surrogates before looking up glyph index.
2037
20382008-07-25 Chong Yidong <cyd@stupidchicken.com>
2039
2040 * image.c (svg_load_image): Check for failure in return value of
2041 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2042
20432008-07-25 Jason Rumney <jasonr@gnu.org>
2044
2045 * w32font.c (Fx_select_font): Reverse sense of second arg.
2046
20472008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2048
2049 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2050 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2051
2052 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2053 (PURESIZE): Use it.
2054
20552008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2056
2057 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2058 * m/alpha.h (TEXT_END):
2059 * m/ibmrs6000.h (TEXT_END):
2060 * m/macppc.h (TEXT_END):
2061 * s/darwin.h (TEXT_END):
2062 * s/msdos.h (TEXT_END): Remove, unused.
2063 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2064 * s/cygwin.h: Remove comment.
2065
2066 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2067 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2068 * m/intel386.h (DOT_GLOBAL_START):
2069 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2070 (USG): Remove, file not used on USG platforms.
2071
2072 * Makefile.in (HAVE_X11): Remove empty #else.
2073
20742008-07-24 Andreas Schwab <schwab@suse.de>
2075
2076 * fileio.c (Finsert_file_contents): Properly adjust undo list
2077 after format conversion.
2078
20792008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2080
2081 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2082 (menu_nav_ended): Remove.
2083 (create_menus): Remove signal connect for menu_nav_ended.
2084 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2085 create_menus.
2086 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2087
20882008-07-23 Jason Rumney <jasonr@gnu.org>
2089
2090 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2091 with opened font.
2092 (w32font_open): Set font type to gdi.
2093
2094 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2095
20962008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2097
2098 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2099 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2100 defines it.
2101 * unexec.c (ADDR_CORRECT): Define unconditionally.
2102
2103 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2104
2105 * unexec.c: Remove code depending on !COFF and USG, the file is
2106 not used for such systems.
2107
2108 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2109 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2110 (LD_SWITCH_SYSTEM_1): Remove, update users.
2111
2112 * s/darwin.h (DATA_END):
2113 * m/intel386.h (DATA_END):
2114 * m/ibmrs6000.h (DATA_END):
2115 * m/alpha.h (DATA_END): Remove, unused.
2116
2117 * config.in: Regenerate.
2118 * s/ms-w32.h (subprocesses): Define unconditionally.
2119 * s/template.h (subprocesses): Update comment.
2120 * s/vms.h (subprocesses):
2121 * s/usg5-4.h (subprocesses):
2122 * s/hpux10-20.h (subprocesses):
2123 * s/gnu-linux.h (subprocesses):
2124 * s/cygwin.h (subprocesses):
2125 * s/bsd-common.h (subprocesses):
2126 * s/aix4-2.h (subprocesses):
2127 * s/darwin.h (subprocesses): Do not define, defined by default now.
2128
2129 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2130 Remove all references.
2131 (temacs): Add GNUstep specific ld flags.
2132
2133 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2134 similarly to what X does.
2135
21362008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2137
2138 * nsfns.m (x-list-fonts): Remove.
2139 (syms_of_nsfns): Drop the x-list-fonts declaration.
2140 * nsterm.m: Get rid of remaining "//" comments.
2141
21422008-07-22 Chong Yidong <cyd@stupidchicken.com>
2143
2144 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2145
2146 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2147 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2148 (Fns_own_selection_internal, Fx_disown_selection_internal)
2149 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2150
2151 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2152 ... */' style of docstrings. Doc fixes.
2153
21542008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2155
2156 * terminfo.c (UP, BC, PC): Undo previous change.
2157
2158 * nsfns.m: Rename ns prefixed functions/variables to the
2159 corresponding x versions. Update references.
2160
21612008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2162
2163 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2164
21652008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2166
2167 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2168 Remove forwarding functions.
2169 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2170 non-static.
2171 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2172 non-static.
2173 (ns_frame_parm_handlers): Use the new names.
2174 (syms_of_nsfns): Move to the end of file.
2175
2176 * nsterm.m (syms_of_nsterm): Move to the end of file.
2177
2178 * dispnew.c (init_display): Remove code for X10.
2179
21802008-07-22 Jason Rumney <jasonr@gnu.org>
2181
2182 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2183 bare drive.
2184
21852008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2186
2187 * nsterm.m (syms_of_nsterm): Remove debugging println.
2188
21892008-07-22 David Reitter <david.reitter@gmail.com>
2190
2191 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2192 Carbon implementation of the same functionality: execute arbitrary
2193 AppleScript code.
2194
21952008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2196
2197 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2198 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2199 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2200 (Fx_display_mm_height, Fx_display_mm_width)
2201 (Fx_display_backing_store, Fx_display_visual_class)
2202 (Fx_display_save_under, Fx_open_connection)
2203 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2204 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2205 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2206 (Fx_display_pixel_width, Fx_display_pixel_height)
2207 (Fx_display_usable_bounds, Fx_display_planes)
2208 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2209 ... */' style of docstrings.
2210
22112008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2212
2213 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2214 on this platform.
2215 (mips):
2216 * m/iris4d.h (mips): Do not define.
2217 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2218
2219 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2220
2221 * image.c:
2222 * nsfns.m:
2223 * nsselect.m:
2224 * nsterm.h:
2225 * nsterm.m: Rename ns prefixed functions/variables to the
2226 corresponding x versions. Update references.
2227
2228 * m/ibms390x.h (NO_REMAP): Do not undefine.
2229
2230 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2231
22322008-07-21 Chong Yidong <cyd@stupidchicken.com>
2233
2234 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2235 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2236 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2237 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2238 (Fns_display_mm_height, Fns_display_mm_width)
2239 (Fns_display_backing_store, Fns_display_visual_class)
2240 (Fns_display_save_under, Fns_open_connection)
2241 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2242 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2243 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2244 (Fns_display_pixel_width, Fns_display_pixel_height)
2245 (Fns_display_usable_bounds, Fx_display_planes)
2246 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2247
22482008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2249
2250 * print.c (print_object): Check print_depth before searching for
2251 circularities.
2252
22532008-07-21 Michael Albinus <michael.albinus@gmx.de>
2254
2255 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2256 only sprintf.
2257
22582008-07-21 Kenichi Handa <handa@m17n.org>
2259
2260 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2261
22622008-07-20 Andreas Schwab <schwab@suse.de>
2263
2264 * syntax.c (find_start_pos, find_start_value)
2265 (find_start_value_byte, find_start_begv, find_defun_start)
2266 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2267
22682008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2269
2270 * s/sol2-3.h: Insert contents of s/sol2.h.
2271 (LD_SWITCH_SYSTEM): Remove redundant definition.
2272 * s/sol2.h: Remove, unused.
2273
22742008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2275
2276 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2277
22782008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2279
2280 * Makefile.in (ns_appdir): Fix typo in find command.
2281
22822008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2283
2284 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2285
2286 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2287 added not supported anymore.
2288
2289 * s/usg5-4-2.h (LIBS_SYSTEM):
2290 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2291
2292 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2293 * s/lynxos.h (GETPGRP_NO_ARG):
2294 * s/hpux10-20.h (NO_SIOCTL_H):
2295 * s/gnu.h (GETPGRP_NO_ARG):
2296 * s/gnu-linux.h (NO_SIOCTL_H):
2297 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2298 * s/cygwin.h (GETPGRP_NO_ARG):
2299 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2300 (C_DEBUG_SWITCH): Remove duplicate definition.
2301
2302 * m/ibms390.h: Remove boilerplate comments.
2303
2304 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2305
2306 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2307 (wait_reading_process_output): Remove code for SunOS, platform not
2308 supported anymore. Use SOLARIS2 instead of sun.
2309
23102008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2311
2312 * font.c (font_open_by_name): Under NS, default lface height to zero.
2313 (font_open_for_lface): Under NS, set size based on frame fontsize.
2314 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2315 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2316
23172008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2318
2319 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2320 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2321 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2322 YES/NO.
2323 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2324 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2325 * Makefile.in (clean): Clear out build destination dir.
2326
23272008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2328
2329 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2330 xterm, xselect.
2331 * lisp.h: Remove declaration of hash_remove.
2332 * nsgui.h: Remove redefinitions of hash_remove.
2333 * fns.c (hash_remove): Rename to hash_remove_from_table.
2334
23352008-07-19 Seiji Zenitani <zenitani@mac.com>
2336
2337 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2338 strdup() the family UTF8String before modifying it.
2339
23402008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2341
2342 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2343 NS_FACE_BACKGROUND with 0 instead of nil.
2344 * nsfont.m (nsfont_draw): Same.
2345
23462008-07-19 Chong Yidong <cyd@stupidchicken.com>
2347
2348 * nsfns.m (ns_set_background_color): Fix crash.
2349
23502008-07-18 Chong Yidong <cyd@stupidchicken.com>
2351
2352 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2353
23542008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2355
2356 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2357
23582008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2359
2360 * gtkutil.c: Include <config.h> instead of "config.h".
2361
2362 * lisp.h (Foverlay_buffer): Add EXFUN.
2363
2364 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2365 child process to complete child_setup. Undo 2005-09-21 change.
2366
2367 * s/darwin.h: Mention setsid after vfork.
2368
23692008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2370
2371 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2372 Depend on macgui.h.
2373
2374 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2375 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2376
2377 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2378 and f19.
2379 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2380
2381 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2382 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2383 Remove enumerators.
2384
2385 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2386 Check if FACE_FROM_ID returns NULL.
2387
23882008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2389
2390 * w32inevt.c (change_frame_size): Remove extern declaration.
2391 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2392 change_frame_size.
2393
23942008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2395
2396 * getloadavg.c: Revert last change (2008-07-15).
2397
23982008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2399
2400 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2401 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2402 from configure.
2403
24042008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2405
2406 * s/sol2.h:
2407 * s/sol2-4.h: Reorganize conditionals.
2408
2409 * ecrt0.c: Remove code depending on m68000, not used anymore.
2410
2411 * fns.c (hash_remove): Make static.
2412 * lisp.h (hash_remove): Don't prototype.
2413
2414 * m/ibmrs6000.h:
2415 * m/ibms390x.h:
2416 * m/macppc.h: Remove boilerplate comments.
2417
2418 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2419 Solaris, which does not need them.
2420
2421 * m/vax.h: Remove comments about unsupported systems.
2422
2423 * s/darwin.h: Reorganize ifdefs.
2424
24252008-07-17 Andreas Schwab <schwab@suse.de>
2426
2427 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2428
24292008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2430
2431 Use SDATA. Follow coding convention of placing operators at
2432 beginning of next line rather than end of previous line, and placing
2433 spaces around infix operators.
2434
2435 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2436 in case it was defined already.
2437 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2438 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2439 ns_default.
2440 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2441 Lisp_Objects.
2442 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2443 (ns_defined_color, ns_color_to_lisp): Declare.
2444 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2445 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2446 it's accepted even with USE_LISP_UNION_TYPE.
2447 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2448 (update_frame_tool_bar): Remove apparently obsolete tests for
2449 non-integerness of f->tool_bar_lines.
2450 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2451 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2452 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2453 (nsfont_open): Don't confuse NULL for Qnil.
2454 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2455 * menu.h (find_and_call_menu_selection):
2456 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2457 (find_and_return_menu_selection): Always return something.
2458 * frame.h: Include dispextern.h for Display_Info.
2459 (display_x_get_resource): Declare.
2460
24612008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2462
2463 * syntax.c: Remove stdio.h include accidentally introduced in
2464 Emacs.app commit.
2465 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2466 NS_IMPL_COCOA.
2467 * keyboard.c (handle_async_input, input_available_signal): Remove
2468 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2469
24702008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2471
2472 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2473 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2474 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2475 Use SDATA.
2476
2477 * keymap.c: Remove all NS-specific code.
2478 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2479 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2480 where_is_preferred_modifier, return a different value depending on how
2481 preferred is the binding.
2482 (where_is_internal): Adjust accordingly.
2483 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2484 Adjust to new preferred_sequence_p.
2485 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2486 * keyboard.c (parse_solitary_modifier): Not static any more.
2487 * keyboard.h (parse_solitary_modifier): Declare.
2488
24892008-07-16 Andreas Schwab <schwab@suse.de>
2490
2491 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2492 of easymenu.
2493
24942008-07-16 Chong Yidong <cyd@stupidchicken.com>
2495
2496 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2497 that we don't move off the line.
2498
24992008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2500
2501 * keyboard.c (Qsuper): Remove.
2502 (parse_menu_item): Don't call where_is_internal specially for NS.
2503
25042008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2505
2506 * s/gnu-linux.h: Remove boilerplate comments.
2507
2508 * m/alpha.h (__ELF__): Consolidate conditions.
2509
2510 * m/m68k.h (linux): Use GNU_LINUX instead.
2511 Remove boilerplate comments.
2512
2513 * m/intel386.h: Undo refactoring from previous change.
2514 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2515 too, remove dead code.
2516 (linux): Use GNU_LINUX instead.
2517
25182008-07-16 Jason Rumney <jasonr@gnu.org>
2519
2520 * w32gui.h: Repeat 26 June changes lost by last change.
2521
25222008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2523
2524 * systty.h: Remove code for Aix on 386, unsupported platform.
2525
2526 * s/ms-w32.h: Remove boilerplate comments.
2527 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2528
2529 * s/gnu-linux.h (TERM): Remove support.
2530 (HAVE_SYSVIPC): Remove, unused.
2531 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2532 for this system.
2533
2534 * process.c: Remove support for IRIS, unused.
2535 Remove support for TERM, not relevant anymore.
2536
2537 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2538 used with the definition.
2539
2540 * s/aix4-2.h (static): Do not undef.
2541
2542 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2543 only used on Aix.
2544 (HAVE_SYSVIPC): Remove, unused.
2545
2546 * m/hp800.h (CANNOT_DUMP): Do not undef.
2547
2548 * m/alpha.h: Fix comment.
2549
2550 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2551 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2552 used by this configuration.
2553 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2554 * unexec.c: Remove code depending on HPUX and
2555 USG_SHARED_LIBRARIES, not used with this file. Remove code
2556 depending on IRIS, unused. Remove if 0-ed code.
2557
2558 * s/template.h: Remove comments about static.
2559
2560 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2561 Remove if 0-ed code.
2562 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2563 were the same as the default.
2564 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2565 Remove boilerplate comments.
2566 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2567 (HAVE_SYSVIPC): Remove, unused.
2568 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2569
2570 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2571 Remove boilerplate comments.
2572 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2573 Remove boilerplate comments.
2574 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2575 Remove boilerplate comments.
2576 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2577
2578 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2579 USG systems which do not use DATA_SEG_BITS.
2580 Refactor code. Remove boilerplate comments.
2581
2582 * m/ibms390.h:
2583 * m/m68k.h:
2584 * s/bsd-common.h:
2585 * s/cygwin.h:
2586 * s/darwin.h:
2587 * s/freebsd.h:
2588 * s/gnu.h:
2589 * s/msdos.h: Remove boilerplate comments.
2590
2591 * m/iris4d.h: Remove boilerplate comments and code for systems that
2592 do not use this file.
2593 (IRIS_4D): Remove, unused.
2594
2595 * m/mips.h: Remove boilerplate comments and code for systems that
2596 do not use this file.
2597 (SIGN_EXTEND_CHAR):
2598 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2599 * unexmips.c: Remove file, unused.
2600
2601 * editfns.c (Fuser_full_name): Replace the only use of
2602 USER_FULL_NAME with its value.
2603 * config.in: Regenerate.
2604
26052008-07-16 David Reitter <david.reitter@gmail.com>
2606
2607 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2608 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2609
26102008-07-16 Glenn Morris <rgm@gnu.org>
2611
2612 * emacs.c (system-type): Doc fix.
2613
26142008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2615
2616 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2617 If the cache doesn't work, let's fix it, rather than work around it.
2618
26192008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2620
2621 * Makefile.in: Correct additions for nsfont.o in last commit.
2622 * nsfont.m: New file (forgot last commit).
2623
26242008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2625
2626 * callproc.c (set_initial_environment): Initialize
2627 Vprocess_environment under CANNOT_DUMP (fixes crash when
2628 batch-compiling for bootstrap).
2629
26302008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2631 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2632
2633 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2634 fix crash due to different init order.
2635
26362008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2637
2638 Changes and additions for NeXTstep windowing system (Cocoa and
2639 GNUstep) support.
2640
2641 * Makefile.in:
2642 * config.in: Support defines and build commands for NS port.
2643 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2644 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2645 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2646 windowing.
2647 (struct face): Add synth_ital field.
2648 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2649 (init_display): Initialize Vinitial_window_system to "ns" when so
2650 compiled.
2651 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2652 (display_arg): Use under NS.
2653 (main): Under NS, allocate autorelease pool and handle command line
2654 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2655 (standard_args): Add NS-specific args.
2656 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2657 * font.c (DEFAULT_ENCODING): New variable.
2658 (font_find_for_lface): Use it.
2659 (syms_of_font): Load syms_of_nsfont under NS.
2660 * font.h: Declare nsfont_driver when compiled under NS.
2661 * fontset.c: When compiling under NS, include nsterm.h.
2662 (fontset_from_font): Autoconstruct fontset under NS.
2663 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2664 symbol, document and use it.
2665 (do_switch_frame): When for_deletion under Cocoa, add
2666 Fraise_frame(Qnil).
2667 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2668 (x_get_arg): Allow "yes" and "no" as boolean values.
2669 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2670 Qright under Cocoa.
2671 (focus-follows-mouse): Default to 0 under NS.
2672 * frame.h (enum output_method): Add output_ns.
2673 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2674 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2675 (FRAME_WINDOW_P): NS-specific definition.
2676 * fringe.c (max_used_fringe_bitmap): Make public.
2677 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2678 (getloadavg): Use NeXT code under descendant OS's.
2679 * image.c (includes and header section, x_create_bitmap_from_data)
2680 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2681 (image_background_transparent, x_clear_image_1)
2682 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2683 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2684 (x_to_xcolors, x_from_xcolors, x_disable_image)
2685 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2686 other GUIs, including XPM support using code originally written for
2687 Carbon GUI.
2688 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2689 using NS API.
2690 (image_ascent): Use font metrics macros instead of direct struct field
2691 access.
2692 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2693 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2694 Also, handle NS as GTK for menu bar purposes.
2695 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2696 toolkit where they differ.
2697 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2698 use cachelist, still needed under NS.
2699 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2700 (struct widget_value): Define it here for menu.c.
2701 * keymap.c (includes): Include modifier internals.
2702 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2703 NS.
2704 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2705 support for preferring sequences using certain modifiers, specified by
2706 the FIRSTONLY argument.
2707 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2708 under NS GNUstep implementation.
2709 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2710 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2711 * menu.c: Include nsterm.h under NS.
2712 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2713 (free_menubar_widget_tree_value, update_submenu_strings)
2714 (find_and_call_menu_selection): Treat NS as X and NT.
2715 (find_and_return_menu_selection): New function, used for popup menus.
2716 * nsgui.h:
2717 * nsterm.h:
2718 * nsfns.m:
2719 * nsimage.m:
2720 * nsmenu.m:
2721 * nsselect.m:
2722 * nsterm.m: New files.
2723 * process.c (wait_reading_process_output): Under NS, call ns_select()
2724 instead of plain select().
2725 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2726 beginning of buffer.
2727 * sysselect.h (init_process): Rename when compiling under Cocoa to
2728 avoid name conflict.
2729 * termhooks.h (display_info): Add ns_display_info to union.
2730 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2731 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2732 COCOA environment.
2733 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2734 unexec() signature. (Note, this will dump, but the resulting file
2735 crashes; unexosx is used instead; keeping around for reference and
2736 possible aid in getting dump working under GNUstep.)
2737 * w32gui.h (button_type, widget_value): Remove definitions (now in
2738 keyboard.h).
2739 * window.c: Include nsterm.h when compiling under NS.
2740 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2741 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2742 other GUI windowing systems.
2743 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2744 GTK.
2745 (x_consider_frame_title): Under NS, set icon type and frame
2746 modified-state indicator; use ns_set_name_as_filename() when using
2747 formatted title.
2748 (update_window_cursor): Make public when compiling under NS.
2749 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2750 (hourglass_atimer, Vhourglass_delay
2751 * xfaces.c (header section, init_frame_faces, clear_font_table)
2752 (defined_color, unload_color, x_face_list_fonts)
2753 (prepare_face_for_display): Add NS support parallel to other GUIs.
2754 Emulate GCs like other non-X GUIs.
2755 (split_font_name): Don't lowercase font name under NS.
2756 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2757 under NS.
2758 * s/darwin.h: Add support for compilation under NS.
2759
27602008-07-15 Jason Rumney <jasonr@gnu.org>
2761
2762 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2763 (w32_show_hourglass): Rename from show_hourglass.
2764 (w32_hide_hourglass): Rename from hide_hourglass.
2765 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2766 (Vhourglass_delay): Declare extern.
2767 (hourglass_started): Remove.
2768
2769 * xdisp.c (Vhourglass_delay): Remove static.
2770 (hourglass_started, start_hourglass, cancel_hourglass):
2771 Don't include these versions on WINDOWSNT.
2772
27732008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2774
2775 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2776 variables (formerly in xfns.c).
2777 (show_hourglass, hide_hourglass): New prototypes (same).
2778 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2779 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2780 in xfns.c).
2781 (syms_of_xdisp): Declare/initialize display-hourglass,
2782 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2783 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2784 formerly in xfns.c.
2785 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2786 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2787 (start_hourglass, cancel_hourglass): Remove.
2788 (show_hourglass, hide_hourglass): Remove prototypes and static
2789 modifiers.
2790 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2791 hourglass_atimer, hourglass_shown_p declaration/initialization.
2792 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2793 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2794 (start_hourglass, cancel_hourglass): Remove.
2795 (show_hourglass, hide_hourglass): Remove prototypes and static
2796 modifiers.
2797 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2798 hourglass_atimer, hourglass_shown_p declaration/initialization.
2799 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2800 (DEFAULT_HOURGLASS_DELAY): Remove.
2801 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2802 hourglass_shown_p declaration/initialization.
2803
28042008-07-14 Jason Rumney <jasonr@gnu.org>
2805
2806 * w32fns.c (w32_get_arg): Remove wrapper function.
2807 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2808 directly.
2809 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2810
28112008-07-14 Kenichi Handa <handa@m17n.org>
2812
2813 * xfont.c (xfont_open): Add workaround for X's bug.
2814
28152008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2816
2817 * fontset.c: Include <stdio.h> unconditionally.
2818
28192008-07-13 Michael Albinus <michael.albinus@gmx.de>
2820
2821 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2822 for filtering.
2823
28242008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2825
2826 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2827
2828 * m/macppc.h:
2829 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2830
2831 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2832 (SPECIAL_EMACS_INT):
2833 * m/ia64.h (SPECIAL_EMACS_INT):
2834 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2835 * s/gnu.h (NLIST_STRUCT):
2836 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2837 * s/gnu-linux.h (LINUX):
2838 * s/msdos.h (HAVE_FACES):
2839 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2840
2841 * systty.h:
2842 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2843 anymore.
2844
28452008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2846
2847 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2848 always defined as int.
2849
2850 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2851 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2852 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2853 * s/freebsd.h (HAVE_WAIT_HEADER):
2854 * s/bsd-common.h (HAVE_UNION_WAIT):
2855 * s/aix4-2.h (HAVE_WAIT_HEADER):
2856 * m/mips.h (HAVE_UNION_WAIT):
2857 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2858 (COFF, static): Do not define, they are undefined later in the file.
2859
2860 * process.c (update_status): Don't use a union.
2861 (status_convert):
2862 (sigchld_handler): Use int instead of WAITTYPE.
2863
28642008-07-12 Chong Yidong <cyd@stupidchicken.com>
2865
2866 * indent.c (Fvertical_motion): Restore hscroll before moving to
2867 goal column.
2868
28692008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2870
2871 * lisp.h: Remove left over code.
2872
28732008-07-11 Andreas Schwab <schwab@suse.de>
2874
2875 * lisp.h: Fix logic in last change.
2876
2877 * menu.h: New file.
2878 * menu.c: Include it.
2879 * xmenu.c: Likewise.
2880 * Makefile.in: Update dependencies.
2881
28822008-07-11 Kenichi Handa <handa@m17n.org>
2883
2884 * fontset.c (fontset_from_font): Cancel the previous change.
2885
28862008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2887
2888 * lisp.h:
2889 * w32heap.c:
2890 * emacs.c:
2891 * alloc.c: Replace all references of NO_UNION_TYPE with
2892 USE_LISP_UNION_TYPE.
2893
2894 * m/xtensa.h (NO_UNION_TYPE):
2895 * m/vax.h (NO_UNION_TYPE):
2896 * m/template.h (NO_UNION_TYPE):
2897 * m/sparc.h (NO_UNION_TYPE):
2898 * m/mips.h (NO_UNION_TYPE):
2899 * m/macppc.h (NO_UNION_TYPE):
2900 * m/m68k.h (NO_UNION_TYPE):
2901 * m/iris4d.h (NO_UNION_TYPE):
2902 * m/intel386.h (NO_UNION_TYPE):
2903 * m/ibms390x.h (NO_UNION_TYPE):
2904 * m/ibms390.h (NO_UNION_TYPE):
2905 * m/ibmrs6000.h (NO_UNION_TYPE):
2906 * m/ia64.h (NO_UNION_TYPE):
2907 * m/hp800.h (NO_UNION_TYPE):
2908 * m/arm.h (NO_UNION_TYPE):
2909 * m/amdx86-64.h (NO_UNION_TYPE):
2910 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2911 defining it the same.
2912
29132008-07-10 Chong Yidong <cyd@stupidchicken.com>
2914
2915 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2916
29172008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2918
2919 * fileio.c:
2920 * sysdep.c
2921 * systty.h:
2922 * m/ibmrs6000.h:
2923 * m/iris4d.h:
2924 * s/aix4-2.h:
2925 * s/freebsd.h:
2926 * s/gnu-linux.h:
2927 * s/hpux10-20.h:
2928 * s/hpux11.h:
2929 * s/netbsd.h:
2930 * s/sol2-3.h:
2931 * s/sol2-4.h:
2932 * s/sol2.h:
2933 * s/usg5-4.h:
2934 * s/vms.h: Remove references to unused variables.
2935
29362008-07-10 Andreas Schwab <schwab@suse.de>
2937
2938 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2939 pattern before matching the generic family.
2940
29412008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2942
2943 * unexec.c:
2944 * s/vms.h:
2945 * s/usg5-4-2.h:
2946 * s/sol2-5.h:
2947 * s/freebsd.h:
2948 * s/darwin.h: Remove dead code.
2949
2950 * m/template.h:
2951 * m/sparc.h:
2952 * m/mips.h:
2953 * m/m68k.h:
2954 * m/iris4d.h:
2955 * m/intel386.h:
2956 * m/ibms390x.h:
2957 * m/ibms390.h:
2958 * m/ia64.h:
2959 * m/hp800.h:
2960 * m/arm.h:
2961 * m/amdx86-64.h: Remove dead code and references to unused
2962 and compiler defined symbols.
2963
2964 * unexmips.c:
2965 * unexelf.c: Remove references to desupported systems.
2966
2967 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2968
2969 * m/powermac.h: Remove boilerplate comments.
2970 (NO_REMAP): Remove unused definition.
2971
2972 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2973 define them.
2974
29752008-07-10 Kenichi Handa <handa@m17n.org>
2976
2977 * xfont.c (xfont_open): Log the reason of failure.
2978
29792008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2980
2981 * fontset.c (fontset_get_font_group):
2982 * font.c (font_check_otf): Specify argument types.
2983
29842008-07-09 Kenichi Handa <handa@m17n.org>
2985
2986 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2987 non-ASCII char is found.
2988
2989 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2990 (reorder_font_vector): Change the arg preferred_family to font.
2991 Prefer the spec matching with font.
2992 (fontset_get_font_group): New function.
2993 (fontset_find_font): Change the format of an element of a realized
2994 fontset. Use fontset_get_font_group.
2995 (fontset_font): Try the current fontset, the default fontset, the
2996 fallbacks of the current fontset, and the fallbacks of the default
2997 fontset in this order.
2998 (face_for_char): Delete the shortcut to use the current font.
2999 (fontset_from_font): Don't set fonts for Latin in the fontset.
3000
3001 * font.h (font_make_object, font_match_p): Adjust prototypes.
3002
3003 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3004
3005 * font.c (font_make_object): New arg entity and pixelsize.
3006 (font_check_otf_features, font_check_otf): New functions.
3007 (font_match_p): Check :lang, :script, and :otf properties.
3008
3009 * xfont.c (xfont_open): Adjust it for the change of
3010 font_make_object.
3011 (xfont_text_extents): Fix initial setting of metrics.
3012
3013 * ftfont.c (struct ftfont_info): New member index, delete member
3014 fc_charset_idx. Make the member order compatible with struct
3015 xftfont_info.
3016 (fc_charset_table): Change charset names to registry names.
3017 (ftfont_pattern_entity): Delete the args registry and
3018 fc_charset_idx. Change the value of :font-entity property
3019 to (FONTNAME . INDEX). Always set :registry property to
3020 `iso10646-1'.
3021 (struct ftfont_cache_data): New struct.
3022 (ftfont_lookup_cache): New arg for_face.
3023 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3024 (ftfont_driver): Set the member otf_capability.
3025 (ftfont_get_charset): Adjust it for the change of
3026 fc_charset_table.
3027 (OTF_TAG_SYM): New macro.
3028 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3029 for the change of fc_charset_table.
3030 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3031 ftfont_pattern_entity. Add FC_INDEX to objset.
3032 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3033 and ftfont_pattern_entity.
3034 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3035 font_make_object, struct ftfont_info.
3036 (ftfont_has_char): Use ftfont_get_fc_charset.
3037 (ftfont_otf_features, ftfont_otf_capability): New functions.
3038 (ftfont_shape): Use ftfont_get_otf.
3039 (ftfont_text_extents): Fix initial setting of metrics.
3040
3041 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3042 member order compatible with struct ftfont_info.
3043 (xftfont_open): Add FC_CHARSET to the pattern. Set
3044 xftfont_info->ft_size. Don't unlock the face. Check BDF
3045 properties if appropriate.
3046 (xftfont_close): Unlock the face.
3047 (xftfont_anchor_point, xftfont_shape): Deleted.
3048 (syms_of_xftfont): Don't set members anchor_point and shape of
3049 xftfont_driver.
3050
3051 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3052 font_make_object.
3053
3054 * w32font.c (w32font_open): Adjust it for the change of
3055 font_make_object.
3056 (w32font_open_internal): Don't set properties of font_object here.
3057
30582008-07-08 Chong Yidong <cyd@stupidchicken.com>
3059
3060 * macfns.c (x_create_tip_frame):
3061 * w32fns.c (x_create_tip_frame):
3062 * xfns.c (x_create_tip_frame): Pass parameter argument to
3063 face-set-after-frame-default.
3064
3065 * xfaces.c (Finternal_merge_in_global_face): Save merged
3066 attributes for the default face back into the face vector.
3067
30682008-07-08 Andreas Schwab <schwab@suse.de>
3069
3070 * fontset.h: Declare fontset_from_font. Don't declare
3071 new_fontset_from_font and fontset_from_font_name.
3072 * xterm.c: Include "fontset.h".
3073 * Makefile.in (xterm.o): Update dependencies.
3074
30752008-07-08 Glenn Morris <rgm@gnu.org>
3076
3077 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3078 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3079
30802008-07-07 Chong Yidong <cyd@stupidchicken.com>
3081
3082 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3083 (x_set_frame_parameters): Don't bind it.
3084
30852008-07-07 Juanma Barranquero <lekktu@gmail.com>
3086
3087 * w32fns.c (map_w32_filename): Declare extern.
3088
30892008-07-07 Jason Rumney <jasonr@gnu.org>
3090
3091 * w32term.c (WS_EX_LAYERED): Define if not already.
3092
30932008-07-06 Chong Yidong <cyd@stupidchicken.com>
3094
3095 * xfaces.c (set_font_frame_param): Don't try to set the font
3096 parameter if it is still unspecified in the lface.
3097
30982008-07-05 Chong Yidong <cyd@stupidchicken.com>
3099
3100 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3101 face if it didn't already exist.
3102
3103 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3104
31052008-07-05 Andreas Schwab <schwab@suse.de>
3106
3107 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3108
31092008-07-05 Chong Yidong <cyd@stupidchicken.com>
3110
3111 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3112 word-wrapping.
3113 (IT_DISPLAYING_WHITESPACE): New macro.
3114 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3115 when word-wrapping. Simplify word-wrapping logic. Use correct
3116 pixel positions when saving copies of the iterator.
3117 (display_line): Use proper wrap point if the last character on a
3118 line was preceded by whitespace.
3119
31202008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3121
3122 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3123
31242008-07-04 Kenichi Handa <handa@m17n.org>
3125
3126 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3127
3128 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3129
31302008-07-02 Jason Rumney <jasonr@gnu.org>
3131
3132 * xfns.c (syms_of_xfns): Only define x-select-font when both
3133 HAVE_FREETYPE and USE_GTK
3134
3135 * xdisp.c (next_element_from_display_vector): Move assignment out
3136 of if statement.
3137
31382008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3139
3140 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3141
3142 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3143 (syms_of_fileio): Initialize and export them.
3144 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3145
3146 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3147 (Fsystem_move_file_to_trash): New function.
3148 (syms_of_w32fns): Export it to lisp.
3149
31502008-07-01 Jason Rumney <jasonr@gnu.org>
3151
3152 * w32font.c (w32font_text_extents): Don't count overhang as part
3153 of width.
3154
31552008-06-30 Miles Bader <miles@gnu.org>
3156
3157 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3158 Add `avoid_cursor_p' field.
3159
3160 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3161 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3162 (append_glyph, append_composite_glyph, produce_image_glyph)
3163 (append_stretch_glyph): Initialize avoid_cursor_p.
3164 (get_it_property): Rename from `get_line_height_property'.
3165 (x_produce_glyphs): Use get_it_property.
3166 (handle_line_prefix, push_display_prop): New functions.
3167 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3168 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3169 New variables.
3170 (syms_of_xdisp): Initialize them.
3171
31722008-06-30 Kenichi Handa <handa@m17n.org>
3173
3174 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3175 XftDefaultSubstitute (they are called in XftFontMatch).
3176 (xftfont_open): Fix args to ftfont_font_format.
3177
3178 * ftfont.c (fc_charset_table): New member lang.
3179 (ftfont_resolve_generic_family): New arg pattern.
3180 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
3181 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3182 (ftfont_open): Fix args to ftfont_font_format.
3183 (ftfont_font_format): New arg filename.
3184
31852008-06-30 Chong Yidong <cyd@stupidchicken.com>
3186
3187 * xfaces.c (Finternal_merge_in_global_face): If default face was
3188 modified, realize it again. Update the font face attribute.
3189
31902008-06-29 Jason Rumney <jasonr@gnu.org>
3191
3192 * w32term.c (x_set_frame_alpha): Fix logic.
3193
31942008-06-29 Kenichi Handa <handa@m17n.org>
3195
3196 * fontset.c (Finternal_char_font): Return font-object instead of
3197 font-name.
3198
3199 * composite.c (get_composition_id): Fix the width calculation for TAB.
3200
32012008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3202
3203 * indent.c (Fvertical_motion): Properly handle float column arg.
3204
32052008-06-28 Jason Rumney <jasonr@gnu.org>
3206
3207 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3208 (pfnSetLayeredWindowAttributes): New function pointer.
3209 (w32_initialize): Initialize it when supported.
3210 (x_set_frame_alpha): New function.
3211
3212 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3213 (w32_frame_parm_handlers): Set alpha handler.
3214
3215 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3216
32172008-06-27 Jason Rumney <jasonr@gnu.org>
3218
3219 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3220 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3221 (w32_to_x_charset, x_to_w32_charset)
3222 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3223 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3224 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3225 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3226 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3227 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3228 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3229 (Qw32_charset_unicode): Remove.
3230 (syms_of_w32fns): Update for above changes.
3231
3232 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3233 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3234 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3235 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3236 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3237 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3238 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3239 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3240 (syms_of_w32font): Update for above changes.
3241
32422008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3243
3244 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3245 removed #if.
3246 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3247
32482008-06-26 Juanma Barranquero <lekktu@gmail.com>
3249 Eli Zaretskii <eliz@gnu.org>
3250
3251 * makefile.w32-in (LOCAL_FLAGS):
3252 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3253
3254 * sysdep.c (_spawnlp, _getpid):
3255 Declare with explicit _cdecl instead of _CRTAPI1.
3256
3257 * editfns.c (Fget_internal_run_time):
3258 Check for WINDOWSNT with #ifdef, not #if.
3259
32602008-06-26 Jason Rumney <jasonr@gnu.org>
3261
3262 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3263
3264 * w32term.c (x_draw_glyph_string_foreground)
3265 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3266 Use FONT_HANDLE macro.
3267 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3268
3269 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3270 (uniscribe_encode_char): Use FONT_HANDLE macro.
3271
3272 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3273 (w32font_text_extents): Use precast w32_font.
3274 (w32font_close): Free cached metrics.
3275 (w32font_open_internal): Allocate space for name on stack.
3276
32772008-06-26 Chong Yidong <cyd@stupidchicken.com>
3278
3279 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3280
32812008-06-26 Jason Rumney <jasonr@gnu.org>
3282
3283 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3284 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3285
32862008-06-26 Juanma Barranquero <lekktu@gmail.com>
3287
3288 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3289
32902008-06-26 Jason Rumney <jasonr@gnu.org>
3291
3292 * w32bdf.c, w32bdf.h: Remove obsolete files.
3293
3294 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3295
3296 * w32gui.h: Don't include w32bdf.h.
3297 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3298 Remove obsolete font support.
3299
3300 * w32font.h (struct w32font_info): Remove compat_w32_font.
3301 Add hfont member.
3302 (FONT_COMPAT): Remove obsolete macro.
3303
3304 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3305 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3306 (w32font_open_internal): Remove compat code. Set new hfont member.
3307 (Fx_select_font): Use new hfont member.
3308
3309 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3310 (uniscribe_encode_char): Use new hfont member.
3311
3312 * w32term.c (x_draw_glyph_string_foreground)
3313 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3314 (x_draw_glyph_string): Use metrics in w32font_info.
3315
33162008-06-26 Kenichi Handa <handa@m17n.org>
3317
3318 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3319
33202008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3321
3322 * unexnext.c:
3323 * m/ews4800.h:
3324 * m/hp9000s300.h:
3325 * m/ibm370aix.h:
3326 * m/mips-siemens.h:
3327 * m/ncr386.h:
3328 * m/next.h:
3329 * m/pmax.h:
3330 * m/powerpcle.h:
3331 * m/tandem-s2.h:
3332 * s/386bsd.h:
3333 * s/bsd386.h:
3334 * s/bsd4-1.h:
3335 * s/bsd4-2.h:
3336 * s/bsdos2-1.h:
3337 * s/bsdos2.h:
3338 * s/bsdos3.h:
3339 * s/bsdos4.h:
3340 * s/nextstep.h:
3341 * s/ultrix4-3.h:
3342 * s/usg5-0.h:
3343 * s/usg5-2-2.h:
3344 * s/usg5-2.h:
3345 * s/usg5-4-3.h:
3346 * s/ux4800.h:
3347 * s/uxpds.h:
3348 * s/uxpv.h: Remove support for obsolete systems.
3349 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3350 Remove, insert contents in s/hpux-10.20.h.
3351 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3352 Remove, insert contents in s/aix4-2.h.
3353 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3354 * s/bsd4-3.h: Rename to ...
3355 * s/bsd-common.h: ... this.
3356 * data.c:
3357 * doc.c:
3358 * ecrt0.c:
3359 * emacs.c:
3360 * fileio.c:
3361 * floatfns.c:
3362 * keyboard.c:
3363 * mem-limits.h:
3364 * print.c:
3365 * process.c:
3366 * sysdep.c:
3367 * syssignal.h:
3368 * systty.h:
3369 * syswait.h:
3370 * term.c:
3371 * unexec.c:
3372 * unexelf.c:
3373 * unexhp9k800.c:
3374 * m/hp800.h:
3375 * m/ibmrs6000.h:
3376 * m/mips.h:
3377 * m/vax.h:
3378 * s/darwin.h:
3379 * s/freebsd.h:
3380 * s/gnu.h:
3381 * s/ms-w32.h:
3382 * s/msdos.h:
3383 * s/netbsd.h:
3384 * s/template.h: Remove references to obsolete variables.
3385
3386 * Makefile.in: Add dependencies for all unexec files.
3387 (admindir): Remove unused variable.
3388 (UNEXEC_SRC): Remove references.
3389
33902008-06-25 Chong Yidong <cyd@stupidchicken.com>
3391
3392 * xfns.c (x_default_font_parameter): If Xft is available, first
3393 try Monospace-12 for the default font.
3394
33952008-06-25 Jason Rumney <jasonr@gnu.org>
3396
3397 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3398
33992008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3400
3401 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3402
3403 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3404
34052008-06-25 Juanma Barranquero <lekktu@gmail.com>
3406
3407 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3408 <scroll-conservatively>: Fix typo in docstring.
3409
3410 * xselect.c (Fx_send_client_event): Doc fix.
3411
34122008-06-25 Kenichi Handa <handa@m17n.org>
3413
3414 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3415
3416 * font.c (font_parse_fcname): Remove unused variables.
3417 (font_sort_entites): Delete the arg SPEC. Caller changed.
3418 Fix for the case of ! best_only.
3419 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3420
3421 * lisp.h (Fstring_to_unibyte): EXFUN it.
3422
3423 * character.h (str_to_unibyte): Extern it.
3424
3425 * character.c (str_to_unibyte): New function.
3426
3427 * fns.c (Fstring_to_unibyte): New function.
3428 (syms_of_fns): Defsubr it.
3429
34302008-06-24 Kenichi Handa <handa@m17n.org>
3431
3432 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3433 DPI too.
3434 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3435
34362008-06-24 Andreas Schwab <schwab@suse.de>
3437
3438 * Makefile.in (${lispsource}loaddefs.el): Rename from
3439 ../lisp/loaddefs.el.
3440 (bootstrap-clean): Do what distclean does but don't remove
3441 Makefile.
3442 (distclean): Depend on bootstrap-clean and remove Makefile.
3443
34442008-06-24 Chong Yidong <cyd@stupidchicken.com>
3445
3446 * buffer.h (struct buffer): New member word_wrap.
3447
3448 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3449 word-wrap.
3450 (init_buffer_once): Initialize them.
3451
3452 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3453 line_wrap enum possessing three possible values.
3454
3455 * termopts.h: Replace truncate_partial_width_windows with
3456 Vtruncate_partial_width_windows.
3457
3458 * dispnew.c (direct_output_for_insert): Avoid direct output when
3459 inserting a space with word wrap on.
3460
3461 * indent.c (compute_motion): Obey integer values of
3462 truncate-partial-width-windows.
3463
3464 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3465 replacing truncate_partial_width_windows.
3466 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3467 truncate only if the window width is below that integer.
3468 (start_display, resize_mini_window, produce_stretch_glyph)
3469 (display_string, move_it_in_display_line_to): Use line_wrap.
3470 (back_to_previous_visible_line_start, reseat_1): Reset
3471 string_from_display_prop_p.
3472 (display_line): Extend default face to end of line when wrapping.
3473
34742008-06-24 Kim F. Storm <storm@cua.dk>
3475
3476 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3477 to wrap continued lines at word boundaries.
3478
34792008-06-24 Jason Rumney <jasonr@gnu.org>
3480
3481 * font.c (Ffont_face_attributes): Multiply pixel size before point
3482 conversion to avoid multiplying rounding error.
3483
34842008-06-23 Jason Rumney <jasonr@gnu.org>
3485
3486 * w32term.c (x_draw_glyph_string_background)
3487 (x_draw_glyph_string): Remove old bdf font code.
3488
3489 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3490
34912008-06-22 Kenichi Handa <handa@m17n.org>
3492
3493 * font.c (font_find_for_lface): Try the adstyle specified in
3494 the property of LFACE_FONT of LFACE (if any).
3495
34962008-06-21 Seiji Zenitani <zenitani@mac.com>
3497 Ryo Yoshitake <ryo@shiftmode.net>
3498
3499 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3500
35012008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3502
3503 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3504 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3505 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3506 (witness-emacs): Remove.
3507 (lisp, shortlisp): Move loaddefs.el earlier.
3508 (mostlyclean): Forget about witness-emacs.
3509
35102008-06-22 Glenn Morris <rgm@gnu.org>
3511
3512 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3513 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3514
35152008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3516
3517 * Makefile.in (PRECOMP): Remove.
3518 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3519 (witness-emacs): Run `compile-first'.
3520 (.el.elc): Use the new compile-onefile target.
3521
35222008-06-21 Kenichi Handa <handa@m17n.org>
3523
3524 * xftfont.c (xftfont_open): Handle QCembolden only when
3525 FC_EMBOLDEN is defined.
3526
35272008-06-21 Andreas Schwab <schwab@suse.de>
3528
3529 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3530 (.el.elc): Likewise.
3531
35322008-06-21 Miles Bader <miles@gnu.org>
3533
3534 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3535 build dir, not the lisp source dir.
3536
35372008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3538
3539 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3540 (bootstrapclean): Remove.
3541 (.el.elc): New rule.
3542 (PRECOMP): New var.
3543 (../lisp/subdirs.el): Remove.
3544 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3545 (witness-emacs): New target.
3546 (mostlyclean): Remove witness-emacs as well.
3547 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3548 Add witness-emacs dependency.
3549
35502008-06-20 Chong Yidong <cyd@stupidchicken.com>
3551
3552 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3553 defined by the font.
3554
35552008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3556
3557 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3558 (bootstrap-clean): New target that keeps TAGS around.
3559 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3560 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3561
35622008-06-20 Jason Rumney <jasonr@gnu.org>
3563
3564 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3565 Remove obsolete font code.
3566
3567 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3568 to determine language support.
3569
35702008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3571
3572 * sysdep.c (cfsetspeed): New fun extracted from the code.
3573 (cfmakeraw): Move before first use.
3574
35752008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3576
3577 * sysdep.c (cfmakeraw): Provide fallback implementation.
3578 (serial_configure): Provide fallback implementation of cfsetspeed.
3579
35802008-06-20 Kenichi Handa <handa@m17n.org>
3581
3582 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3583 the pattern.
3584
3585 * fontset.c (fontset_from_font): Copy font_spec before changing
3586 the elements.
3587
3588 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3589
35902008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3591
3592 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3593 for explicit `font' parameters.
3594
3595 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3596
35972008-06-19 Kenichi Handa <handa@m17n.org>
3598
3599 * frame.c: Include <ctype.h>.
3600 (x_set_font_backend): Allow spacing characters in the X resource
3601 for FontBackend.
3602
36032008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3604
3605 * w32fns.c, xfns.c (Qfont_param): New var.
3606 (syms_of_w32fns): Initialize it.
3607 (x_default_font_parameter): Record explicit `font' into
3608 `font-parameter'.
3609
36102008-06-18 Kenichi Handa <handa@m17n.org>
3611
3612 * font.c (font_parse_xlfd): Fix previous change.
3613 (font_parse_fcname): Don't use :fc-unknown-spec.
3614 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3615 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3616 (font_add_log): Prepend the driver name to the resulting fonts.
3617
3618 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3619 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3620 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3621
3622 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3623 (QCembolden): New variables.
3624 (syms_of_xftfont): DEFSYM them.
3625 (xftfont_open): Call XftFontMatch. Don't trust the result of
3626 XftTextExtents8 if the pixel_size is less than 5.
3627
36282008-06-18 Andreas Schwab <schwab@suse.de>
3629
3630 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3631 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3632
36332008-06-18 Jason Rumney <jasonr@gnu.org>
3634
3635 * w32font.c (w32font_list, w32font_match): Add logging.
3636
3637 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3638
36392008-06-17 Chong Yidong <cyd@stupidchicken.com>
3640
3641 * font.c (font_parse_fcname): Store divider characters for
3642 unknown-spec list. For known key symbols, intern using correct
3643 symbol name.
3644
36452008-06-17 Kenichi Handa <handa@m17n.org>
3646
3647 * xfaces.c (realize_default_face): If the frame is not on window
3648 system, set the fontset of face to nil.
3649
36502008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3651
3652 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3653
36542008-06-16 Juanma Barranquero <lekktu@gmail.com>
3655
3656 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3657 (build_font_name_from_vector): Delete externs.
3658
3659 * xfaces.c (struct font_name): Don't declare.
3660
36612008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3662
3663 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3664
36652008-06-16 Chong Yidong <cyd@stupidchicken.com>
3666
3667 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3668
36692008-06-16 Juanma Barranquero <lekktu@gmail.com>
3670
3671 * font.c (Ffont_spec): Fix usage in docstring.
3672 (Ffont_face_attributes): Doc fix.
3673
36742008-06-16 Andreas Schwab <schwab@suse.de>
3675
3676 * font.c (Ffont_face_attributes): Fix definition.
3677
36782008-06-16 Jason Rumney <jasonr@gnu.org>
3679
3680 * font.h (font_style_symbolic_from_value): Remove.
3681
3682 * font.c (font_style_symbolic_from_value): Remove.
3683 (font_style_symbolic): Revert to pre 2008-06-13 version.
3684
3685 * w32font.c (w32_to_fc_weight): New function.
3686 (w32font_full_name, logfont_to_fcname): Use it.
3687
36882008-06-16 Kenichi Handa <handa@m17n.org>
3689
3690 * font.c (font_check_object): Delete it.
3691 (font_clear_cache): Check if a font-object is alive.
3692 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3693 font-object to nil.
3694 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3695 (font_at): Don't call font_check_object.
3696 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3697
36982008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3699
3700 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3701
37022008-06-16 Chong Yidong <cyd@stupidchicken.com>
3703
3704 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3705
37062008-06-15 Chong Yidong <cyd@stupidchicken.com>
3707
3708 * font.c (font_parse_fcname): Only one decimal point.
3709 (font_unparse_fcname): Handle data in family and foundry indices
3710 as symbols, not strings.
3711 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3712
3713 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3714
3715 * font.h (font_unparse_gtkname): Add prototype.
3716
37172008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3718
3719 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3720
37212008-06-15 Andreas Schwab <schwab@suse.de>
3722
3723 * font.c (font_update_drivers): Fix crash when no drivers match.
3724
37252008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3726
3727 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3728 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3729
37302008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3731
3732 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3733
37342008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3735
3736 * process.c (Fserial_process_configure, Fprocess_send_eof):
3737 Use EQ to compare Lisp_Objects.
3738
37392008-06-13 Jason Rumney <jasonr@gnu.org>
3740
3741 * w32fns.c (Fw32_select_font): Remove old font API function.
3742
3743 * w32font.c (logfont_to_fcname): New function.
3744 (Fx_select_font): New font dialog function compatible with
3745 GTK/fontconfig version.
3746
3747 * font.c (font_style_symbolic_from_value): New function.
3748 (font_style_symbolic): Use it.
3749
3750 * font.h (font_style_symbolic_from_value): Declare new function.
3751
37522008-06-13 Juanma Barranquero <lekktu@gmail.com>
3753
3754 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3755 <font-width-table>: Fix typos in docstrings.
3756
37572008-06-13 Daniel Engeler <engeler@gmail.com>
3758
3759 These changes add serial port access.
3760 * process.c: Add HAVE_SERIAL.
3761 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3762 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3763 (list_processes_1, select_wrapper, Fstop_process)
3764 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3765 (status_notify): Modify to handle serial processes.
3766 [HAVE_SERIAL] (Fserial_process_configure)
3767 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3768 New functions.
3769 * process.h (struct Lisp_Process): Add `type'.
3770 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3771 New functions.
3772 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3773 serial ports.
3774 (serial_open, serial_configure) New functions.
3775 * w32.h: Add FILE_SERIAL.
3776 (struct _child_process): Add ovl_read, ovl_write.
3777
37782008-06-13 Kenichi Handa <handa@m17n.org>
3779
3780 * dispextern.h (enum lface_attribute_index): New member
3781 LFACE_FOUNDRY_INDEX.
3782
3783 * font.c (font_score): Delete arg alternate_families. Check only
3784 weight, slant, width, and size. Ignore the difference of alias
3785 style symbols.
3786 (font_sort_entites): Adjust for the above change. Reflect the
3787 order of font-driver to scores.
3788 (font_list_entities): Don't check alternate_familes here.
3789 (font_clear_prop): Handle foundry.
3790 (font_update_lface): Don't parse "foundry-family" form here.
3791 Handle FONT_FOUNDRY_INDEX.
3792 (font_find_for_lface): Likewise. Handle alternate families here.
3793 If registry is nil, try iso8859-1 and ascii-0.
3794 (font_open_for_lface): Pay attention to size in ENTITY.
3795 (font_open_by_name): Simplify by calling font_load_for_lface.
3796 (free_font_driver_list): Delete it.
3797 (font_update_drivers): Preserve the order of backends.
3798 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3799 of font_score and font_sort_entites.
3800 (font_update_sort_order): Likewise.
3801
3802 * xfaces.c (LFACE_FOUNDRY): New macro.
3803 (check_lface_attrs): Check foundry.
3804 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3805 (merge_face_vectors): Check foundry.
3806 (merge_face_ref): Likewise.
3807 (Finternal_set_lisp_face_attribute): Likewise.
3808 (x_update_menu_appearance): Likewise.
3809 (Finternal_get_lisp_face_attribute): Likewise.
3810 (lface_hash): Likewise.
3811 (lface_same_font_attributes_p): Likewise.
3812 (x_supports_face_attributes_p): Likewise.
3813 (tty_supports_face_attributes_p): Likewise.
3814 (Finternal_set_alternative_font_family_alist): Intern strings.
3815 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3816 (realize_default_face): Set LFACE_FOUNDRY (lface).
3817
3818 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3819 font-driver at first.
3820
3821 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3822
38232008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3824
3825 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3826
38272008-06-12 Jim Meyering <meyering@redhat.com>
3828
3829 Make unexec_free handle NULL the same way free does.
3830 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3831
38322008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3833
3834 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3835 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3836 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3837 (WEAK_ALIAS): Simplify.
3838 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3839 when searching a unibyte buffer.
3840
38412008-06-12 Chong Yidong <cyd@stupidchicken.com>
3842
3843 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3844
38452008-06-12 Juanma Barranquero <lekktu@gmail.com>
3846
3847 * w32font.c: Include ctype.h.
3848
38492008-06-11 Jason Rumney <jasonr@gnu.org>
3850
3851 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3852 misreported as space.
3853 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3854 as aliases for registry iso10646-1.
3855
38562008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3857
3858 * buffer.c (clone_per_buffer_values): Skip `name'.
3859
38602008-06-11 Chong Yidong <cyd@stupidchicken.com>
3861
3862 * font.c (font_parse_fcname): Fix last change; accept decimal
3863 points in font size.
3864
38652008-06-10 Jason Rumney <jasonr@gnu.org>
3866
3867 * w32uniscribe.c (add_opentype_font_name_to_list):
3868 Skip non unicode fonts.
3869
38702008-06-10 Chong Yidong <cyd@stupidchicken.com>
3871
3872 * xfns.c (Fx_font_dialog): New function.
3873
3874 * gtkutil.c (xg_dialog_response_cb): Rename from
3875 xg_file_response_callback.
3876 (pop_down_dialog): Rename from pop_down_file_dialog.
3877 (xg_get_file_name): Callers changed.
3878 (xg_get_font_name): New function.
3879
3880 * gtkutil.h (xg_get_font_name): Insert prototype.
3881
38822008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3883
3884 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3885 x_underline_minimum_display_offset.
3886 (syms_of_xdisp): Declare it here rather than in xterm.c.
3887 * dispextern.h (underline_minimum_offset): Declare it.
3888 * w32term.c (x_draw_glyph_string): Use it.
3889 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3890 (syms_of_xterm): Don't declare it any more.
3891 (x_draw_glyph_string): Adjust to the new name.
3892
38932008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3894
3895 * xterm.c (x_underline_minimum_display_offset): New var.
3896 (x_draw_glyph_string): Use it.
3897 (syms_of_xterm): Declare it.
3898
38992008-06-10 Chong Yidong <cyd@stupidchicken.com>
3900
3901 * font.c (font_parse_fcname): Accept GTK-style font names too.
3902
39032008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3904
3905 * dired.c (file_name_completion): Don't return t if the match is exact
3906 but with different capitalization.
3907 * minibuf.c (Ftry_completion): Simplify.
3908
3909 * window.c (Vwindow_point_insertion_type): New var.
3910 (set_window_buffer): Use it.
3911 (syms_of_window): Init and export it to Lisp.
3912
39132008-06-10 Kenichi Handa <handa@m17n.org>
3914
3915 * font.h (font_intern_prop): Prototype adjusted.
3916
3917 * font.c (font_intern_prop): New arg force_symbol.
3918 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3919 Adjust for the change of font_intern_prop.
3920
3921 * ftfont.c (ftfont_pattern_entity):
3922 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3923 (w32_registry):
3924 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3925 the change of font_intern_prop.
3926
39272008-06-09 Juanma Barranquero <lekktu@gmail.com>
3928
3929 * w32menu.c (digest_single_submenu): Declare extern.
3930
39312008-06-09 Jason Rumney <jasonr@gnu.org>
3932
3933 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3934
3935 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3936 (parse_single_submenu): Remove.
3937 (digest_single_submenu): Remove.
3938 (syms_of_w32menu): Don't initialise variables that have moved
3939 to menu.c.
3940 (set_frame_menubar): Sync with version in xmenu.c.
3941 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3942
3943 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3944 Make static again.
3945
39462008-06-09 Jason Rumney <jasonr@gnu.org>
3947
3948 Changes to w32 files related to the move of common menu code
3949 to menu.c on 2008-06-08 by Chong Yidong.
3950
3951 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3952 defs to w32gui.h.
3953 (single_keymap_panes, push_menu_item, push_menu_pane):
3954 Make globally visible.
3955
3956 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3957 (local_free, malloc_widget_value, free_widget_value)
3958 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3959 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3960 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3961 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3962 (menu_items, menu_items_allocated, menu_items_used)
3963 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3964 (init_menu_items, finish_menu_items, discard_menu_items)
3965 (grow_menu_items, push_submenu_start, push_submenu_end)
3966 (push_left_right_boundary, push_menu_pane, push_menu_item)
3967 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3968 (free_menubar_widget_tree_value, parse_single_submenu)
3969 (update_submenu_strings): Remove functions.
3970 (xmalloc_widget_value): Remove and declare extern.
3971
3972 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3973 (OBJ1): Build it.
3974
3975 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3976 (local_heap, local_alloc, local_free, malloc_widget_value)
3977 (free_widget_value): Define here.
3978
39792008-06-09 Kenichi Handa <handa@m17n.org>
3980
3981 * font.h (Qascii_0): Extern it.
3982
3983 * font.c (Qascii_0): New variable.
3984 (syms_of_font): DEFSYM it.
3985 (font_open_by_name): If the registry "iso8859-1" fails, try also
3986 "ascii-0".
3987
3988 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3989
39902008-06-08 Kenichi Handa <handa@m17n.org>
3991
3992 * .gdbinit (xfont): New command.
3993
39942008-06-08 Andreas Schwab <schwab@suse.de>
3995
3996 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3997 * Makefile.in (menu.o): Update dependencies.
3998
3999 * Makefile.in (obj): Always add menu.o.
4000 * emacs.c (main): Always call syms_of_menu.
4001 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4002
40032008-06-08 Chong Yidong <cyd@stupidchicken.com>
4004
4005 * Makefile.in: Compile menu.c.
4006
4007 * lisp.h: Declare syms_of_menu.
4008
4009 * emacs.c (main): Call syms_of_menu.
4010
4011 * keyboard.h: Relocate platform-independent menu definitions from
4012 xmenu.c.
4013
4014 * menu.c: New file. Relocate platform-independent menu
4015 definitions from xmenu.c. Suggested by Adrian Robert.
4016
4017 * xmenu.c: Remove platform-independent menu definitions.
4018 (menu_items menu_items_inuse, menu_items_allocated)
4019 (menu_items_used, menu_items_n_panes)
4020 (menu_items_submenu_depth): Move to keyboard.h.
4021 (init_menu_items, finish_menu_items, unuse_menu_items)
4022 (discard_menu_items, restore_menu_items, save_menu_items)
4023 (grow_menu_items, push_submenu_start, push_submenu_end)
4024 (push_left_right_boundary, push_menu_pane, push_menu_item)
4025 (keymap_panes, single_keymap_panes, single_menu_item)
4026 (list_of_panes, list_of_items, find_and_call_menu_selection)
4027 (xmalloc_widget_value, free_menubar_widget_value_tree)
4028 (parse_single_submenu, digest_single_submenu)
4029 (update_submenu_strings): Move to menu.c.
4030
40312008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4032
4033 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4034
40352008-06-06 Miles Bader <miles@gnu.org>
4036
4037 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4038 face, not frame default.
4039
40402008-06-05 Martin Rudalics <rudalics@gmx.at>
4041
4042 * window.c (pop_up_windows, pop_up_frames)
4043 (display_buffer_reuse_frames, Vpop_up_frame_function)
4044 (Vdisplay_buffer_function, Veven_window_heights)
4045 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4046 (Vspecial_display_function, Vsame_window_buffer_names)
4047 (Vsame_window_regexps, split_height_threshold)
4048 (Vsplit_window_preferred_function): Move those vars to window.el.
4049 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4050 (Fdisplay_buffer): Move those functions to window.el.
4051 (syms_of_window): Remove corresponding declarations.
4052 (display_buffer): New function.
4053 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4054 * dispnew.c (Flast_nonminibuf_frame): New function.
4055 * buffer.c (Fpop_to_buffer): Move to window.el.
4056
40572008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4058
4059 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4060
40612008-06-05 Kenichi Handa <handa@m17n.org>
4062
4063 * coding.c (detect_coding): Fix previous change.
4064 (detect_coding_system): Likewise.
4065
40662008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4067
4068 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4069
4070 * keymap.c (Vminibuffer_local_filename_must_match_map):
4071 Rename from Vminibuffer_local_must_match_filename_map.
4072 (syms_of_keymap):
4073 * minibuf.c (Fcompleting_read): Adjust accordingly.
4074 * commands.h: Rename declaration as well.
4075
40762008-06-05 Kenichi Handa <handa@m17n.org>
4077
4078 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4079 family name.
4080 (Ffont_put): Likewise.
4081
4082 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4083 current font-spec.
4084
4085 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4086 is unspecified.
4087
4088 * xfaces.c (realize_x_face): If the font-related face attributes
4089 are the same as those of default face, realize a new fontset from
4090 default->fontset.
4091 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4092
40932008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4094
4095 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4096 (move_it_in_display_line): New wrapper.
4097
4098 * window.c (window_scroll_pixel_based_preserve_x)
4099 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4100 (window_scroll_pixel_based, window_scroll_line_based):
4101 Use them to preserve column positions.
4102 (syms_of_window): Initialize them.
4103
4104 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4105 (HPOS . VPOS) pair.
4106
4107 * dispextern.h (move_it_in_display_line): Declare.
4108
41092008-06-05 Juanma Barranquero <lekktu@gmail.com>
4110
4111 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4112 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4113 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4114
41152008-06-04 Juanma Barranquero <lekktu@gmail.com>
4116
4117 * window.c (Fset_window_parameter): Doc fix.
4118 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4119
41202008-06-04 Joakim Verona <joakim@verona.se>
4121
4122 * window.h (struct window): Add new member window_parameters.
4123
4124 * window.c (Fwindow_parameters, Fwindow_parameter)
4125 (Fset_window_parameter): New defuns.
4126 (syms_of_window): Defsubr the new defuns.
4127 (make_window): Initialize window_parameters to nil.
4128
41292008-06-04 John Paul Wallington <jpw@pobox.com>
4130
4131 * eval.c (Fdefmacro): Doc fix.
4132
41332008-06-04 Kenichi Handa <handa@m17n.org>
4134
4135 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4136 Be sure to call setup_coding_system when we find a proper coding system.
4137 (detect_coding_system): Fix handling of coding->head_ascii.
4138
41392008-06-03 Andreas Schwab <schwab@suse.de>
4140
4141 * font.c (font_prop_validate_spacing): Fix last change.
4142
41432008-06-03 Kenichi Handa <handa@m17n.org>
4144
4145 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4146 (font_parse_fcname): Fix handling of unknown key.
4147
4148 * xfont.c (xfont_list): Try an alias.
4149
4150 * charset.c (char_charset): Return NULL if the arg charset_list is
4151 specified and C doesn't belong to any of them.
4152
41532008-06-02 Chip Coldwell <coldwell@redhat.com>
4154
4155 * font.c (font_pixel_size): Don't take cdr of an integer.
4156
41572008-06-02 Jim Meyering <meyering@redhat.com>
4158
4159 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4160 * alloc.c (xfree): Return right away for a NULL arg.
4161 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4162 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4163 * mac.c (create_apple_event_from_event_ref): Likewise.
4164 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4165 Likewise.
4166 * doprnt.c (doprnt1): Likewise.
4167 * frame.c (frame): Likewise.
4168 * keyboard.c (wipe_kboard): Likewise.
4169 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4170 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4171 * term.c (tty_default_color_capabilities, maybe_fatal)
4172 (delete_tty): Likewise.
4173 * w16select.c (string): Likewise.
4174 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4175 * w32bdf.c (w32_free_bdf_font): Likewise.
4176 * w32fns.c (w32_unload_font): Likewise.
4177 * w32font.c (w32font_close): Likewise.
4178 * window.c (size_window): Likewise.
4179 * xselect.c (receive_incremental_selection): Likewise.
4180 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4181 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4182 * w32.c (stat): Likewise.
4183
4184 Remove useless if-before-free tests.
4185 * editfns.c (Fset_time_zone_rule): Likewise.
4186 * lread.c (nosuffix): Likewise.
4187 * ralloc.c (get_bloc): Likewise.
4188 * regex.c (reg_free): Likewise.
4189 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4190 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4191 * xsmfns.c (smc_save_yourself_CB): Likewise.
4192
41932008-06-02 Kenichi Handa <handa@m17n.org>
4194
4195 * font.c (font_find_for_lface): Handle float font size.
4196 (font_open_for_lface): Likewise.
4197
4198 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4199 comparing the properties.
4200
42012008-06-01 Jason Rumney <jasonr@gnu.org>
4202
4203 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4204 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4205 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4206 Don't add empty script list.
4207 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4208
42092008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4210
4211 * Makefile.in (dot, dotdot): Remove, update users.
4212 ".." has been used elsewhere in the file for a long time.
4213 (LIBXT_STATIC): Remove conditional based on unused variable.
4214
42152008-06-01 Miles Bader <miles@gnu.org>
4216
4217 * xfaces.c (Vface_remapping_alist): New variable.
4218 (syms_of_xfaces): Initialize it.
4219 (enum named_merge_point_kind): New type.
4220 (struct named_merge_point): Add `named_merge_point_kind' field.
4221 (push_named_merge_point): Make cycle detection respect different
4222 named-merge-point kinds.
4223 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4224 Remove face-name alias resolution.
4225 (lface_from_face_name): New definition using
4226 `lface_from_face_name_no_resolve'.
4227 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4228 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4229 (get_lface_attributes): New definition that layers face-remapping on
4230 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4231 (lookup_basic_face): New function.
4232 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4233 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4234 `get_lface_attributes'.
4235 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4236 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4237 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4238
4239 * xdisp.c (init_iterator): Pass base_face_id through
4240 `lookup_basic_face' when we actually use it as a face-id.
4241 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4242 DEFAULT_FACE_ID.
4243
4244 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4245 lookup the initial face-id.
4246
4247 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4248
42492008-06-01 Juanma Barranquero <lekktu@gmail.com>
4250
4251 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4252 (Fremove_text_properties): Fix typos in docstrings.
4253
42542008-05-31 Kenichi Handa <handa@m17n.org>
4255
4256 * font.c (font_list_entities): Fix the car part of data to be
4257 stored in the cache.
4258
4259 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4260
42612008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4262
4263 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4264 Add a `test' argument so another predicate than `equal' can be used.
4265 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4266 (map_char_table): Remove unused vars `c' and `i'.
4267 * lisp.h (Foptimize_char_table): Adjust declaration.
4268 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4269
42702008-05-30 Kenichi Handa <handa@m17n.org>
4271
4272 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4273 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4274 defined.
4275
42762008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4277
4278 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4279 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4280 frame-local settings for the same variable.
4281
42822008-05-30 Kenichi Handa <handa@m17n.org>
4283
4284 * fontset.c (Ffont_info): Move to font.c.
4285 (syms_of_fontset): Delete defsubr of Sfont_info.
4286
4287 * font.c (font_style_to_value, font_score): Delete casting of the
4288 args to xstcasecmp.
4289 (register_font_driver): Increment num_font_drivers only when
4290 registering the driver globally.
4291 (Ffont_info): Move from fontset.c. Handle a font object too.
4292 (syms_of_font): Defsubr Sfont_info.
4293
42942008-05-29 Kenichi Handa <handa@m17n.org>
4295
4296 * coding.h (enum define_coding_utf8_arg_index): New enum.
4297 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4298 coding_attr_utf_bom.
4299 (enum utf_bom_type): Rename from utf_16_bom_type.
4300 (struct utf_16_spec): Adjust for the above change.
4301 (struct coding_system): Add utf_8_bom in `spec' union.
4302
4303 * coding.c (CODING_UTF_8_BOM): New macro.
4304 (enum coding_category): Delete coding_category_utf_8, add
4305 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4306 coding_category_utf_8_sig.
4307 (CATEGORY_MASK_UTF_8): Delete it.
4308 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4309 (CATEGORY_MASK_UTF_8_SIG): New macros.
4310 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4311 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4312 CATEGORY_MASK_UTF_8_SIG.
4313 (CATEGORY_MASK_UTF_8): New macro.
4314 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4315 (detect_coding_utf_8): Check BOM.
4316 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4317 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4318 (encode_coding_utf_16): Likewise.
4319 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4320 (detect_coding, detect_coding_system): Handle utf-8-auto.
4321 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4322 (syms_of_coding): Fix setting up of Vcoding_category_table.
4323
43242008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4325
4326 * process.c (Faccept_process_output): If `millisec' is non-nil,
4327 `seconds' default to 0.
4328 (wait_reading_process_output): Also return non-nil if we read output
4329 from a non-running process.
4330
43312008-05-29 Jason Rumney <jasonr@gnu.org>
4332
4333 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4334 `raster' specified.
4335 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4336 in the uniscribe backend, but disallow any font that has no
4337 unicode subrange support.
4338
43392008-05-29 Juanma Barranquero <lekktu@gmail.com>
4340
4341 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4342 Fix typos in docstrings.
4343
43442008-05-29 Kenichi Handa <handa@m17n.org>
4345
4346 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4347 (Fx_family_fonts): Set frame correctly.
4348
43492008-05-28 Jason Rumney <jasonr@gnu.org>
4350
4351 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4352
43532008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4354
4355 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4356 calling build_annotations.
4357
43582008-05-28 Juanma Barranquero <lekktu@gmail.com>
4359
4360 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4361 (Fencode_coding_string):
4362 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4363 <latin-extra-code-table>: Fix typos in docstrings.
4364 (syms_of_coding) <coding-system-alist>: Doc fix.
4365 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4366
43672008-05-28 Kenichi Handa <handa@m17n.org>
4368
4369 * fontset.c (Ffont_info): Don't call font_close_object.
4370
4371 * font.c (font_parse_family_registry): Use Ffont_put to validate
4372 foundry and family.
4373 (font_delete_unmatched): Don't check spacing.
4374 (font_list_entities): Add spacing to the spec to list fonts.
4375
4376 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4377 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4378
4379 * coding.c (encode_coding_raw_text): Fix previous change.
4380 (encode_coding_object): When the dst_object is a buffer and is
4381 different from src_object, move gap to PT.
4382
43832008-05-27 Chong Yidong <cyd@stupidchicken.com>
4384
4385 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4386
43872008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4388
4389 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4390 all branches. Compute it differently.
4391
4392 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4393
43942008-05-27 Juanma Barranquero <lekktu@gmail.com>
4395
4396 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4397 into "else if () ... else ...".
4398
43992008-05-27 Jason Rumney <jasonr@gnu.org>
4400
4401 * w32font.c (w32font_open_internal): Determine if glyph indices
4402 are likely to work here.
4403
44042008-05-27 Chong Yidong <cyd@stupidchicken.com>
4405
4406 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4407 draw overlap glyphs with appropriate highlighting.
4408
44092008-05-27 Kenichi Handa <handa@m17n.org>
4410
4411 * xfont.c (xfont_open): Fix calculation of font->average_width.
4412
44132008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4414
4415 * casefiddle.c (casify_object): Try to guess better whether the
4416 argument is a byte or a char.
4417
44182008-05-26 Andreas Schwab <schwab@suse.de>
4419
4420 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4421 Always send multiples of format size.
4422
4423 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4424
44252008-05-26 Jason Rumney <jasonr@gnu.org>
4426
4427 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4428 (compute_metrics): Don't set failure if we just cleared the cache.
4429 (w32_weight_table): Remove unused variable.
4430 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4431 backwards compatibility.
4432
44332008-05-25 Kenichi Handa <handa@m17n.org>
4434
4435 * w32term.c (x_draw_glyph_string):
4436 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4437
4438 * xfaces.c: Delete unused function prototypes.
4439 (xstrlwr, font_frame): Delete them.
4440 (clear_face_cache): Delete unused variable.
4441
4442 * xftfont.c (xftfont_open): Delete unused variable.
4443 If underline_thickness is not 1, adjust underline_position.
4444
4445 * ftxfont.c (ftxfont_open): Delete unused variable.
4446
4447 * fontset.c (face_for_char): Optimize for the case of no charset
4448 property.
4449
4450 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4451 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4452 (otf_open, font_otf_capability, generate_otf_features)
4453 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4454 Comment out by surrounding "#if 0" and "#endif" for the moment.
4455 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4456 (syms_of_font): Codes for accessing above commented out.
4457
44582008-05-24 Eli Zaretskii <eliz@gnu.org>
4459
4460 * w32proc.c: Include dispextern.h.
4461
4462 * w32.c: Include dispextern.h.
4463
44642008-05-23 Juanma Barranquero <lekktu@gmail.com>
4465
4466 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4467 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4468 Fix typos in docstrings.
4469
44702008-05-23 Jason Rumney <jasonr@gnu.org>
4471
4472 * xsmfns.c: Remove includes that are already included by config.h.
4473
44742008-05-23 Kenichi Handa <handa@m17n.org>
4475
4476 * charset.c (Qemacs, charset_emacs): New variables.
4477 (char_charset): Fix for non-Unicode characters.
4478 (syms_of_charset): Define charset_emacs.
4479
4480 * w32term.c (x_draw_glyph_string): Be sure to update
4481 s->underline_thickness and s->underline_position. Be sure to draw
4482 underline within the current line area.
4483
4484 * xterm.c (x_draw_glyph_string): Be sure to update
4485 s->underline_thickness and s->underline_position. Be sure to draw
4486 underline within the current line area.
4487
4488 * fontset.c: Delete unused variables and add casting for char *
4489 throughout the file.
4490 (fontset_font): Try the fallback fonts of the current fontset
4491 before consulting the default fontset.
4492
4493 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4494
4495 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4496
44972008-05-22 Jason Rumney <jasonr@gnu.org>
4498
4499 * font.c: Don't include strings.h.
4500
4501 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4502
4503 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4504 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4505 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4506 to call xstrcasecmp.
4507
4508 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4509
4510 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4511
4512 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4513
4514 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4515
45162008-05-22 Kenichi Handa <handa@m17n.org>
4517
4518 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4519
4520 * font.c (font_prop_validate_style): Adjust for the format
4521 change of font_style_table.
4522
4523 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4524 two args.
4525
4526 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4527 two args.
4528
45292008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4530
4531 * minibuf.c (keys_of_minibuf): Delete.
4532 * lisp.h (keys_of_minibuf): Delete.
4533 * emacs.c (main): Don't call keys_of_minibuf.
4534
45352008-05-22 Kenichi Handa <handa@m17n.org>
4536
4537 * ftfont.c (ftfont_resolve_generic_family): Rename from
4538 ftfont_list_generic_family. Return a single family for each
4539 generic family.
4540 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4541 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4542 Call font_add_log.
4543 (ftfont_match): Call font_add_log.
4544
4545 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4546 (FONT_DEBUG): Define it.
4547 (font_add_log): Extern it.
4548 (font_assert): Rename from xassert.
4549
4550 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4551 (xfont_list_family): Call font_add_log.
4552 (xfont_match): Likewise.
4553 (memq_no_quit): Delete.
4554
4555 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4556 call of Ffont_xlfd_name.
4557
4558 * xfaces.c (struct table_entry, slant_table, weight_table)
4559 (swidth_table): Move to font.c.
4560
4561 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4562 xassert are changed to font_assert. Delete many unused variables.
4563 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4564 New variables.
4565 (struct table_entry): Move from xfaces.c and modified.
4566 (weight_table, slant_table, width_table): Move from xfaces.c and
4567 contents adjusted for the change of struct table_entry.
4568 (font_style_to_value, font_style_symbolic): Adjust for the
4569 format change of font_style_table.
4570 (font_parse_family_registry): Don't overwrite existing foundry and
4571 family of font_spec.
4572 (font_score): Fix calculation of diff for sizes.
4573 (font_sort_entites): Call font_add_log.
4574 (font_delete_unmatched): Return a newly created list.
4575 (font_list_entities): Fix previous change. Call font_add_log.
4576 (font_matching_entity, font_open_entity, font_close_entity):
4577 Call font_add_log.
4578 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4579 (Finternal_set_font_style_table): Delete.
4580 (BUILD_STYLE_TABLE): New macro.
4581 (build_style_table): New function.
4582 (Vfont_log, font_log_env_checked): New variables.
4583 (font_add_log): New function.
4584 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4585 Declare Lisp variables "font-weight-table", "font-slant-table",
4586 "font-width-table", and "font-log". Initialize font_style_table.
4587
45882008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4589
4590 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4591
45922008-05-21 Seiji Zenitani <zenitani@mac.com>
4593 Ryo Yoshitake <ryo@shiftmode.net>
4594
4595 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4596 (Vframe_alpha_lower_limit): New variable.
4597 (x_set_alpha): New function.
4598
4599 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4600
4601 * xfns.c (x-create-frame, Qalpha):
4602 Initialize the frame parameter `alpha'.
4603 * xterm.c (OPAQUE, OPACITY): New.
4604 (x_set_frame_alpha): New function.
4605 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4606
4607 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4608 * w32fns.c (w32_frame_parm_handlers): Likewise.
4609
46102008-05-20 Jason Rumney <jasonr@gnu.org>
4611
4612 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4613 truetype fonts to opentype list.
4614
46152008-05-20 Juanma Barranquero <lekktu@gmail.com>
4616
4617 * fontset.c (Ffontset_info): Doc fix.
4618 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4619 <ignore-relative-composition>: Fix typos in docstrings.
4620
4621 * font.c (syms-of-font) <font-encoding-alist>:
4622 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4623 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4624 (Ffont_otf_alternates): Doc fixes.
4625
46262008-05-20 Kenichi Handa <handa@m17n.org>
4627
4628 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4629 font.h through out the file.
4630 (FONT_DRIVERS): Rename from FONTOBJ.
4631 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4632 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4633
4634 * emacs.c (main): Call syms_of_font unconditionally.
4635
4636 * font.h (find_font_encoding): Extern it.
4637
4638 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4639 fontset.c.
4640 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4641 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4642 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4643 only when HAVE_WINDOW_SYSTEM is defined.
4644 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4645 when HAVE_WINDOW_SYSTEM is defined.
4646
4647 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4648 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4649
4650 * xfaces.c: Include font.h unconditionally.
4651 (merge_face_ref, merge_face_vectors)
4652 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4653
46542008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4655
4656 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4657 indirect_variable.
4658 * eval.c (lisp_indirect_variable): New fun.
4659 (Fuser_variable_p): Use it.
4660
46612008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4662
4663 * lisp.h (indirect_variable):
4664 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4665 Use Lisp_Symbol pointers rather than Lisp_Object.
4666 Adjust callers.
4667 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4668 To this end, change calling-convention.
4669
4670 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4671 if some non-hidden buffers are selected by string&pred.
4672
46732008-05-19 Chong Yidong <cyd@stupidchicken.com>
4674
4675 * process.c (wait_reading_process_output): Always check status
4676 when in batch mode.
4677
46782008-05-19 Kenichi Handa <handa@m17n.org>
4679
4680 * font.c (font_list_entities): Fix handling of cache.
4681 (font_matching_entity): Likewise.
4682
4683 * ftfont.c (cs_iso8859_1): Delete.
4684 (ft_face_cache): New variable.
4685 (struct ftfont_info): New member fc_charset_idx.
4686 (ftfont_build_basic_charsets): Delete.
4687 (fc_charset_table): New variable.
4688 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4689 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4690 Callers changed.
4691 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4692 (ftfont_spec_pattern): New argument fc_charset_idx.
4693 Check registry more rigidly. Change callers.
4694 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4695 change of :font-entity property of the font.
4696
4697 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4698 property of the font.
4699
47002008-05-18 Juanma Barranquero <lekktu@gmail.com>
4701
4702 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4703 (Funencodable_char_position, Fcheck_coding_systems_region)
4704 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4705 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4706 (Ffind_operation_coding_system, Fset_coding_system_priority)
4707 (Fcoding_system_eol_type): Doc fixes.
4708
47092008-05-17 Glenn Morris <rgm@gnu.org>
4710
4711 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4712
47132008-05-16 Eli Zaretskii <eliz@gnu.org>
4714
4715 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4716 and st_gid.
4717
4718 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4719 HAVE_WINDOW_SYSTEM is not defined.
4720
4721 * xfaces.c (merge_face_ref, merge_face_vectors)
4722 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4723 HAVE_WINDOW_SYSTEM is defined.
4724 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4725
47262008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4727
4728 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4729
47302008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4731
4732 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4733
47342008-05-15 Kenichi Handa <handa@m17n.org>
4735
4736 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4737 preference.
4738
47392008-05-15 Glenn Morris <rgm@gnu.org>
4740
4741 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4742
47432008-05-15 Chong Yidong <cyd@stupidchicken.com>
4744
4745 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4746 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4747
4748 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4749
47502008-05-15 Kenichi Handa <handa@m17n.org>
4751
4752 * ftfont.c (ftfont_list): Downcase family name to check generic
4753 families.
4754
4755 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4756 font-spec for QCfont value.
4757
4758 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4759 buffer. Check the return value of it.
4760
47612008-05-14 Jason Rumney <jasonr@gnu.org>
4762
4763 * w32term.c (w32_get_glyph_overhangs): Remove.
4764 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4765
47662008-05-14 Kenichi Handa <handa@m17n.org>
4767
4768 * font.c (font_prop_validate): Make nil a valid value.
4769 (font_clear_cache): Check if the cached vector of entities is nil
4770 or not.
4771
47722008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4773
4774 * emacs.c (main_thread): Conditionalize on
4775 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4776 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4777
4778 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4779 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4780 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4781
47822008-05-14 Kenichi Handa <handa@m17n.org>
4783
4784 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4785 has no corresponding coding system.
4786
47872008-05-14 Jason Rumney <jasonr@gnu.org>
4788
4789 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4790
4791 * w32font.h (w32font_open_internal): Update declaration.
4792
4793 * w32font.c (w32font_open_internal): Change last argument from
4794 w32font_info struct to font object. Fill in font object from
4795 font_entity. Get Outline metrics if possible. Use them to
4796 calculate underline position and thickness. Use xlfd name as name
4797 property. Don't set codepage.
4798 (w32font_open): Pass font_object to w32font_open_internal. Don't
4799 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4800 (w32font_draw): Use s->font.
4801 (clear_cached_metrics): Don't clear non-existent blocks.
4802
4803 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4804 font was not found.
4805 (x_draw_glyph_string): Use underline position and thickness from font.
4806
4807 * w32uniscribe.c (uniscribe_open): Pass font_object to
4808 w32font_open_internal.
4809
48102008-05-14 Kenichi Handa <handa@m17n.org>
4811
4812 These changes are to delete all legacy font-handling codes, and
4813 make Emacs use only font-backends.
4814
4815 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4816 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4817
4818 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4819
4820 * charset.h (Vcharset_non_preferred_head)
4821 (Vcurrent_iso639_language): Extern them.
4822
4823 * charset.c (Vcharset_non_preferred_head): New variable.
4824 (Vcurrent_iso639_language): New variable.
4825 (syms_of_charset): Declare it as a Lisp variable.
4826 (char_charset): Don't check non preferred charsets. As a last
4827 resort, return charset_unicode.
4828 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4829
4830 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4831 conditionals. Don't check enable_font_backend. Delete all codes
4832 used only when USE_FONT_BACKEND is not defined.
4833
4834 * dispextern.h (struct glyph_string): Change type of `font' to
4835 `struct font *'.
4836 (struct glyph_string): New member underline_position and
4837 underline_thickness.
4838 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4839 (struct face): Change type of `font' to `struct font *'. Remove
4840 members `font_name', `font_info_id'.
4841 (per_char_metric, encode_char): Delete externs.
4842 (calc_pixel_width_or_height): Adjust the prototype.
4843
4844 * emacs.c (enable_font_backend): Delete extern.
4845 (main): Don't set enable_font_backend. Don't check the command
4846 line argument "-disable-font-backend".
4847
4848 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4849 (enum font_property_index): New members FONT_DPI_INDEX,
4850 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4851 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4852 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4853 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4854 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4855 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4856 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4857 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4858 (struct font_spec, struct font_entity): New structs.
4859 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4860 (struct font): Many members from old "struct font_info" moved to
4861 here. Members font and entity deleted.
4862 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4863 the new font-related objects.
4864 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4865 (CHECK_FONT_GET_OBJECT): Likewise.
4866 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4867 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4868 (struct font_driver): New members case_sensitive anc check. Type
4869 of the member list and open changed.
4870 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4871 (font_symbolic_width, font_find_object, font_get_spec)
4872 (font_set_lface_from_name): Delete extern.
4873 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4874
4875 * font.c: Include <strings.h>.
4876 (enable_font_backend): Delete it.
4877 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4878 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4879 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4880 (null_string): Delete it.
4881 (null_vector): Make it static.
4882 (font_family_alist): Delete it.
4883 (Qnormal): Extern it.
4884 (QCextra, QClanguage): Delete it.
4885 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4886 (font_make_spec, font_make_entity, font_make_object)
4887 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4888 the string. Callers changed.
4889 (font_pixel_size): Adjusted for the format change of font-related
4890 objects.
4891 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4892 (font_style_to_value, font_style_symbolic): New function.
4893 (build_font_family_alist): Delete it.
4894 (font_registry_charsets): Use Fassoc_string instead of
4895 assq_no_quit.
4896 (font_prop_validate_symbol): Don't return null_string.
4897 (font_prop_validate_style): Adjusted for the change of
4898 style-related values in a font vector.
4899 (font_property_table): Delete entries for QClanguage and
4900 QCantialias, add entries for QCavgwidth.
4901 (get_font_prop_index): Delete the 2nd argument FROM.
4902 (font_prop_validate): Arguments changed.
4903 (font_put_extra): Adjusted for the change of font-related objects.
4904 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4905 (font_parse_fcname, font_unparse_fcname)
4906 (font_prepare_composition): Likewise.
4907 (font_parse_family_registry): Renamed from font_merge_old_spec.
4908 (otf_open): Delete the 1st arg entity.
4909 (font_otf_capability): Adjusted for the above change.
4910 (font_score): New arg alternate_families. Adjusted for the change
4911 of font-related objects.
4912 (font_sort_entites): New arg best_only.
4913 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4914 Delete them.
4915 (font_match_p): Check alternate families.
4916 (font_find_object): Delete it.
4917 (font_check_object): New function.
4918 (font_clear_cache): Adjusted for the change of font-related objects.
4919 (font_delete_unmatched): New arg.
4920 (font_list_entities): Call font_driver->list with a spec that
4921 doesn't specify style-related properties.
4922 (font_matching_entity): Arguments changed. Caller changed.
4923 (font_open_entity): Adjusted for the change of font-related objects.
4924 (font_close_object, font_has_char, font_encode_char)
4925 (font_get_name, font_get_spec): Likewise.
4926 (font_spec_from_name, font_clear_prop, font_update_lface):
4927 New functions.
4928 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4929 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4930 (font_at): Adjusted for the change of font-related objects.
4931 (font_range): New function.
4932 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4933 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4934 (Fcopy_font_spec, Fmerge_font_spec): New function.
4935 (Ffont_family_list): Renamed from list-families.
4936 (Finternal_set_font_style_table): Arguments changed.
4937 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4938 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4939 change of font-related objects.
4940 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4941
4942 * fontset.h (struct font_info): Delete it. Most members go to
4943 struct font.
4944 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4945 (enum FONT_SPEC_INDEX): Delete it.
4946 (font_info, list_fonts_func, load_font_func, query_font_func)
4947 (set_frame_fontset_func, find_ccl_program_func)
4948 (get_font_repertory_func, new_fontset_from_font_name): Delete
4949 externs.
4950 (fontset_from_font_name): Extern it.
4951 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4952 (FONT_INFO_FROM_FACE): Deleted.
4953 (face_for_font): Adjust prototype.
4954
4955 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4956 conditionals. Don't check enable_font_backend. Delete all codes
4957 used only when USE_FONT_BACKEND is not defined.
4958 (get_font_info_func, list_font_func, load_font_func)
4959 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4960 (get_font_repertory_func): Delete them.
4961 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4962 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4963 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4964 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4965 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4966 (fontset_compare_rfontdef): New function.
4967 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4968 rfont-defs by qsort. Adjusted for the change of font-group vector.
4969 (load_font_get_repertory): Deleted.
4970 (fontset_find_font): Use new macros to ref/set elements of
4971 font-def and rfont-def.
4972 (fontset_font): Fix the timing of remembering that no font for C.
4973 (free_face_fontset): Do nothing if the face has no fontset.
4974 (face_suitable_for_char_p): Use new macros to ref/set elements of
4975 rfont-def.
4976 (face_for_char): Likewise. Call face_for_char with font_object.
4977 (fs_load_font): Delete. Delete #pragma surrounding it.
4978 (fs_query_fontset): Use strcasecmp instead of strcmp.
4979 (generate_ascii_font_name): Adjusted for the format change of
4980 font-spec.
4981 (Fset_fontset_font): Likewise. Use new macros to set elements of
4982 font-def.
4983 (Fnew_fontset): Use font_unparse_xlfd to generate
4984 FONTSET_ASCII (fontset).
4985 (new_fontset_from_font_name): Deleted.
4986 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4987 a fontset is already created for the font. FIx updating of
4988 Vfontset_alias_alist.
4989 (fontset_ascii_font): Deleted.
4990 (Ffont_info): Adjusted for the format change of font-spec.
4991 (Finternal_char_font): Likewise.
4992 (Ffontset_info): Likewise.
4993 (syms_of_fontset): Don't check load_font_func.
4994
4995 * fns.c (internal_equal): Handle PREV_FONT.
4996
4997 * frame.h: Delete USE_FONT_BACKEND conditional.
4998
4999 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5000 conditionals. Don't check enable_font_backend. Delete all codes
5001 used only when USE_FONT_BACKEND is not defined.
5002 (x_set_font): Call x_new_font, not x_new_fontset2.
5003 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5004 already set for the frame.
5005
5006 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5007 a font-entity by font_make_entity. Use font_intern_prop instead
5008 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5009 font property. If a font is scalable, set avgwidth property to 0.
5010 Set font-entity property by font_put_extra.
5011 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5012 (ffont_driver): Adjusted for the change of struct font_driver.
5013 (ftfont_spec_pattern): New function.
5014 (ftfont_list): Return a list, not vector.
5015 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5016 (ftfont_list_family): Don't downcase names.
5017 (ftfont_free_entity): Deleted.
5018 (ftfont_open): Return a font-object. Adjusted for the change of
5019 struct font. Get underline_thickness and underline_position from
5020 font property. Don't update dpyinfo->smallest_font_height and
5021 dpyinfo->smallest_char_width.
5022 (ftfont_close): Don't free `struct font'.
5023 (ftfont_has_char): Adjusted for the format change of font-entity.
5024 (ftfont_encode_char, ftfont_text_extents): Likewise.
5025
5026 * ftxfont.c (ftxfont_list): Return a list, not vector.
5027 (ftxfont_open): Return a font-object. Adjusted for the change of
5028 struct font. Get underline_thickness and underline_position from
5029 font property. Don't update dpyinfo->smallest_font_height and
5030 dpyinfo->smallest_char_width.
5031 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5032 (ftxfont_draw): Adjusted for the change of struct font.
5033
5034 * image.c (image_ascent): Don't include "charset.h". Include
5035 "character.h" and "font.h".
5036
5037 * lisp.h (enum pvec_type): New member PREV_FONT.
5038 (Fassoc_string): EXFUN it.
5039
5040 * print.c: Include font.h.
5041 (print_object): Handle font-related objects.
5042
5043 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5044 conditionals. Don't check enable_font_backend. Delete all codes
5045 used only when USE_FONT_BACKEND is not defined.
5046 (handle_auto_composed_prop): Do nothing if it->f is not on a
5047 window system. Check how many following characters can be
5048 displayed by the same font.
5049 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5050 'struct font *'.
5051 (get_char_face_and_encoding): Assign the whole encoding task to
5052 the `encode-char' method of a font driver.
5053 (fill_composite_glyph_string): Adjusted for the change of `struct
5054 face' and `struct glyph_string'.
5055 (fill_glyph_string): Likewise.
5056 (get_per_char_metric): Arguments changed.
5057 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5058 and `struct glyph_string'.
5059 (produce_stretch_glyph, calc_line_height_property)
5060 (x_produce_glyphs): Likewise.
5061
5062 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5063 conditionals. Don't check enable_font_backend. Delete all codes
5064 used only when USE_FONT_BACKEND is not defined. Use
5065 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5066 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5067 (Qp): Extern them.
5068 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5069 Deleted.
5070 (struct font_name): Deleted.
5071 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5072 (compare_fonts_by_sort_order): New function.
5073 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5074 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5075 Deleted.
5076 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5077 compare_fonts_by_sort_order.
5078 (Fx_font_family_list): Call Ffont_family_list.
5079 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5080 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5081 (face_symbolic_slant, face_symbolic_swidth)
5082 (split_font_name_into_vector, build_font_name_from_vector)
5083 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5084 (font_rescale_ratio, split_font_name, build_font_name)
5085 (free_font_names, sort_fonts, x_face_list_fonts)
5086 (face_font_available_p, sorted_font_list, cmp_font_names)
5087 (font_list_1, concat_font_list, font_list, remove_duplicates):
5088 Deleted.
5089 (Fx_list_fonts): Use Ffont_list.
5090 (LFACE_AVGWIDTH): Deleted.
5091 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5092 by FONTP.
5093 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5094 (set_lface_from_font_name): Delete it.
5095 (set_lface_from_font): Renamed from
5096 set_lface_from_font_and_fontset. Caller changed. Don't set
5097 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5098 for face.
5099 (merge_face_vectors): Copy font-spec if necessary.
5100 Clear properties of the font-spec if necessary.
5101 (merge_face_ref): Clear properties of the font-spec if necessary.
5102 (Finternal_set_lisp_face_attribute): Likewise.
5103 (set_font_frame_param): Use font_load_for_lface to load a
5104 font-object, and call Fmodify_frame_parameters with it.
5105 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5106 font name by Ffont_xlfd_name.
5107 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5108 QCslant, and QCwidth.
5109 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5110 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5111 Compare fonts by EQ.
5112 (lookup_non_ascii_face): Deleted.
5113 (face_for_font): The 2nd argument changed.
5114 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5115 Check atomic font properties by case insensitive.
5116 (realize_non_ascii_face): Set face->overstrike correctly.
5117 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5118 (dump_realized_face): Get font name from
5119 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5120
5121 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5122 conditionals. Don't check enable_font_backend. Delete all codes
5123 used only when USE_FONT_BACKEND is not defined.
5124 (xic_create_xfontset): Original code deleted and renamed from
5125 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5126 (x_make_gc): Don't set GCFont in GCs.
5127 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5128 opened by "fixed".
5129 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5130 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5131 get_font_repertory_func.
5132
5133 * xfont.c: Include <stdlib.h> and "ccl.h".
5134 (struct xfont_info): New structure.
5135 (xfont_query_font): Deleted.
5136 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5137 moved from xterm.c.
5138 (xfont_driver): Adjusted for the change of struct font_driver.
5139 (compare_font_names): New function.
5140 (xfont_list_pattern): Sort font names case insensitively. Make
5141 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5142 (xfont_list): Return a list, not vector.
5143 (xfont_match): If the font doesn't have QCname property, generate
5144 a name from the other font properties.
5145 (xfont_open): Return a font-object. Adjusted for the change of
5146 struct font. Get underline_thickness and underline_position from
5147 font property. Don't update dpyinfo->smallest_font_height and
5148 dpyinfo->smallest_char_width.
5149 (xfont_close): Don't free struct font.
5150 (xfont_prepare_face): Adjusted for the change of struct font.
5151 (xfont_done_face): Deleted.
5152 (xfont_has_char): Adjusted for the change of struct font.
5153 (xfont_encode_char, xfont_draw): Likewise.
5154 (xfont_check): New function.
5155
5156 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5157 callback function.
5158 (xftfont_match): Adjusted for the format change of font-entity.
5159 (xftfont_open): Adjusted for the format change of font-entity and
5160 font-object. Adjusted for the change of struct font. Return a
5161 font-object. Don't update dpyinfo->smallest_font_height and
5162 dpyinfo->smallest_char_width.
5163 (xftfont_close): Block input while calling XftFontClose.
5164 (xftfont_prepare_face): Don't block input while calling
5165 xftfont_get_colors. Adjusted for the change of struct font.
5166 (xftfont_shape): Return value of error case fixed.
5167
5168 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5169
5170 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5171 conditionals.
5172 (FONT_WIDTH): Return (f)->max_width.
5173 (struct x_display_info): Delete member `font'.
5174 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5175 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5176 (struct x_output): Change type of `font' to `struct font *'.
5177
5178 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5179 conditionals. Don't check enable_font_backend. Delete all codes
5180 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5181 (x_per_char_metric, x_encode_char): Deleted.
5182 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5183 (x_compute_glyph_string_overhangs): Adjusted for the change of
5184 `struct face'.
5185 (x_draw_glyph_string_foreground)
5186 (x_draw_composite_glyph_string_foreground): Likewise.
5187 (x_draw_glyph_string): Likewise. Use font->underline_position and
5188 font->underline_thickness.
5189 (x_new_font): Renamed from x_new_fontset2.
5190 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5191 (x_check_font): Call `check' method of a font driver.
5192 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5193 (x_query_font, x_get_font_repertory): Deleted.
5194 (x_find_ccl_program): Renamed and moved to xfont.c.
5195 (x_redisplay_interface): Adjusted for the change of `struct
5196 redisplay_interface'.
5197
5198 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5199 conditionals. Don't check enable_font_backend. Delete all codes
5200 used only when USE_FONT_BACKEND is not defined. Surround non-used
5201 code by "#ifdef OLD_FONT" and "endif".
5202 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5203
5204 * w32font.h (struct w32font_info): New member.
5205 (FONT_COMPAT): New macro.
5206 (w32font_open_internal): Prototype adjusted.
5207
5208 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5209 OLD_FONT" and "endif".
5210
5211 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5212 conditionals. Don't check enable_font_backend. Delete all codes
5213 used only when USE_FONT_BACKEND is not defined.
5214 (w32font_open): Return a font-object. Make a font-object by
5215 font_make_object. Adjusted for the change of struct w32font_info.
5216 (w32font_close): Don't free struct font. Adjusted for the change
5217 of struct w32font_info.
5218 (w32font_encode_char, w32font_text_extents, w32font_draw):
5219 Adjusted for the change of struct w32font_info.
5220 (w32font_draw): Likewise.
5221 (w32font_list_internal): Return a list, not vector.
5222 (w32font_open_internal): Change the 4th arg to font-object.
5223 Adjusted for the change of struct w32font_info and font-object format.
5224 (add_font_name_to_list): Don't downcase names.
5225 (w32_enumfont_pattern_entity): Make a font-entity by
5226 font_make_entity. Adjusted for the format change of font-entity.
5227 Use FONT_SET_STYLE to set a style-related font property. If a
5228 font is scalable, set avgwidth property to 0. Set font-entity
5229 property by font_put_extra.
5230 (font_matches_spec): Adjusted for the format change of font-entity.
5231 (w32_weight_table, w32_decode_weight): New variables.
5232 (w32_encode_weight): New function.
5233 (fill_in_logfont): Adjusted for the format change of font-spec.
5234 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5235 weight value.
5236 (w32font_driver): Adjusted for the change of struct font_driver.
5237
5238 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5239 conditionals. Don't check enable_font_backend. Surround non-used
5240 code by "#ifdef OLD_FONT" and "endif".
5241 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5242 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5243
5244 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5245 conditionals. Don't check enable_font_backend. Delete all codes
5246 used only when USE_FONT_BACKEND is not defined. Surround non-used
5247 code by "#ifdef OLD_FONT" and "endif".
5248
5249 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5250 (uniscribe_open): Return value changed to font-object.
5251 Adjusted for the format change of font-object.
5252 (uniscribe_otf_capability): Adjusted for the change of struct font.
5253 (add_opentype_font_name_to_list): Don't downcase names.
5254 (uniscribe_font_driver): Adjusted for the change of struct
5255 font_driver.
5256
52572008-05-13 Chong Yidong <cyd@stupidchicken.com>
5258
5259 * dispnew.c (update_frame_1): Check if tty output is still valid
5260 before flushing it.
5261
52622008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5263
5264 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5265 to Gtk+ menus.
5266
52672008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5268
5269 * dired.c (file_name_completion): Tweak the code so as to always do it
5270 in a single pass. Tighten the scope of some variables.
5271
5272 * dired.c (Qdefault_directory): New var.
5273 (file_name_completion): Use it instead of Fexpand_file_name.
5274 (syms_of_dired): Initialize it.
5275
52762008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5277
5278 * fileio.c (double_dollars): Remove dead code.
5279
52802008-05-10 Eli Zaretskii <eliz@gnu.org>
5281
5282 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5283 Mention w32-get-true-file-attributes in doc string.
5284
5285 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5286
52872008-05-09 Glenn Morris <rgm@gnu.org>
5288
5289 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5290 2008-04-23.
5291
52922008-05-09 Eli Zaretskii <eliz@gnu.org>
5293
5294 Support for reporting owner and group of each file on MS-Windows:
5295 * dired.c (stat_uname, stat_gname): New functions, with special
5296 implementation for w32.
5297 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5298
5299 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5300 (dflt_group_name): New static variable.
5301 (dflt_group): Rename from the_group.
5302 (init_user_info): Init dflt_group fields. Get user's group name
5303 from LookupAccountSid.
5304 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5305 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5306 New initialization states.
5307 (globals_of_w32): Initialize them to zero. Initialize the default
5308 group name to "None".
5309 (GetFileSecurity_Name): New global var, the name of the function
5310 to call for GetFileSecurity.
5311 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5312 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5313 (get_file_security, get_security_descriptor_owner)
5314 (get_security_descriptor_group, is_valid_sid)
5315 (get_file_security_desc, get_rid, get_name_and_id)
5316 (get_file_owner_and_group): New functions.
5317 (stat): Use get_file_security_desc and get_file_owner_and_group to
5318 report the owner and primary group of each file. Don't ignore the
5319 high 32 bits of file's size, now that st_size is 64-bit wide.
5320 Fix test when to get true file attributes.
5321 (init_user_info): Use get_rid instead of equivalent inline code.
5322 (fstat): Don't ignore the high 32 bits of file's size.
5323
53242008-05-09 Chong Yidong <cyd@stupidchicken.com>
5325
5326 * image.c (png_load): Use correct bit-depth for setting background
5327 color.
5328
53292008-05-08 Eli Zaretskii <eliz@gnu.org>
5330
5331 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5332 epa-hook.elc.
5333
53342008-05-08 Juanma Barranquero <lekktu@gmail.com>
5335
5336 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5337
53382008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5339
5340 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5341 because the original parameters are in pure storage now.
5342 (mac_window): Remove unused params. Update callers.
5343
53442008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5345
5346 * lread.c (substitute_object_recurse): Use lower-level primitives.
5347 Don't signal errors when traversing sub-char-tables.
5348 Don't loop over all the possible characters when traversing char-tables.
5349
5350 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5351 just like we do in print.c.
5352
53532008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5354
5355 * minibuf.c (Ftry_completion): Remove code left over from when we used
5356 scmp instead of Fcompare_strings.
5357
53582008-05-04 Juanma Barranquero <lekktu@gmail.com>
5359
5360 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5361
53622008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5363
5364 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5365 Create bitmap context in native byte order.
5366
5367 * macterm.c (XDrawLine)
5368 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5369 context in native byte order.
5370
53712008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5372
5373 * config.in: Regenerate.
5374
5375 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5376 New definitions for Image I/O support.
5377 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5378 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5379 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5380 (mac_data_provider_release_data, image_load_image_io)
5381 [USE_MAC_IMAGE_IO]: New functions.
5382 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5383 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5384 (init_image_func_pointer) [MAC_OSX]: Remove function.
5385 (image_load_quartz2d) [MAC_OSX]: Check availability of
5386 CGImageCreateWithPNGDataProvider at compile time.
5387 Use lowercase `false' for boolean constant.
5388 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5389 Use image_load_image_io.
5390 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5391 Don't check MyCGImageCreateWithPNGDataProvider.
5392 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5393 Don't call init_image_func_pointer.
5394
5395 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5396
5397 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5398 Make variable non-static.
5399 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5400 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5401
5402 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5403 (RED_FROM_ULONG): Mask off higher bits.
5404 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5405
5406 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5407 Include AvailabilityMacros.h.
5408 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5409 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5410
54112008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5412
5413 * chartab.c (Fset_char_table_range): If range is t, really set all
5414 chars to that value.
5415
54162008-05-03 Eli Zaretskii <eliz@gnu.org>
5417
5418 * dired.c (Ffile_attributes): Don't allow the device number become
5419 negative.
5420
54212008-05-02 Daiki Ueno <ueno@unixuser.org>
5422
5423 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5424
54252008-05-02 Juri Linkov <juri@jurta.org>
5426
5427 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5428 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5429 DEFAULT argument as a list of default values in docstrings.
5430
54312008-05-01 Chong Yidong <cyd@stupidchicken.com>
5432
5433 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5434
54352008-05-01 Martin Rudalics <rudalics@gmx.at>
5436
5437 * dispnew.c (change_frame_size_1): Preserve small windows when
5438 shrinking frames by calling set_window_height|width with third
5439 arg 2.
5440
5441 * window.h (struct window): Replace field too_small_ok by field
5442 resize_proportionally.
5443
5444 * window.c (make_window): Initialize resize_proportionally.
5445 (enlarge_window): Temporarily set resize_proportionally to make
5446 sure that shrink_windows does scale the window proportionally.
5447 (shrink_windows): When window has resize_proportionally set try
5448 to shrink it proportionally by stealing from other windows.
5449 (struct saved_window, Fset_window_configuration)
5450 (compare_window_configurations): Handle resize_proportionally.
5451 (WINDOW_TOTAL_SIZE): New macro.
5452 (window_min_size, shrink_windows, size_window): Use it.
5453 (check_min_window_sizes): Remove. Invalid values of
5454 window-min-height|width are handled by window_min_size_2 now.
5455 (size_window, Fsplit_window, enlarge_window)
5456 (adjust_window_trailing_edge, grow_mini_window): Don't call
5457 check_min_window_sizes.
5458 (window_min_size_2, window_min_size_1, window_min_size):
5459 New argument safe_p for retrieving "safe" minimum sizes.
5460 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5461 (adjust_window_trailing_edge, grow_mini_window):
5462 Adjust arguments of window_min_size... functions.
5463 (shrink_windows): Argument min_size removed. New argument
5464 safe_p allows shrinking windows to their safe minimum sizes.
5465 Calculate minimum size and decide whether a window shall be
5466 deleted for each window individually.
5467 (size_window): When nodelete_p equals 2, tell shrink_windows to
5468 delete windows only if their new minimum size is no more safe.
5469 (shrink_window_lowest_first): Call window_min_size_1 to make
5470 sure to preserve modeline of bottom-most window when resizing
5471 the minibuffer.
5472 (Fset_window_configuration, Fcurrent_window_configuration)
5473 (compare_window_configurations): Do not handle
5474 window-min-height|width any more.
5475 (syms_of_window): Clarify window-min-height|width doc-strings.
5476
54772008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5478
5479 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5480 some more. Copy some of the code from Ftry_completions.
5481 Remove special case code that dates back to initial revision when the
5482 slash was only added when necessary and that can't trigger nowadays.
5483
54842008-04-27 Kenichi Handa <handa@m17n.org>
5485
5486 * font.c (font_prop_validate): Signal `error' instead of `font'.
5487
54882008-04-29 Jason Rumney <jasonr@gnu.org>
5489
5490 * w32fns.c (Fw32_battery_status): New defun.
5491 (syms_of_w32fns): Defsubr it.
5492
54932008-04-28 Andreas Schwab <schwab@suse.de>
5494
5495 * dired.c (file_name_completion): Fix another mixing of encoded
5496 and decoded names.
5497
54982008-04-28 Juanma Barranquero <lekktu@gmail.com>
5499
5500 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5501
55022008-04-27 Juanma Barranquero <lekktu@gmail.com>
5503
5504 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5505
55062008-04-27 Andreas Schwab <schwab@suse.de>
5507
5508 * dired.c (file_name_completion): Fix inappropriate mixing of
5509 encoded and decoded names.
5510
5511 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5512
5513 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5514
55152008-04-26 Eli Zaretskii <eliz@gnu.org>
5516
5517 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5518 2008-03-31, it's not needed anymore with `struct stat' definition
5519 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5520 for the same reasons.
5521
55222008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5523
5524 * m/sparc.h: Additional redefinitions for GNU/Linux.
5525
55262008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5527
5528 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5529 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5530 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5531 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5532 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5533 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5534 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5535 Likewise.
5536
5537 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5538 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5539 (mac_ax_number_of_characters): Add externs.
5540 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5541 [USE_MAC_TSM]: Likewise.
5542 (mac_handle_text_input_event) [MAC_OSX]:
5543 Handle kEventTextInputOffsetToPos for no active input area case.
5544 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5545 (mac_handle_document_access_event)
5546 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5547 (install_application_handler) [MAC_OSX]: Register handlers for
5548 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5549 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5550 Register mac_handle_document_access_event.
5551
5552 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5553 Make functions non-static.
5554
55552008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5556
5557 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5558 (read_file_name_completion_ignore_case, insert_default_directory)
5559 (Qdefault_directory): Move to minibuffer.el.
5560 (Fread_file_name): Call the new `read-file-name' instead.
5561
55622008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5563
5564 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5565 Make function non-static.
5566 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5567 Remove function.
5568 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5569 Move to mactoolbox.c.
5570 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5571
5572 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5573 (mac_rect_make): New macro.
5574
5575 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5576 instead of float.
5577 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5578 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5579 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5580 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5581 CGRectMake.
5582 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5583 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5584 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5585 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5586 instead of WindowRef in argument type.
5587 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5588 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5589 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5590 instead of DISPLAY. All uses changed.
5591 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5592 (x_calc_absolute_position): Simplify so as not to use
5593 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5594
5595 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5596 instead of WindowRef in argument type.
5597 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5598 [TARGET_API_MAC_CARBON]: Remove externs.
5599 (create_apple_event, mac_event_parameters_to_lisp)
5600 [TARGET_API_MAC_CARBON]: Add externs.
5601
5602 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5603 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5604 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5605 is clicked.
5606 (x_activate_menubar): Remove extern for saved_menu_event_location.
5607 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5608 Move from mac.c.
5609
56102008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5611
5612 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5613 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5614
56152008-04-23 Jason Rumney <jasonr@gnu.org>
5616
5617 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5618 attributes only for local files.
5619
5620 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5621 default to Qlocal.
5622
56232008-04-22 Juri Linkov <juri@jurta.org>
5624
5625 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5626 read-buffer-to-switch instead of using the letter "B".
5627
56282008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5629
5630 * fileio.c (Qdefault_directory): New variable.
5631 (Fread_file_name): Use it to pass `dir' to the completion functions.
5632
56332008-04-20 Chong Yidong <cyd@stupidchicken.com>
5634
5635 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5636
56372008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5638
5639 * keyboard.c (Vpre_help_message): Remove.
5640 (show_help_echo): Remove default C code.
5641
5642 * dired.c (directory_files_internal, file_name_completion):
5643 Only call ENCODE_FILE if the string is indeed decoded.
5644
56452008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5646
5647 * Makefile.in (TOOLKIT_DEFINES): Remove.
5648 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5649
56502008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5651
5652 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5653 (mactoolbox.o): New target.
5654
5655 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5656 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5657
5658 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5659 Use mac_set_frame_window_background instead of XSetWindowBackground.
5660 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5661 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5662 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5663 instead of SetWindowTitleWithCFString.
5664 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5665 Move function to mactoolbox.c.
5666 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5667 Use mac_set_window_modified instead of SetWindowModified.
5668 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5669 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5670 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5671 FrontNonFloatingWindow. Use mac_activate_window instead of
5672 ActivateWindow. Use mac_active_non_floating_window instead of
5673 ActiveNonFloatingWindow.
5674 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5675 Use mac_show_hourglass and mac_hide_hourglass.
5676 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5677 instead of GetGlobalMouse.
5678 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5679 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5680 Use mac_bring_window_to_front instead of BringToFront.
5681 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5682 mactoolbox.c.
5683 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5684 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5685 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5686 mactoolbox.c.
5687
5688 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5689 (XtPointer): Move typedef from macmenu.c.
5690 (enum button_type): Move enum from macmenu.c.
5691 (widget_value): Move typedef from macmenu.c.
5692 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5693 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5694 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5695 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5696 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5697 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5698 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5699 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5700 (Selection): Move typedef from macselect.c.
5701 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5702 macterm.c.
5703 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5704 (mac_is_window_collapsed, mac_bring_window_to_front)
5705 (mac_send_window_behind, mac_hide_window, mac_show_window)
5706 (mac_collapse_window, mac_front_non_floating_window)
5707 (mac_active_non_floating_window, mac_activate_window)
5708 (mac_move_window_structure, mac_move_window, mac_size_window)
5709 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5710
5711 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5712 (enum mac_menu_kind): Move enum to mactoolbox.c.
5713 (min_menu_id): Move variable to mactoolbox.c.
5714 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5715 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5716 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5717 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5718 [TARGET_API_MAC_CARBON]: Likewise.
5719 (XtPointer): Move typedef to macgui.h.
5720 (enum button_type): Move enum to macgui.h.
5721 (widget_value): Move typedef to macgui.h.
5722 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5723 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5724 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5725 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5726 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5727 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5728 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5729 (popup_activated_flag): Make variable non-static.
5730 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5731 (add_menu_item, fill_menu, dispose_menus):
5732 Move functions to mactoolbox.c.
5733 (restore_show_help_function, menu_target_item_handler)
5734 (install_menu_target_item_handler, mac_handle_dialog_event)
5735 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5736 [TARGET_API_MAC_CARBON]: Likewise.
5737 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5738 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5739 (find_and_call_menu_selection, name_is_separator): Make function
5740 non-static.
5741 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5742 to mactoolbox.c.
5743 (set_frame_menubar): Don't call install_menu_quit_handler.
5744 (menu_item_selection): New variable.
5745 (mac_menu_show): Use create_and_show_popup_menu.
5746 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5747 selection but set variable menu_item_selection. All uses changed.
5748 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5749 Call install_menu_quit_handler. Move to mactoolbox.c.
5750
5751 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5752 (Selection): Move typedef to macgui.h.
5753 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5754 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5755 Make variables non-static.
5756 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5757 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5758 Make functions non-static.
5759 (Vmac_service_selection) [MAC_OSX]: Likewise.
5760 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5761 (mac_valid_selection_target_p, mac_clear_selection)
5762 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5763 (mac_put_selection_value, mac_selection_has_target_p)
5764 (mac_get_selection_value, mac_get_selection_target_list)
5765 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5766 Move functions to mactoolbox.c.
5767 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5768 Likewise.
5769 (copy_scrap_flavor_data, mac_handle_service_event)
5770 (install_service_handler) [MAC_OSX]: Likewise.
5771 (syms_of_macselect) <Vmac_dnd_known_types>:
5772 Use mac_dnd_default_known_types.
5773
5774 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5775 Move to mactoolbox.c.
5776 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5777 (Fx_selection_owner_p): Add EXFUN.
5778 (install_window_handler, remove_window_handler, XSetWindowBackground):
5779 Remove externs.
5780 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5781 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5782 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5783 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5784 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5785 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5786 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5787 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5788 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5789 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5790 (mac_valid_selection_target_p, mac_clear_selection)
5791 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5792 (mac_put_selection_value, mac_selection_has_target_p)
5793 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5794 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5795 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5796 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5797 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5798 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5799 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5800 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5801 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5802
5803 * mactoolbox.c: New file.
5804
58052008-04-18 Jason Rumney <jasonr@gnu.org>
5806
5807 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5808
58092008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5810
5811 * character.c (Fmultibyte_char_to_unibyte):
5812 Return latin1 chars unchanged.
5813
5814 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5815 relocated if it points to `name'.
5816
58172008-04-17 Kenichi Handa <handa@m17n.org>
5818
5819 * data.c (Faset): Allow setting a multibyte character in an
5820 ASCII-only unibyte string.
5821
5822 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5823
58242008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5825
5826 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5827 done in config.h.
5828
58292008-04-16 Juanma Barranquero <lekktu@gmail.com>
5830
5831 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5832 (Fchar_direction): Add usage in the docstring.
5833
58342008-04-15 Chong Yidong <cyd@stupidchicken.com>
5835
5836 * keyboard.c (read_key_sequence): Remove always-true checks.
5837
58382008-04-14 Jason Rumney <jasonr@gnu.org>
5839
5840 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5841 compatibility struct, for better underline positioning.
5842
58432008-04-13 David Hansen <david.hansen@gmx.net>
5844
5845 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5846 string.
5847
58482008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5849
5850 * m/hp800.h (XUINT, XSET): Remove.
5851
58522008-04-12 Juanma Barranquero <lekktu@gmail.com>
5853
5854 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5855 previous change.
5856
58572008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5858
5859 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5860 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5861
58622008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5863
5864 * keymap.h (map_keymap_canonical): Declare.
5865 * xmenu.c (single_keymap_panes): Use it.
5866
58672008-04-11 Glenn Morris <rgm@gnu.org>
5868
5869 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5870 set the target's value to that of the alias.
5871
58722008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5873
5874 * term.c (set_tty_color_mode): Left over typo.
5875
58762008-04-10 Michael Albinus <michael.albinus@gmx.de>
5877
5878 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5879 only after check for file name handler functions. Signal, when
5880 native functionality is not supported.
5881 (syms_of_fileio): Declare it unconditionally.
5882
58832008-04-10 Jason Rumney <jasonr@gnu.org>
5884
5885 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5886 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5887
5888 * w32.c (logon_network_drive): Also logon to remote drives that
5889 are mapped to drive letters.
5890
58912008-04-10 Glenn Morris <rgm@gnu.org>
5892
5893 * xdisp.c (truncate-partial-width-windows): Doc fix.
5894
58952008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5896
5897 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5898 Move functions to minibuffer.el.
5899 (syms_of_fileio): Don't declare them.
5900
59012008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5902
5903 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5904 (syms_of_minibuf): Remove its initialization.
5905
5906 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5907
59082008-04-09 Juanma Barranquero <lekktu@gmail.com>
5909
5910 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5911
59122008-04-09 Jason Rumney <jasonr@gnu.org>
5913
5914 * makefile.w32-in (distclean): Delete makefile too.
5915 (maintainer-clean): New target.
5916
5917 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5918
5919 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5920 for new font backend and composite cases.
5921
59222008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5923
5924 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5925 Most of the code moved to run_timers.
5926 (do_pending_atimers): Call run_timers.
5927 (run_timers): New function.
5928
5929 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5930 run atimers.
5931
5932 * process.c (wait_reading_process_output): The same as above.
5933
59342008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5935
5936 * minibuf.c (last_exact_completion): Remove variable.
5937 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5938 (complete_and_exit_1, complete_and_exit_2)
5939 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5940 (Fdisplay_completion_list, display_completion_list_1)
5941 (Fminibuffer_completion_help, Fself_insert_and_exit)
5942 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5943 minibuffer.el.
5944 (syms_of_minibuf): Remove corresponding initializations.
5945
5946 * keyboard.c (Qdeactivate_mark): New var.
5947 (command_loop_1): Use it to call `deactivate-mark'.
5948 (syms_of_keyboard): Initialize it.
5949
5950 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5951 to another frame.
5952 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5953 Don't call set_tty_color_mode.
5954 (store_frame_param): Reset previous_frame rather than call
5955 set_tty_color_mode.
5956 * term.c (set_tty_color_mode): Rewrite.
5957 * dispextern.h (set_tty_color_mode): New type.
5958 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5959
59602008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5961
5962 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5963 for generic chars, which do not exist any more in emacs-unicode.
5964
59652008-04-08 Michael Albinus <michael.albinus@gmx.de>
5966
5967 * coding.c (detect_coding_emacs_mule)
5968 (Ffind_operation_coding_system): Fix typo.
5969
59702008-04-08 Jason Rumney <jasonr@gnu.org>
5971
5972 * w32uniscribe.c (SNAME): Extract only symbol name.
5973
5974 * w32font.h (struct w32_metric_cache): New struct.
5975 (w32font_info): Use it.
5976 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5977 (CACHE_BLOCKSIZE): New constants.
5978
5979 * w32font.c (Qja, Qko, Qzh): New symbols.
5980 (syms_of_w32font): Initialise them.
5981 (font_matches_spec): Use them to filter by language.
5982 (recompute_cached_metrics): Remove function.
5983 (compute_metrics, clear_cached_metrics): New functions.
5984 (w32font_encode_char): Use them to manage metric cache.
5985 (w32font_text_extents): Cache metrics for all glyphs on demand.
5986 Delay converting glyph indices to WORD until needed.
5987 (w32font_open_internal): Initialize metric cache to empty.
5988 (registry_to_w32_charset): Charset should always be a symbol.
5989 (fill_in_logfont, list_all_matching_fonts): Family should
5990 always be a symbol.
5991
59922008-04-06 Jason Rumney <jasonr@gnu.org>
5993
5994 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5995 Give up if glyph indices not supported. Use uniscribe obtained
5996 ABC widths for individual metrics. Map glyph clusters back to
5997 characters using fClusterStart flag. Return number of glyphs
5998 produced, not chars processed.
5999 (uniscribe_shape): Map char at FROM to current glyph.
6000
60012008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6002
6003 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6004 Use SetMenuItemHierarchicalMenu.
6005
60062008-04-05 Jason Rumney <jasonr@gnu.org>
6007
6008 * image.c (pbm_load): Allow color values up to 65535.
6009 Throw an error if max_color_idx is outside the supported range.
6010 Report an error when image size is invalid.
6011 Read two bytes at a time when raw images have max_color_idx above 255.
6012
60132008-04-05 Eli Zaretskii <eliz@gnu.org>
6014
6015 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6016 cFileName a file name that includes `?' characters, use the 8+3
6017 alias in cAlternateFileName instead.
6018
60192008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6020
6021 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6022 append "CCL: Quitted" when the CCL program is quitted.
6023 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6024
6025 * ccl.h (struct ccl_program): New member quit_silently.
6026
60272008-04-05 Chong Yidong <cyd@stupidchicken.com>
6028
6029 * search.c (compile_pattern_1): Treat non-nil and non-string of
6030 search-spaces-regexp as nil.
6031
6032 * minibuf.c (Fassoc_string): Tweak docstring.
6033
60342008-04-05 Eli Zaretskii <eliz@gnu.org>
6035
6036 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6037 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6038 2008-03-14 to force inode be positive.
6039
6040 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6041 _S_* ones, since we now use our own sys/stat.h.
6042 (stat, fstat): Don't mangle the inode number.
6043 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6044
60452008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6046
6047 * frame.h (struct frame): Give one more bit to `visible' since we use
6048 values larger than 1 to indicate obscured frames on ttys.
6049
6050 * keymap.c (Qkeymap_canonicalize): New var.
6051 (Fmap_keymap_internal): New fun.
6052 (describe_map): Use keymap-canonicalize.
6053
6054 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6055 (Fundo_boundary): Set them.
6056 (syms_of_undo): Initialize them.
6057 (record_point): Use them instead of last_point_position*.
6058 (last_undo_buffer): Change type.
6059
60602008-04-04 Jason Rumney <jasonr@gnu.org>
6061
6062 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6063 (recompute_cached_metrics): Don't set ascent and descent per char.
6064
6065 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6066 (uniscribe_check_otf): Add GC protection before consing.
6067 Rearrange loop for counting features.
6068
60692008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6070
6071 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6072 buffer with byte-size of source buffer.
6073
60742008-04-03 Chong Yidong <cyd@stupidchicken.com>
6075
6076 * callint.c (Fcall_interactively): Handle temporary region even
6077 when shift-select-mode is off.
6078
60792008-04-03 Jason Rumney <jasonr@gnu.org>
6080
6081 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6082
60832008-04-03 Kenichi Handa <handa@m17n.org>
6084
6085 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6086 (CATEGORY_MASK_UTF_16): Likewise.
6087 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6088 binary file.
6089 (detect_coding): Add null-byte detection for a binary file.
6090 (detect_coding_system): Likewise.
6091
60922008-04-03 Jason Rumney <jasonr@gnu.org>
6093
6094 * w32uniscribe.c: New file.
6095
6096 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6097
6098 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6099
6100 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6101 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6102 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6103 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6104 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6105 (Qphonetic): New symbols.
6106 (syms_of_w32font): Initialize them.
6107 (font_supported_scripts): Use them.
6108 (w32font_list_family): List all charsets.
6109 (w32font_text_extents, recompute_cached_metrics): Fix metric
6110 calculations.
6111 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6112 Give opentype fonts their own format.
6113 (font_matches_spec): New arguments backend and logfont.
6114 Handle :otf spec for uniscribe backend.
6115 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6116 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6117
6118 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6119 font backend.
6120 (globals_of_w32fns): Initialize uniscribe font backend.
6121
6122 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6123 dependencies.
6124 (w32uniscribe.$(O)): New file to build.
6125 (FONT_OBJ): Include w32uniscribe.$(O).
6126 (LIBS): Add uniscribe libraries.
6127
6128 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6129
61302008-04-02 Chong Yidong <cyd@stupidchicken.com>
6131
6132 * callint.c (Vshift_select_mode): New var.
6133 (Finteractive): Document new ^ spec.
6134 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6135 is present.
6136
6137 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6138 (command_loop_1): Avoid running the direct display versions of
6139 forward-char and backward-char if shift-selection may occur.
6140 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6141 shift-translation takes place.
6142
6143 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6144 avoid clobbering by define-minor-mode.
6145
6146 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6147 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6148
6149 * syntax.c (Fforward_word): Add ^ interactive spec.
6150
6151 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6152 (Fscroll_right): Add ^ interactive spec.
6153
61542008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6155
6156 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6157
6158 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6159
6160 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6161
61622008-03-31 Juri Linkov <juri@jurta.org>
6163
6164 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6165
61662008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6167
6168 * gtkutil.c (xg_set_geometry): Fix indentation.
6169 (xg_resize_outer_widget): Remove.
6170 (x_wm_size_hint_off): Fix indentation.
6171 (xg_frame_set_char_size): Call flush_and_sync after
6172 gtk_window_resize.
6173 (x_wm_set_size_hint): Pass NULL as geometry window to
6174 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6175 Add menu bar and tool bar height to base height.
6176 (xg_update_frame_menubar, free_frame_menubar)
6177 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6178 (update_frame_tool_bar, free_frame_tool_bar):
6179 Change xg_resize_outer_widget to xg_frame_set_char_size.
6180
61812008-03-30 Michael Albinus <michael.albinus@gmx.de>
6182
6183 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6184 (Fdbus_call_method): New parameter TIMEOUT.
6185 (dbus-send-signal): Optimize UNGCPRO call.
6186
61872008-03-29 Juri Linkov <juri@jurta.org>
6188
6189 * window.c (Fdisplay_buffer): Move call to
6190 Vsplit_window_preferred_function out of conditions that check
6191 if window is eligible for vertical splitting.
6192 When Vsplit_window_preferred_function is non-nil, call it and use
6193 its non-nil return value as window. Otherwise, continue doing
6194 vertical splitting using Fsplit_window with arg horflag=nil.
6195 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6196 default value from `split-window' to nil.
6197
61982008-03-29 Juri Linkov <juri@jurta.org>
6199
6200 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6201 for interactive code letters 'b' and 'B'.
6202
62032008-03-29 Eli Zaretskii <eliz@gnu.org>
6204
6205 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6206 multibyte string.
6207
62082008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6209
6210 * keyboard.c (pending_funcalls): New var.
6211 (timer_check): Run it.
6212 (syms_of_keyboard): Initialize it.
6213 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6214 (Vdelete_terminal_functions): New vars.
6215 (syms_of_terminal): Initialize them.
6216 (Fdelete_terminal): Run delete-terminal-functions.
6217 * xdisp.c (safe_eval): Rewrite.
6218 (safe_call2): New fun.
6219 * frame.c (Qdelete_frame_functions): New var.
6220 (syms_of_frame): Initialize it.
6221 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6222 * lisp.h (safe_call2, pending_funcalls): Declare.
6223
62242008-03-28 Andreas Schwab <schwab@suse.de>
6225
6226 * indent.c (Fmove_to_column): Move declaration before statements.
6227
62282008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6229
6230 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6231 (struct frame): Use bit fields for boolean vars.
6232
6233 * process.c (server_accept_connection): Simplify naming.
6234 (emacs_get_tty_pgrp): Use SDATA.
6235
6236 * coding.c (decode_coding_object): Fix last change.
6237
62382008-03-27 Jason Rumney <jasonr@gnu.org>
6239
6240 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6241
62422008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6243
6244 * charset.c (Fdefine_charset_internal): Change the way of
6245 registering charsets in Vcharset_order_list.
6246 (syms_of_charset): Make the charset `eight-bit' supplementary.
6247
62482008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6249
6250 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6251 operations, to avoid having the difference between pointers
6252 overflow.
6253
62542008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6255
6256 * indent.c (check_display_width): New fun.
6257 (scan_for_column): Use it.
6258
6259 * data.c (syms_of_data): Mark most-positive-fixnum and
6260 most-negative-fixnum as constants.
6261
6262 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6263
6264 * indent.c (scan_for_column): Extract from current_column_1.
6265 Merge with the same code from Fmove_to_column.
6266 (current_column_1, Fmove_to_column): Use it.
6267
62682008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6269
6270 * keymap.c (map_keymap_internal): New fun.
6271 (map_keymap): Use it.
6272 (Fmap_keymap_internal): New fun.
6273 (Fmap_keymap): Remove left-out test from before make_save_value.
6274
6275 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6276
6277 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6278 Use XCAR/XCDR.
6279
6280 * process.h (struct Lisp_Process): Remove filter_multibyte.
6281 * process.c (QCfilter_multibyte): Remove.
6282 (setup_process_coding_systems): Don't use filter_multibyte.
6283 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6284 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6285 (Fset_process_filter_multibyte): Change the coding-system to
6286 approximate the previous behavior.
6287 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6288 coding-system.
6289
6290 * coding.c (decode_coding_object): When not decoding into a buffer,
6291 obey the coding system's preference of (uni|multi)byte.
6292
62932008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6294
6295 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6296 every char is changed and has a different byte-length.
6297 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6298 Fix int -> EMACS_INT.
6299
63002008-03-23 David Hansen <david.hansen@gmx.net>
6301
6302 * dbusbind.c (xd_read_message): Remove extra copying of message
6303 strings. Check for NULL `interface' or `member'.
6304
63052008-03-22 Eli Zaretskii <eliz@gnu.org>
6306
6307 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6308 cFileName a file name that includes `?' characters, use the 8+3
6309 alias in cAlternateFileName instead.
6310
63112008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6312
6313 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6314
63152008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6316
6317 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6318 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6319 work on current_buffer only instead (that was already the case
6320 for some of the code anyway).
6321 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6322 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6323 (SET_PT, SET_PT_BOTH): Adjust.
6324 * intervals.h (set_point, temp_set_point, set_point_both)
6325 (temp_set_point_both): Remove redundant declarations.
6326
63272008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6328
6329 * fileio.c (Finsert_file_contents):
6330 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6331 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6332 when buffer != current_buffer anyway.
6333
63342008-03-20 Andreas Schwab <schwab@suse.de>
6335
6336 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6337 as default.
6338
63392008-03-19 Jason Rumney <jasonr@gnu.org>
6340
6341 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6342 (syms_of_w32fns): Initialize them.
6343 (HOURGLASS_ID): New constant.
6344 (x_window_to_frame): Don't check hourglass_window.
6345 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6346 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6347 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6348 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6349 Only change the cursor if hourglass is not active.
6350 (Fx_create_frame): Initialize frame's current_cursor.
6351 (hourglass_atimer): Remove.
6352 (hourglass_started): New function.
6353 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6354 (show_hourglass): Adapt to w32, changing argument to frame.
6355
6356 * w32term.h (struct w32_output): Remove hourglass_window.
6357 Add current_cursor.
6358
6359 * eval.c (call_debugger, Fsignal):
6360 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6361 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6362 (Fexecute_extended_command, cancel_hourglass_unwind):
6363 * minibuf.c (read_minibuf):
6364 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6365
63662008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6367
6368 * window.c (run_funs): New fun.
6369 (run_window_configuration_change_hook): Use it to run the buffer-local
6370 and the global part of the hook.
6371
6372 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6373 (unwind_format_mode_line): Restore selected window.
6374 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6375
63762008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6377
6378 * editfns.c (Fchar_equal): Check they are valid characters.
6379
6380 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6381
63822008-03-17 Andreas Schwab <schwab@suse.de>
6383
6384 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6385 against a charset.
6386
6387 * lisp.h (Fbuffer_list): Declare.
6388
63892008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6390
aac0c6e3
MR
6391 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6392 handlebox_widget is != 0.
6393
63942008-03-16 Juri Linkov <juri@jurta.org>
6395
6396 * callint.c (Fcall_interactively): For interactive code letters
6397 'b' and 'B' put the buffer list into the list of default "future"
6398 values of the minibuffer.
6399
64002008-03-16 Andreas Schwab <schwab@suse.de>
6401
6402 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6403 modifiers.
6404
6405 * regex.c (re_match_2_internal): Correct matching of a charset
6406 against latin-1 characters.
6407
64082008-03-16 Kenichi Handa <handa@m17n.org>
6409
6410 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6411 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6412 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6413 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6414 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6415 CHAR_STRING_ADVANCE.
6416 (produce_chars): Fix for the case that the source and the
6417 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6418 instead of CHAR_STRING_ADVANCE.
6419 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6420 STRING_CHAR_ADVANCE.
6421
64222008-03-15 Andreas Schwab <schwab@suse.de>
6423
6424 * regex.c (re_match_2_internal): Correct matching of eight bit
6425 characters in unibyte strings.
6426
64272008-03-15 Martin Rudalics <rudalics@gmx.at>
6428
6429 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6430 at end of range when it coincides with the end of the buffer.
6431
64322008-03-14 Eli Zaretskii <eliz@gnu.org>
6433
6434 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6435
6436 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6437
64382008-03-14 Jason Rumney <jasonr@gnu.org>
6439
6440 * editfns.c (initial_tz): New variable.
6441 (syms_of_editfns): Initialize it.
6442 (Fset_time_zone_rule): Set it when first called.
6443 Use it when TZSTRING is nil.
6444
6445 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6446 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6447 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6448 (globals_of_w32fns): Initialize them.
6449 (compute_tip_xy): Use them to position tooltips.
6450
64512008-03-14 Glenn Morris <rgm@gnu.org>
6452
6453 * emacs.c (main): Revert previous change.
6454 (standard_args): Revert -internal-script back to -scriptload,
6455 and remove the long-option form.
6456
64572008-03-13 Glenn Morris <rgm@gnu.org>
6458
6459 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6460 Remove option -enable-font-backend.
6461
64622008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6463
6464 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6465
64662008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6467
6468 * xterm.c (x_connection_closed): For GTK: If this is the last
6469 terminal just exit without closing the display.
6470
64712008-03-11 Jason Rumney <jasonr@gnu.org>
6472
6473 * w32font.c (w32font_full_name): Use floor to round.
6474
64752008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6476
6477 * sound.c (alsa_configure): Declare vol at beginning of block.
6478
6479 * fontset.c (Ffontset_info): Remove extra semicolon.
6480
64812008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6482
6483 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6484 size of resulting string.
6485
64862008-03-10 Jason Rumney <jasonr@gnu.org>
6487
6488 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6489
64902008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6491
6492 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6493 Don't pretend as if characters with display property haven't been
6494 consumed for string-replacing-string case.
6495
64962008-03-08 Kim F. Storm <storm@cua.dk>
6497
6498 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6499 (get_next_display_element, next_element_from_string)
6500 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6501
65022008-03-08 Andreas Schwab <schwab@suse.de>
6503
6504 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6505
65062008-03-06 Jason Rumney <jasonr@gnu.org>
6507
6508 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6509 when charset not specified. Only translate ANSI to unicode when
6510 font_type is truetype.
6511 (w32font_coverage_ok): New function.
6512 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6513
65142008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6515
6516 * lread.c (Fread_char): Resolve modifiers.
6517 (Fread_char_exclusive): Likewise.
6518
6519 * character.c (char_resolve_modifier_mask): New function.
6520 (char_string): Use char_resolve_modifier_mask.
6521 (Fchar_resolve_modifiers): New function.
6522 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6523 function.
6524
65252008-03-04 Jason Rumney <jasonr@gnu.org>
6526
6527 * makefile.w32-in: Always include w32font.c in the build.
6528 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6529
65302008-03-04 Andreas Schwab <schwab@suse.de>
6531
6532 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6533 (versionclean): Likewise.
6534
65352008-03-04 Juanma Barranquero <lekktu@gmail.com>
6536
6537 * .cvsignore: Add oo.
6538
65392008-03-03 Andreas Schwab <schwab@suse.de>
6540
6541 * coding.c (decode_coding_object): Inhibit gap shrinking while
6542 decoding in place.
6543
65442008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6545
6546 * w32term.c: Remove unused include "gnu.h".
6547 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6548
6549 * gnu.h: Rename to ...
6550 * emacs-icon.h: ... this.
6551 * xterm.c: Use emacs-icon.h instead of gnu.h.
6552 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6553
65542008-03-03 Juanma Barranquero <lekktu@gmail.com>
6555
6556 * w32font.c: Include math.h.
6557
65582008-03-03 Jason Rumney <jasonr@gnu.org>
6559
6560 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6561 Compute options separately.
6562 (w32font_open_internal): Set glyph_idx before caching metrics.
6563
6564 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6565 Define if system headers don't.
6566 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6567 (w32font_encode_char): Don't declare here.
6568
6569 * w32font.c (Quniscribe, QCformat): New symbols.
6570 (syms_of_w32font): Define them.
6571 (w32font_has_char): Indicate uncertainty.
6572 (w32font_encode_char): Encode as glyph point. Make static.
6573 (recompute_cached_metrics): New function.
6574 (w32font_open_internal): Use it. Set font to use glyph points
6575 initially. Set format based on type of font.
6576 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6577 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6578 on it. Set format based on information available here.
6579 (add_font_entity_to_list): Identify backend based on opentype_only.
6580
65812008-03-02 Andreas Schwab <schwab@suse.de>
6582
6583 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6584
6585 * coding.c (decode_coding_big5, produce_chars):
6586 Fix typos in last change.
6587
65882008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6589
6590 * gnu.h: New icon.
6591
65922008-03-02 Kenichi Handa <handa@m17n.org>
6593
6594 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6595 `dos', don't decode '\r' if that is the last in the source.
6596 (decode_coding_utf_16, decode_coding_emacs_mule)
6597 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6598 (decode_coding_raw_text, decode_coding_charset): Likewise.
6599 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6600
66012008-03-01 Jason Rumney <jasonr@gnu.org>
6602
6603 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6604
66052008-03-01 Kim F. Storm <storm@cua.dk>
6606
6607 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6608
66092008-03-01 Jason Rumney <jasonr@gnu.org>
6610
6611 * w32font.c (w32font_full_name): New function.
6612 (w32font_open_internal): Use it.
6613
66142008-03-01 Kim F. Storm <storm@cua.dk>
6615
6616 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6617
66182008-03-01 Jason Rumney <jasonr@gnu.org>
6619
6620 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6621
66222008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6623
6624 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6625 xg_frame_resized when the event is for the edit widget.
6626
6627 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6628
6629 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6630 set_char_size.
6631 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6632 operations on widgets here. Just set frame size if needed.
6633 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6634 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6635 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6636 the whole frame.
6637 (xg_create_tool_bar): Move attachment of the tool bar to
6638 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6639 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6640
66412008-03-01 Jason Rumney <jasonr@gnu.org>
6642
6643 * w32fns.c (w32_msg_pump): Disable debug code.
6644
66452008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6646
6647 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6648
66492008-02-29 Chong Yidong <cyd@stupidchicken.com>
6650
6651 * xdisp.c (next_overlay_string): Don't set
6652 overlay_strings_at_end_processed_p if we're currently reading from
6653 a display string.
6654
66552008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6656
6657 * xdisp.c (get_overlay_strings_1): Fix typo.
6658
66592008-02-29 Chong Yidong <cyd@stupidchicken.com>
6660
6661 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6662
66632008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6664
6665 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6666
6667 * xdisp.c (display_mode_element): Cancel the previous change.
6668 (decode_mode_spec): Likewise.
6669 (handle_auto_composed_prop): Don't make composition if it->string
6670 is a string.
6671
66722008-02-27 Kim F. Storm <storm@cua.dk>
6673
6674 * lisp.h (GLYPH): Change type from int to struct with separate char
6675 and face_id members.
6676 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6677 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6678 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6679 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6680 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6681 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6682 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6683 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6684 handle new Lisp glyph code encoding, either an integer or a cons.
6685
6686 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6687 (GLYPH_ALIAS): Delete.
6688 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6689 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6690 (GLYPH_FROM_CHAR): Replace macro by ...
6691 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6692
6693 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6694 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6695 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6696 (GLYPH_INVALID_P): New macro.
6697 (spec_glyph_lookup_face): Update prototype.
6698
6699 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6700 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6701 new glyph code encoding.
6702 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6703 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6704
6705 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6706 Adapt to new glyph type and new glyph code encoding.
6707
6708 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6709
6710 * indent.c (current_column, current_column_1, Fmove_to_column)
6711 (compute_motion): Adapt to new glyph code encoding.
6712
6713 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6714
67152008-02-27 Chong Yidong <cyd@stupidchicken.com>
6716
6717 * process.c (wait_reading_process_output): Check for window
6718 changes caused by timers.
6719 Suggested by Johan Bockgård.
6720
67212008-02-27 Glenn Morris <rgm@gnu.org>
6722
6723 * emacs.c (USAGE1): Add `--disable-font-backend'.
6724
67252008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6726
6727 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6728 is made to the buffer.
6729
67302008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6731
6732 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6733 (face_at_string_position):
6734 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6735 (face_at_string_position):
6736 * xdisp.c (display_string, next_overlay_change):
6737 * buffer.h (overlays_at):
6738 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6739 Update callers.
6740
67412008-02-26 Chong Yidong <cyd@stupidchicken.com>
6742
6743 * editfns.c (Fformat): Doc fix.
6744
67452008-02-26 Juanma Barranquero <lekktu@gmail.com>
6746
6747 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6748 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6749 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6750
67512008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6752
6753 * buffer.c (Fbuffer_swap_text): New function.
6754 (syms_of_buffer): Defsubr it.
6755
67562008-02-25 Chong Yidong <cyd@stupidchicken.com>
6757
6758 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6759
67602008-02-25 Jason Rumney <jasonr@gnu.org>
6761
6762 * w32font.c (w32font_draw): Draw one character at a time when padding.
6763
67642008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6765
6766 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6767 Handle a nil arg. Use run_window_configuration_change_hook.
6768 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6769 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6770 Use run_window_configuration_change_hook.
6771
67722008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6773
6774 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6775 1-pixel width.
6776
67772008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6778
6779 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6780 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6781 if the glyph in the font is zero pixel with.
6782
6783 * dispextern.h (struct glyph_string): New member padding_p.
6784
6785 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6786
6787 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6788
6789 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6790
6791 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6792
6793 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6794
67952008-02-25 Jason Rumney <jasonr@gnu.org>
6796
6797 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6798
67992008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6800
6801 Allow fine-grained image-cache flushing.
6802 * dispextern.h (struct image): Add `dependencies' field.
6803 (clear_image_caches): Change arg to Lisp_Object.
6804 * image.c (make_image): Initialize `dependencies' field.
6805 (clear_image_cache): Change arg to allow fine-grained flushing.
6806 Perform the flush even if image-cache-eviction-delay is nil.
6807 (clear_image_caches): Change arg to Lisp_Object.
6808 (Fclear_image_cache): Expand meaning of the argument.
6809 (mark_image): Mark `dependencies' field.
6810 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6811 (lface_hash): Use XHASH rather than XFASTINT.
6812 (face_at_buffer_position): Fix int -> EMACS_INT position.
6813 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6814 (select_frame_for_redisplay): Remove code duplication.
6815 (redisplay_internal): Adapt arg to call to clear_image_caches.
6816
68172008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6818
6819 * s/vms4-0.h:
6820 * s/vms4-2.h:
6821 * s/vms4-4.h:
6822 * s/vms5-5.h: Remove, unused.
6823
6824 * s/irix5-2.h:
6825 * s/irix6-0.h:
6826 * s/riscos5.h:
6827 * s/mach-bsd4-3.h:
6828 * m/mips4.h: Remove files for obsolete systems.
6829
6830 * Makefile.in:
6831 * filelock.c:
6832 * unexmips.c:
6833 * m/hp9000s300.h:
6834 * m/iris4d.h:
6835 * s/aix3-1.h:
6836 * s/hpux.h:
6837 * s/msdos.h:
6838 * s/usg5-0.h:
6839 * s/usg5-2-2.h:
6840 * s/usg5-2.h:
6841 * s/usg5-3.h: Remove references to obsolete variables.
6842
6843 * s/irix5-0.h: Remove, move all the contents ...
6844 * s/irix6-5.h: ... here. Simplify.
6845 * config.in: Regenerate.
6846
68472008-02-24 Jason Rumney <jasonr@gnu.org>
6848
6849 * w32term.c (x_draw_glyph_string_background): Clear the background
6850 manually when cleartype is in use.
6851 (x_draw_glyph_string_foreground): Draw text transparently when
6852 cleartype is in use.
6853
6854 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6855 a font into it unless we have to.
6856
68572008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6858
6859 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6860 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 6861
aac0c6e3
MR
68622008-02-18 Jason Rumney <jasonr@gnu.org>
6863
6864 * w32fns.c (Fw32_shell_execute): Encode parameters.
6865
68662008-02-09 Eli Zaretskii <eliz@gnu.org>
6867
6868 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6869
68702008-02-05 Juanma Barranquero <lekktu@gmail.com>
6871
6872 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6873
68742008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6875
6876 * xterm.c (x_set_offset): Don't change the gravity if
6877 CHANGE_GRAVITY is -1.
6878
68792008-02-23 Chong Yidong <cyd@stupidchicken.com>
6880
6881 * fileio.c (auto_save_error_occurred): New var.
6882 (auto_save_error): Set it.
6883 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6884 error occurred.
6885
68862008-02-23 Eli Zaretskii <eliz@gnu.org>
6887
6888 * w32.c (globals_of_w32): Add initializations for
6889 g_b_init_get_sid_sub_authority and
6890 g_b_init_get_sid_sub_authority_count.
6891
68922008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6893
6894 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6895 (font_parse_xlfd): Use them for sanity check.
6896 (Finternal_set_font_style_table): Make sure the table is bijective.
6897
6898 Consolidate the image_cache to the terminal struct.
6899 * termhooks.h (P_): Remove redundant def.
6900 (struct terminal): New field `image_cache'.
6901 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6902 of FRAME_X_IMAGE_CACHE.
6903 * xterm.h (struct x_display_info): Remove image_cache field.
6904 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6905 * w32term.h (struct w32_display_info): Remove image_cache field.
6906 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6907 * macterm.h (struct mac_display_info): Remove image_cache field.
6908 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6909 * xterm.c (x_term_init):
6910 * w32term.c (w32_term_init):
6911 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6912 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6913 Remove declarations.
6914 (clear_image_caches, mark_image_cache): New declarations.
6915 * xfaces.c (clear_face_cache):
6916 * xdisp.c (redisplay_internal): Use clear_image_caches.
6917 * image.c (clear_image_cache): Don't check that a frame is on
6918 a window-system before checking if it shares the same cache.
6919 (clear_image_caches): New function.
6920 (Fclear_image_cache): Use it.
6921 (mark_image): Move from allo.c.
6922 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6923 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6924 (mark_object): Don't call mark_image_cache for frames.
6925 (mark_terminals): Call mark_image_cache.
6926
6927 * lisp.h (Fdelete_terminal): Declare.
6928
6929 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6930 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6931 wrong_type_argument.
6932
69332008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6934
6935 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6936 malayalam.el, and tamil.el. Add sinhala.el.
6937
69382008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6939
6940 * xterm.c (x_connection_closed): Consolidate identical tests.
6941 (x_delete_terminal): Don't crash if called via x_connection_closed.
6942
69432008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6944
6945 * xdisp.c (decode_mode_spec): New arg string.
6946 (display_mode_element): Adjust for the above change.
6947
69482008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6949
6950 * callint.c (Fcall_interactively): Use AREF.
6951
69522008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6953
6954 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6955
69562008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6957
6958 * xfns.c (Fx_show_tip): Set string to " " if empty.
6959
69602008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6961
6962 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6963 with Qt.
6964
69652008-02-17 Kenichi Handa <handa@m17n.org>
6966
6967 * ftfont.c (ftfont_shape): Return Lispy number.
6968
6969 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6970 for GCs.
6971 (Finternal_set_font_selection_order): Call font_update_sort_order
6972 only when enable_font_backend is set.
6973 (realize_x_face): Set face->font_info to that of default face only
6974 when enable_font_backend is set.
6975
6976 * xdisp.c (handle_composition_prop): Set it->c to the fist
6977 character of the composed region.
6978 (fill_composite_glyph_string): Set base_face->font_info to
6979 s->font_info. Get a face for ascii from base_face->ascii_face.
6980 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6981 with a face already decided.
6982 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6983 non-negative.
6984 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6985 call font_prepare_composition unconditionally.
6986
6987 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6988
6989 * xterm.h (struct x_display_info): New member font.
6990
6991 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6992 (x_set_mouse_face_gc, x_new_font): Likewise.
6993 (x_term_init): Setup display_info->font.
6994 (x_delete_terminal): Free display_info->font.
6995
6996 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6997
6998 * ftxfont.c (ftxfont_default_fid): Delete it.
6999 (ftxfont_open): Set xfont->fid to 0.
7000 (ftxfont_end_for_frame): Clear data specific to the frame and the
7001 font-driver.
7002
7003 * xftfont.c (xftfont_default_fid): Delete it.
7004 (xftfont_open): Set xfont->fid to 0.
7005
7006 * fontset.c (FONTSET_OBJLIST): New macro.
7007 (fontset_find_font): Update font-object list of the fontset.
7008 (free_realized_fontset): New function.
7009 (free_face_fontset): Call free_realized_fontset.
7010 (Ffont_info): Call font_close_object only when enable_font_backend
7011 is set.
7012
7013 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7014 [HAVE_NTGUI]: Include w32term.h.
7015 [MAC_OS]: Include macterm.ch.
7016 (font_otf_ValueRecord): Use make_number.
7017 (font_finish_cache): Fix handling of reference count.
7018 (font_clear_cache): Update num_fonts.
7019 (font_open_entity): Update smallest_char_width and
7020 smallest_font_height of the frame.
7021 (font_close_object): Update num_fonts.
7022 (Fclear_font_cache): Fix finding the target cache data.
7023
70242008-02-16 Glenn Morris <rgm@gnu.org>
7025
7026 * fontset.c (Finternal_char_font): Fix compilation warning.
7027
70282008-02-16 Eli Zaretskii <eliz@gnu.org>
7029
7030 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7031 instead of char arrays. Enlarge the size of array passed to
7032 get_token_information.
7033
7034 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7035 warnings.
7036
70372008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7038
7039 * .gdbinit: Don't set `args', it breaks gdb --args.
7040
70412008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7042
7043 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7044 within a narrowed buffer.
7045
70462008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7047
7048 * coding.c (decode_coding_object, encode_coding_object):
7049 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7050
70512008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7052
7053 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7054 hardcoding 1.
7055 (detect_coding_system):
7056 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7057 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7058 * insdel.c (insert_from_gap):
7059 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7060 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7061 (string_to_multibyte):
7062 * character.c (chars_in_text, multibyte_chars_in_text):
7063 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7064
7065 * character.h (FETCH_STRING_CHAR_ADVANCE)
7066 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7067 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7068 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7069
7070 * casefiddle.c (casify_region): Only call after-change and composition
7071 functions on the part of the region that was changed.
7072
7073 * keyboard.c (read_avail_input):
7074 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7075
70762008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7077
7078 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7079 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7080
70812008-02-11 Juanma Barranquero <lekktu@gmail.com>
7082
7083 * w32menu.c (push_submenu_start, push_submenu_end)
7084 (push_left_right_boundary, push_menu_pane, push_menu_item):
7085 * keyboard.c (read_key_sequence): Don't pass args with side effects
7086 to AREF, it fails when compiling with -DENABLE_CHECKING.
7087
70882008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7089
7090 * Makefile.in (${lispsource}international/charprop.el):
7091 Delete this target.
7092
7093 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7094 emacs-unicode-2.
7095
70962008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7097
7098 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7099
71002008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7101
7102 * frame.c (Qnoelisp): New symbol.
7103 (syms_of_frame): Initialize it.
7104 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7105 harmless Elisp code, from a strong `force' from x_connection_closed.
7106 * frame.h (Qnoelisp): Declare.
7107 * xterm.c (x_connection_closed): Pass `noelisp'.
7108
7109 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7110 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7111 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7112 rather than `int' for the type of `type'.
7113
71142008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7115
7116 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7117
7118 * Makefile.in (GNUC): Remove support for gcc-1.x.
7119
71202008-02-10 Richard Stallman <rms@gnu.org>
7121
7122 * lisp.h (ASET): Use AREF, not ASLOT.
7123
71242008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7125
7126 * lisp.h (ASET): Check bounds.
7127
71282008-02-10 Glenn Morris <rgm@gnu.org>
7129
7130 * buffer.c (mode-name): Doc fix.
7131
71322008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7133
7134 * Makefile.in:
7135 * emacs.c:
7136 * gmalloc.c:
7137 * keyboard.c:
7138 * lisp.h:
7139 * m/ibm370aix.h:
7140 * process.c:
7141 * regex.c:
7142 * s/hpux.h:
7143 * sysdep.c:
7144 * sysselect.h:
7145 * systty.h:
7146 * unexec.c:
7147 * w32term.c:
7148 * xsmfns.c:
7149 * xterm.c: Remove code that deals with obsolete variables.
7150
7151 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7152
7153 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7154 nothing else needs it anymore.
7155
71562008-02-09 Eli Zaretskii <eliz@gnu.org>
7157
7158 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7159 instead of unibyte_char_to_multibyte.
7160
71612008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7162
7163 * s/gnu-linux.h: Remove commented out code.
7164
7165 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7166
7167 * Makefile.in: Update what RMS says about using autoconf.
7168 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7169 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7170 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7171 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7172
71732008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7174
7175 * keymap.c (Fkey_description): Move side effect outside of macro call.
7176
7177 * xfaces.c (Finternal_make_lisp_face):
7178 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7179
7180 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7181 (syms_of_fontset): Use ASET.
7182
7183 * fns.c (concat): Move side effect outside of macro call.
7184 (hash_clear): Use ASET.
7185
71862008-02-08 Richard Stallman <rms@gnu.org>
7187
7188 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7189 If FORCE, and frame has a surrogate minibuffer for another frame,
7190 delete the other frame first.
7191
71922008-02-07 Timo Savola <timo.savola@iki.fi>
7193
7194 * xterm.c (x_detect_focus_change): Handle embed client message.
7195 (handle_one_xevent): Ditto.
7196 (handle_one_xevent): If embedded and we get a button press/release,
7197 request focus.
7198 (xembed_set_info, xembed_send_message): New functions.
7199 (x_make_frame_visible): Call xembed_set_info if embedded.
7200 (x_make_frame_invisible): Call xembed_set_info if embedded.
7201 (x_term_init): Initialize Xatom_XEMBED.
7202 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7203 (x_iconify_frame): Ditto.
7204
7205 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7206 (enum xembed_info, enum xembed_message, enum xembed_focus)
7207 (enum xembed_modifier, enum xembed_accelerator): New.
7208 (xembed_set_info, xembed_send_message): Declare.
7209 (FRAME_X_EMBEDDED_P): New.
7210
7211 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7212 gtk_plug_new.
7213
7214 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7215 window ID of a frame.
7216 (x_window): Reparent frame if embedded.
7217 (Fx_create_frame): Don't set border width if embedded.
7218
7219 * emacs.c (USAGE3): Add --parent-id.
7220 (standard_args): Ditto.
7221
72222008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7223
7224 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7225
72262008-02-07 Jim Meyering <meyering@redhat.com>
7227
7228 Use "do...while (0)", not "if (1)...else" in macro definitions.
7229 The latter provokes a warning from gcc about the empty else, when
7230 followed by ";". Also, without that trailing semicolon, it would
7231 silently swallow up any following statement.
7232 * syntax.h (SETUP_SYNTAX_TABLE)
7233 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7234 * buffer.h (DECODE_POSITION): Likewise.
7235 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7236 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7237 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7238 (FETCH_CHAR_ADVANCE): Likewise.
7239 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7240
72412008-02-07 Jim Meyering <meyering@redhat.com>
7242
7243 * lread.c [lint]: Don't include <sys/inode.h>.
7244
72452008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7246
7247 * xselect.c (x_handle_dnd_message):
7248 * xmenu.c (digest_single_submenu, xmenu_show):
7249 * xdisp.c (with_echo_area_buffer_unwind_data)
7250 (format_mode_line_unwind_data, unwind_format_mode_line)
7251 (display_menu_bar):
7252 * eval.c (Ffetch_bytecode):
7253 * doc.c (store_function_docstring):
7254 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7255 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7256 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7257
72582008-02-07 Kenichi Handa <handa@m17n.org>
7259
7260 * ftxfont.c (ftxfont_open): Don't set
7261 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7262
7263 * ftfont.c (ftfont_open): Fix previous change.
7264
72652008-02-06 Jason Rumney <jasonr@gnu.org>
7266
7267 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7268 Use cached metrics for ASCII characters.
7269 (w32font_open_internal): Don't set font's owning_frame.
7270 Cache metrics for ASCII characters.
7271
7272 * w32font.h (struct w32font_info): Add ascii_metrics.
7273 Remove owning_frame.
7274
72752008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7276
7277 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7278 to negative value.
7279
7280 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7281
7282 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7283
7284 * charset.c (syms_of_charset): Set QCtest and Qeq.
7285
72862008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7287
7288 * process.c (Fstart_process):
7289 * callproc.c (Fcall_process): Handle the case where
7290 Funhandled_file_name_directory returns nil.
7291
7292 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7293 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7294 * font.c (check_gstring): Use them and AREF to access the vector before
7295 we know it's really a gstring.
7296 (Ffont_shape_text): Fix typo.
7297 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7298
7299 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7300 Declare.
7301
7302 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7303
73042008-02-05 Jason Rumney <jasonr@gnu.org>
7305
7306 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7307 Set smallest_font_height and smallest_char_width in display info.
7308
73092008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7310
7311 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7312
73132008-02-05 Miles Bader <miles@gnu.org>
7314
7315 * xfaces.c (get_lface_attributes, merge_named_face)
7316 (lookup_named_face, lookup_derived_face, realize_named_face):
7317 Revert 2008-02-01 change by cyd@stupidchicken.com.
7318
73192008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7320
7321 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7322 fallback fonts.
7323 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7324
73252008-02-04 Jason Rumney <jasonr@gnu.org>
7326
7327 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7328 set full_name.
7329 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7330
73312008-02-03 Jason Rumney <jasonr@gnu.org>
7332
7333 * makefile.w32-in (OBJ1): Include font.o here.
7334 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7335
73362008-02-02 Jason Rumney <jasonr@gnu.org>
7337
7338 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7339
73402008-02-01 Jason Rumney <jasonr@gnu.org>
7341
7342 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7343
7344 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7345
73462008-02-01 Andreas Schwab <schwab@suse.de>
7347
7348 * Makefile.in (shortlisp, lisp): Update for rename of
7349 ../lisp/language/myanmar.el.
7350
73512008-02-01 Chong Yidong <cyd@stupidchicken.com>
7352
7353 * xfaces.c (get_lface_attributes): Delete function.
7354 (merge_named_face, lookup_named_face, lookup_derived_face)
7355 (realize_named_face): Call lface_from_face_name directly, and use
7356 the fact that merge_face_vectors does not alter its FROM argument.
7357
73582008-02-01 Jason Rumney <jasonr@gnu.org>
7359
7360 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7361 input in the default locale. Handle non-Unicode multibyte input.
7362
73632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7364
7365 * fontset.c (reorder_font_vector): Exclude nil elements from the
7366 font group. Don't try multiple fonts.
7367 (fontset_font): Adjust for the above change.
7368 (Finternal_char_font): Return nil if the found font doesn't
7369 contain the character ch.
7370
7371 * Makefile.in (lisp, shortlisp): Add cham.el.
7372
73732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7374
7375 * font.h (FONTP): Make it return 1 also for a font-object.
7376
7377 * .gdbinit (xfontset): New function.
7378
7379 * font.c (font_find_for_lface): Check if the character C is
7380 supported or not only for the first font.
7381
7382 * fontset.c (reorder_font_vector): Fix typo.
7383 (fontset_find_font): Don't add a font-spec specifying a script.
7384 Use 0 (not Qt) for the indication of empty font-group. Change the
7385 format of RFONT-DEF. Return Qt if no font in the font-group
7386 support the character.
7387 (fontset_font): Adjust for the above change. If no font was
7388 found the character, remember that.
7389 (face_for_char): Adjust for the change of RFONT-DEF.
7390 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7391 no font for the target.
7392 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7393
73942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7395
7396 * font.c (font_load_for_face): Handle the case that the font in
7397 face->lface is a string.
7398
73992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7400
7401 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7402
74032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7404
7405 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7406 Fix previous change. If the frame is not on a window system,
7407 signal an error.
7408
74092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7410
7411 * coding.c (decode_coding_object, encode_coding_object): Adjust
7412 marker positions after conversion.
7413
7414 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7415
74162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7417
7418 * font.c (font_find_for_lface): Fix the handling of the return
7419 value of font_has_char.
7420 (Ffont_shape_text): Fix previous change.
7421
7422 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7423 (fontset_ref_and_range): Delete it.
7424 (fontset_find_font): Call char_table_ref_and_range instead of
7425 FONTSET_REF_AND_RANGE.
7426 (make_fontset): Don't setup font groups of Latin here.
7427 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7428 (new_fontset_from_font): Make the specified font the default for
7429 all Latin characters.
7430
74312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7432
7433 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7434 is on a window system before accessing the fontset of the frame.
7435
74362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7437
7438 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7439
7440 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7441 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7442
7443 * font.c (Ffont_shape_text): If the font driver doesn't have a
7444 shaper function, make zero-width glyphs to have at least one-pixel
7445 width. Fix setting of `to' field of glyphs.
7446
74472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7448
7449 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7450 glyphs.
7451
7452 * font.h (struct font_driver): Improve docstring of member `shape'.
7453
74542008-02-01 Kenichi Handa <handa@m17n.org>
7455
7456 * composite.c (syms_of_composite): Fix docstring of
7457 auto-composition-function.
7458
7459 * font.h (LGLYPH_SIZE): New macro.
7460
7461 * font.c (Ffont_fill_gstring): Stop filling when a character not
7462 supported by the font is found.
7463 (Ffont_shape_text): When a shape callback function returns nil,
7464 try at most two more times with larger gstring.
7465 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7466
7467 * xdisp.c (handle_auto_composed_prop): Change the argument to
7468 auto-composition-function.
7469
7470 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7471 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7472 Lispy glyph and store it in the lgstring.
7473
7474 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7475
7476 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7477
74782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7479
7480 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7481
7482 * fontset.c (Vfont_encoding_charset_alist): New variable.
7483 (syms_of_fontset): DEFVAR it.
7484 (reorder_font_vector, fontset_find_font): Optimize for the case of
7485 no need of reordering.
7486 (face_for_char): Map the charset property by
7487 Vfont_encoding_charset_alist.
7488
74892008-02-01 Jason Rumney <jasonr@gnu.org>
7490
7491 * w32font.c (logfonts_match): Don't check adstyle here.
7492 (font_matches_spec): Check here against physical font instead.
7493 (add_font_entity_to_list): Avoid some substitutions.
7494
7495 * font.c (font_parse_fcname): Default weight and slant to normal.
7496 (font_score): Prefer normal fonts if weight or slant unspecified.
7497 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7498 match freetype scores.
7499
75002008-02-01 Jason Rumney <jasonr@gnu.org>
7501
7502 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7503 font, as it may have been deleted.
7504 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7505 most common hyphenless variation.
7506 (logfonts_match): Check generic family.
7507 (font_matches_spec): Don't check generic family here.
7508 (fill_in_logfont): Set generic family based on adstyle.
7509
7510 * w32font.h (w32font_get_cache): Update declaration.
7511
75122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7513
7514 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7515
7516 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7517 If none of the new drivers are available, call font_update_drivers
7518 with the old drivers.
7519
7520 * w32font.c (w32font_get_cache): Adjust the argument type.
7521
7522 * xfont.c (xfont_get_cache): Adjust the argument type.
7523
7524 * font.h (struct font_driver): Change argument type of get_cache.
7525
7526 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7527
7528 * font.c (Ffont_get): Fix arguments to Fassoc.
7529 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7530 (font_clear_cache): New function.
7531 (font_list_entities, font_matching_entity): Use font_get_cache.
7532 (font_update_drivers): Call font_clear_cache when finishing a driver.
7533
7534 * fontset.c (fontset_find_font): Fix previous change.
7535
75362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7537
7538 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7539 dpyinfo->font_table.
7540 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7541 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7542
7543 * font.c (font_at): Handle the case that the arg C is negative.
7544 Handle the unibyte case.
7545 (Ffont_at): Call font_at with the arg C -1.
7546
7547 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7548 the position here, and call font_at with the arg C -1.
7549 Don't check the range of the existing composition at the point.
7550
75512008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7552
7553 * fontset.c (fontset_add): New args charset_id and family.
7554 Change caller.
7555 (load_font_get_repertory, fontset_find_font): Assume that
7556 font_spec is always a font-spec object.
7557 (Fset_fontset_font): Always store a font-spec object in a fontset.
7558
7559 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7560 instead of get_property_and_range.
7561
75622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7563
7564 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7565 (xftfont_open): Don't keep locking face.
7566 (xftfont_close): Don't unlock face.
7567 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7568
7569 * fontset.c (fontset_find_font): Don't prefer a font of
7570 supplementary charset.
7571
75722008-02-01 Kenichi Handa <handa@m17n.org>
7573
7574 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7575 script, langsys_tag to langsys, new member script.
7576 (OTF_TAG_STR): Terminate by '\0'.
7577 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7578 listing to the script specified in that property. Fix arg to
7579 OTF_check_features.
7580
75812008-02-01 Jason Rumney <jasonr@gnu.org>
7582
7583 * w32font.h: New file.
7584
7585 * w32font.c: Include it.
7586 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7587 (w32font_open): Set owning_frame.
7588 (w32font_text_extents): Use owning_frame.
7589 (struct font_callback_data): Add opentype_only field.
7590 (add_font_entity_to_list): Use it to filter fonts.
7591 Don't check against full name.
7592 (w32font_list_internal): New function.
7593 (w32font_list): Use it.
7594 (w32font_match_internal): New function.
7595 (w32font_match): Use it.
7596 (w32font_open_internal): New function.
7597 (w32font_open): Use it.
7598 (w32font_get_cache, w32font_close, w32font_has_char)
7599 (w32font_encode_char, w32font_text_extents, w32font_draw):
7600 Make non-static.
7601
7602 * makefile.w32-in (w32font.o): Depend on w32font.h.
7603
76042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7605
7606 * charset.c (Fdefine_charset_internal): Record a supplementary
7607 charset at the tail of Vcharset_order_list.
7608
7609 * font.c (Ffont_shape_text): Fix the return value.
7610
7611 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7612
7613 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7614
76152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7616
7617 * ftfont.c (struct OpenTypeSpec): New struct.
7618 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7619 (ftfont_get_open_type_spec): New function.
7620 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7621
7622 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7623
76242008-02-01 Jason Rumney <jasonr@gnu.org>
7625
7626 * w32font.c (add_font_entity_to_list): Compare only the beginning
7627 of full name.
7628
76292008-02-01 Kenichi Handa <handa@m17n.org>
7630
7631 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7632 Never return HANDLED_RECOMPUTE_PROPS.
7633
76342008-02-01 Kenichi Handa <handa@m17n.org>
7635
7636 * font.c (font_gstring_produce): Delete it.
7637
7638 * composite.h (COMPOSITION_METHOD):
7639 Handle COMPOSITION_WITH_GLYPH_STRING.
7640
76412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7642
7643 * xfont.c (Qx): Delete.
7644 (syms_of_xfont): Don't initialize Qx.
7645
7646 * composite.h (enum composition_method):
7647 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7648
76492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7650
7651 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7652 (choose_face_font): Accept new form of font-spec.
7653
7654 * frame.h (font_driver_list): Declare it unconditionally.
7655 (struct frame): Define members font_driver_list and font_data_list
7656 unconditionally.
7657
7658 * fontset.c: Include "font.h" unconditionally.
7659 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7660 (Fset_fontset_font): Accept a font-spec object.
7661
7662 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7663 PIXEL_SIZE part a wild card.
7664
7665 * dispextern.h (struct glyph_string): Define members clip and
7666 num_clips unconditionally.
7667 (struct face): Define members font_info and extra unconditionally.
7668
7669 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7670 ftfont_info only when HAVE_LIBOTF is defined.
7671
76722008-02-01 Andreas Schwab <schwab@suse.de>
7673
7674 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7675 and end.
7676
76772008-02-01 Jason Rumney <jasonr@gnu.org>
7678
7679 * w32font.c (w32font_driver): Add new fields.
7680
76812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7682
7683 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7684 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7685 (LIBES): Add @M17N_FLT_CFLAGS@.
7686
7687 * composite.c (compose_text): Don't treat the new style
7688 composition specially.
7689
7690 * emacs.c (main): Call syms_of_font unconditionally.
7691
7692 * font.h (FONT_ENTITY_NOT_LOADABLE)
7693 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7694 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7695 (struct font_driver): New member shape.
7696 (font_registry_charsets): Extern it.
7697 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7698 (font_otf_capability, font_drive_otf): Delete their externs.
7699
7700 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7701 (font_charset_alist, font_registry_charsets): Move from xfont.c
7702 and rename.
7703 (font_prop_validate_otf): New function.
7704 (font_property_table): Register it for QCotf.
7705 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7706 (font_drive_otf): Delete.
7707 (font_prepare_composition): New arg F. Adjust for the change of
7708 lispy gstring.
7709 (font_find_for_lface): New arg C.
7710 (font_load_for_face): Adjust for the change of font_find_for_lface.
7711 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7712 lispy gstring.
7713 (Ffont_shape_text): New function.
7714 (Fopen_font): If the font size is not given, use 12-pixel.
7715 (Ffont_at): New arg STRING.
7716 (syms_of_font): Initalize font_charset_alist.
7717 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7718 conditionally.
7719
7720 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7721 fonts of the same font-spec. Change the format of RFONT-DEF.
7722 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7723 Adjust for the change of RFONT-DEF.
7724 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7725
7726 * ftfont.h: New file.
7727
7728 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7729 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7730 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7731 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7732 font_otf_capability and font_drive_otf, set ftfont_shape.
7733 (ftfont_list): Adjust for the change of :otf property value.
7734 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7735 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7736 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7737 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7738 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7739 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7740
7741 * w32term.c (x_draw_composite_glyph_string_foreground):
7742 Adjust for the change of lispy gstring.
7743
7744 * xdisp.c (handle_composition_prop): Adjust for the change of
7745 lispy gstring. Call a function for auto-composition with the
7746 third arg it->window.
7747 (fill_composite_glyph_string): Adjust for the change of lispy string.
7748 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7749
7750 * xfaces.c (set_font_frame_param): Adjust for the change of
7751 font_find_for_lface.
7752
7753 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7754 (xfont_registry_charsets): Likewise. Change caller.
7755 (syms_of_xfont): Don't handle x_font_charset_alist.
7756
7757 * xftfont.c: Include "ftfont.h".
7758 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7759 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7760 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7761 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7762 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7763 Set xftfont_driver.shape to xftfont_shape.
7764
7765 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7766 the change of lispy gstring.
7767
77682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7769
7770 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7771
77722008-02-01 Jason Rumney <jasonr@gnu.org>
7773
7774 * w32font.c (w32font_draw): Fill background manually.
7775
77762008-02-01 Jason Rumney <jasonr@gnu.org>
7777
7778 * font.c (Qfontp): Remove unused symbol.
7779 (QCantialias): New symbol.
7780 (syms_of_font): Define it.
7781 (font_property_table): Set a validator for QCantialias.
7782
7783 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7784 Define if not already.
7785 (QCfamily): Share with xfaces.c.
7786 (Qstandard, Qsubpixel, Qnatural): New symbols.
7787 (syms_of_w32font): Define them. Don't define QCfamily here.
7788 (w32_antialias_type, lispy_antialias_type): New functions.
7789 (w32_enumfont_pattern_entity): New arg requested_font.
7790 Set antialias parameter if non-default was requested.
7791 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7792
77932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7794
7795 * lread.c (read1): Undo the previous change.
7796
77972008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7798
7799 * frame.c (Fdelete_frame): Call font_update_drivers only when
7800 USE_FONT_BACKEND is defined.
7801
78022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7803
7804 * font.h (struct font_bitmap): New member bits_per_pixel.
7805 (struct font_driver): New members start_for_frame and end_for_frame.
7806 (struct font_data_list): New struct.
7807 (font_put_frame_data, font_get_frame_data): Extern them.
7808
7809 * frame.h (struct frame): New member font_data_list.
7810
7811 * font.c (font_update_drivers): Call driver->start_for_frame and
7812 driver->end_for_frame at proper timings.
7813 (font_put_frame_data, font_get_frame_data): New functions.
7814 (Ffont_spec): Add usage in the docstring.
7815
7816 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7817 (Fdelete_frame): Call font_update_drivers.
7818
7819 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7820 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7821 (xftfont_get_xft_draw): New function.
7822 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7823 (xftfont_end_for_frame): New function.
7824 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7825
7826 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7827 Change argument. Cache GCs in the per-frame data.
7828 (struct ftxfont_frame_data): New struct.
7829 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7830 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7831 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7832 (ftxfont_end_for_frame): New function.
7833 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7834
7835 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7836
78372008-02-01 Kenichi Handa <handa@m17n.org>
7838
7839 * xselect.c (Vselection_coding_system)
7840 (Vnext_selection_coding_system): Delete them.
7841 (syms_of_xselect): Don't declare selection-coding-system and
7842 next-selection-coding-system. They are declared in select.el.
7843
78442008-02-01 Jason Rumney <jasonr@gnu.org>
7845
7846 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7847
7848 * w32fns.c: Include imm.h.
7849 (get_composition_string_fn, get_ime_context_fn): New optional
7850 system functions.
7851 (globals_of_w32fns): Load them from imm32.dll.
7852 (ignore_ime_char): New flag.
7853 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7854 WM_IME_ENDCOMPOSITION messages.
7855
7856 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7857 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7858
78592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7860
7861 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7862 (READCHAR_REPORT_MULTIBYTE): New macro.
7863 (readchar): New 2nd arg MULTIBYTE.
7864 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7865 Make symbol's name multibyte according to the multibyteness of the
7866 source.
7867
78682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7869
7870 * xfaces.c (face_for_overlay_string): Call lookup_face with
7871 correct arguments (fix of synching with the trunk).
7872
78732008-02-01 Kenichi Handa <handa@m17n.org>
7874
7875 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7876 (font_prop_validate_non_neg, font_prop_validate_spacing):
7877 Delete argument prop_index.
7878 (font_property_table): Change arguments to validater. Change Callers.
7879 (font_lispy_object): Delete.
7880 (font_at): Use font_find_object instead fo font_lispy_object.
7881
78822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7883
7884 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7885 and file names.
7886
78872008-02-01 Jason Rumney <jasonr@gnu.org>
7888
7889 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7890 (font_matches_spec): Remove debug output.
7891 (add_font_entity_to_list): Avoid using substituted fonts.
7892
78932008-02-01 Jason Rumney <jasonr@gnu.org>
7894
7895 * doc.c (Fsnarf_documentation):
7896 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7897
78982008-02-01 Miles Bader <miles@gnu.org>
7899
7900 * dispextern.h (struct glyph_row): Only define "clip" field if
7901 HAVE_WINDOW_SYSTEM is defined.
7902
79032008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7904
7905 Fix up multi-tty merge.
7906
7907 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7908 and indentation.
7909
7910 * xfaces.c (free_realized_face, clear_face_gcs):
7911 Include font_done_for_face in the input_blocked section, just in case.
7912
7913 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7914 (get_char_face_and_encoding): Undo last change and remove the *other*
7915 duplicate definition (i.e. keep the one that's better scoped and that
7916 includes code for the font-backend).
7917
7918 * terminal.c (create_terminal): Default keyboard_coding to
7919 `no-conversion' and terminal_coding to `undecided'.
7920
7921 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7922
7923 * fontset.c (free_realized_fontsets): Check that the table entry does
7924 contain a fontset before trying to compare it to `base'.
7925
7926 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7927 syms_of_charset, and syms_of_coding earlier because init_window_once
7928 now needs Vcoding_system_hash_table to be setup.
7929
7930 * coding.h (default_buffer_file_coding): Remove.
7931
7932 * coding.c (default_buffer_file_coding): Remove.
7933 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7934 than ->symbol, and use the terminal-local coding system.
7935 (syms_of_coding): Don't setup the coding-systems that are not
7936 terminal-local.
7937 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7938
7939 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7940 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7941
7942 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7943 in chartab.c and were re-added here by mistake.
7944 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7945
7946 * doc.c (Fsnarf_documentation):
7947 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7948 src to etc.
7949
7950 * ChangeLog.10: Add mistakenly removed entry.
7951
79522008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7953
7954 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7955
79562008-02-01 Miles Bader <miles@gnu.org>
7957
7958 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7959 Add extra args to FACE_FOR_CHAR.
7960
79612008-02-01 Kenichi Handa <handa@m17n.org>
7962
7963 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7964 in sequence.
7965
7966 * chartab.c (map_sub_char_table, map_char_table): If the range
7967 contains just one character, call the function with that character
7968 even if the depth is not 3.
7969
79702008-02-01 Jason Rumney <jasonr@gnu.org>
7971
7972 * w32font.c (w32font_text_extents): Calculate metrics for the
7973 whole string.
7974
79752008-02-01 Jason Rumney <jasonr@gnu.org>
7976
7977 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7978
79792008-02-01 Jason Rumney <jasonr@gnu.org>
7980
7981 * w32term.c (x_set_glyph_string_clipping): Use
7982 get_glyph_string_clip_rects.
7983 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7984 Adjust for the change of struct glyph_string.
7985
7986 * w32font.c (w32font_draw): Do clipping here.
7987
79882008-02-01 Kenichi Handa <handa@m17n.org>
7989
7990 * xftfont.c (xftfont_draw): Adjust for the change of struct
7991 glyph_string.
7992
7993 * xterm.c (x_set_glyph_string_clipping): Use
7994 get_glyph_string_clip_rects.
7995 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7996 Adjust for the change of struct glyph_string.
7997
7998 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7999 the resulting clip(s}.
8000 (expose_overlaps): Add arg r. Change callers. Set it to
8001 row->clip temporarily.
8002 (expose_window): Redraw rows overlapping the exposed area.
8003
8004 * dispextern.h (struct glyph_row): New member clip.
8005 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8006 clip_height, new member clip, and num_clips.
8007
80082008-02-01 Kenichi Handa <handa@m17n.org>
8009
8010 * data.c (Fchar_or_string_p): Fix docstring.
8011
80122008-02-01 Kenichi Handa <handa@m17n.org>
8013
8014 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8015 create a temporary XftDraw object.
8016
80172008-02-01 Kenichi Handa <handa@m17n.org>
8018
8019 * font.c (Ffontp): Fix docstring.
8020
8021 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8022 strong evidence of ISO-2022.
8023
80242008-02-01 Kenichi Handa <handa@m17n.org>
8025
8026 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8027 SYNTAX_ENTRY_FOLLOW_PARENT.
8028
80292008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8030
8031 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8032 its type.
8033 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8034 Update to the new type of weak_hash_tables and next_weak.
8035
8036 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8037 a plain C pointer to Lisp_Hash_Table.
8038
8039 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8040 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8041 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8042 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8043 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8044 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8045 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8046 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8047 (GC_EQ): Remove since they've been identical to their non-GC_
8048 alter-egos ever since the markbit was eradicated.
8049
8050 * alloc.c:
8051 * buffer.c:
8052 * buffer.h:
8053 * data.c:
8054 * fileio.c:
8055 * filelock.c:
8056 * fns.c:
8057 * frame.h:
8058 * lisp.h:
8059 * macterm.c:
8060 * print.c:
8061 * process.c:
8062 * w32fns.c:
8063 * w32menu.c:
8064 * w32term.c:
8065 * xfns.c:
8066 * xmenu.c:
8067 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8068
80692008-02-01 Kenichi Handa <handa@m17n.org>
8070
8071 * chartab.c (map_sub_char_table): Make it work for the top-level
8072 char-table. Fix handling of parent char-table.
8073 (map_char_table): Adjust for the above change.
8074
80752008-02-01 Jason Rumney <jasonr@gnu.org>
8076
8077 * w32font.c (Qgdi): Rename from Qw32.
8078
80792008-02-01 Jason Rumney <jasonr@gnu.org>
8080
8081 * w32bdf.c (get_quoted_string): Make function static.
8082
80832008-02-01 Kenichi Handa <handa@m17n.org>
8084
8085 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8086 bigger ascent and descent than those of the font, use them as
8087 font's ascent and descent.
8088
80892008-02-01 Kenichi Handa <handa@m17n.org>
8090
8091 * Makefile.in (${lispsource}international/charprop.el): Move this
8092 target within "#ifdef HAVE_UNIDATA" and "#endif".
8093
80942008-02-01 Kenichi Handa <handa@m17n.org>
8095
8096 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8097 (shortlisp): Add ../lisp/language/tai-viet.el.
8098
80992008-02-01 Ulrich Mueller <ulm@gentoo.org>
8100
8101 * Makefile.in (${lispsource}international/charprop.el): Depend on
8102 temacs${EXEEXT}.
8103
81042008-02-01 Jason Rumney <jasonr@gnu.org>
8105
8106 * w32font.c (w32font_close): Delete the GDI font object.
8107
8108 * w32menu.c: Include character.h.
8109
8110 * w32proc.c: Likewise.
8111
8112 * w32select.c: Likewise.
8113
8114 * makefile.w32-in (w32proc.o): Depend on character.h.
8115
81162008-02-01 Jason Rumney <jasonr@gnu.org>
8117
8118 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8119
8120 * w32menu.c (syms_of_w32menu): Likewise.
8121
8122 * w32proc.c (syms_of_ntproc): Likewise.
8123
8124 * w32select.c (syms_of_w32select): Likewise.
8125
8126 * w32term.c (syms_of_w32term): Likewise.
8127
81282008-02-01 Jason Rumney <jasonr@gnu.org>
8129
8130 * w32font.c (w32font_draw): Delete brush after using it.
8131
81322008-02-01 Jason Rumney <jasonr@gnu.org>
8133
8134 * w32font.c (w32font_open): Don't set font_idx.
8135 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8136 to font settings.
8137 (w32font_draw): Fill background explicitly.
8138
81392008-02-01 Jason Rumney <jasonr@gnu.org>
8140
8141 * w32term.c (w32_initialize): Don't call w32font_initialize.
8142
8143 * w32font.c (w32font_info): Remove subranges.
8144 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8145 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8146 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8147 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8148 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8149 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8150 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8151 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8152 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8153 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8154 New symbols.
8155 (font_callback_data): New struct.
8156 (w32font_list, w32font_match): Use it.
8157 (w32font_open): Don't populate subranges.
8158 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8159 (w32font_encode_char): Always return unicode code-point as-is.
8160 (w32font_text_extents): Supply a transformation matrix to
8161 GetGlyphOutline. Never look up by glyph index. Avoid looping
8162 twice. Use unicode version of GetTexExtentPoint32 instead of
8163 glyph index version.
8164 (set_fonts_frame): Remove.
8165 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8166 set frame parameter. Use backward compatible fake foundries.
8167 Save generic family in extra slot under QCfamily. Make width slot
8168 constant. Save QCspacing value. Save list of scripts instead of
8169 binary subranges.
8170 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8171 (add_font_entity_to_list): Use font_callback_data struct. Filter
8172 unwanted fonts.
8173 (add_one_font_entity_to_list): Use font_callback_data struct.
8174 (w32_registry): Default to iso10646_1.
8175 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8176 string font registries. Don't fill in font name if it is a generic
8177 family name, fill family instead. Use spacing, family and script
8178 extra info to fill pitch, family and charset fields.
8179 (list_all_matching_fonts): Use font_callback_data struct.
8180 (unicode_range_for_char): Remove.
8181 (font_supported_scripts): New function.
8182 (w32font_initialize): Remove.
8183 (syms_of_w32font): Update which symbols are defined.
8184
81852008-02-01 Jason Rumney <jasonr@gnu.org>
8186
8187 * font.c (font_pixel_size): Reverse assq_no_quit args.
8188
8189 * w32term.h (FONT_WIDTH): Report max width, not average.
8190 (FONT_MAX_WIDTH): Remove.
8191 (FONT_AVG_WIDTH): New macro.
8192
8193 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8194 redefinition of FONT_WIDTH.
8195
8196 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8197 (w32_cache_char_metrics): Use FONT_WIDTH.
8198
8199 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8200
82012008-02-01 Jason Rumney <jasonr@gnu.org>
8202
8203 * w32font.c (w32font_open): Make lfHeight negative.
8204
8205 * w32fns.c (x_default_font_parameter): Use new style font name.
8206 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8207
82082008-02-01 Jason Rumney <jasonr@gnu.org>
8209
8210 * w32font.c (QCsubranges): New symbol.
8211 (w32font_open, w32font_has_char): Get subranges from subproperty
8212 of extra.
8213 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8214 (syms_of_w32font): Define :subranges symbol.
8215
8216 * font.c (font_put_extra): Expose externally.
8217
8218 * font.h (font_put_extra): Move declaration from font.c.
8219
8220 * font.c (Ffont_get): Use font driver to determine otf capability.
8221 (adjust_anchor): Check if driver defines anchor_point before using.
8222
8223 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8224 (w32font_draw): Use options.
8225 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8226 Fix detection of truetype fonts.
8227 (registry_to_w32_charset): Handle charsets other than iso8859-1
8228 expressed as lisp symbols.
8229 (w32_registry): Express charset as lisp symbol.
8230 (fill_in_logfont): Reverse pixel and point height logic.
8231 Don't set width here. Set quality to default.
8232
8233 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8234 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8235
8236 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8237 Remove redundant loop and allocation.
8238
8239 * makefile.w32-in (font.o, w32font.o): New objects.
8240 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8241 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8242
8243 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8244 STORE_XCHARB a valid l-value.
8245
8246 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8247 calculations for non-Truetype fonts.
8248 (x_draw_glyph_string): Sync with xterm.c.
8249 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8250 Remove redundant code.
8251 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8252
8253 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8254 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8255
8256 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8257 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8258
8259 * w32font.c: New file for w32 font backend.
8260
82612008-02-01 Kenichi Handa <handa@m17n.org>
8262
8263 * term.c: Don't include "buffer.h" twice.
8264
82652008-02-01 Kenichi Handa <handa@m17n.org>
8266
8267 * character.c (Funibyte_string): New function.
8268 (syms_of_character): Defsubr it.
8269
82702008-02-01 Jason Rumney <jasonr@gnu.org>
8271
8272 * w32term.c [USE_FONT_BACKEND]:
8273 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8274 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8275 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8276 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8277 (x_free_frame_resources): Sync with xterm.c.
8278
82792008-02-01 Andreas Schwab <schwab@suse.de>
8280
8281 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8282 char-table size.
8283
82842008-02-01 Kenichi Handa <handa@m17n.org>
8285
8286 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8287
82882008-02-01 Kenichi Handa <handa@m17n.org>
8289
8290 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8291 font_otf_gpos, add font_drive_otf.
8292
8293 * fontset.c (fontset_find_font): Pay attention to font size
8294 specified for a font.
8295 (reorder_font_vector): Check contents of font_def.
8296
8297 * font.c (struct otf_list): Delete it.
8298 (otf_list): Make it a lisp variable.
8299 (otf_open): Use lispy otf_list.
8300 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8301 (check_otf_features): New function.
8302 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8303 New functions.
8304 (font_drive_otf): New function merging font_otf_gsub and
8305 font_otf_gpos.
8306 (font_open_for_lface): New arg spec. Change argument order.
8307 (font_load_for_face): Adjust for the change of font_open_for_lface.
8308 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8309 Ffont_otf_gpos.
8310 (syms_of_font): Staticpro otf_list. Delete defsubr of
8311 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8312
8313 * xfaces.c (set_font_frame_param): Adjust for the change of
8314 font_open_for_lface.
8315
8316 * font.h (font_open_for_lface): Adjust prototype.
8317 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8318 member otf_drive.
8319 (font_otf_gsub, font_otf_gpos): Delete externs.
8320 (font_drive_otf): Extern it.
8321
83222008-02-01 Kenichi Handa <handa@m17n.org>
8323
8324 * font.c (font_at): If the window W is not on a window system,
8325 return Qnil.
8326
8327 * coding.c (produce_chars, encode_coding): Don't call
8328 insert_from_gap if no characters to produce.
8329
83302008-02-01 Kenichi Handa <handa@m17n.org>
8331
8332 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8333 Fclear_face_cache.
8334
8335 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8336
83372008-02-01 Miles Bader <miles@gnu.org>
8338
8339 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8340 Parse "--disable-font-backend" option.
8341 (standard_args): Add "--disable-font-backend" option.
8342
83432008-02-01 Kenichi Handa <handa@m17n.org>
8344
8345 * fontset.c (fontset_find_font): New function.
8346 (fontset_font): Use fontset_find_font.
8347 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8348 Register the specified font for all Latin characters.
8349 (new_fontset_from_font): Register the specified font for all Latin
8350 characters.
8351 (dump_fontset): For a realized fontset, include the base fontset
8352 name in the returned vector.
8353
83542008-02-01 Kenichi Handa <handa@m17n.org>
8355
8356 * character.h (CHAR_STRING): Cast C to unsigned on calling
8357 char_string.
8358
8359 * character.c (char_string): Type of arg C changed to unsigned.
8360 Signal an error if C is an invalid character code.
8361
8362 * editfns.c (general_insert_function, Fchar_to_string):
8363 Use CHARACTERP, not INTEGERP.
8364
83652008-02-01 Kenichi Handa <handa@m17n.org>
8366
8367 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8368 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8369
8370 * regex.c (analyse_first): Fix for multibyte characters in "case
8371 charset:" and "case categoryspec:".
8372
83732008-02-01 Andreas Schwab <schwab@suse.de>
8374
8375 * Makefile.in (LIBES): Move standard libraries to the end.
8376
83772008-02-01 Kenichi Handa <handa@m17n.org>
8378
8379 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8380 nonzero, don't shrink the buffer nextb.
8381
8382 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8383
8384 * coding.c (coding_alloc_by_making_gap): New arg offset.
8385 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8386 offset.
8387 (decode_coding_iso_2022): Update coding->safe_charsets.
8388 (decode_coding_gap): Temporarily set
8389 current_buffer->text->inhibit_shrinking to 1.
8390
83912008-02-01 Kenichi Handa <handa@m17n.org>
8392
8393 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8394 indexing into elements of s->cmp and s->char2b.
8395
83962008-02-01 Juanma Barranquero <lekktu@gmail.com>
8397
8398 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8399
84002008-02-01 Kenichi Handa <handa@m17n.org>
8401
8402 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8403 target_multibyte instead of multibyte.
8404 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8405 (bcmp_translate): Change the argument name from multibyte to
8406 target_multibyte.
8407
84082008-02-01 Kenichi Handa <handa@m17n.org>
8409
8410 These changes are to compile a regexp into a pattern that can be
8411 used both for multibyte and unibyte targets.
8412
8413 * Makefile.in (search.o): Depend on charset.h.
8414
8415 * character.c (multibyte_char_to_unibyte_safe): New function.
8416
8417 * search.c: Include "charset.h".
8418 (compile_pattern_1): Delete argument multibyte. Don't set
8419 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8420 (compile_pattern): Don't compare cp->buf.target_multibyte.
8421 Compare cp->buf.charset_unibyte.
8422 (compile_pattern): Set cp->buf.target_multibyte.
8423
8424 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8425
8426 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8427
8428 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8429 multibyte. Change callers.
8430 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8431 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8432 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8433 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8434 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8435 (regex_compile): Make the compiled pattern usable both for
8436 multibyte and unibyte targets.
8437 (analyse_first): Make the fastmap usable both for multibyte and
8438 unibyte targets.
8439 (TRANSLATE_VIA_MULTIBYTE): Delete.
8440 (re_match_2_internal): Pay attention to the case that the
8441 multibyteness of bufp and target may be different.
8442
84432008-02-01 Kenichi Handa <handa@m17n.org>
8444
8445 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8446 empty box occupy at least one column width.
8447
84482008-02-01 Miles Bader <miles@gnu.org>
8449
8450 * Makefile.in: Remove redundant HAVE_XFT clause.
8451
84522008-02-01 Kenichi Handa <handa@m17n.org>
8453
8454 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8455
84562008-02-01 Kenichi Handa <handa@m17n.org>
8457
8458 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8459 being nil.
8460
84612008-02-01 Kenichi Handa <handa@m17n.org>
8462
8463 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8464
84652008-02-01 Kenichi Handa <handa@m17n.org>
8466
8467 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8468
84692008-02-01 Kenichi Handa <handa@m17n.org>
8470
8471 * search.c (simple_search): Fix previous change.
8472
84732008-02-01 Kenichi Handa <handa@m17n.org>
8474
8475 * xftfont.c (ftfont_font_format): Extern declaration.
8476
8477 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8478
8479 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8480 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8481
8482 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8483 (ftfont_font_format): Fix previous change.
8484
8485 * font.h (Ffont_xlfd_name): EXFUN it.
8486
8487 * font.c (font_parse_xlfd): Fix the array size of `f'.
8488 (register_font_driver): Use EQ to compare driver->type.
8489
8490 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8491 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8492 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8493
84942008-02-01 Kenichi Handa <handa@m17n.org>
8495
8496 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8497 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8498
84992008-02-01 Kenichi Handa <handa@m17n.org>
8500
8501 * xfont.c (xfont_open): Set font->format.
8502
8503 * xftfont.c (xftfont_open): Set font->format.
8504
8505 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8506 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8507 (ftfont_open): Set font->format.
8508 (ftfont_font_format): New function.
8509
8510 * font.h (struct font): New member format.
8511
8512 * font.c (Qopentype): New variable.
8513 (syms_of_font): Defsym it.
8514 (Fquery_font): Change the format of the last element of the return
8515 value.
8516
85172008-02-01 Kenichi Handa <handa@m17n.org>
8518
8519 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8520 last resort.
8521
85222008-02-01 Kenichi Handa <handa@m17n.org>
8523
8524 * coding.c (detect_coding_charset): Fix detection of multi-byte
8525 charset.
8526
85272008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8528
8529 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8530
85312008-02-01 Kenichi Handa <handa@m17n.org>
8532
8533 * xdisp.c (get_next_display_element): Set it->face_id for the
8534 first component of a composition.
8535 (x_produce_glyphs): Check if the font is changed or not for composition.
8536
85372008-02-01 Kenichi Handa <handa@m17n.org>
8538
8539 * fontset.c (Qlatin): New variable.
8540 (syms_of_fontset): Define it as a lisp symbol.
8541 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8542
85432008-02-01 Kenichi Handa <handa@m17n.org>
8544
8545 * font.c (font_unparse_fcname): Pay attention to the case that
8546 some of font property is a null string.
8547
85482008-02-01 Kenichi Handa <handa@m17n.org>
8549
8550 * term.c: Include "composite.h".
8551 (encode_terminal_code): Output all components of composition.
8552 Check the size of encode_terminal_src.
8553 (produce_glyphs): For composition, call produce_composite_glyph.
8554 (append_composite_glyph, produce_composite_glyph): New functions.
8555
8556 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8557 is not found, get font_info from the current ascii face.
8558
85592008-02-01 Kenichi Handa <handa@m17n.org>
8560
8561 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8562 buffer-file-name to Qnil before calling insert_from_buffer.
8563
8564 * font.c (font_unparse_fcname): Pay attention to the case that
8565 foundry is a null string.
8566
85672008-02-01 Kenichi Handa <handa@m17n.org>
8568
8569 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8570
8571 * font.c (Qunicode_sip): New variable.
8572 (syms_of_font): Declare it as a Lisp symbol.
8573
8574 * font.h (Qunicode_sip): Extern it.
8575
85762008-02-01 Kenichi Handa <handa@m17n.org>
8577
8578 * composite.c (get_composition_id): Pay attention to TAB component.
8579
8580 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8581 TAB. Adjust for the change of s->char2b which always points to
8582 the first element of allocated memory.
8583
8584 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8585
8586 * xdisp.c (handle_composition_prop): Set it->c to the first
8587 non-TAB component.
8588 (fill_composite_glyph_string): Change argument.
8589 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8590 (x_produce_glyphs): Fix handling of left/right padding.
8591
85922008-02-01 Kenichi Handa <handa@m17n.org>
8593
8594 * coding.c (detect_coding_system): Fix for handling off
8595 inhibit_iso_escape_detection. Fix for the case that no coding
8596 system is defined for a specific coding category.
8597
85982008-02-01 Kenichi Handa <handa@m17n.org>
8599
8600 * font.c (font_matching_entity): Delete unused local var.
8601
8602 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8603 opening a font.
8604
8605 * fileio.c (Finsert_file_contents): On recovering a file, assume
8606 Unix-like eol.
8607 (choose_write_coding_system): On auto-saving a file, force
8608 Unix-like eol.
8609
8610 * coding.c (setup_coding_system): Fix setting of
8611 coding->common_flags based on eol_type.
8612 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8613 inherit from it.
8614
86152008-02-01 Kenichi Handa <handa@m17n.org>
8616
8617 * alloc.c (NSTATICS): Increas to 0x600.
8618
86192008-02-01 Kenichi Handa <handa@m17n.org>
8620
8621 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8622 (ftfont_list): Don't check :name property.
8623 (ftfont_match): New function.
8624 (ftfont_pattern_entity): If the pattern doesn't contain
8625 FC_SPACING, don't assume FC_MONO.
8626
8627 * font.h (struct font_driver): New member `match'.
8628 (font_update_drivers): Adjust prototype.
8629
8630 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8631 property of FONT.
8632 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8633 them unconditionally.
8634 (font_matching_entity): New function.
8635 (font_open_by_name): Try font_matching_entity if exact match is
8636 not found.
8637 (font_update_drivers): Delete the arg FONT. Return a list of
8638 actually used backends. Don't free faces, font caches here.
8639 Don't store data in frame parameters. Don't call x_set_font.
8640 (Ffont_spec): Store :name property as is.
8641 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8642 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8643 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8644 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8645 Call font->driver->otf_gsub instead of font_otf_gsub.
8646
8647 * frame.c (x_set_font_backend): Do more works that were done in
8648 font_update_drivers before.
8649
8650 * xfont.c (xfont_match): New function.
8651 (xfont_driver): Set xfont_driver.match to xfont_match.
8652 (xfont_draw): Set font in GC if necessary.
8653
8654 * ftxfont.c (ftxfont_match): New function.
8655 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8656
8657 * xftfont.c (xftfont_match): New function.
8658 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8659
86602008-02-01 Kenichi Handa <handa@m17n.org>
8661
8662 * font.h (struct font): New member scalable.
8663 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8664 (font_otf_gsub): Adjust prototype.
8665
8666 * font.c (font_otf_capability): Fix handling of the default langsys.
8667 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8668 Check the contents of SPEC.
8669 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8670 (check_gstring): New function.
8671 (REPLACEMENT_CHARACTER): New macro.
8672 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8673 glyph codes of GSTRING.
8674 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8675 (font_prepare_composition): Set cmp->glyph_len.
8676 (font_open_entity): Set font->scalable.
8677 (Ffont_get): Handle :otf property.
8678 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8679 functions.
8680 (Fquery_font): Use font->font.full_name.
8681 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8682 Sfont_otf_alternates.
8683
8684 * ftfont.c (ftfont_open): Set font->font.full_name and
8685 font->font.name properly. Fix calculation of font->font.height
8686 and font->min_width.
8687
8688 * ftxfont.c (ftxfont_create_gcs): New function.
8689 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8690 (ftxfont_draw_backgrond): Fix filling region.
8691 (ftxfont_default_fid): New function.
8692 (ftxfont_open): Set xfont->fid to the return value of
8693 ftxfont_default_fid.
8694 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8695 (ftxfont_done_face): Free only GCs that are created by
8696 ftxfont_create_gcs.
8697 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8698
8699 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8700 Clip to src->width, etc (not src->clip_XXX).
8701
8702 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8703 FontBackend frame parameter.
8704
87052008-02-01 Kenichi Handa <handa@m17n.org>
8706
8707 * font.h (struct font_driver_list): New member `on'.
8708 (Fclear_font_cache): EXFUN it.
8709 (font_update_drivers): Extern it.
8710
8711 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8712 (font_list_entities): Check driver_list->on.
8713 (register_font_driver): Initalize `on' member to 0.
8714 (font_update_drivers): New function.
8715 (Fclear_font_cache): Check driver_list->on.
8716
8717 * frame.h (Qfont_backend): Extern it.
8718 (x_set_font_backend): Extern it.
8719
8720 * frame.c (Qfont_backend): New variable.
8721 (frame_parms): New element for font-backend.
8722 (x_set_font_backend): New function.
8723
8724 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8725 FontBackend frame parameter.
8726 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8727 x_set_font_backend.
8728
8729 * xfont.c (xfont_list): Don't try listing by :name property if the
8730 name is not for XLFD.
8731
87322008-02-01 Kenichi Handa <handa@m17n.org>
8733
8734 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8735 (LGLYPH_SET_TO): New macros.
8736 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8737 element of G is vector or not.
8738 (font_at): Extern it.
8739
8740 * font.c: Include window.h.
8741 (font_lispy_object): New function.
8742 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8743 end of valid glyph.
8744 (font_close_object): Fix getting (struct font *).
8745 (font_at): New function.
8746 (Ffont_get): If FONT is a font-object, get entity from it.
8747 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8748 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8749 range check.
8750 (Ffont_at): New function.
8751 (syms_of_font): Defsubr Sfont_at.
8752
8753 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8754 before the entry for Qcomposition.
8755 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8756 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8757 the font in gstring.
8758 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8759 LGLYPH_FORM (g) to detect the end of valid glyph.
8760 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8761 we are composing with gstring.
8762
8763 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8764 Check if adjustment is vector or not.
8765
8766 * Makefile.in (font.o): Make it depends on window.h.
8767
87682008-02-01 Kenichi Handa <handa@m17n.org>
8769
8770 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8771 adjustment is vector or not.
8772
87732008-02-01 Miles Bader <miles@gnu.org>
8774
8775 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8776
87772008-02-01 Kenichi Handa <handa@m17n.org>
8778
8779 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8780 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8781 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8782
8783 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8784 (DEVICE_DELTA): Fix typo.
8785 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8786 LGLYPH format.
8787
8788 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8789 the change of LGLYPH format.
8790
87912008-02-01 Kenichi Handa <handa@m17n.org>
8792
8793 * ftfont.c (ftfont_list): Fix typo.
8794 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8795
87962008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8797
8798 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8799
8800 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8801 xftface_info is non-NULL.
8802
88032008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8804
8805 * ftfont.c (ftfont_list): Move misplaced #endif.
8806
88072008-02-01 Kenichi Handa <handa@m17n.org>
8808
8809 * ftfont.c (ftfont_list): Pay attention to the case that
8810 FC_CAPABILITY is not defined.
8811
88122008-02-01 Kenichi Handa <handa@m17n.org>
8813
8814 * xftfont.c (xftfont_open): Set charset related members to -1.
8815
8816 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8817 QCname.
8818 (ftfont_open): Set charset related members to -1.
8819
8820 * fontset.c (Votf_script_alist): New variable.
8821 (syms_of_fontset): Initialize it.
8822 (fontset_font): Delete unused variable.
8823
8824 * fontset.h (Votf_script_alist): Extern it.
8825
8826 * font.c (font_find_for_lface): Optimize code.
8827
8828 * font.h (font_close_object, font_merge_old_spec): Extern them.
8829
88302008-02-01 Kenichi Handa <handa@m17n.org>
8831
8832 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8833 (syms_of_font): Initialize them.
8834 (font_pixel_size): Allow float value in dpi.
8835 (font_prop_validate_type): Delete.
8836 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8837 Change caller.
8838 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8839 (font_prop_validate_extra): Delete.
8840 (font_prop_validate_spacing): New function.
8841 (font_property_table): Add elements for all known properties.
8842 (get_font_prop_index): Rename from check_font_prop_name. New
8843 argument FROM. Change caller.
8844 (font_prop_validate): Validate all known properties.
8845 (font_put_extra): Delete argument force. Change caller.
8846 (font_expand_wildcards): Make it static. Fix the way of shrinking
8847 the possible range.
8848 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8849 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8850 Change caller.
8851 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8852 (font_parse_fcname): Delete argument merge. Fix parsing of point
8853 size. Don't validate properties values here. Change caller.
8854 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8855 (font_open_by_name): Delete unused variable.
8856 (Ffont_spec): Likewise. Validate property values.
8857 (Ffont_match_p): New function.
8858
8859 * font.h (QCscalable): Extern it.
8860 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8861
8862 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8863
8864 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8865 (xfont_list_pattern): New function.
8866 (xfont_list): Use xfont_list_pattern.
8867
88682008-02-01 Kenichi Handa <handa@m17n.org>
8869
8870 * font.h (Flist_fonts): EXFUN it.
8871
88722008-02-01 Jason Rumney <jasonr@gnu.org>
8873
8874 * w32term.c (w32_initialize): Add back smoothing_type and
8875 smoothing_enabled definitions.
8876
88772008-02-01 Kenichi Handa <handa@m17n.org>
8878
8879 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8880 s->face->font on determining underline position.
8881
88822008-02-01 Kenichi Handa <handa@m17n.org>
8883
8884 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8885 (font_has_char): Accept font-object too.
8886 (font_find_for_lface): Try at first with a size specified in face.
8887
88882008-02-01 Kenichi Handa <handa@m17n.org>
8889
8890 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8891 font_open_by_name.
8892
88932008-02-01 Kenichi Handa <handa@m17n.org>
8894
8895 * font.h (QCspacing, QCdpi): Extern them.
8896 (enum font_spacing): New enum.
8897 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8898
8899 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
8900 (QCspacing, QCdpi): New variables.
8901 (syms_of_font): Initialize them.
8902 (font_pixel_size): New function.
8903 (font_put_extra): New function.
8904 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8905 in FONT_EXTRA.
8906 (font_parse_fcname): Handle enumerated values (e.g. bold).
8907 Fix handling font size. Add QCname property that contains only
8908 unknown properties.
8909 (font_score): Change argument. Change caller. Pay attention to
8910 FONT_PIXEL_SIZE_QUANTUM.
8911 (font_sort_entites, font_list_entities, font_find_for_lface)
8912 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8913 (Ffont_spec): Add QCname property that contains only unknown properties.
8914
8915 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8916 include weight in listing pattern, instead check weight of each
8917 listed font. Don't include scalable in pattern. Pay attention to
8918 FONT_PIXEL_SIZE_QUANTUM.
8919
89202008-02-01 Kenichi Handa <handa@m17n.org>
8921
8922 * font.c (font_parse_fcname): Fix parsing of point-size.
8923 (font_unparse_fcname): Produce symbolic names for style properties.
8924 (font_list_entities): Handle float size correctly.
8925 (font_open_by_name): Prefer `normal' property values if the name
8926 doesn't specify them.
8927
8928 * fontset.c (Finternal_char_font): Use font_get_name, not
8929 Ffont_xlfd_name.
8930
8931 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8932 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8933 pattern. Don't force scalable.
8934
8935 * xftfont.c (xftfont_open): For generating a name, start from
8936 96-byte buffer.
8937
89382008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8939
8940 * frame.h (x_new_fontset2): Fix prototype.
8941
89422008-02-01 Kenichi Handa <handa@m17n.org>
8943
8944 * font.h (struct font_driver): Delete member parse_name.
8945 (font_match_p, font_get_spec, font_parse_fcname)
8946 (font_unparse_fcname): Extern them.
8947 (font_get_name): Adjust prototype.
8948
8949 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8950 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8951 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8952 unnecessary checks for weight, slant, and swidth.
8953 (font_parse_fcname): New function.
8954 (font_unparse_fcname): New function.
8955 (font_parse_name): New function.
8956 (font_match_p): New function.
8957 (font_get_name): Change return value to Lisp string.
8958 (font_get_spec): New function.
8959 (Qunspecified, Qignore_defface): Don't extern them.
8960 (font_find_for_lface): Assume that LFACE is fully specified.
8961 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8962 object, use it for FACE.
8963 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8964 driver->parse_name.
8965 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8966
8967 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8968 prototype.
8969
8970 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8971 argument F. Don't call Fnew_fontset. Instead, directly call
8972 make_fontset.
8973
8974 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8975
8976 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8977 of x_new_fontset2.
8978
8979 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8980 (Qsans__serif): New variables.
8981 (ftfont_generic_family_list): New variable.
8982 (syms_of_ftfont): Initialize the above variables.
8983 (ftfont_pattern_entity): Delete argument NAME.
8984 (ftfont_list_generic_family): New function.
8985 (ftfont_parse_name): Delete this function.
8986 (ftfont_list): Try generic family only when FcFontList found no font.
8987 (ftfont_list_family): Fix args to FcObjectSetBuild.
8988
8989 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8990 object in attrs[LFACE_FONT_INDEX].
8991 (set_lface_from_font_name): Cancel all changes for font-backend.
8992 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8993 function.
8994 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8995 font object in QCfont attribute.
8996 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8997 (realize_default_face) [USE_FONT_BACKEND]: Call
8998 set_lface_from_font_and_fontset.
8999
9000 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9001 "fixed", and signal error here if no suitable font was found.
9002
9003 * xfont.c (xfont_parse_name): Delete this function.
9004
9005 * xftfont.c (xftfont_open): Change coding style of error
9006 handling. Generate fontconfig's fontname pattern.
9007
9008 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9009 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9010
9011 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9012 Both args FONTSET and FONT_OBJECT must be existing ones.
9013
90142008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9015
9016 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9017
90182008-02-01 Kenichi Handa <handa@m17n.org>
9019
9020 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9021
9022 * font.h (struct font): Fix typo.
9023
9024 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9025 XLFD_XXX_INDEX.
9026 (enum xlfd_field_mask): New enum.
9027 (intern_font_field): Changed argument. Change caller. If digits
9028 are followed by non-digits, return a symbol.
9029 (font_expand_wildcards): New function.
9030 (font_parse_xlfd): Fix wildcard handling.
9031 (Ffont_spec): If :name is specified, reflect the info in the other
9032 properties.
9033
9034 * ftfont.c (ftfont_pattern_entity): Fix typo.
9035 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9036 locale.
9037
90382008-02-01 Kenichi Handa <handa@m17n.org>
9039
9040 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9041
9042 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9043 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9044 registry doesn't specify encoding part.
9045 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9046 (font_open_by_name): At first try parsing the name.
9047 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9048 as Lisp symbols.
9049
9050 * fontset.c (reorder_font_vector): Pay attention to the case that
9051 the 3rd element of font_def is nil.
9052 (fontset_font): For the default fontset, append one more fontset
9053 elements for a script-based font specification. Don't add script
9054 attribute on finding a font.
9055 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9056 font name.
9057 (fontset_ascii_font): If a font can't be opened, return nil.
9058
9059 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9060 (ftfont_pattern_entity): New function.
9061 (ftfont_get_cache): Assume that freetype_font_cache is already
9062 initialized.
9063 (ftfont_list): Handle the case that a file is specified in font
9064 name. Use ftfont_pattern_entity to generate entities.
9065 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9066 (syms_of_ftfont): Initialize freetype_font_cache.
9067
9068 * xftfont.c (xftfont_open): Make the font name fontconfig's
9069 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9070 (xftfont_close): Free font->font.name if not NULL.
9071
9072 * xfont.c (xfont_list): If script is specified for a font, return
9073 null_vector.
9074 (xfont_list_family): Declare argument type.
9075
9076 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9077 name, set LFACE_FONT (lface) to nil.
9078
9079 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9080 return Qnil.
9081
90822008-02-01 Kenichi Handa <handa@m17n.org>
9083
9084 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9085 (standard_args): Add "-enable-font-backend".
9086
90872008-02-01 Kenichi Handa <handa@m17n.org>
9088
9089 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9090 (struct xftdraw_list, xftdraw_list): Delete them.
9091 (register_xftdraw, check_xftdraw): Delete them.
9092 (xftfont_prepare_face): Don't call register_xftdraw.
9093 (xftfont_done_face): Don't call check_xftdraw.
9094 (xftfont_draw): Get background color only when with_background is
9095 nonzero.
9096
9097 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9098
90992008-02-01 Kenichi Handa <handa@m17n.org>
9100
9101 These changes are for the new font handling codes.
9102
9103 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9104 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9105 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9106 (FONTSRC, FONTOBJ): New variables.
9107 (obj): Add $(FONTOBJ).
9108 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9109 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9110 @LIBOTF_LIBS@.
9111 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9112 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9113
9114 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9115
9116 * character.h (Vscript_representative_chars): Extern it.
9117
9118 * character.c (Vscript_representative_chars): New variable.
9119 (syms_of_character): Declare it as a Lisp variable.
9120
9121 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9122 enable_font_backend is nonzero, accept the composition method
9123 COMPOSITION_WITH_GLYPH_STRING.
9124
9125 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9126 enumeration COMPOSITION_WITH_GLYPH_STRING.
9127
9128 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9129 members clip_x, clip_y, clip_width, and clip_height.
9130 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9131
9132 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9133 --enable-font-backend. Call syms_of_font.
9134
9135 * fns.c (assoc_no_quit): New function.
9136
9137 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9138 (face_for_font, new_fontset_from_font)
9139 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9140
9141 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9142 (fontset_font, fontset_ascii, face_for_char)
9143 (make_fontset_for_ascii_face, Ffont_info)
9144 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9145 is nonzero, use font-backend mechanism.
9146 (find_font_encoding): Make it non-static.
9147 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9148 New functions.
9149
9150 * frame.h (struct frame): New members resx and resy.
9151 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9152 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9153
9154 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9155 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9156
9157 * lisp.h (assoc_no_quit): Extern it.
9158
9159 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9160 Through out the file, use FONT_INFO_FROM_FACE instead of
9161 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9162 rif->per_char_metric.
9163 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9164 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9165 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9166 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9167 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9168 nonzero, use font-backend mechanism.
9169 (get_per_char_metric): New function.
9170
9171 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9172 (set_lface_from_font_name)
9173 (set_font_frame_param, free_realized_face)
9174 (prepare_face_for_display, clear_face_gcs)
9175 (Finternal_set_font_selection_order, realize_x_face)
9176 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9177 font-backend mechanism.
9178 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9179 (load_face_font) [USE_FONT_BACKEND]: Abort.
9180 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9181 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9182
9183 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9184 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9185 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9186 nonzero, register all available font drivers. Call
9187 x_default_font_parameter for deciding a font.
9188 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9189
9190 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9191 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9192 (x_set_glyph_string_clipping_exactly)
9193 (x_compute_glyph_string_overhangs)
9194 (x_draw_glyph_string_foreground)
9195 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9196 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9197 enable_font_backend is nonzero, use font-backend mechanism.
9198 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9199
92002008-02-01 Kenichi Handa <handa@m17n.org>
9201
9202 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9203 system_eol_type.
9204 (syms_of_coding): Initialize system_eol_type.
9205
9206 * process.c (Fset_process_coding_system): Inherit system's eol
9207 format if necessary.
9208
92092008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9210
9211 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9212
92132008-02-01 Kenichi Handa <handa@m17n.org>
9214
9215 * coding.c (decode_eol): Pay attention to buffer relocation in
9216 del_range_2.
9217 (decode_coding): Call decode_eol before restoring undo_list.
9218
92192008-02-01 Kenichi Handa <handa@m17n.org>
9220
9221 * charset.c (Fdefine_charset_internal): Fix setting of
9222 emacs_mule_bytes.
9223
92242008-02-01 Kenichi Handa <handa@m17n.org>
9225
9226 * keyboard.c (read_char): Check if C is a character or not before
9227 looking up Vkeyboard_translate_table.
9228
92292008-02-01 Kenichi Handa <handa@m17n.org>
9230
9231 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9232 condition to terminate the loop.
9233
92342008-02-01 Kenichi Handa <handa@m17n.org>
9235
9236 * coding.c (produce_composition): Compare charbuf[i] instead of
9237 args[i] against 0.
9238 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9239
92402008-02-01 Kenichi Handa <handa@m17n.org>
9241
9242 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9243 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9244 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9245 detect_coding.
9246 (emacs_mule_char): Handle old style (Emacs 20) component character
9247 of a composition.
9248 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9249 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9250 composition rule.
9251 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9252
92532008-02-01 Kenichi Handa <handa@m17n.org>
9254
9255 * coding.c (encode_coding_ccl): Allocate destination dynamically
9256 when necessary.
9257
92582008-02-01 Kenichi Handa <handa@m17n.org>
9259
9260 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9261 the loop. When quitted, show a proper error message.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9266 src->clip_head and src->clip_tail temporarily instead of src->hl.
9267
9268 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9269 character sequence.
9270 (Fccl_execute_on_string): Use ASET, not XSET.
9271
92722008-02-01 Kenichi Handa <handa@m17n.org>
9273
9274 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9275
92762008-02-01 Kenichi Handa <handa@m17n.org>
9277
9278 * coding.c (decode_coding): Fix the condition of terminating the
9279 decoding loop.
9280
92812008-02-01 Kenichi Handa <handa@m17n.org>
9282
9283 * data.c (Faset): On setting a character bigger than 255 in a
9284 unibyte string, signal an error instead of make the string multibyte.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9289 made by a mapping table.
9290
92912008-02-01 Kenichi Handa <handa@m17n.org>
9292
9293 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9294 not.
9295 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9296 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9297
9298 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9299 s->face is NULL or not.
9300
93012008-02-01 Kenichi Handa <handa@m17n.org>
9302
9303 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9304 (x_draw_glyph_string): Fix drawing of right_overhang and
9305 left_overhang around/on cursor.
9306
9307 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9308
93092008-02-01 Kenichi Handa <handa@m17n.org>
9310
9311 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9312
93132008-02-01 Kenichi Handa <handa@m17n.org>
9314
9315 * coding.c (Fdefine_coding_system_internal)
9316 (Fdefine_coding_system_alias): Avoid a duplicated element in
9317 Vcoding_system_alist.
9318
93192008-02-01 Kenichi Handa <handa@m17n.org>
9320
9321 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9322
9323 * coding.c (Qcoding_system_define_form): New variable.
9324 (syms_of_coding): Intern and staticpro it.
9325 (Fcoding_system_p): Check Qcoding_system_define_form.
9326 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9327
9328 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9329 Fcoding_system_p.
9330 (CHECK_CODING_SYSTEM): If ID is not available, call
9331 Fcheck_coding_system.
9332 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9333 Try also Fcheck_coding_system.
9334
93352008-02-01 Kenichi Handa <handa@m17n.org>
9336
9337 * coding.c (code_conversion_restore): GCPRO arg.
9338
93392008-02-01 Kenichi Handa <handa@m17n.org>
9340
9341 * character.c (lisp_string_width): Check multibyteness of STRING.
9342
93432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9344
9345 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9346 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9347 (decode_mac_font_name): Use decode_coding_c_string instead of
9348 decode_coding.
9349 (x_load_font): Initialize fontp->fontset to -1. Set
9350 fontp->encoding_type.
9351
93522008-02-01 Kenichi Handa <handa@m17n.org>
9353
9354 * search.c (search_buffer): Give up BM search on case-fold-search
9355 if one of a target character has a case-equivalence of different
9356 byte length even if that target charcter is an ASCII.
9357 (simple_search): Fix calculation of byte length of matched text.
9358 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9359
93602008-02-01 Kenichi Handa <handa@m17n.org>
9361
9362 * coding.c (decode_coding): Fix handling of invalid bytes.
9363
93642008-02-01 Kenichi Handa <handa@m17n.org>
9365
9366 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9367 Unicode characters.
9368
93692008-02-01 Kenichi Handa <handa@m17n.org>
9370
9371 * coding.c (encode_coding_object): If a pre-write-conversion
9372 function makes a new buffer, kill it.
9373
93742008-02-01 Kenichi Handa <handa@m17n.org>
9375
9376 * coding.c (QCascii_compatible_p): New variable.
9377 (syms_of_coding): Initialize it.
9378 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9379 calling string_char.
9380 (record_conversion_result): Add `default:' case.
9381 (coding_charset_list): Delete unused variable `coding_type'.
9382 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9383 property in the plist of the coding system.
9384 (Fcoding_system_put): Check QCascii_compatible_p.
9385
93862008-02-01 Miles Bader <miles@gnu.org>
9387
9388 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9389 removed calculation of frame `f', as it's now used.
9390
93912008-02-01 Kenichi Handa <handa@m17n.org>
9392
9393 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9394 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9395 (UNIDATA): New variable.
9396 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9397 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9398 $(RUN_TEMACS) unconditionally.
9399
94002008-02-01 Kenichi Handa <handa@m17n.org>
9401
9402 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9403 (admindir): New variable.
9404 ($(lispsource)international/charprop.el): New target.
9405
94062008-02-01 Miles Bader <miles@gnu.org>
9407
9408 * character.c (chars-in-region): Remove obsolete function.
9409 (syms_of_character): Remove its initialization.
9410
94112008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9412
9413 * w32select.c (validate_coding_system)
9414 (setup_windows_coding_system): New functions.
9415 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9416 setup_windows_coding_system.
9417 (setup_config, Fw32_get_clipboard_data): Use
9418 validate_coding_system.
9419 (Fx_selection_exists): Move call to setup_config to a place
9420 where signals are allowed.
9421
9422 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9423 (Fcheck_coding_system): Add declarations.
9424
94252008-02-01 Kenichi Handa <handa@m17n.org>
9426
9427 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9428
94292008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9430
9431 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9432 string as the second argument for x_new_fontset.
9433
94342008-02-01 Kenichi Handa <handa@m17n.org>
9435
9436 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9437 (encode_coding_object): Use safe_call instead of call2.
9438
94392008-02-01 Kenichi Handa <handa@m17n.org>
9440
9441 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9442
9443 * Makefile.in (lisp): Include charprop.el.
9444
94452008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9446
9447 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9448 Not sure if it's unnecessary.
9449
94502008-02-01 Steven Tamm <steventamm@mac.com>
9451
9452 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9453 some possibly unnecessary fontset checking code that crashed
9454 when creating a new frame.
9455
94562008-02-01 Kenichi Handa <handa@m17n.org>
9457
9458 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9459 lookup_face.
9460
9461 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9462
9463 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9464
94652008-02-01 Kenichi Handa <handa@m17n.org>
9466
9467 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9468 (coding_charset_list): New function.
9469
9470 * coding.h (coding_charset_list): Extern it.
9471
94722008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9475 concatenation of family and registry.
9476
94772008-02-01 Kenichi Handa <handa@m17n.org>
9478
9479 * character.h (BYTE8_STRING): Fix typo.
9480
9481 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9482 string to multibyte (sync to HEAD).
9483
9484 * casefiddle.c (casify_region): Handle changes in byte-length
9485 using replace_range_2 (sync to HEAD).
9486
94872008-02-01 Andreas Schwab <schwab@suse.de>
9488
9489 * chartab.c (map_char_table): GCPRO table and arg.
9490
94912008-02-01 Kenichi Handa <handa@m17n.org>
9492
9493 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9494 already at limit.
9495
94962008-02-01 Kenichi Handa <handa@m17n.org>
9497
9498 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9499 instead of fast_c_string_match_ignore_case.
9500 (find_font_encoding): Change argument to Lisp_Object. Use
9501 fast_string_match_ignore_case instead of
9502 fast_c_string_match_ignore_case. Change caller.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * xdisp.c (get_next_display_element): In unibyte case, decide to
9507 display in octal form by checking a character by
9508 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9509
9510 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9511
9512 * character.c (unibyte_has_multibyte_table): New variable.
9513
9514 * character.h (unibyte_has_multibyte_table): Extern it.
9515 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9516
95172008-02-01 Kenichi Handa <handa@m17n.org>
9518
9519 * coding.c (encode_coding_iso_2022): Fix handling of charset
9520 annotation.
9521
95222008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * coding.c (setup_coding_system): If coding_system is nil, use
9525 Qundecided.
9526 (Fterminal_coding_system): Return nil if terminal coding system is
9527 `undecided'.
9528 (syms_of_coding): Define coding-system `undecided' here. Setup
9529 terminal_coding as `undecided'.
9530
95312008-02-01 Kenichi Handa <handa@m17n.org>
9532
9533 * xdisp.c (message_dolog, set_message_1): Call
9534 unibyte_char_to_multibyte with arg type int.
9535
9536 * lread.c (read1): Fix reading of a char-table.
9537
9538 * print.c (print_object): Include sub char-table in circularities
9539 detection.
9540
95412008-02-01 Kenichi Handa <handa@m17n.org>
9542
9543 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9544 Append the found sequences in car of ARGS instead of prepending.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * fileio.c (report_file_error): Make a unibyte string from
9549 strerror (errorno).
9550 (Fsubstitute_in_file_name): Fix the arg to
9551 unibyte_char_to_multibyte. It is evaluated twice.
9552
95532008-02-01 Kenichi Handa <handa@m17n.org>
9554
9555 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9556
95572008-02-01 Kenichi Handa <handa@m17n.org>
9558
9559 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9560 BOM is not found.
9561 (detect_coding, detect_coding_system): Optimization for ISO-2022
9562 when no 8-bit data is found.
9563
95642008-02-01 Jason Rumney <jasonr@gnu.org>
9565
9566 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9567
95682008-02-01 Kenichi Handa <handa@m17n.org>
9569
9570 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9571 CHARS.
9572
95732008-02-01 Steven Tamm <steventamm@mac.com>
9574
9575 * macterm.c (mac_encode_char): Add charset argument and update
9576 to use encoding_type.
9577 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9578 switch to pure fontset.
9579 (decode_mac_font_name): Temporarily remove decoding.
9580 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9581 (x_load_font): Temporarily remove encoding.
9582
95832008-02-01 Kenichi Handa <handa@m17n.org>
9584
9585 * xfaces.c (Fface_font): If frame is not on a window system,
9586 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9587 refer to face->font.
9588 (split_font_name_into_vector, build_font_name_from_vector)
9589 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9590 when HAVE_WINDOW_SYSTEM is defined.
9591
95922008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9595 (x_produce_glyphs): Fix setting of members of cmp in case
9596 cmp->glyph_len is zero.
9597
9598 * fontset.c (Fset_fontset_font): Fix docstring.
9599 (Ffontset_info): Make it backward compatible. New arg ALL.
9600
96012008-02-01 Kim F. Storm <storm@cua.dk>
9602
9603 * process.c (read_process_output): Grow decoding_buf when needed;
9604 this could cause a crash in allocate_string and compact_small_strings.
9605
96062008-02-01 Kenichi Handa <handa@m17n.org>
9607
9608 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9609
96102008-02-01 Kenichi Handa <handa@m17n.org>
9611
9612 * coding.c (setup_coding_system): Set coding->common_flags
9613 correctly for raw-text.
9614 (consume_chars): On encoding unibyte text by raw-text, don't check
9615 multibyte form.
9616 (encode_coding): On encoding by raw-text, never use translation tables.
9617
9618 * fileio.c (e_write): Short cut for the case of no encoding.
9619
96202008-02-01 Kenichi Handa <handa@m17n.org>
9621
9622 * coding.c (detect_coding, detect_coding_system): Delete unused
9623 variables.
9624
96252008-02-01 Kenichi Handa <handa@m17n.org>
9626
9627 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9628 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9629
96302008-02-01 Kenichi Handa <handa@m17n.org>
9631
9632 * coding.c (Ffind_coding_systems_region_internal): Include
9633 raw-text and no-conversion in the result.
9634
96352008-02-01 Kenichi Handa <handa@m17n.org>
9636
9637 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9638 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9639 FONT_DEF.
9640 (font_def_arg, add_arg, from_arg, to_arg): New args.
9641 (set_fontset_font): Change argument.
9642 (Fset_fontset_font): Fix for the case that TARGET is a script
9643 name and charset name.
9644 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * fontset.c (fontset_font): Rename from fontset_face. Change return
9649 value.
9650 (face_suitable_for_char_p, face_for_char): Adjust for the change
9651 of fontset_font.
9652 (make_fontset_for_ascii_face): Fix setting of the fontset element
9653 for ASCII.
9654 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9655 to get a font name.
9656 (Ffontset_info): Adjust for the change of fontset_font.
9657
9658 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9659
9660 * character.h (LEADING_CODE_LATIN_1_MIN)
9661 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * editfns.c (check_translation): New function.
9666 (Ftranslate_region_internal): Handle M:N mapping.
9667
96682008-02-01 Kenichi Handa <handa@m17n.org>
9669
9670 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9671
96722008-02-01 Kenichi Handa <handa@m17n.org>
9673
9674 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9675 goto invalid_code.
9676 (decode_coding_iso_2022): Fix handling of invalid designation.
9677
9678 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9679 after calling code_conversion_save.
9680
96812008-02-01 Kenichi Handa <handa@m17n.org>
9682
9683 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9684
9685 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9686
9687 * fontset.c: Include "intervals.h".
9688 (fontset_face): Fix comparing of Lisp_Objects.
9689 (free_face_fontset, new_fontset_from_font_name): Fix
9690 Lisp_Object/int mixup.
9691
9692 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9693
9694 * coding.c: Add many prototypes for static functions.
9695 (get_translation_table): Allow max_lookup to be NULL.
9696 (decode_coding, Ffind_coding_systems_region_internal)
9697 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9698 get_translation_table with max_lookup NULL.
9699
97002008-02-01 Kenichi Handa <handa@m17n.org>
9701
9702 * coding.c (get_translation_table): Declare it as Lisp_Object.
9703 (LOOKUP_TRANSLATION_TABLE): New macro.
9704 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9705 instead of CHAR_TABLE_REF.
9706
97072008-02-01 Kenichi Handa <handa@m17n.org>
9708
9709 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9710 annotation data format.
9711 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9712 Change arguments FROM and TO to single argument NCHARS. Change caller.
9713 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9714 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9715 (decode_coding_ccl, decode_coding_charset): Pay attention to
9716 coding->charbuf_used.
9717 (get_translation): New function.
9718 (produce_chars): New arguments translation_table and last_block.
9719 Translate characters here. Return number of carryover chars.
9720 Change caller.
9721 (produce_composition): New argument pos. Change caller.
9722 Adjust for the change of annotation data format.
9723 (produce_charset, produce_annotation): Likewise.
9724 (decode_coding, encode_coding): Don't call translate_chars.
9725 (consume_chars): New arg translation_table. Change caller.
9726 (translate_chars): Delete.
9727 (syms_of_coding): Make translation-table's number of extra slots 2.
9728
97292008-02-01 Kenichi Handa <handa@m17n.org>
9730
9731 * search.c (simple_search): Fix setting this_pos_byte in backward
9732 search.
9733
9734 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9735 byte sequence.
9736 (detect_coding_ccl): Fix setting of the variable valids.
9737
97382008-02-01 Kenichi Handa <handa@m17n.org>
9739
9740 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9741
9742 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9743
9744 * editfns.c (Ftranslate_region_internal): Rename from
9745 Ftranslate_region. Accept a char-table in TABLE.
9746 (syms_of_editfns): Defsubr Stranslate_region_internal.
9747
9748 * xfaces.c (set_lface_from_font_name): If a font is specified for
9749 a frame, generate a fontset from the font.
9750 (build_scalable_font_name): If the scalable font is requested for
9751 a specific size, don't change that size.
9752 (try_font_list): Try a scalable font also in the case that a
9753 pattern string is specified.
9754
97552008-02-01 Kenichi Handa <handa@m17n.org>
9756
9757 * xfaces.c (Fface_font): New optional arg CHARACTER.
9758
97592008-02-01 Kenichi Handa <handa@m17n.org>
9760
9761 * charset.h (CHARSET_OFFSET): New macro.
9762
97632008-02-01 Kenichi Handa <handa@m17n.org>
9764
9765 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9766
9767 * fontset.c (fontset_face): Handle the case that repertory is a
9768 char-table.
9769 (find_font_encoding): Return nil for unknown encoding.
9770 (Fset_fontset_font): Ignore a font of unknown encoding.
9771
97722008-02-01 Kenichi Handa <handa@m17n.org>
9773
9774 * keymap.c (describe_vector): Handle default value of a char table.
9775
9776 * fontset.c (fontset_face): Handle fallback fonts correctly.
9777 (Ffontset_info): Return infomation about fallback fonts.
9778
97792008-02-01 Kenichi Handa <handa@m17n.org>
9780
9781 * fontset.c (FONTSET_DEFAULT): New macro.
9782 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9783 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9784 the case that it is nil.
9785 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9786 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9787
9788 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9789 subset or superset.
9790
97912008-02-01 Kenichi Handa <handa@m17n.org>
9792
9793 * emacs.c (main): Call init_charset after syms_of_XXX.
9794
9795 * charset.c (Vcharset_map_directory): Delete.
9796 (Vcharset_map_path): New variable.
9797 (load_charset_map_from_file): Use Vcharset_map_path instead.
9798 (init_charset): Initialize Vcharset_map_path.
9799 (syms_of_charset): Delete declaration of "charset-map-directory",
9800 add declaration of "charset-map-path".
9801
98022008-02-01 Kenichi Handa <handa@m17n.org>
9803
9804 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9805 ASCII only string.
9806
9807 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9808
9809 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9810 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9811
98122008-02-01 Kenichi Handa <handa@m17n.org>
9813
9814 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9815
9816 * coding.c (QCmnemonic, QCdefalut_char)
9817 (QCdecode_translation_table, QCencode_translation_table)
9818 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9819 (get_translation_table): Return a list of translation tables if
9820 necessary.
9821 (decode_coding): Call get_translation_table with ENCODEP 0.
9822 (char_encodable_p): If translation_table is non-nil, always call
9823 translate_char.
9824 (Fdefine_coding_system_internal): Accept list of translation
9825 tables as :encode-translation-table and :decode-translation-table.
9826 (Fcoding_system_put): New function.
9827 (syms_of_coding): Declare new symbols. Defsubr
9828 Scoding_system_put.
9829 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9830 typically JISX0212.
9831
9832 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9833 when the charset is superset type.
9834
9835 * character.c (translate_char): Accept list of translation tables.
9836
98372008-02-01 Kenichi Handa <handa@m17n.org>
9838
9839 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9840 (CODING_ATTR_TRANS_TBL): New macro.
9841
9842 * coding.c (get_translation_table): New function.
9843 (translate_chars): Fix the bug of skipping annotation data.
9844 (decode_coding, encode_coding): Utilize get_translation_table.
9845 (char_encodable_p, Funencodable_char_position): Translate char if
9846 necessary.
9847 (Ffind_coding_systems_region_internal)
9848 (Fcheck_coding_systems_region): Setup translation table for encode
9849 in a coding system attribute vector in advance.
9850 (Fdefine_coding_system_internal): Allow a symbol as translation
9851 table. For shift-jis type coding system, allow 4th charset.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9856
9857 * xdisp.c (get_next_display_element): Pass -1 as POS to
9858 FACE_FOR_CHAR if displaying a C-string.
9859
98602008-02-01 Kenichi Handa <handa@m17n.org>
9861
9862 * composite.c (get_composition_id): Handle xoff and yoff in a
9863 composition rule.
9864
9865 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9866 (struct composition): New member lbearing and rbearing.
9867
9868 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9869 (x_get_glyph_overhangs): Handle a composition glyph.
9870 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9871
9872 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9873 composition glyph.
9874
98752008-02-01 Kenichi Handa <handa@m17n.org>
9876
9877 * print.c: Include charset.h.
9878 (Vprint_charset_text_property): New variable.
9879 (Qdefault): Extern it.
9880 (PRINT_STRING_NON_CHARSET_FOUND)
9881 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9882 (print_check_string_result): New variable.
9883 (print_check_string_charset_prop): New function.
9884 (print_prune_charset_plist): New variable.
9885 (print_prune_string_charset): New function.
9886 (print_object): Call print_prune_string_charset if
9887 Vprint_charset_text_property is not t.
9888 (print_interval): Print nothing if interval->plist is nil.
9889 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9890 variable. Init and staticpro print_prune_charset_plist.
9891
98922008-02-01 Kenichi Handa <handa@m17n.org>
9893
9894 * fontset.c (new_fontset_from_font_name): Use the specified font
9895 for all characters in the new fontset.
9896
9897 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9898 OBJECT args.
9899
9900 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9901 OBJECT args for composition too.
9902
9903 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9904 OBJECT args.
9905
99062008-02-01 Kenichi Handa <handa@m17n.org>
9907
9908 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9909
9910 * fontset.c (reorder_font_vector): Adjust for the change of
9911 FONT_DEF format.
9912 (fontset_face): New arg id. Change caller.
9913 (face_for_char): New args pos and object.
9914 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9915 (fs_query_fontset): Check NAME by Fassoc too.
9916 (Fset_fontset_font): Allow non-XLFD font name.
9917 (Ffontset_info): Adjust for the change of FONT_DEF format.
9918
9919 * fontset.h (face_for_char): Adjust prototype.
9920
9921 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9922 (append_space, extend_face_to_end_of_line)
9923 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9924 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9925
9926 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9927 POS and OBJECT args.
9928
9929 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9930 POS and OBJECT args.
9931
99322008-02-01 Jason Rumney <jasonr@gnu.org>
9933
9934 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9935 of GlobalAlloc'ed memory.
9936
99372008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9940
9941 * charset.h (charset_table_used): Delete extern.
9942
9943 * charset.c (charset_table_used): Make it static.
9944 (map_charset_chars): Fix args to c_function with.
9945
9946 * chartab.c (map_sub_char_table_for_charset): Fix args to
9947 c_function with.
9948
9949 * coding.h (enum coding_result_code): Delete
9950 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9951
9952 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9953 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9954 (Vlast_code_conversion_error): New variables.
9955 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9956 (ONE_MORE_BYTE): Record error if any instead of signaling an
9957 error. If non-ASCII multibyte char is found, return the negative
9958 value of the code. All callers changed to check it.
9959 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9960 (record_conversion_result): New function. Change all codes setting
9961 coding->result to call this function.
9962 (detect_coding_utf_8, decode_coding_utf_8)
9963 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9964 Don't use the local variable incomplete.
9965 (emacs_mule_char): Change the second arg to `const'.
9966 (decode_coding): Fix of flushing out unprocessed data.
9967 (make_conversion_work_buffer): Fix making of a work buffer.
9968 (decode_coding_object): Return coding->dst_object.
9969
9970 * fontset.c (set_fontset_font): Fix args.
9971
9972 * lisp.h (CHARACTERBITS): Define as 22.
9973
9974 * process.c (send_process): Be sure to set coding->src_multibyte.
9975
9976 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9977
99782008-02-01 Kenichi Handa <handa@m17n.org>
9979
9980 * xdisp.c (handle_auto_composed_prop): Give limit to
9981 Fnext_single_char_property_change.
9982
99832008-02-01 Kenichi Handa <handa@m17n.org>
9984
9985 * composite.c (syms_of_composite): Don't make the composition hash
9986 table weak.
9987
9988 * fontset.c (Fset_fontset_font): Fix docstring.
9989
9990 * lisp.h (detect_coding_system): Adjust prototype.
9991
9992 * fileio.c (kill_workbuf_unwind): Delete this function.
9993 (Finsert_file_contents): Adjust the call of detect_coding_system.
9994 Get conversion_buffer by code_conversion_save. Use the macro
9995 CODING_MAY_REQUIRE_DECODING. After decoding, update
9996 coding_system.
9997
9998 * coding.h (make_conversion_work_buffer): Delete extern.
9999 (code_conversion_save): Extern it.
10000
10001 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10002 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10003 (decode_coding_utf_8): Don't do eol converion.
10004 (detect_coding_utf_16): Check coding->src_chars, not
10005 coding->src_bytes. Add heuristics for those that have no signature.
10006 (decode_coding_emacs_mule, decode_coding_iso_2022)
10007 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10008 Don't do eol converion.
10009 (adjust_coding_eol_type): Return a new coding system.
10010 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10011 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10012 each change.
10013 (decode_coding): Pay attention to undo_list. Do eol conversion for
10014 all types of coding-systems (if necessary).
10015 (Vcode_conversion_work_buf_list): Delete it.
10016 (Vcode_conversion_reused_workbuf): Rename from
10017 Vcode_conversion_reused_work_buf.
10018 (Vcode_conversion_workbuf_name): New variable.
10019 (reused_workbuf_in_use): New variable.
10020 (make_conversion_work_buffer): Delete the arg DEPTH.
10021 (code_conversion_restore): Change argument to cons.
10022 (code_conversion_save): Delete the argument BUFFER. Change callers.
10023 (detect_coding_system): New argument src_chars. Change callers.
10024 Fix for utf-16 detection.
10025 (init_coding_once): Don't use ISO_carriage_return.
10026 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10027 reused_workbuf_in_use.
10028
100292008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * keymap.c (store_in_keymap): Pay attention to the case that idx
10032 is a cons specifying a character range.
10033
100342008-02-01 Kenichi Handa <handa@m17n.org>
10035
10036 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10037 HANDLED_RECOMPUTE_PROPS.
10038
10039 * coding.c (Fdefine_coding_system_internal): Fix checking of
10040 ascii compatibility.
10041
100422008-02-01 Kenichi Handa <handa@m17n.org>
10043
10044 * charset.c (find_charsets_in_text): Delete unused locale variable.
10045 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10046
10047 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10048 Resync charset_list to Vemacs_mule_charset_list.
10049
10050 * keymap.c (store_in_keymap): Pay attention to the case that idx
10051 is a cons specifying a character range.
10052
100532008-02-01 Kenichi Handa <handa@m17n.org>
10054
10055 * composite.c (update_compositions): Bind inhibit-read-only, etc
10056 to t before calling remove-list-of-text-properties.
10057
10058 * print.c (print_object): Always print ASCII chars as is.
10059
100602008-02-01 Kenichi Handa <handa@m17n.org>
10061
10062 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10063
10064 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10065 is a char table.
10066
100672008-02-01 Kenichi Handa <handa@m17n.org>
10068
10069 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10070
100712008-02-01 Kenichi Handa <handa@m17n.org>
10072
10073 * xfaces.c (set_lface_from_font_name): Fix for the case that
10074 FONTNAME is not fontset name.
10075
100762008-02-01 Kenichi Handa <handa@m17n.org>
10077
10078 * fns.c (base64_encode_1): Fix previous change.
10079
100802008-02-01 Kenichi Handa <handa@m17n.org>
10081
10082 * fontset.c (set_fontset_font): New function.
10083 (Fset_fontset_font): If a font is specified for a charset, use
10084 map_charset_chars to store the font spec in a fontset.
10085
100862008-02-01 Kenichi Handa <handa@m17n.org>
10087
10088 * fontset.c (fontset_face): Create a fallback fontset on demand.
10089 (make_fontset): Don't create a fallback fontset here.
10090 (free_face_fontset): Free a fallback fontset (if any) too.
10091 (n_auto_fontsets): Delete this variable.
10092 (auto_fontset_alist): New variable.
10093 (new_fontset_from_font_name): Check auto_fontset_alist.
10094 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10095 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10096 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10097 Defsubr Sfontset_list_all.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * editfns.c (Fgoto_char): Fix docstring.
10110
101112008-02-01 Kenichi Handa <handa@m17n.org>
10112
10113 * insdel.c (insert_from_gap): Adjust intervals correctly.
10114
101152008-02-01 Jason Rumney <jasonr@gnu.org>
10116
10117 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10118 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10119 (w32_initialize): Try to load it.
10120 (x_get_font_repertory): Use it if available.
10121 (w32_encode_char): Add shortcut for unicode output.
10122
10123 * w32fns.c (w32_load_system_font): Default charset to -1.
10124 (x_to_w32_charset): Match all fonts for unicode.
10125 (w32_to_x_charset): New parameter matching. Don't return partial
10126 or wildcard charsets.
10127 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10128 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10129 (w32_to_x_font): Match charset to real charset.
10130 (enum_font_cb2): Always list unicode versions.
10131
10132 * makefile.w32-in (temacs): Increase EMHEAP.
10133
101342008-02-01 Jason Rumney <jasonr@gnu.org>
10135
10136 * w32term.c (w32_encode_char): New charset parameter.
10137 font_info.encoding becomes encoding_type.
10138 (x_get_font_repertory): New function. Warning: stub only!
10139 (x_new_font): Return quickly if font already set.
10140 (x_new_fontset): fontsetname parameter is Lisp_Object.
10141 Use new fs_query_fontset. Try new_fontset_from_font_name.
10142 Use fontset_name for return value.
10143
10144 * w32term.h: Declare x_get_font_repertory.
10145
10146 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10147 place of find_charset_in_text. Use encode_coding_object in place
10148 of encode_coding.
10149 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10150 decode_coding.
10151
10152 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10153 of x_new_fontset.
10154 (w32_load_system_font): Initialize charset as unicode.
10155 font_info.encoding becomes encoding_type.
10156 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10157 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10158 (syms_of_w32fns): Set get_font_repertory_func.
10159
10160 * w32console.c: Include character.h. Use terminal_encode_buffer
10161 from term.c.
10162 (write_glyphs): Use new version of encode_terminal_code. Use
10163 encode_coding_object in place of encode_coding.
10164
10165 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10166 encoding becomes encoding_type.
10167
10168 * term.c (terminal_encode_buffer): Make externally visible.
10169
10170 * makefile.w32-in: Add character.h dependancies.
10171 (character.o, chartab.o): New targets.
10172
101732008-02-01 Kenichi Handa <handa@m17n.org>
10174
10175 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10176 CODING_ID_EOL_TYPE.
10177
101782008-02-01 Andreas Schwab <schwab@suse.de>
10179
10180 * coding.c (produce_chars): Revert last change.
10181
101822008-02-01 Kenichi Handa <handa@m17n.org>
10183
10184 * charset.h (charset_unicode): Extern it.
10185
10186 * charset.c (string_xstring_p): Check by (C >= 0x100).
10187 (find_charsets_in_text): Change format of the arc CHARSETS. New
10188 arg MULTIBYTE.
10189 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10190 change of find_charsets_in_text.
10191 (Fsplit_char): Fix doc. Never return unknown.
10192
10193 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10194
10195 * coding.c (Fdefine_coding_system_alias): Update
10196 Vcoding_system_list.
10197
10198 * fontset.c (load_font_get_repertory): Pay attention to the case
10199 that ENCODING of a font is specified by a char-table.
10200
10201 * xterm.c (x_get_font_repertory): Handle the case that the
10202 encoding of font is other than Unicode.
10203
102042008-02-01 Kenichi Handa <handa@m17n.org>
10205
10206 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10207 if a character is encodable by the terminal coding system. If
10208 not, produces proper number of `?'s. Update
10209 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10210 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10211
102122008-02-01 Kenichi Handa <handa@m17n.org>
10213
10214 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10215 variables.
10216 (encode_terminal_code): Change argument. Encode multiple
10217 characters at once. Store the result of encoding in
10218 terminal_encode_buffer.
10219 (write_glyphs, insert_glyphs): Adjust for the change of
10220 encode_terminal_code.
10221 (term_init): Initialize terminal_encode_buffer and
10222 terminal_encode_buf_size.
10223
10224 * coding.c (consume_chars): If coding->src_object is nil, don't
10225 check annotation.
10226
102272008-02-01 Kenichi Handa <handa@m17n.org>
10228
10229 * character.c (char_string): Use ASCII_CHAR_P instead of
10230 SINGLE_BYTE_CHAR_P.
10231
102322008-02-01 Kenichi Handa <handa@m17n.org>
10233
10234 * xdisp.c (handle_auto_composed_prop): Check if the last
10235 characters of auto-composed region is newly composed with the
10236 following characters.
10237 (handle_composition_prop): Fix checking of point being inside
10238 composition.
10239
102402008-02-01 Kenichi Handa <handa@m17n.org>
10241
10242 * fns.c (concat): Don't change multibyteness of the result by
10243 concatenating an 8-bit character.
10244
10245 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10246 multibyteness of the result when newelt is an 8-bit character.
10247
102482008-02-01 Dave Love <fx@gnu.org>
10249
10250 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10251 EMACS_INT.
10252
10253 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10254
10255 * xfaces.c (face_numeric_value): Declare dim size_t.
10256 (Finternal_lisp_face_equal_p): Remove unused f.
10257
10258 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10259 (MATRIX_ROW): Remove unused vars.
10260 (draw_glyphs, x_insert_glyphs, fast_find_position)
10261 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10262 byte/char counts.
10263
10264 * regex.c (regex_compile): Remove unused var.
10265
10266 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10267
10268 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10269 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10270
10271 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10272
10273 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10274
10275 * fileio.c (Fwrite_region): Remove unused var.
10276
10277 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10278 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10279
10280 * composite.c (Fremove_list_of_text_properties): Declare.
10281
10282 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10283 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10284 (coding_inherit_eol_type): Remove unused attrs.
10285 (detect_coding): Cast arg of detect_eol.
10286
10287 * charset.c (syms_of_charset): Remove unused var p.
10288 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10289 byte/char counts.
10290
10291 * casetab.c (set_case_table): Remove unused var.
10292
10293 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10294 unused vars.
10295
102962008-02-01 Dave Love <fx@gnu.org>
10297
10298 * xterm.c (x_bitmap_mask): Declare.
10299
103002008-02-01 Dave Love <fx@gnu.org>
10301
10302 * xterm.c (x_term_init): Fix type error.
10303
10304 * lisp.h: Add Funibyte_char_to_multibyte.
10305
10306 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10307 (Fset_coding_system_priority): Doc fix.
10308
10309 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10310
10311 * indent.c (check_composition): Make start and end EMACS_INT.
10312
10313 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10314
10315 * xdisp.c (handle_composition_prop, check_point_in_composition):
10316 Make buffer positions EMACS_INT.
10317
10318 * composite.c (find_composition, run_composition_function)
10319 (update_compositions, Ffind_composition_internal): Make buffer
10320 positions EMACS_INT.
10321
10322 * composite.h (find_composition, update_compositions): Make
10323 position args EMACS_INT.
10324
10325 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10326
10327 * intervals.c (get_property_and_range):
10328 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10329
10330 * unexalpha.c: Don't include varargs.h.
10331
103322008-02-01 Dave Love <fx@gnu.org>
10333
10334 * coding.h (ENCODE_UTF_8): New.
10335
10336 * Makefile.in (gtkutil.o): Depend on coding.h.
10337
10338 * coding.c (Fset_coding_system_priority): Doc fix.
10339
103402008-02-01 Kenichi Handa <handa@m17n.org>
10341
10342 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10343 the case of auto saving.
10344
103452008-02-01 Andreas Schwab <schwab@suse.de>
10346
10347 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10348 `range' from GC.
10349
103502008-02-01 Kenichi Handa <handa@m17n.org>
10351
10352 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10353
103542008-02-01 Kenichi Handa <handa@m17n.org>
10355
10356 * fileio.c (choose_write_coding_system): Return a decided coding system.
10357 (Fwrite_region): Set Vlast_coding_system_used to the return value
10358 of choose_write_coding_system.
10359
103602008-02-01 Kenichi Handa <handa@m17n.org>
10361
10362 * charset.c (Fset_charset_priority): Pay attention to duplicated
10363 arguments.
10364
10365 * coding.c (QCcategory): New variable.
10366 (syms_of_coding): Defsym it. Set all elements of
10367 Vcoding_category_table and their symbol values.
10368 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10369 coding-category-XXX, and coding-category-list.
10370 (Fdefine_coding_system_internal): Add category in the plist.
10371
103722008-02-01 Kenichi Handa <handa@m17n.org>
10373
10374 * callproc.c (Fcall_process): Handle carryover correctly.
10375
10376 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10377 (raw_text_coding_system): Check NILP (coding_system).
10378 (coding_inherit_eol_type): Check NILP (coding_system) and
10379 NILP (parent).
10380 (consume_chars): Fix for the case of raw-text.
10381
10382 * process.c (read_process_output): Handle carryover correctly.
10383
103842008-02-01 Dave Love <fx@gnu.org>
10385
10386 * regex.c (re_search_2): Fix last change.
10387
103882008-02-01 Kenichi Handa <handa@m17n.org>
10389
10390 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10391 target_multibyte. Even in a unibyte case, return a converted
10392 multibyte char.
10393 (GET_CHAR_AFTER): New macro.
10394 (PATFETCH): Translate via multibyte char.
10395 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10396 (SETUP_MULTIBYTE_RANGE): New macro.
10397 (regex_compile): Setup compiled code so that its multibyteness
10398 matches that of a target. Fix the handling of "[X-YZ]" using
10399 SETUP_MULTIBYTE_RANGE.
10400 (analyse_first) <charset>: For filling fastmap for all multibyte
10401 characters, don't check by BASE_LEADING_CODE_P.
10402 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10403 the same as RE_MULTIBYTE_P (bufp) now.
10404 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10405 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10406 (TRANSLATE_VIA_MULTIBYTE): New macro.
10407 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10408 It is the same as RE_MULTIBYTE_P (bufp) now.
10409 <exactn>: Translate via multibyte.
10410 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10411 translate it.
10412 <charset, charset_not>: Fetch a character by
10413 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10414 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10415 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10416 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10417 by GET_CHAR_AFTER.
10418 (bcmp_translate): Likewise.
10419
10420 * search.c (compile_pattern): Check the member target_multibyte,
10421 not the member multibyte of buf.
10422
10423 * lread.c (read1): While reading a string, set force_singlebyte
10424 and force_multibyte correctly.
10425
10426 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10427 up of unibyte_to_multibyte_table.
10428
104292008-02-01 Kenichi Handa <handa@m17n.org>
10430
10431 * coding.c (setup_coding_system): If coding has
10432 post-read-conversion or pre-write-conversion, set
10433 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10434 respectively.
10435 (decode_coding_gap): Run post-read-conversion if any.
10436
10437 * fileio.c (Finsert_file_contents): Even if we read into a
10438 unibyte buffer, check if we must decode the result or not.
10439
104402008-02-01 Kenichi Handa <handa@m17n.org>
10441
10442 * coding.c (make_conversion_work_buffer): Change the work buffer
10443 name to the same one as that of Emacs 21.
10444
104452008-02-01 Kenichi Handa <handa@m17n.org>
10446
10447 * coding.h (make_conversion_work_buffer): Adjust prototype.
10448 (code_conversion_restore): Don't extern it.
10449
10450 * coding.c (detected_mask): Delete unused variable.
10451 (decode_coding_iso_2022): Pay attention to the byte sequence of
10452 CTEXT extended segment, and retain those bytes as is.
10453 (decode_coding_ccl): Delete unused variable `valids'.
10454 (setup_coding_system): Delete unused variable `category'.
10455 (consume_chars): Delete unused variable `category'. Make it work
10456 for non-multibyte case.
10457 (make_conversion_work_buffer): Change argument.
10458 (saved_coding): Delete unused variable.
10459 (code_conversion_restore): Don't check saved_coding->destination.
10460 (code_conversion_save): New function.
10461 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10462 instead of record_unwind_protect.
10463 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10464 (detect_coding_system): Delete unused variable `mask'.
10465 (Fdefine_coding_system_internal): Delete unused variable id.
10466
10467 * fileio.c (kill_workbuf_unwind): New function.
10468 (Finsert_file_contents): On replacing, call
10469 make_conversion_work_buffer with correct args, and call
10470 record_unwind_protect with the first arg kill_workbuf_unwind.
10471
10472 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10473
104742008-02-01 Kenichi Handa <handa@m17n.org>
10475
10476 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10477 (fontset_add): Fix for the case that TO is less than TO1.
10478 (Ffontset_info): Don't use fallback fontset on checking the
10479 default fontset.
10480 (dump_fontset): New function for debugging.
10481
10482 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10483 coding_type is Qcharset.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10488 (map_char_table): Don't inherit the value from the parent on
10489 initializing VAL. Adjust for the above change.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * coding.c (Qsignature, Qendian): Delete these variables.
10494 (syms_of_coding): Don't initialize them.
10495 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10496 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10497 detect_info->found.
10498 (decode_coding_utf_16): Don't detect BOM here.
10499 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10500 is NOT utf_16_without_bom.
10501 (setup_coding_system): For a coding system of type utf-16, check
10502 if the attribute :endian is Qbig or not (not nil or not), and set
10503 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10504 (detect_coding): If coding type is utf-16 and BOM detection is
10505 required, detect it.
10506 (Fdefine_coding_system_internal): For a coding system of type
10507 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10508
105092008-02-01 Kenichi Handa <handa@m17n.org>
10510
10511 * coding.c (coding_set_source): Fix for the case that the current
10512 buffer is different from coding->src_object.
10513 (decode_coding_object): Don't use the conversion work buffer if
10514 DST_OBJECT is a buffer.
10515
105162008-02-01 Dave Love <fx@gnu.org>
10517
10518 * lread.c (read_emacs_mule_char) [len==2]: Index
10519 emacs_mule_charset correctly.
10520
105212008-02-01 Dave Love <fx@gnu.org>
10522
10523 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10524 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10525 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10526 treated specially.)
10527 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10528 (detected_mask): Remove Big5 bits.
10529
105302008-02-01 Kenichi Handa <handa@m17n.org>
10531
10532 The following changes are to make the font rescaling facility
10533 compatible with Emacs 21.
10534
10535 * xfaces.c (Vface_font_rescale_alist): Rename from
10536 Vface_resizing_fonts.
10537 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10538 (font_rescale_ratio): Rename from font_resizing_ratio.
10539 (split_font_name): Set font->rescale_ratio.
10540 (better_font_p): Pay attention to font->rescale_ratio.
10541 (build_scalable_font_name): Likewise. Change RESX, and RESY
10542 fields.
10543 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10548 (Qutf_16_le): Remove these variables.
10549 (syms_of_coding): Don't DEFSYM them.
10550 (decode_coding_utf_16): Fix handling of BOM.
10551 (encode_coding_utf_16): Fix handling of BOM.
10552
105532008-02-01 Kenichi Handa <handa@m17n.org>
10554
10555 * fileio.c (Finsert_file_contents): On replacing, before decoding
10556 the file into the work buffer, set point of the work buffer to the end.
10557
105582008-02-01 Dave Love <fx@gnu.org>
10559
10560 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10561
105622008-02-01 Dave Love <fx@gnu.org>
10563
10564 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10565 and fix C types.
10566
105672008-02-01 Kenichi Handa <handa@m17n.org>
10568
10569 * xdisp.c (SKIP_GLYPHS): New macro.
10570 (set_cursor_from_row): Pay attention to string display properties.
10571
10572 * category.c (copy_category_entry): Fix for the case that RANGE
10573 is an integer.
10574
10575 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10576
10577 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10578
105792008-02-01 Kenichi Handa <handa@m17n.org>
10580
10581 * charset.c (Fcharset_id_internal): New function.
10582 (syms_of_charset): Defsubr it.
10583
10584 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10585 with the last arg charset_list acquired from coding.
10586 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10587 the attribute coding_attr_ccl_valids.
10588
10589 * coding.h (enum define_coding_ccl_arg_index): Set the first
10590 member coding_arg_ccl_decoder to coding_arg_max.
10591
10592 * ccl.h (ccl_driver): Adjust prototype.
10593
10594 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10595 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10596 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
10597 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10598 last arg Qnil.
10599
106002008-02-01 Kenichi Handa <handa@m17n.org>
10601
10602 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10603 call encode_char.
10604
10605 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10606
106072008-02-01 Dave Love <fx@gnu.org>
10608
10609 * composite.c (syms_of_composite): Make composition_hash_table weak.
10610
106112008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10614 (font_name_registry): Don't extern them.
10615 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10616
10617 * fontset.h (Qfontset): Don't extern it.
10618 (new_fontset_from_font_name): Extern it.
10619
10620 * fontset.c: Give 8 extra slots to fontset objects.
10621 (Qfontset_info): New variable.
10622 (syms_of_fontset): Defsym it.
10623 (FONTSET_FALLBACK): New macro.
10624 (fontset_face): Try also the default fontset.
10625 (make_fontset): Realize a fallback fontset from the default fontset.
10626 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10627 using split_font_name_into_vector and build_font_name_from_vector.
10628 (Fset_fontset_font): Access the elements of font_spec by enum
10629 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10630 name by using split_font_name_into_vector.
10631 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10632 generate a proper font name from the fontset name. Update
10633 Vfontset_alias_alist.
10634 (n_auto_fontsets): New variable.
10635 (new_fontset_from_font_name): New function.
10636 (Ffont_info): Store the information about fonts generated from the
10637 default fontset in the first extra slot of the returned char-table.
10638
10639 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10640 (font_name_registry): Delete function.
10641 (split_font_name_into_vector): New function.
10642 (build_font_name_from_vector): New function.
10643 (font_list): The argument REGISTRY is now a list of registry names.
10644 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10645 specifies an explicit font name, return the name as is. Make a
10646 list of registy names.
10647
10648 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10649 of x_new_fontset.
10650 (Fx_create_frame): Don't call x_new_fontset here. Just use
10651 x_list_fonts to check the existence of fonts.
10652
10653 * xterm.h (x_new_fontset): Adjust prototype.
10654
10655 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10656 string. Use new_fontset_from_font_name to create a fontset from a
10657 font name.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 * syntax.c (Vfind_word_boundary_function_table): New name for
10662 Vnext_word_boundary_function_table.
10663 (find-word-boundary-function-table): New name for
10664 next-word-boundary-function-table.
10665
106662008-02-01 Dave Love <fx@gnu.org>
10667
10668 * Makefile.in: Fix some dependencies.
10669
10670 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10671 set it to nil before returning.
10672
10673 * composite.c (update_compositions): Fix type error.
10674
10675 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10676
106772008-02-01 Kenichi Handa <handa@m17n.org>
10678
10679 * xterm.c (x_new_font): Optimize for the case that the font is
10680 already set for the frame.
10681
106822008-02-01 Kenichi Handa <handa@m17n.org>
10683
10684 * chartab.c (char_table_ascii): Check if the char table contents
10685 is sub-char-table or not.
10686 (char_table_set, char_table_set_range): Fix argument to
10687 char_table_ascii.
10688
10689 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10690 (detect_coding_utf_8, detect_coding_utf_16)
10691 (detect_coding_emacs_mule, detect_coding_iso_2022)
10692 (detect_coding_sjis, detect_coding_big5)
10693 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10694 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10695 sequence is valid in this coding system. Change callers.
10696 (MAX_ANNOTATION_LENGTH): New macro.
10697 (ADD_ANNOTATION_DATA): New macro.
10698 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10699 ADD_ANNOTATION_DATA. Change the format of annotation data.
10700 (ADD_CHARSET_DATA): New macro.
10701 (emacs_mule_char): New argument ID. Change callers.
10702 (decode_coding_emacs_mule, decode_coding_iso_2022)
10703 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10704 Produce charset annotation data in coding->charbuf.
10705 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10706 to charset annotation data in coding->charbuf.
10707 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10708 coding->common_flags if the coding system is iso-2022 based and
10709 uses designation.
10710 (produce_composition): Adjust for the new annotation data format.
10711 (produce_charset): New function.
10712 (produce_annotation): Handle charset annotation.
10713 (handle_composition_annotation, handle_charset_annotation): New
10714 functions.
10715 (consume_chars): Handle charset annotation. Utilize the above two
10716 functions.
10717 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10718 buffer, get the deleted text as a string and set
10719 coding->src_object to that string.
10720 (detect_coding, detect_coding_system): Use the new struct
10721 coding_detection_info.
10722
10723 * coding.h (struct coding_detection_info): New structure.
10724 (struct coding_system): Adjust prototype of the member `detector'.
10725 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10726
107272008-02-01 Kenichi Handa <handa@m17n.org>
10728
10729 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10730
107312008-02-01 Dave Love <fx@gnu.org>
10732
10733 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10734 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10735 to new local and nullify apropos_accumulate before returning.
10736 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10737
107382008-02-01 Kenichi Handa <handa@m17n.org>
10739
10740 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10741 correctly.
10742
107432008-02-01 Dave Love <fx@gnu.org>
10744
10745 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10746
107472008-02-01 Kenichi Handa <handa@m17n.org>
10748
10749 The following changes are to make character composition happen
10750 automatically on displaying.
10751
10752 * Makefile.in (lisp, shortlisp): Add composite.elc.
10753
10754 * composite.h (Qauto_composed, Vauto_composition_function)
10755 (Qauto_composition_function): Extern them.
10756
10757 * composite.c (Vcomposition_function_table)
10758 (Qcomposition_function_table): Delete variables.
10759 (Qauto_composed, Vauto_composition_function)
10760 (Qauto_composition_function): New variables.
10761 (run_composition_function): Don't call
10762 compose-chars-after-function.
10763 (update_compositions): Clear `auto-composed' text property.
10764 (compose_chars_in_text): Delete this function.
10765 (syms_of_composite): Staticpro Qauto_composed and
10766 Qauto_composition_function. Declare Vauto_composition_function as
10767 a Lisp variable.
10768
10769 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10770
10771 * xdisp.c (it_props): Add an entry for Qauto_composed.
10772 (handle_auto_composed_prop): New function.
10773
10774 * xselect.c (selection_data_to_lisp_data): Don't call
10775 compose_chars_in_text.
10776
107772008-02-01 Dave Love <fx@gnu.org>
10778
10779 * keyboard.c (read_char): Modify checking around use of
10780 Vkeyboard_translate_table.
10781
10782 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10783 and fix C types.
10784
107852008-02-01 Kenichi Handa <handa@m17n.org>
10786
10787 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10788 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10789 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10790 the case that the last byte is '\r' correctly.
10791 (decode_coding): Flush out the unprocessed data correctly.
10792 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10793
107942008-02-01 Dave Love <fx@gnu.org>
10795
10796 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10797 Add XK_ISO... case.
10798 (xaw_scroll_callback): Revert last change.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10803
108042008-02-01 Kenichi Handa <handa@m17n.org>
10805
10806 * xfaces.c (Vface_resizing_fonts): New variable.
10807 (struct font_name): New member `resizing_ratio'.
10808 (font_resizing_ratio): New function.
10809 (split_font_name): Set font->resizing_ratio.
10810 (better_font_p): Pay attention to font->resizing_ratio.
10811 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10812 RESX, and RESY fields.
10813 (try_alternative_families): Try scalable fonts if
10814 Vscalable_fonts_allowed is not Qt.
10815 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10816
108172008-02-01 Dave Love <fx@gnu.org>
10818
10819 * xterm.c (xaw_scroll_callback): Cast correctly.
10820
108212008-02-01 Dave Love <fx@gnu.org>
10822
10823 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10824 (lispy_kana_keys): Comment out.
10825 (make_lispy_event) [XK_kana_A]: Comment out.
10826
10827 * xterm.c (xaw_scroll_callback): Cast call_data.
10828 (XTread_socket): Deal with ASCII keysyms.
10829 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10830
108312008-02-01 Dave Love <fx@gnu.org>
10832
10833 * xterm.c (Vx_keysym_table): New.
10834 (syms_of_xterm): Initialize it.
10835 (XTread_socket): Use it.
10836 From head: Eliminate incorrect optimization that tried to avoid
10837 decoding the output of X*LookupString.
10838 (x_get_font_repertory): Delete charset declaration.
10839
108402008-02-01 Kenichi Handa <handa@m17n.org>
10841
10842 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10843 return 0.
10844 (Fdefine_coding_system_internal): Setup
10845 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10846
108472008-02-01 Dave Love <fx@gnu.org>
10848
10849 * coding.c (Fcheck_coding_system): Doc fix.
10850
10851 * editfns.c (Finsert_byte): Return a proper value.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * coding.c (decode_coding): Fix args to translate_chars. Pay
10856 attention to Vstandard_translation_table_for_decode.
10857 (encode_coding): Fix args to translate_chars. Pay attention to
10858 Vstandard_translation_table_for_encode.
10859
10860 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10861 SINGLE_BYTE_CHAR_P.
10862
10863 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10864 not by SINGLE_BYTE_CHAR_P.
10865
10866 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10867 SINGLE_BYTE_CHAR_P.
10868
10869 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10870 SINGLE_BYTE_CHAR_P.
10871
10872 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10873 by SINGLE_BYTE_CHAR_P.
10874
10875 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10876 SINGLE_BYTE_CHAR_P.
10877
108782008-02-01 Dave Love <fx@gnu.org>
10879
10880 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10881
108822008-02-01 Dave Love <fx@gnu.org>
10883
10884 * fns.c (Flanginfo): Fix typo.
10885
10886 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10891 (detect_coding_emacs_mule, detect_coding_iso_2022)
10892 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10893 incomplete byte sequence. Don't update *mask when correctly detected.
10894 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10895 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10896 (detect_coding, detect_coding_system): Adjust for the changes above.
10897
108982008-02-01 Kenichi Handa <handa@m17n.org>
10899
10900 * character.c (char_string): Rename from
10901 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10902 (string_char): Rename from string_char.
10903
10904 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10905 if C is greater than MAX_3_BYTE_CHAR.
10906 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10907 string_char instead of string_char_with_unification.
10908
109092008-02-01 Dave Love <fx@gnu.org>
10910
10911 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10912
109132008-02-01 Kenichi Handa <handa@m17n.org>
10914
10915 * keymap.c (push_key_description): Pay attention to force_multibyte.
10916
10917 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10918
109192008-02-01 Dave Love <fx@gnu.org>
10920
10921 * charset.c (define_charset_internal): Rename `supprementary'.
10922
10923 * Makefile.in (lisp, shortlisp): Remove latin-N.
10924
109252008-02-01 Dave Love <fx@gnu.org>
10926
10927 * xfns.c (x_window, x_window): Use use_xim.
10928
10929 * xterm.c (use_xim): Initialize.
10930 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10931 (x_term_init): Maybe set use_xim.
10932
10933 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10934
109352008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * search.c (search_buffer): Fix case-fold-search of multibyte
10938 characters.
10939 (boyer_moore): Rename the last argument to char_high_bits.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * xdisp.c (display_string): Fix for the case of zero width glyph.
10944
10945 * xfns.c (x_set_font): Change the error message of the case that
10946 x_new_fontset returns Qt.
10947
10948 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10949 (Finternal_set_lisp_face_attribute): Use signal_error for the
10950 error of invalid fontset.
10951
10952 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10953 fontset, return Qt.
10954
109552008-02-01 Dave Love <fx@gnu.org>
10956
10957 * unexelf.c (unexec): Make .got handling not SGI-specific.
10958
10959 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10960
10961 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10962
10963 * keyboard.c (read_key_sequence): Fix type error.
10964
10965 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10966 type error.
10967
10968 * fontset.c (fontset_add): Return Lisp_Object.
10969
109702008-02-01 Dave Love <fx@gnu.org>
10971
10972 * charset.h (charset_ordered_list_tick): Declare extern.
10973
109742008-02-01 Kenichi Handa <handa@m17n.org>
10975
10976 The following changes (and some of 2008-02-01 changes of mine) are
10977 for handling syntax, category, and case conversion for unibyte
10978 characters by converting them to multibyte on the fly. With these
10979 changes, we don't have to setup syntax and case tables for unibyte
10980 characters in each language environment.
10981
10982 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10983 multibyte if necessary.
10984
10985 * bytecode.c (Fbyte_code): Likewise.
10986
10987 * character.h (LEADING_CODE_LATIN_1_MIN)
10988 (LEADING_CODE_LATIN_1_MAX): New macros.
10989 (unibyte_to_multibyte_table): Extern it.
10990 (unibyte_char_to_multibyte): New macro.
10991 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10992 (CHAR_LEADING_CODE): New macro.
10993 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10994
10995 * character.c (unibyte_to_multibyte_table): New variable.
10996 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10997 (multibyte_char_to_unibyte): If C is an eight-bit character,
10998 convert it to the corresponding byte value.
10999
11000 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11001 not 1, signals an error. Update the elements of
11002 unibyte_to_multibyte_table.
11003 (init_charset_once): Initialize unibyte_to_multibyte_table.
11004 (syms_of_charset): Define the charset `iso-8859-1'.
11005
11006 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11007 as is without converting it to unibyte. In a unibyte buffer,
11008 convert C to multibyte before checking the syntax.
11009
11010 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11011
11012 * minibuf.c (Fminibuffer_complete_word): Use the macro
11013 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11014
11015 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11016
11017 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11018 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11019 that is zero, convert an eight-bit char to multibyte.
11020 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11021 non-emacs case.
11022 (PATFETCH): Convert an eight-bit char to multibyte.
11023 (HANDLE_UNIBYTE_RANGE): New macro.
11024 (regex_compile): Setup the compiled pattern for multibyte chars
11025 even if the given regex string is unibyte. Use PATFETCH_RAW
11026 instead of PATFETCH in many places. To handle `charset'
11027 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11028 only for ASCII chars.
11029 (analyse_first) <exactn>: Simplify because the compiled pattern
11030 is multibyte.
11031 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11032 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11033 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11034 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11035 multibyte always 1.
11036 (re_search_2): In emacs, set the locale variable multibyte to 1,
11037 otherwise to 0. New local variable target_multibyte. Check it
11038 to decide the multibyteness of STR1 and STR2. If
11039 target_multibyte is zero, convert unibyte chars to multibyte
11040 before translating and checking fastmap.
11041 (TARGET_CHAR_AND_LENGTH): New macro.
11042 (re_match_2_internal): In emacs, set the locale variable multibyte
11043 to 1, otherwise to 0. New local variable target_multibyte. Check
11044 it to decide the multibyteness of STR1 and STR2. Use
11045 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11046 <charset, charset_not>: If multibyte is nonzero, check fastmap
11047 only for ASCII chars. Call bcmp_translate with
11048 target_multibyte, not with multibyte.
11049 <begline>: Declare the local variable C as `unsigned'.
11050 (bcmp_translate): Change the last arg name to target_multibyte.
11051
11052 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11053 the regexp pattern and the matching target. Set cp->buf.multibyte
11054 to the multibyteness of the regexp pattern. Set
11055 cp->but.target_multibyte to the multibyteness of the matching target.
11056 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11057 FETCH_STRING_CHAR_ADVANCE.
11058 (Freplace_match): Convert unibyte chars to multibyte.
11059
11060 * syntax.c (char_quoted, back_comment, scan_words)
11061 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11062 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11063 unibyte chars to multibyte.
11064 (skip_chars): Delete the arg syntaxp, and move the code for
11065 handling syntaxes to skip_syntaxes. Change callers.
11066 Fix the case that the multibyteness of STRING and the current
11067 buffer doesn't match.
11068 (skip_syntaxes): New function.
11069 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11070 SINGLE_BYTE_CHAR_P.
11071
110722008-02-01 Kenichi Handa <handa@m17n.org>
11073
11074 * xfaces.c (QCfontset): New variable.
11075 (LFACE_FONTSET): New macro.
11076 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11077 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11078 (Finternal_set_lisp_face_attribute)
11079 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11080 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11081 check also LFACE_FONTSET_INDEX.
11082 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11083 attrs[LFACE_FONT_INDEX].
11084 (syms_of_xfaces): Intern and staticpro QCfontset.
11085
11086 * dispextern.h (enum lface_attribute_index): New member
11087 LFACE_FONTSET_INDEX.
11088
11089 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11090
110912008-02-01 Kenichi Handa <handa@m17n.org>
11092
11093 * coding.c (coding_set_destination): Fix coding->destination for
11094 the case converting a region.
11095 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11096 (encode_coding_object): Fix coding->dst_pos and
11097 coding->dst_pos_byte for the case converting a region.
11098
11099 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11100
11101 * character.h (BYTE8_STRING): New macro.
11102
11103 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11104
111052008-02-01 Kenichi Handa <handa@m17n.org>
11106
11107 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11108 characters by octal form.
11109
11110 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11111
11112 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11113 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11114 _fetch_multibyte_char_len.
11115 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11116
11117 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11118
11119 * casefiddle.c (casify_object): Simplify. Handle the case that
11120 the case conversion change the byte length.
11121 (casify_region): Likewise.
11122
11123 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11124
11125 * character.c (_fetch_multibyte_char_len): Delete this variable.
11126 (syms_of_character): Setup Vprintable_chars.
11127
11128 * editfns.c (Fchar_equal): Fix for the unibyte case.
11129 (Finsert_byte): New function.
11130 (syms_of_editfns): Defsubr it.
11131
11132 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11133 of direct code 0x3ffff.
11134
11135 * search.c (Freplace_match): Fix for the unibyte case.
11136
111372008-02-01 Kenichi Handa <handa@m17n.org>
11138
11139 * lread.c (safe_to_load_p): Fix the logic.
11140
11141 * syntax.c (scan_words): Don't treat characters belonging to
11142 different scripts as constituting a word.
11143
11144 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11145
11146 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11147
11148 * emacs.c (main): In the case of --unibyte, instead of aborting on
11149 finding non-empty buffer, make it unibyte.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11154 to create a fontset.
11155
111562008-02-01 Dave Love <fx@gnu.org>
11157
11158 * character.c (Funibyte_char_to_multibyte): Doc fix.
11159
11160 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11161
111622008-02-01 Kenichi Handa <handa@m17n.org>
11163
11164 * fontset.c (fontset_add): Make the type `int'.
11165 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11166
11167 * character.c (unibyte_char_to_multibyte)
11168 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11169 charset_unibyte, not charset_primary.
11170
11171 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11172
11173 * charset.c (charset_unibyte): Rename from charset_primary.
11174 (Funibyte_charset): Rename from Fprimary_charset.
11175 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11176 (syms_of_charset): Adjust for the above changes.
11177
11178 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11179 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11180 it->multibyte_p is zero.
11181
11182 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11183 Delete extern.
11184
111852008-02-01 Kenichi Handa <handa@m17n.org>
11186
11187 * coding.c (Fdefine_coding_system_internal): Fix category setting
11188 for a coding system of type iso-2022.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11193
111942008-02-01 Kenichi Handa <handa@m17n.org>
11195
11196 * syntax.c (Vnext_word_boundary_function_table): New variable.
11197 (next-word-boundary-function-table): Declare it as a Lisp variable
11198 in syms_of_syntax.
11199 (scan_words): Call functions in Vnext_word_boundary_function_table
11200 if any.
11201
11202 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11203
11204 * fontset.c (fs_load_font): If fontp->charset is not negative,
11205 return fontp without setting its members.
11206
112072008-02-01 Dave Love <fx@gnu.org>
11208
11209 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11210
11211 * m/sparc.h (HAVE_ALLOCA): Delete.
11212
11213 * s/irix6-5.h: Don't include strings.h.
11214 (bcopy, bzero, bcmp): Don't undef.
11215
11216 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11217
11218 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11219 (TIOCSIGSEND): Don't test IRIX6.
11220 (bcopy, bzero, bcmp): Define conditionally.
11221
112222008-02-01 Kenichi Handa <handa@m17n.org>
11223
11224 * buffer.c (Qas, Qmake, Qto): New variables.
11225 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11226 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11227
11228 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11229 we are inserting a process output into a multibyte buffer.
11230
11231 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11232 multibyte_char_to_unibyte.
11233
11234 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11235 by the primary charset, make it eight-bit char.
11236 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11237
11238 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11239 (charset_8_bit__control, charset_8_bit_graphic)
11240 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11241 (define_charset_internal): New function.
11242 (syms_of_charset): Call define_charset_internal for pre-defined
11243 charsets.
11244
11245 * charset.h (charset_8_bit): Extern it.
11246
11247 * coding.c (make_conversion_work_buffer): Adjust for the change
11248 of Fset_buffer_multibyte.
11249 (encode_coding_raw_text): Increment p0 in the loop.
11250
11251 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11252
11253 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11254 for the change of Fset_buffer_multibyte.
11255
11256 * fns.c (Fstring_to_multibyte): New function.
11257 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11258
112592008-02-01 Dave Love <fx@gnu.org>
11260
11261 * xfns.c (x_put_x_image): Declare args.
11262
11263 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11264 (try_font_list): Declare an arg.
11265
11266 * xdisp.c (message2_nolog, set_message): Declare an arg.
11267
11268 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11269
11270 * syntax.c (scan_sexps_forward): Declare an arg.
11271
11272 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11273 Declare an arg.
11274
11275 * lisp.h (Fnew_fontset): Declare.
11276
11277 * keymap.c (push_key_description): Call CHARACTERP correctly.
11278
11279 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11280 (face_for_char): Delete unused vars.
11281 (Fset_fontset_font): Doc fix. Delete unused vars.
11282
11283 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11284
11285 * composite.c (update_compositions): Declare arg.
11286
11287 * cm.c (calccost, cmgoto): Declare args.
11288
11289 * charset.c: Remove `emacs' conditional. Doc fixes.
11290 (map_char_table_for_charset): Declare.
11291
11292 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11293
11294 * ccl.c: Remove `emacs' conditional.
11295
112962008-02-01 Kenichi Handa <handa@m17n.org>
11297
11298 The following changes are to allow specifying multiple font
11299 patterns for a character range (specified by script or charset).
11300
11301 * Makefile.in (abbrev.o): Depend on syntax.h.
11302 (xfaces.o): Depend on charset.h.
11303
11304 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11305 SINGLE_BYTE_CHAR_P.
11306
11307 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11308
11309 * character.h (Vchar_script_table): Extern it.
11310
11311 * character.c (Vscript_alist): Delete.
11312 (Vchar_script_table, Qchar_script_table): New variable.
11313 (syms_of_character): Declare Vchar_script_table as a lisp variable
11314 and initialize it.
11315
11316 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11317 have property char-table-extra-slots, make no extra slot.
11318
11319 * dispextern.h (struct face): Delete member `charset'.
11320 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11321 SINGLE_BYTE_CHAR_P.
11322 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11323 Add prototypes.
11324 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11325 (generate_ascii_font_name): Rename from generate_ascii_font.
11326
11327 * fontset.h (get_font_repertory_func): New prototype.
11328 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11329 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11330
11331 * fontset.c (Qprepend, Qappend): New variables.
11332 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11333 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11334 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11335 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11336 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11337 (load_font_get_repertory): New functions.
11338 (fontset_set): Delete.
11339 (fontset_face): New arg FACE. Return face ID, not face.
11340 Complete re-write to handle new fontset structure. Change caller.
11341 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11342 (face_for_char): Don't call lookup_face.
11343 (make_fontset_for_ascii_face): New arg FACE.
11344 (fs_load_font): New arg CHARSET_ID. Don't check
11345 Vfont_encoding_alist here.
11346 (find_font_encoding): New function.
11347 (list_fontsets): Use STRINGP, not ! NILP.
11348 (accumulate_script_ranges): New function.
11349 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11350 re-written to handle new fontset structure.
11351 (Ffontset_font): Return a copy of element.
11352 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11353 docstring of font-encoding-alist.
11354
11355 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11356 (Fset_fotset_font): Fix arguments to 5.
11357
11358 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11359
11360 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11361 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11362 (highlight_trailing_whitespace): Adjust for the change of
11363 lookup_named_face.
11364
11365 * xfaces.c: Include charset.h.
11366 (load_face_font): Delete argument C. Change caller.
11367 (generate_ascii_font_name): Rename from generate_ascii_font.
11368 (font_name_registry): New function.
11369 (cache_face): Store ascii faces before non-ascii faces in buckets.
11370 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11371 Lookup only ascii faces.
11372 (lookup_non_ascii_face): New function.
11373 (lookup_named_face): Delete argument C. Change caller.
11374 (lookup_derived_face): Delete argument C. Change caller.
11375 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11376 a string, just call font_list with it.
11377 (choose_face_font): Delete arguments FACE and C. New arg
11378 FONT_SPEC. Change caller.
11379 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11380 Change caller.
11381 (realize_non_ascii_face): New function.
11382 (realize_x_face): Call load_face_font here.
11383 (realize_tty_face): Delete argument C. Change caller.
11384 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11385 get a face ID.
11386 (dump_realized_face): Don't print charset of FACE.
11387
11388 * xfns.c (x_set_font): Always call x_new_fontset and
11389 store_frame_parameter.
11390 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11391 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11392
11393 * xterm.h (x_get_font_repertory): Extern it.
11394
11395 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11396 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11397 it->multibyte_p is zero.
11398 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11399 (x_new_fontset): If FONTSETNAME doesn't match any existing
11400 fontsets, create a new one.
11401 (x_get_font_repertory): New function.
11402
114032008-02-01 Kenichi Handa <handa@m17n.org>
11404
11405 * coding.c (Ffind_coding_systems_region_internal): Detect an
11406 ASCII only string correctly.
11407
11408 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11409 version is 0.
11410
114112008-02-01 Kenichi Handa <handa@m17n.org>
11412
11413 * lread.c: Include "coding.h".
11414 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11415 (load_each_byte, unread_char): New variables.
11416 (readchar_backlog): Delete.
11417 (readchar): Return a character unless load_each_byte is nonzero.
11418 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11419 cons. If unread_char is not -1, simply return it.
11420 (unreadchar): Handle the case that readcharfun is
11421 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11422 (read_multibyte): Delete.
11423 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11424 (read_emacs_mule_char): New functions.
11425 (Fload): Even if the file doesn't have the extension ".elc", if
11426 safe_to_load_p returns a positive version number, assume that the
11427 file contains bytecompiled code. If the version is less than 22,
11428 load the file while decoding multibyte sequences by emacs-mule.
11429 (readevalloop): Don't use readchar_backlog.
11430 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11431 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11432 (read_escape): Delete the arg BYTEREP.
11433 (read1): Set load_each_byte to 1 temporarily while handling
11434 #@NUMBER. Don't call read_multibyte.
11435 (read_vector): Call Fread with a cons. If readcharfun is
11436 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11437 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11438 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11439 and Qload_force_doc_strings.
11440
114412008-02-01 Kenichi Handa <handa@m17n.org>
11442
11443 * xdisp.c (face_before_or_after_it_pos): Call
11444 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11445
114462008-02-01 Kenichi Handa <handa@m17n.org>
11447
11448 * character.h (TRAILING_CODE_P): New macro.
11449 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11450 (string_char_with_unification): Fix prototype.
11451 (Vscript_alist): Extern it.
11452
11453 * character.c (Vscript_alist): New variable.
11454 (string_char_with_unification, str_as_unibyte)
11455 (string_escape_byte8): Add `const' to local variables.
11456 (syms_of_character): Declare script-alist as a Lisp variable.
11457
11458 * charset.h (Vcharset_ordered_list): Extern it.
11459 (charset_ordered_list_tick): Extern it.
11460 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11461 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11462 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11463 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11464 (Funify_charset): Adjust for the change of Funify_charset.
11465
11466 * charset.c (charset_ordered_list_tick): New variable.
11467 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11468 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11469 deunify intead of unify a charset.
11470 (string_xstring_p): Add `const' to local variables.
11471 (find_charsets_in_text): Add `const' to arguments and local variables.
11472 (encode_char): Adjust for the change of Funify_charset. Fix
11473 detecting of invalid code.
11474 (Fset_charset_priority): Increment charset_ordered_list_tick.
11475 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11476 and TO_CODE.
11477
11478 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11479 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11480 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11481 (decode_coding_ccl, consume_chars)
11482 (Ffind_coding_systems_region_internal)
11483 (Fcheck_coding_systems_region): Add `const' to local variables.
11484
11485 * print.c (print_object): Use octal form for printing the
11486 contents of a bool vector.
11487
114882008-02-01 Dave Love <fx@gnu.org>
11489
11490 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11491 <version == 20>: Refuse to load.
11492
114932008-02-01 Dave Love <fx@gnu.org>
11494
11495 * fns.c: Move coding.h.
11496 (Qcodeset, Qdays, Qmonths): New.
11497 (concat): Use CHARACTERP instead of INTEGERP.
11498 (Flocale_codeset): Delete.
11499 (Flanginfo): New function.
11500 (syms_of_fns): Change accordingly.
11501
11502 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11503
115042008-02-01 Dave Love <fx@gnu.org>
11505
11506 * casetab.c (init_casetab_once, init_casetab_once): Fix
11507 CHAR_TABLE_SET call.
11508
11509 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11510
11511 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11512
11513 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11514 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11515 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11516
11517 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11518
11519 * coding.c (ENCODE_DESIGNATION, decode_eol)
11520 (make_conversion_work_buffer, code_conversion_restore)
11521 (Fdefine_coding_system_internal): Convert Lisp types.
11522 (code_conversion_restore): Use EQ, not ==.
11523 (Fencode_coding_string): Fix code_convert_string call.
11524
11525 * coding.h (code_convert_region): Fix prototype.
11526
11527 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11528
11529 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11530 (Ffontset_info): Convert Lisp types.
11531
11532 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11533
11534 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11535
11536 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11537
11538 * chartab.c: Include "...h", not <...h> in some cases.
11539
11540 * callproc.c (Fcall_process): Remove unused variables.
11541
115422008-02-01 Dave Love <fx@gnu.org>
11543
11544 * coding.c (Fset_coding_system_priority): Allow null arg list.
11545
115462008-02-01 Dave Love <fx@gnu.org>
11547
11548 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11549 (Fself_insert_and_exit): Use CHARACTERP.
11550
11551 * callproc.c (Fcall_process): Remove unused vars.
11552
11553 * xterm.c (XTread_socket): Add extra dead keysyms.
11554
11555 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11556
11557 * dispextern.h: Remove prototypes for redraw_frame,
11558 redraw_garbaged_frames.
11559
11560 * cmds.c (Fself_insert_command): Use CHARACTERP.
11561
11562 * chartab.c (make_sub_char_table): Remove unused var.
11563 (Fset_char_table_default, Fmap_char_table): Doc fix.
11564
11565 * keymap.c (access_keymap): Remove generic char code.
11566 (push_key_description): Use CHARACTERP.
11567
115682008-02-01 Dave Love <fx@gnu.org>
11569
11570 * charset.c: Doc fixes.
11571 (Funify_charset): Extra checking.
11572
115732008-02-01 Dave Love <fx@gnu.org>
11574
11575 * lread.c: Remove some unused variables.
11576 (safe_to_load_p): If safe, return the magic number version byte.
11577 (Fload): Maybe use load-with-code-conversion.
11578
115792008-02-01 Kenichi Handa <handa@m17n.org>
11580
11581 * category.c (Fmodify_category_entry): Don't modify the contents
11582 of category_set for characters out of the range. Avoid
11583 unnecessary modification.
11584
11585 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11586 Vchar_unify_table. The default value of the table is now nil.
11587
11588 * character.c (syms_of_character): Setup Vchar_width_table for
11589 eight-bit-control and raw-byte chars.
11590
11591 * charset.h (enum define_charset_arg_index): Delete
11592 charset_arg_parents and add charset_arg_subset and
11593 charset_arg_superset.
11594 (enum charset_attr_index): Delete charset_parents and add
11595 charset_subset and charset_superset.
11596 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11597 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11598 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11599 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11600 (CHARSET_SUPERSET): New macros.
11601 (charset_work): Extern it.
11602 (ENCODE_CHAR): Use charset_work.
11603 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11604 (map_charset_chars): Extern it.
11605
11606 * charset.c (load_charset_map): Set the default value of encoder
11607 and deunifier char-tables to nil.
11608 (map_charset_chars): Change argument. Change callers. Use
11609 map_char_table_for_charset instead of map_char_table.
11610 (Fmap_charset_chars): New optional args from_code and to_code.
11611 (Fdefine_charset_internal): Adjust for the change of
11612 `define-charset' (:parents -> :subset or :superset).
11613 (charset_work): New variable.
11614 (encode_char, syms_of_charset): Adjust for the change of
11615 Fdefine_charset_internal.
11616 (Ffind_charset_string): Setup the vector `charsets' correctly.
11617
11618 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11619 the previous change.
11620 (char_table_ref_and_range): Adjust for the above change.
11621 (map_sub_char_table_for_charset): New function.
11622 (map_char_table_for_charset): New function.
11623
11624 * keymap.c (describe_vector): Handle a char-table directly here.
11625 (describe_char_table): Delete.
11626
11627 * lisp.h (map_charset_chars): Delete.
11628
116292008-02-01 Dave Love <fx@gnu.org>
11630
11631 * fns.c (count_combining): Comment out (unused).
11632 (Flocale_codeset): New.
11633 (syms_of_fns): Defsubr it.
11634
11635 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11636 (size_t): Remove.
11637
116382008-02-01 Dave Love <fx@gnu.org>
11639
11640 * Makefile.in (chartab.o): Depend on charset.h.
11641
116422008-02-01 Kenichi Handa <handa@m17n.org>
11643
11644 * character.c (syms_of_character): Set the default value of
11645 Vprintable_chars to Qnil.
11646
116472008-02-01 Dave Love <fx@gnu.org>
11648
11649 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11650
116512008-02-01 Kenichi Handa <handa@m17n.org>
11652
11653 * charset.c (load_charset_map): Handle the case that from < to
11654 correctly.
11655
11656 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11657 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11658 Pay attention to raw-8-bit chars.
11659
116602008-02-01 Kenichi Handa <handa@m17n.org>
11661
11662 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11663 It is not bytecompiled now.
11664
11665 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11666 (charset_jisx0208): New variables.
11667 (Fdefine_charset_internal): Setup them if appropriate.
11668 (init_charset_once): Initialize them to -1.
11669
11670 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11671 (charset_jisx0208): Extern them.
11672
11673 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11674 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11675 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11676 (setup_iso_safe_charsets): Fix arguments to Fassq.
11677 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11678 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11679 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11680 (encode_coding_iso_2022): Change the 1st arg to
11681 ENCODE_ISO_CHARACTER to a variable.
11682
116832008-02-01 Kenichi Handa <handa@m17n.org>
11684
11685 * charset.h (enum define_charset_arg_index): New enums
11686 charset_arg_min_code and charset_arg_max_code.
11687 (struct charset): New member char_index_offset.
11688
11689 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11690 Take charset->char_index_offset into account.
11691 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11692 args[charset_arg_max_code]. Setup charset.char_index_offset.
11693 (syms_of_charset): Fix args to Fdefine_charset_internal.
11694
116952008-02-01 Dave Love <fx@gnu.org>
11696
11697 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11698
116992008-02-01 Dave Love <fx@gnu.org>
11700
11701 * coding.c: Doc fixes.
11702 (Fcoding_system_aliases): Fix return value.
11703 (Qmac): Remove (duplicated) definition.
11704
117052008-02-01 Dave Love <fx@gnu.org>
11706
11707 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11708 functions.
11709
11710 * character.c (Fstring): Doc fix.
11711
11712 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11713
11714 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11715 ids.
11716 (font-encoding-alist): Doc fix.
11717
117182008-02-01 Dave Love <fx@gnu.org>
11719
11720 * term.c (costs_set): Declare static, non-initialized for pcc.
11721 (encode_terminal_code): Remove unused var.
11722
11723 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11724 for K&R.
11725
11726 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11727
11728 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11729 (suffixes): Move out of make_subsidiaries for K&R.
11730
11731 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11732
11733 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11734
117352008-02-01 Dave Love <fx@gnu.org>
11736
11737 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11738
11739 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11740
117412008-02-01 Yong Lu <lyongu@asia-infonet.com>
11742
11743 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11744
11745 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11746
117472008-02-01 Kenichi Handa <handa@m17n.org>
11748
11749 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11750 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11751
117522008-02-01 Kenichi Handa <handa@m17n.org>
11753
11754 * coding.c (decode_coding_charset): Adjust for the change of
11755 Fdefine_coding_system_internal.
11756 (Fdefine_coding_system_internal): For a coding system of
11757 `charset' type, store a list of charset IDs in
11758 `charset_attr_charset_valids' element of coding attributes.
11759
117602008-02-01 Kenichi Handa <handa@m17n.org>
11761
11762 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11763 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11764 caller. Handle 2-byte and 3-byte charsets correctly.
11765 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11766 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11767 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11768 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11769 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11770 sequence.
11771 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11772 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11773 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11774 and alt&rule composition.
11775 (decode_coding_iso_2022): Handle composition correctly.
11776 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11777
11778 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11779 re-defining a charset. If the charset has :emacs-mule-id, setup
11780 emacs_mule_bytes.
11781 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11782
117832008-02-01 Kenichi Handa <handa@m17n.org>
11784
11785 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11786 (encode_coding_big5, encode_coding_charset): If coding requires safe
11787 encoding, produce a character specified by
11788 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11789
117902008-02-01 Dave Love <fx@gnu.org>
11791
11792 * xterm.c (XSetIMValues): Declare.
11793
11794 * process.c: Conditionally include sys/wait.h, pty.h.
11795
11796 * print.c (print_object): Fix print format for 64-bit systems.
11797
11798 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11799
11800 * buffer.c (emacs_strerror): Declare.
11801
11802 * fontset.c (Fclear_face_cache): Declare.
11803 (accumulate_font_info): Comment-out (unused).
11804 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11805 variables.
11806
11807 * character.h (string_escape_byte8): Declare.
11808
11809 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11810 unused vars.
11811 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11812 (Fmap_charset_chars): Doc fix.
11813
11814 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11815 (Fset_coding_system_priority, Fset_coding_system_priority)
11816 (Fdefine_coding_system_internal): Doc fix.
11817
118182008-02-01 Dave Love <fx@gnu.org>
11819
11820 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11821
118222008-02-01 Kenichi Handa <handa@m17n.org>
11823
11824 * character.c (string_escape_byte8): Make multibyte string with
11825 correct size.
11826
11827 * charset.c (Fmake_char): Delete unnecessary code.
11828
118292008-02-01 Kenichi Handa <handa@m17n.org>
11830
11831 * xfns.c (x_encode_text): Allocate coding.destination here, and
11832 call encode_coding_object with dst_object Qnil.
11833
11834 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11835 multibyte form correctly.
11836
11837 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11838 against Vfont_encoding_alist.
11839
11840 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11841 handling of charset list.
11842 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11843 (decode_coding_object): Move point to coding->dst_pos before
11844 calling post-read-conversion function.
11845 (encode_coding_object): Give correct arguments to
11846 pre-write-conversion. Ignore the return value of
11847 pre-write-conversion function. Pay attention to the case that
11848 pre-write-conversion changes the current buffer. If dst_object is
11849 Qt, even if coding->src_bytes is zero, allocate at least one byte
11850 to coding->destination.
11851
11852 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11853
11854 * charset.c (Fmake_char): Make it more backward compatible.
11855 (Fmap_charset_chars): Fix docstring.
11856
118572008-02-01 Dave Love <fx@gnu.org>
11858
11859 * coding.c: Doc fixes.
11860 (Fdefine_coding_system_alias): Use names, not symbols, in
11861 coding-system-alist.
11862
118632008-02-01 Kenichi Handa <handa@m17n.org>
11864
11865 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11866 of calling free_realized_face.
11867
118682008-02-01 Yong Lu <lyongu@asia-infonet.com>
11869
11870 * charset.c (read_hex): Don't treat SPC as a comment starter.
11871 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11872 (Fdecode_char): Fix typo.
11873
118742008-02-01 Kenichi Handa <handa@m17n.org>
11875
11876 * charset.h (struct charset): New member `code_space_mask'.
11877
11878 * coding.c (coding_set_source): Delete the local variable beg_byte.
11879 (encode_coding_charset, Fdefine_coding_system_internal):
11880 Delete the local variable charset.
11881 (Fdefine_coding_system_internal): Setup
11882 attrs[coding_attr_charset_valids] correctly.
11883
11884 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11885 member to check if CODE is valid or not.
11886 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11887 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11888 is within the range of charset->min_code and carset->max_code.
11889
118902008-02-01 Dave Love <fx@gnu.org>
11891
11892 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11893
11894 * dispextern.h (generate_ascii_font): Fix return type.
11895
11896 * xfaces.c (generate_ascii_font): Fix arg declaration.
11897
11898 * coding.c (coding_inherit_eol_type)
11899 (Fset_terminal_coding_system_internal)
11900 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11901
119022008-02-01 Kenichi Handa <handa@m17n.org>
11903
11904 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11905 multiple charsets correctly.
11906
119072008-02-01 Kenichi Handa <handa@m17n.org>
11908
11909 * search.c (boyer_moore): Fix handling of multibyte character
11910 translation.
11911
11912 * xdisp.c (display_mode_element): When the variable `elt' is
11913 changed, update `this' and `lisp_string'.
11914
119152008-02-01 Kenichi Handa <handa@m17n.org>
11916
11917 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11918
11919 * callproc.c (Fcall_process): Be sure to give the current buffer
11920 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11921
11922 * charset.c (struct charset_map_entries): New struct.
11923 (load_charset_map): Rename from parse_charset_map. New args
11924 entries and n_entries. Change caller.
11925 (load_charset_map_from_file): Rename from load_charset_map.
11926 Change caller. New arg control_flag. Call load_charset_map at
11927 the tail.
11928 (load_charset_map_from_vector): New function.
11929 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11930 (encode_char): If the charset is compact, change a character index
11931 to a code point.
11932
11933 * coding.c (coding_alloc_by_making_gap): Check the case that the
11934 source and destination are the same correctly.
11935 (decode_coding_raw_text): Set coding->consumed_char and
11936 coding->consumed to 0.
11937 (produce_chars): If coding->chars_at_source is nonzero, update
11938 coding->consumed_char and coding->consumed before calling
11939 alloc_destination.
11940 (Fdefine_coding_system_alias): Register ALIAS in
11941 Vcoding_system_alist.
11942 (syms_of_coding): Define `no-conversion' coding system at the tail.
11943
11944 * fileio.c (Finsert_file_contents): Set coding_system instead of
11945 val. If the current buffer is multibyte, always call
11946 decode_coding_gap.
11947
11948 * xfaces.c (try_font_list): Give higher priority to fontset's
11949 family than face's family.
11950
119512008-02-01 Kenichi Handa <handa@m17n.org>
11952
11953 * callproc.c (Fcall_process): Be sure to give the current buffer
11954 to decode_coding_c_string.
11955
11956 * xfaces.c (try_font_list): Give a family specified in a fontset
11957 higher priority than a family specified in a face.
11958
119592008-02-01 Kenichi Handa <handa@m17n.org>
11960
11961 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11962 Fix arguments to insert_from_buffer.
11963
11964 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11965
119662008-02-01 Kenichi Handa <handa@m17n.org>
11967
11968 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11969 (decode_coding_gap): Set coding->dst_multibyte correctly.
11970
119712008-02-01 Kenichi Handa <handa@m17n.org>
11972
11973 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11974 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11975 (encode_coding_utf_16): Substitute coding->default_char for
11976 non-Unicode characters.
11977 (decode_coding): Don't call record_insert here.
11978 (setup_coding_system): Initialize `surrogate' of
11979 coding->spec.utf_16 to 0.
11980 (EMIT_ONE_BYTE): Fix for multibyte case.
11981
11982 * insdel.c (insert_from_gap): Call record_insert.
11983
119842008-02-01 Kenichi Handa <handa@m17n.org>
11985
11986 * casefiddle.c (casify_region): Fix multibyte case.
11987
11988 * character.c (c_string_width): Add return type `int'.
11989 (char_string_with_unification): Delete arg ADVANCED.
11990
11991 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11992 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11993 (CHAR_STRING_ADVANCE): Make it do-while statement.
11994
11995 * chartab.c (sub_char_table_set_range): Optimize for the case
11996 DEPTH == 3. Add workaround code for a GCC optimization bug.
11997
11998 * charset.c (parse_charset_map): Remove an unused variable.
11999
12000 * coding.c: Delete unused variables.
12001
12002 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12003 earlier. If inserted is zero and the coding system doesn't
12004 require flushing, don't call decode_coding_gap.
12005
12006 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 The following changes are for using Unicode as an internal
12011 character model, and use UTF-8 format for buffer/string
12012 representation.
12013
12014 * .gdbinit (xchartable): Adjust for the change of char table structure.
12015 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12016
12017 * Makefile.in (obj): Add character.o and chartab.o.
12018 (lisp, shortlisp): Remove utf-8.elc.
12019 (*.o): For many files, change dependency on charset.h to
12020 character.h, and add dependency on character.h.
12021 (character.o, chartab.o): New targets.
12022
12023 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12024 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12025 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12026 of "charset.h".
12027
12028 * dired.c, filelock.c: Include "character.h".
12029
12030 * alloc.c: Include "character.h" instead of "charset.h".
12031 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12032 (syms_of_alloc): Remove defsubr for Smake_char_table.
12033
12034 * buffer.c: Include "character.h" instead of "charset.h", don't
12035 include "coding.h".
12036 (Fset_buffer_multibyte): Adjust for UTF-8.
12037
12038 * buffer.h: EXFUN Fbuffer_live_p.
12039
12040 * callproc.c: Include "character.h" instead of "charset.h".
12041 (Fcall_process): Big change for the new code-conversion APIs.
12042
12043 * casetab.c: Include "character.h" instead of "charset.h".
12044 (set_canon, set_identity, shuffle): Adjust for the new
12045 map_char_table spec.
12046 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12047 accessing the char table structure.
12048
12049 * chartab.c: New file that implements char table.
12050
12051 * category.c: Include "character.h".
12052 (copy_category_entry): New function.
12053 (copy_category_table): Call map_char_table and copy_category_entry.
12054 (Fmake_category_table): Initialize all top-level slots.
12055 (char_category_set): New function.
12056 (modify_lower_category_set): Delete.
12057 (Fmodify_category_entry): Call char_table_ref_and_range.
12058
12059 * category.h (CATEGORY_SET): Just call char_category_set.
12060
12061 * ccl.c: Include "character.h".
12062 (Qccl, Qcclp): New variables.
12063 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12064 it's less than 256.
12065 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12066 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12067 and DST type.
12068 (ccl_driver): Change types of argument, adjust code accordingly.
12069 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12070 ccl_driver.
12071 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12072
12073 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12074 New members src_multibyte, dst_multibyte, consumed, and produced.
12075 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12076 (CODING_SPEC_CCL_PROGRAM): New macro.
12077 (ccl_driver): Update prototype.
12078 (Qccl, Qcclp, Fccl_program_p): Extern them.
12079 (CHECK_CCL_PROGRAM): New macro.
12080
12081 * character.c, character.h, chartab.c: New files.
12082
12083 * charset.c: Mostly re-written. Move character and multibyte sequence
12084 handling codes to character.c.
12085
12086 * charset.h: Mostly re-written. Move character and multibyte sequence
12087 handling codes to character.h.
12088
12089 * coding.c, coding.h: Mostly re-written.
12090
12091 * composite.c: Include "character.h" instead of "charset.h".
12092 (CHAR_WIDTH): Move to character.h.
12093 (HASH_KEY, HASH_VALUE): Delete.
12094
12095 * composite.h (enum composition_method): Change order of enumeration
12096 symbols.
12097
12098 * data.c: Include "character.h" instead of "charset.h".
12099 (Faref): Call CHAR_TABLE_REF for a char table.
12100 (Faset): Call CHAR_TABLE_SET for a char table.
12101
12102 * dispextern.h (free_realized_face, check_face_attribytes)
12103 (generate_ascii_font): Extern them.
12104 (free_realized_multibyte_face): Delete extern.
12105
12106 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12107 table structure.
12108
12109 * editfns.c: Include "character.h" instead of "charset.h".
12110 (Fchar_to_string): Always call CHAR_STRING.
12111
12112 * emacs.c (main): Call init_charset_once, init_charset,
12113 syms_of_chartab, and syms_of_character.
12114
12115 * fileio.c: Include "character.h" instead of "charset.h".
12116 (Finsert_file_contents): Big change for the new code-conversion API.
12117 (choose_write_coding_system, Fwrite_region): Likewise.
12118 (build_annotations_2): Delete.
12119 (e_write): Big change for the new code-conversion API.
12120
12121 * fns.c: Include "character.h" instead of "charset.h".
12122 (copy_sub_char_table): Move to chartab.c.
12123 (Fcopy_sequence): Call copy_char_table for a char table.
12124 (concat): Delete codes calling count_multibyte.
12125 (string_char_to_byte, string_byte_to_char): Adjust for the new
12126 multibyte form.
12127 (internal_equal): Adjust for the change of char table structure.
12128 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12129 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12130 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12131 (char_table_translate, optimize_sub_char_table)
12132 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12133 chartab.c.
12134 (char_table_ref_and_index): Delete.
12135 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12136 (Fmd5): Call preferred_coding_system instead of accessing
12137 Vcoding_category_list. Adjust for the new code-conversion API.
12138 (syms_of_fns): Move defsubr for char table related functions to
12139 chartab.c.
12140
12141 * fontset.c: Mostly re-written.
12142
12143 * fontset.h (struct font_info): Change type of the member encoding_type.
12144 (enum FONT_SPEC_INDEX): New enum.
12145 (fontset_font_pattern, fs_load_font): Update prototype.
12146 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12147
12148 * indent.c: Include "character.h" instead of "charset.h".
12149 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12150
12151 * insdel.c: Include "character.h" instead of "charset.h".
12152 (copy_text): Don't refer to Vnonascii_translation_table.
12153 (insert_from_gap): New function.
12154
12155 * keyboard.c: Include "character.h" instead of "charset.h".
12156 (command_loop_1): Never call direct_output_forward_char before
12157 a non-ASCII character.
12158 (read_char): If Vkeyboard_translate_table is a char table, always
12159 translate a character.
12160
12161 * keymap.c: Include "character.h".
12162 (store_in_keymap): Handle the case that IDX is a cons.
12163 (Fdefine_key): Handle the case that KEY is a cons and the car part
12164 is also a cons (range).
12165 (push_key_description): Adjust for the new character code.
12166 (describe_vector): Call describe_char_table for a char table.
12167 (describe_char_table): New function.
12168
12169 * keymap.h (describe_char_table): Extern it.
12170
12171 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12172 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12173 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12174 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12175 Delete.
12176 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12177 structure.
12178 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12179 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12180 (CHARTAB_SIZE_BITS_3): New macros.
12181 (chartab_size): Extern it.
12182 (struct Lisp_Char_Table): Re-design.
12183 (struct Lisp_Sub_Char_Table): New structure.
12184 (HASH_KEY, HASH_VALUE): Move from fns.c.
12185 (CHARACTERBITS): Define as 22.
12186 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12187 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12188 (GC_SUB_CHAR_TABLE_P): New macro.
12189 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12190 (code_convert_string_norecord): Deleted extern.
12191 (init_character_once, syms_of_character, init_charset)
12192 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12193
12194 * lread.c: Include "character.h".
12195 (read_multibyte): New arg NBYTES.
12196 (read_escape): Change the meaning of returned *BYTEREP.
12197 (to_multibyte): Delete.
12198 (read1): Adjust the handling of char table and string.
12199
12200 * print.c: Include "character.h" instead of "charset.h".
12201 (print_string): Convert 8-bit raw bytes to octal form by
12202 string_escape_byte8.
12203 (print_object): Adjust for the new multibyte form. Print 8-bit
12204 raw bytes always in octal form. Handle sub char table correctly.
12205
12206 * process.c: Include "character.h" instead of "charset.h".
12207 (read_process_output, send_process): Adjust for the new
12208 code-conversion API.
12209
12210 * puresize.h (BASE_PURESIZE): Increase.
12211
12212 * regex.c: Include "character.h" instead of "charset.h".
12213 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12214 (regex_compile): Accept a range whose starting and ending
12215 character have different leading bytes.
12216 (analyse_first): Adjust for the above change.
12217
12218 * search.c: Include "character.h" instead of "charset.h".
12219 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12220 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12221
12222 * syntax.c: Include "character.h" instead of "charset.h".
12223 (syntax_parent_lookup): Delete.
12224 (Fmodify_syntax_entry): Accept a cons as CHAR.
12225 (skip_chars): Adjust for the new multibyte form.
12226 (init_syntax_once): Call char_table_set_range instead of directly
12227 accessing the structure of a char table.
12228
12229 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12230 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12231 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12232 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12233
12234 * term.c: Include "buffer.h" and "character.h".
12235 (encode_terminal_code, write_glyphs): Adjust for the new
12236 code-conversion API.
12237 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12238
12239 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12240
12241 * xdisp.c: Include "character.h".
12242 (get_next_display_element): Adjust for the new multibyte form.
12243 (disp_char_vector): Adjust for the new char table structure.
12244 (decode_mode_spec_coding): Adjust for the new structure of
12245 coding system.
12246 (decode_mode_spec): Adjust for the new code-conversion API.
12247
12248 * xfaces.c: Include "character.h" instead of "charset.h".
12249 (load_face_font): Adjust for the change of choose_face_font and
12250 FS_LOAD_FONT.
12251 (generate_ascii_font): New function.
12252 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12253 (set_font_frame_param): Adjust for the change of choose_face_font.
12254 (free_realized_face): Make it public.
12255 (free_realized_faces_for_fontset): Rename from
12256 free_realized_multibyte_face. Free also faces realized for ASCII.
12257 (choose_face_font): Change arguments. Adjust for the change of
12258 fontset_font_pattern and FS_LOAD_FONT.
12259
12260 * xfns.c: Include "character.h".
12261 (x_encode_text): Adjust for the new code-conversion API.
12262
12263 * xselect.c: Don't include "charset.h".
12264 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12265
12266 * xterm.c: Include "character.h".
12267 (x_encode_char): New argument CHARSET. Change caller.
12268 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12269 Call ENCODE_CHAR instead of SPLIT_CHAR.
12270 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12271 CHAR_WIDTH instead of CHARSET_WIDTH.
12272 (XTread_socket): Adjust for the new code-conversion API.
12273 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12274 (x_load_font): Adjust for the change of struct font.
12275
122762008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12277
12278 * xfaces.c (face_at_buffer_position): Remove unused vars.
12279
122802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12281
12282 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12283 Fix overflow checking.
12284
122852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12286
12287 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12288 Cancel previous change.
12289
122902008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12291
12292 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12293 ccl->eight_bit_control. Fix check for buffer overflow.
12294 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12295 (ccl_driver): Initialize extra_bytes to 0.
12296
122972008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12298
12299 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12300 return it ORed with ctrl_modifier.
12301
123022008-01-29 Miles Bader <miles@gnu.org>
12303
12304 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12305
123062008-01-28 Jason Rumney <jasonr@gnu.org>
12307
12308 * w32.c (stat): Don't double check for networked drive.
12309
123102008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12311
12312 * window.c (run_window_configuration_change_hook): New function.
12313 Code extracted from set_window_buffer. Set the selected frame.
12314 (set_window_buffer): Use it.
12315 * window.h (run_window_configuration_change_hook): Declare.
12316 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12317
12318 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12319
123202008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12321
12322 * Makefile.in: Remove references to unused macros.
12323
123242008-01-26 Eli Zaretskii <eliz@gnu.org>
12325
12326 * w32.c (g_b_init_get_sid_sub_authority)
12327 (g_b_init_get_sid_sub_authority_count): New static variables.
12328 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12329 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12330 (init_user_info): Use them to retrieve uid and gid.
12331 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12332 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12333 st_uid and st_gid of the file.
12334
123352008-01-26 Jason Rumney <jasonr@gnu.org>
12336
12337 * w32.c (logon_network_drive): New function.
12338 (stat): Use it.
12339
123402008-01-26 Chong Yidong <cyd@stupidchicken.com>
12341
12342 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12343 invisible text covered with an ellipsis.
12344
123452008-01-25 Richard Stallman <rms@gnu.org>
12346
12347 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12348 jump back to beginning. Move some other initializations after that.
12349 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12350 New variables.
12351 (syms_of_xdisp): Init them.
12352
12353 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12354
12355 * buffer.c (reset_buffer_local_variables):
12356 Implement `permanent-local-hook'.
12357 (Qpermanent_local_hook): New variable.
12358 (syms_of_buffer): Init and staticpro it.
12359
123602008-01-25 Michael Albinus <michael.albinus@gmx.de>
12361
12362 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12363
123642008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12365
12366 * fns.c (Fclrhash): Return TABLE.
12367
123682008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12369
12370 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12371 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12372 is set even without positional changes.
12373 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12374
12375 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12376
123772008-01-23 Jason Rumney <jasonr@gnu.org>
12378
12379 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12380
12381 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12382 the unicode range available in MULE by locale-coding-system.
12383 Improve dbcs lead byte detection. Set event timestamp and modifiers
12384 earlier.
12385
123862008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12387
12388 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12389 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12390 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12391 when used on child processes.
12392
123932008-01-21 Michael Albinus <michael.albinus@gmx.de>
12394
12395 * dbusbind.c (Fdbus_method_return_internal): Rename from
12396 Fdbus_method_return.
12397 (Fdbus_unregister_object): Move to dbus.el.
12398 (Fdbus_call_method, Fdbus_method_return_internal)
12399 (Fdbus_send_signal): Improve debug messages.
12400
124012008-01-20 Martin Rudalics <rudalics@gmx.at>
12402
12403 * undo.c (undo_inhibit_record_point): New variable.
12404 (syms_of_undo): Initialize it.
12405 (record_point): Don't record point when undo_inhibit_record_point
12406 is set.
12407
124082008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12409
12410 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12411
12412 * xdisp.c (Qauto_hscroll_mode): New var.
12413 (syms_of_xdisp): Initialize it.
12414 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12415 window's buffer.
12416 (hscroll_windows): Don't check automatic_hscrolling_p here.
12417
12418 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12419 vscroll if we're setting window-buffer to the value it already has.
12420
124212008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12422
12423 * m/intel386.h: Remove references to XENIX.
12424
124252008-01-17 Andreas Schwab <schwab@suse.de>
12426
12427 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12428 instead of HAVE_X86_64_LIB64_DIR.
12429 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12430
124312008-01-17 Glenn Morris <rgm@gnu.org>
12432
12433 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12434 to HAVE_X86_64_LIB64_DIR.
12435
124362008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12437
12438 * s/irix3-3.h:
12439 * s/irix4-0.h:
12440 * s/386-ix.h:
12441 * s/domain.h:
12442 * s/hpux9-x11r4.h:
12443 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12444
12445 * sysdep.c: Remove code containing references to symbols defined
12446 by unsupported systems.
12447
124482008-01-16 Glenn Morris <rgm@gnu.org>
12449
12450 * coding.c (select-safe-coding-system-function): Doc fix.
12451
124522008-01-15 Glenn Morris <rgm@gnu.org>
12453
12454 * config.in: Revert 2008-01-13 change: this is a generated file.
12455
124562008-01-13 Tom Tromey <tromey@redhat.com>
12457
12458 * lisp.h: Fix typo.
12459
124602008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12461
12462 * m/sequent-ptx.h:
12463 * m/sequent.h:
12464 * s/ptx.h:
12465 * s/ptx4-2.h:
12466 * s/ptx4.h: Remove files for systems no longer supported.
12467
12468 * callproc.c (Fcall_process): Fix previous change.
12469
124702008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12471
12472 * unexsunos4.c: Remove file, system not supported anymore.
12473
12474 * m/mips.h:
12475 * m/intel386.h:
12476 * callproc.c:
12477 * config.in:
12478 * ecrt0.c:
12479 * emacs.c:
12480 * fileio.c:
12481 * frame.c:
12482 * getpagesize.h:
12483 * keyboard.c:
12484 * lread.c:
12485 * process.c:
12486 * puresize.h:
12487 * sysdep.c:
12488 * systty.h:
12489 * syswait.h:
12490 * unexec.c:
12491 * xdisp.c:
12492 * alloc.c: Remove code containing references to symbols defined by
12493 unsupported systems.
12494
124952008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12496
12497 * coding.c (detect_coding_mask): Fix previous change.
12498
124992008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12500
12501 * coding.c (detect_coding_iso2022): New arg
12502 latin_extra_code_state. Allow Latin extra codes only
12503 when *latin_extra_code_state is nonzero.
12504 (detect_coding_mask): If there is a NULL byte, detect the encoding
12505 as UTF-16 or binary. If Latin extra codes exist, detect the
12506 encoding as ISO-2022 only when there's no other proper encoding is
12507 found.
12508
125092008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12510
12511 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12512 #ifdef MAC_OS.
12513
125142008-01-08 Richard Stallman <rms@gnu.org>
12515
12516 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12517
125182008-01-06 Nick Roberts <nickrob@snap.net.nz>
12519
12520 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12521 menu bar in parentheses.
12522
125232008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12524
12525 * m/7300.h:
12526 * m/acorn.h:
12527 * m/alliant-2800.h:
12528 * m/alliant.h:
12529 * m/alliant1.h:
12530 * m/alliant4.h:
12531 * m/altos.h:
12532 * m/amdahl.h:
12533 * m/apollo.h:
12534 * m/att3b.h:
12535 * m/aviion-intel.h:
12536 * m/aviion.h:
12537 * m/celerity.h:
12538 * m/clipper.h:
12539 * m/cnvrgnt.h:
12540 * m/convex.h:
12541 * m/cydra5.h:
12542 * m/delta88k.h:
12543 * m/dpx2.h:
12544 * m/dual.h:
12545 * m/elxsi.h:
12546 * m/f301.h:
12547 * m/gould-np1.h:
12548 * m/gould.h:
12549 * m/i860.h:
12550 * m/ibmps2-aix.h:
12551 * m/ibmrt-aix.h:
12552 * m/ibmrt.h:
12553 * m/irist.h:
12554 * m/is386.h:
12555 * m/isi-ov.h:
12556 * m/mega68.h:
12557 * m/mg1.h:
12558 * m/news-r6.h:
12559 * m/news-risc.h:
12560 * m/news.h:
12561 * m/nh3000.h:
12562 * m/nh4000.h:
12563 * m/ns16000.h:
12564 * m/ns32000.h:
12565 * m/nu.h:
12566 * m/orion.h:
12567 * m/orion105.h:
12568 * m/paragon.h:
12569 * m/pfa50.h:
12570 * m/plexus.h:
12571 * m/pyramid.h:
12572 * m/pyrmips.h:
12573 * m/sh3el.h:
12574 * m/sps7.h:
12575 * m/sr2k.h:
12576 * m/stride.h:
12577 * m/sun1.h:
12578 * m/sun2.h:
12579 * m/sun3-68881.h:
12580 * m/sun3-fpa.h:
12581 * m/sun3-soft.h:
12582 * m/sun3.h:
12583 * m/sun386.h:
12584 * m/symmetry.h:
12585 * m/tad68k.h:
12586 * m/tahoe.h:
12587 * m/targon31.h:
12588 * m/tek4300.h:
12589 * m/tekxd88.h:
12590 * m/tower32.h:
12591 * m/tower32v3.h:
12592 * m/ustation.h:
12593 * m/wicat.h:
12594 * m/xps100.h:
12595 * s/cxux.h:
12596 * s/cxux7.h:
12597 * s/dgux.h:
12598 * s/dgux4.h:
12599 * s/dgux5-4-3.h:
12600 * s/dgux5-4r2.h:
12601 * s/esix.h:
12602 * s/esix5r4.h:
12603 * s/hiuxmpp.h:
12604 * s/hiuxwe2.h:
12605 * s/iris3-5.h:
12606 * s/iris3-6.h:
12607 * s/isc2-2.h:
12608 * s/isc3-0.h:
12609 * s/isc4-0.h:
12610 * s/isc4-1.h:
12611 * s/newsos5.h:
12612 * s/newsos6.h:
12613 * s/osf1.h:
12614 * s/osf5-0.h:
12615 * s/riscix1-1.h:
12616 * s/riscix12.h:
12617 * s/sco4.h:
12618 * s/sco5.h:
12619 * s/sunos4-0.h:
12620 * s/sunos4-1.h:
12621 * s/sunos413.h:
12622 * s/sunos4shr.h:
12623 * s/umax.h:
12624 * s/unipl5-2.h:
12625 * s/xenix.h:
12626 * cxux-crt0.s:
12627 * unexapollo.c:
12628 * unexconvex.c:
12629 * unexenix.c:
12630 * unexsni.c: Remove files for systems no longer supported.
12631
12632 * m/intel386.h: Remove references to unsupported systems.
12633
12634 * w32.c (get_emacs_configuration): Remove reference to i860.
12635
12636 * sysdep.c: Remove dead code.
12637
126382008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12639
12640 * s/rtu.h:
12641 * m/masscomp.h: Remove files. Platform is obsolete.
12642
126432008-01-04 Michael Albinus <michael.albinus@gmx.de>
12644
12645 * dbusbind.c (Fdbus_method_return): New function.
12646 (xd_read_message): Add the serial number to the event.
12647 (Fdbus_register_method): Activate the function.
12648
126492008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12650
12651 * keyboard.c (read_key_sequence): Fix typo.
12652
126532008-01-03 Michael Albinus <michael.albinus@gmx.de>
12654
12655 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12656 (xd_signature, xd_append_arg): Handle element type detection for
12657 empty arrays.
12658 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12659 SDATA () calls; this must be solved more general.
12660 (Fdbus_register_signal): Use SBYTES instead of strlen.
12661
126622008-01-03 Magnus Henoch <magnus@zemdatav>
12663
12664 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12665 unsigned int for byte values (necessary for big-endian platform).
12666 (Fdbus_call_method): Handle the case of no returned arguments.
12667
126682007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12669
12670 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12671
126722007-12-31 Magnus Henoch <mange@freemail.hu>
12673
12674 * dbusbind.c (xd_signature): Signature of variant is just "v".
12675
126762007-12-30 Michael Albinus <michael.albinus@gmx.de>
12677
12678 * dbusbind.c: Fix several errors and compiler warnings.
12679 Reported by Tom Tromey <tromey@redhat.com>.
12680 (XD_ERROR, XD_DEBUG_MESSAGE)
12681 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12682 (xd_append_arg): Part for basic D-Bus types rewritten.
12683 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12684 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12685 appropriate.
12686 (xd_read_message): Return Qnil. Don't signal an error; it is not
12687 useful during event reading.
12688 (Fdbus_register_signal): Signal an error if the check for
12689 FUNCTIONP fails.
12690 (Fdbus_register_method): New function. The implementation is not
12691 complete, the call of the function signals an error therefore.
12692 (Fdbus_unregister_object): New function, renamed from
12693 Fdbus_unregister_signal. The initial check signals an error, if
12694 the object is not well formed.
12695
126962007-12-30 Richard Stallman <rms@gnu.org>
12697
12698 * textprop.c (get_char_property_and_overlay):
12699 Signal error if POSITION is out of range in a buffer.
12700
127012007-12-29 Martin Rudalics <rudalics@gmx.at>
12702
12703 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12704 because the original parameters are in pure storage now.
12705
127062007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12707
12708 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12709
127102007-12-22 Eli Zaretskii <eliz@gnu.org>
12711
12712 * callint.c (syms_of_callint) <command-history>: Add reference to
12713 history-length in the doc string.
12714
127152007-12-17 Jason Rumney <jasonr@gnu.org>
12716
12717 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12718 before passing as wParam.
12719
127202007-12-22 Michael Albinus <michael.albinus@gmx.de>
12721
12722 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12723 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12724 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12725 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12726 as number.
12727 (Fdbus_call_method): Fix docstring.
12728
127292007-12-21 Michael Albinus <michael.albinus@gmx.de>
12730
12731 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12732 New macros.
12733 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12734 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12735 Simplify.
12736 (xd_signature): New function.
12737 (xd_append_arg): Compute also signatures. Major rewrite.
12738 (xd_retrieve_arg): Make debug messages friendly.
12739 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12740 Check for signatures of arguments.
12741
127422007-12-19 Michael Albinus <michael.albinus@gmx.de>
12743
12744 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12745 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12746 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12747 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12748 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12749 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12750 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12751 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12752 (xd_retrieve_value): Remove. Functionality included in ...
12753 (xd_append_arg): New function.
12754 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12755
127562007-12-16 Michael Albinus <michael.albinus@gmx.de>
12757
12758 * dbusbind.c (top): Include <stdio.h>.
12759 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12760 dbus_message_new_method_call and dbus_message_new_signal.
12761 (Fdbus_register_signal): Rename unique_name to uname.
12762 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12763 non-existing unique name. Fix typos in matching rule. Return an
12764 object which is useful in Fdbus_unregister_signal.
12765 (Fdbus_unregister_signal): Reimplementation, in order to remove
12766 only the corresponding entry.
12767 (Vdbus_registered_functions_table): Change the order of entries.
12768 Apply these changes in xd_read_message and Fdbus_register_signal.
12769
127702007-12-16 Andreas Schwab <schwab@suse.de>
12771
12772 * fileio.c (Finsert_file_contents): Fix overflow check to not
12773 depend on undefined integer overflow.
12774
127752007-12-14 Jason Rumney <jasonr@gnu.org>
12776
12777 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12778 for characters above 127.
12779
127802007-12-13 Jason Rumney <jasonr@gnu.org>
12781
12782 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12783 before dereferencing array.
12784 (lookup_vk_code): Remove zero comparison.
12785
127862007-12-14 Michael Albinus <michael.albinus@gmx.de>
12787
12788 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12789 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12790 Use `unsigned int' instead of `uint'.
12791 (xd_read_message, Fdbus_register_signal): Split expressions into
12792 multiple lines before operators "&&" and "||", according to the
12793 GNU Coding Standards.
12794
127952007-12-14 Eli Zaretskii <eliz@gnu.org>
12796
12797 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12798
127992007-12-12 Juri Linkov <juri@jurta.org>
12800
12801 * buffer.c (Frename_buffer): In interactive spec replace
12802 `read-buffer' with `read-string' that uses `buffer-name-history'
12803 as history, and the current buffer's name as default.
12804
128052007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12806
12807 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12808 manipulating the backtrace manually.
12809 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12810 (struct backtrace, backtrace_list): Remove.
12811 (command_loop_1): Remove dead var `no_direct'.
12812
12813 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12814 preserve non-built-in buffer-local variables.
12815 (Fkill_all_local_variables): Don't re-create&re-set permanent
12816 buffer-local variables.
12817
128182007-12-09 Juri Linkov <juri@jurta.org>
12819
12820 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12821 Lisp code that uses `read-buffer' with current buffer as default.
12822
128232007-12-08 Michael Albinus <michael.albinus@gmx.de>
12824
12825 * dbusbind.c (xd_read_message): Generate an event for every
12826 registered handler. There might be several handlers registered
12827 for the same signal.
12828 (Fdbus_register_signal): Don't overwrite a registration for the
12829 same signal. Add a new registration if handlers are different.
12830 (Vdbus_registered_functions_table): Rework doc string.
12831
128322007-12-07 Michael Albinus <michael.albinus@gmx.de>
12833
12834 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12835 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12836 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12837 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12838 Unify argument lists.
12839 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12840 arguments and hash table keys. Use unique name for service.
12841 (Fdbus_unregister_signal): Remove checks.
12842 (Vdbus_registered_functions_table): Fix doc string.
12843
128442007-12-05 Magnus Henoch <mange@freemail.hu>
12845
12846 * process.c (make_process): Initialize pty_flag to 0.
12847
128482007-12-05 Jason Rumney <jasonr@gnu.org>
12849
12850 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12851 specified XBMs.
12852
128532007-12-05 Richard Stallman <rms@gnu.org>
12854
12855 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12856
128572007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12858
12859 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12860 New variable.
12861 (mac_try_close_socket) [MAC_OSX]: New function.
12862 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12863 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12864
12865 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12866 Use mac_try_close_socket.
12867
128682007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12869
12870 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12871 reloc_base.
12872 (copy_dysymtab): Compute relocation base here.
12873 (rebase_reloc_address) [__ppc64__]: New function.
12874 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12875 changed.
12876
128772007-12-05 Jason Rumney <jasonr@gnu.org>
12878
12879 * w32proc.c (sys_spawnve): Quote args with wildcards.
12880
128812007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12882
12883 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12884 __objc_* sections.
12885 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12886
128872007-12-05 Michael Albinus <michael.albinus@gmx.de>
12888
12889 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12890 Move check for Vdbus_registered_functions_table to
12891 xd_read_queued_messages.
12892 (xd_read_queued_messages): Protect xd_read_message calls by
12893 internal_condition_case_1.
12894
128952007-12-04 Michael Albinus <michael.albinus@gmx.de>
12896
12897 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12898 Qdbus_system_bus and Qdbus_session_bus, respectively.
12899 (Vdbus_intern_symbols): Remove.
12900 (Vdbus_registered_functions_table): New hash table.
12901 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12902 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12903 Rewrite in order to manage registered functions by hash table
12904 Vdbus_registered_functions_table.
12905
129062007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12907
12908 * xterm.c: Update URL to Window Manager Specification in comment.
12909
129102007-12-02 Michael Albinus <michael.albinus@gmx.de>
12911
12912 * config.in (HAVE_DBUS): Add.
12913
12914 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12915 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12916 (obj): Add $(DBUS_OBJ).
12917 (LIBES): Add $(DBUS_LIBS).
12918 (dbusbind.o): New target.
12919
12920 * dbusbind.c: New file.
12921
12922 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12923
12924 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12925 (Qdbus_event): New Lisp symbol.
12926 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12927 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12928 (keys_of_keyboard ): Define dbus-event.
12929
12930 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12931
129322007-12-01 Richard Stallman <rms@gnu.org>
12933
12934 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12935
129362007-11-30 Jason Rumney <jasonr@gnu.org>
12937
12938 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12939 (w32con_reset_terminal_modes): Clear screen buffer.
12940 (w32_face_attributes): Don't use color indexes that are out of range.
12941 Only reverse the default colors.
12942
12943 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12944 WINDOWSNT.
12945
12946 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12947
129482007-11-29 Jason Rumney <jasonr@gnu.org>
12949
12950 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12951 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12952 if the terminal colors are initialized.
12953 (unspecified_fg, unspecified_bg): Remove unused declarations.
12954
129552007-11-29 Andreas Schwab <schwab@suse.de>
12956
12957 * keyboard.c (apply_modifiers): Fix typo.
12958
129592007-11-29 Richard Stallman <rms@gnu.org>
12960
12961 * keymap.c (Fcurrent_local_map): Doc fix.
12962
129632007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12964
12965 * s/gnu-kfreebsd.h: New file.
12966
129672007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12968
12969 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12970 Don't cast redundantly.
12971
12972 * keyboard.c (KEY_TO_CHAR): New macro.
12973 (parse_modifiers, apply_modifiers): Accept integer arguments.
12974 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12975 for chars and symbol keys.
12976 After doing such remapping, apply function-key-map again.
12977
129782007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12979
12980 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12981 compiled anymore.
12982
129832007-11-26 Andreas Schwab <schwab@suse.de>
12984
12985 * process.c (list_processes_1): Fix indentation level of the
12986 command column.
12987
129882007-11-23 Andreas Schwab <schwab@suse.de>
12989
12990 * editfns.c (Fformat): Handle %c specially since it requires the
12991 argument to be of type int.
12992
129932007-11-23 Markus Triska <markus.triska@gmx.at>
12994
12995 * emacs.c (main): Call init_editfns before init_process, since
12996 init_process sets Vprocess_connection_type depending on OS release.
12997
129982007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12999
13000 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13001 (find_symbol_value): Use do_symval_forwarding.
13002
13003 * data.c (set_internal): Set the value in the `cons-cell' (for
13004 Buffer_Local_values) not only for frame-local variables.
13005
130062007-11-22 Andreas Schwab <schwab@suse.de>
13007
13008 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13009 values to sprintf.
13010 * keymap.c (Fsingle_key_description): Likewise.
13011 * print.c (print_object): Likewise.
13012
130132007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13014
13015 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13016 file for image is nil.
13017
130182007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13019
13020 * term.c: Include stdarg.h.
13021 (fatal): Implement using varargs.
13022 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13023
130242007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13025
13026 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13027 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13028 Update call to buffer_slot_type_mismatch.
13029 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13030 (buffer_slot_type_mismatch): Update.
13031 * buffer.c (buffer_local_types): Remove.
13032 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13033 (defvar_per_buffer): Set the type in the buffer_objfwd.
13034
130352007-11-21 Jason Rumney <jasonr@gnu.org>
13036
13037 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13038 CreateFileMapping returns NULL on failure.
13039
130402007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13041
13042 * search.c (Fset_match_data): Remove the `evaporate' feature.
13043 (unwind_set_match_data): Don't use the `evaporate' feature.
13044
130452007-11-21 Jason Rumney <jasonr@gnu.org>
13046
13047 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13048
13049 * w32console.c (w32con_write_glyphs): Remove unused variables.
13050
130512007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13052
13053 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13054
13055 * s/darwin.h (MULTI_KBOARD): Remove.
13056
13057 * macfns.c (x_create_tip_frame, Fx_create_frame)
13058 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13059
130602007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13061
13062 * buffer.c (Fbuffer_local_value): Remove redundant test.
13063 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13064 than in `current-buffer' to match the comment.
13065 Do the swap using swap_in_global_binding.
13066
13067 * data.c (store_symval_forwarding, set_internal):
13068 * eval.c (specbind): Remove dead code.
13069
13070 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13071 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13072 Since we do not want to see internal Lisp_*fwd objects here.
13073
130742007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13075
13076 * sysdep.c (init_system_name): Use getaddrinfo if available.
13077
13078 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13079 (x_scroll_bar_note_movement): start, end, with, height in struct
13080 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13081
130822007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13083
13084 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13085
130862007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13087
13088 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13089 This undoes Richard's change of 14-Oct-2002.
13090
13091 * alloc.c (allocate_other_vector):
13092 * lisp.h (allocate_other_vector): Remove.
13093
13094 * window.c (struct save_window_data): Move non-lisp data to the end
13095 and make it `int' rather than Lisp_Object.
13096 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13097 Done wrap/unwrap integer values.
13098 (Fset_window_configuration, compare_window_configurations):
13099 Update use of fields to their new types.
13100
13101 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13102 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13103 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13104 (SET_SCROLL_BAR_X_WINDOW): Remove.
13105 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13106 Access the new x_window field directly.
13107 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13108 Don't wrap/unwrap integers into Lisp_Objects.
13109 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13110 (x_scroll_bar_report_motion):
13111 Don't wrap/unwrap integers into Lisp_Objects.
13112 (x_term_init): Use SDATA.
13113 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13114 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13115 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13116 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13117 * xfns.c (x_set_background_color):
13118 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13119 Access the new x_window field directly.
13120
13121 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13122 (allocate_pseudovector): Make non-static.
13123
13124 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13125 (allocate_pseudovector): Declare.
13126 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13127
131282007-11-15 Andreas Schwab <schwab@suse.de>
13129
13130 * editfns.c (Fformat): Correctly format EMACS_INT values.
13131 Also take precision into account when formatting an integer.
13132
13133 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13134
131352007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13136
13137 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13138 (syms_of_keyboard): Defsubr it.
13139
13140 * data.c (swap_in_global_binding): Fix longstanding bug where
13141 store_symval_forwarding was not called with the right second argument,
13142 thus causing objfwd-ing from being dropped.
13143
131442007-11-14 Juanma Barranquero <lekktu@gmail.com>
13145
13146 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13147 (Fx_display_pixel_height, Fx_display_planes)
13148 (Fx_display_color_cells, Fx_server_max_request_size)
13149 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13150 (Fx_display_visual_class, Fx_display_save_under):
13151 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13152 (Fx_display_pixel_height, Fx_display_planes)
13153 (Fx_display_color_cells, Fx_server_max_request_size)
13154 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13155 (Fx_display_mm_height, Fx_display_mm_width)
13156 (Fx_display_backing_store, Fx_display_visual_class)
13157 (Fw32_select_font, Fx_display_save_under):
13158 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13159 (Fx_display_pixel_height, Fx_display_planes)
13160 (Fx_display_color_cells, Fx_server_max_request_size)
13161 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13162 (Fx_display_save_under): Fix typos in docstrings.
13163
131642007-11-14 Juanma Barranquero <lekktu@gmail.com>
13165
13166 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13167 corresponding to deleted entries; they are an implementation detail.
13168 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13169 Remove variables.
13170 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13171 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13172 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13173 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13174 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13175 (Fw32_define_rgb_color, Fw32_load_color_file)
13176 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13177 Fix typos in docstrings.
13178 (Fx_server_version): Reflow docstring.
13179 (Fw32_shell_execute): Doc fixes.
13180
131812007-11-13 Juanma Barranquero <lekktu@gmail.com>
13182
13183 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13184 if w32_parse_hot_key returned nil.
13185
131862007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13187
13188 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13189
131902007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13191
aac0c6e3
MR
13192 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13193
13194 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13195
13196 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13197 Remove W32_SCROLL_BAR_CLICK_EVENT.
13198
13199 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13200 Add MULTIMEDIA_KEY_EVENT.
13201
13202 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13203 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13204 (make_lispy_event) [WINDOWSNT]: Use it to translate
13205 MULTIMEDIA_KEY_EVENT.
13206
13207 * w32term.h (WM_APPCOMMAND): Define if not already.
13208 (GET_APPCOMMAND_LPARAM): Likewise.
13209
13210 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13211 WM_APPCOMMAND.
13212
13213 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13214 (syms_of_w32fns): Export and initialize it.
13215 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13216
132172007-11-09 Chong Yidong <cyd@stupidchicken.com>
13218
13219 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13220 twice.
13221
13222 * xdisp.c (handle_face_prop): Fix last change.
13223
132242007-11-09 Richard Stallman <rms@gnu.org>
13225
13226 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13227 not just for after-strings and before-strings.
13228 Call face_for_overlay_string and pass the overlay to it.
13229 (handle_display_prop): Determine whether property came from an overlay.
13230 Pass OVERLAY arg to handle_single_display_spec.
13231 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13232 (load_overlay_strings): Fill in it->string_overlays.
13233 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13234
13235 * xfaces.c (face_for_overlay_string): Function renamed from
13236 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13237
13238 * dispextern.h (struct it): New elt string_overlays.
13239 New elt from_overlay, also in stack.
13240 Rearrange a few elements.
13241 (face_for_overlay_string): Decl renamed from
13242 face_at_buffer_position_no_overlays, and add argument.
13243
132442007-11-09 Richard Stallman <rms@gnu.org>
13245
13246 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13247 to get the base face for an overlay string.
13248
13249 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13250
13251 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13252
13253 * xdisp.c (handle_stop): Move some code out of loop.
13254
132552007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13256
13257 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13258 Fix conversion from Lisp object to ATSUFontID.
13259
132602007-11-09 Jason Rumney <jasonr@gnu.org>
13261
13262 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13263
132642007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13265
13266 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13267 Don't assume regions are aligned to page boundary.
13268 (print_load_command_name): Add LC_UUID if defined.
13269
132702007-11-09 Richard Stallman <rms@gnu.org>
13271
13272 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13273
132742007-11-07 Jason Rumney <jasonr@gnu.org>
13275
13276 * s/windows95.h: Remove.
13277
132782007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13279
13280 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13281 abort with a message on unhandled store_type values.
13282
132832007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13284
13285 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13286 Remove HAVE_X11R5 and HAVE_X11R4.
13287
132882007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13289
13290 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13291
132922007-11-01 Johan Bockgård <bojohan@gnu.org>
13293
13294 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13295 Don't set s->stippled_p here, since it has already been set by
13296 x_set_glyph_string_gc from x_draw_glyph_string.
13297
132982007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13299
13300 * sunfns.c: Remove file.
13301
13302 * m/sun386.h:
13303 * m/sun2.h:
13304 * m/sparc.h: Remove Sun windows code.
13305
133062007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13307
13308 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13309 (init_keyboard): Set current_kboard's window-system to nil.
13310 (tty_read_avail_input): Typo.
13311 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13312
133132007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13314
13315 * s/usg5-4.h:
13316 * s/usg5-3.h:
13317 * s/ptx.h:
13318 * m/is386.h:
13319 * m/ibmps2-aix.h:
13320 * Makefile.in: Remove all mentions of X10.
13321
13322 * dispnew.c (syms_of_display): Don't mention version 10.
13323
133242007-10-28 Juanma Barranquero <lekktu@gmail.com>
13325
13326 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13327 ($(BLD)/abbrev.$(O)): Remove.
13328
133292007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13330
13331 Rewrite abbrev.c in Elisp.
13332 * image.c (Qcount): Don't declare as extern.
13333 (syms_of_image): Initialize and staticpro `Qcount'.
13334 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13335 * emacs.c (main): Don't call syms_of_abbrev.
13336 * Makefile.in (obj): Remove abbrev.o.
13337 (abbrev.o): Remove.
13338 * abbrev.c: Remove.
13339
133402007-10-26 Martin Rudalics <rudalics@gmx.at>
13341
13342 * window.c (window_min_size_2): Don't count header-line.
13343
133442007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13345
13346 * frame.h (struct frame): Move all bit fields after the first bit
13347 field to take advantage of the available space. Group all the
13348 chars together to reduce wasted space due to padding.
13349
133502007-10-26 Juanma Barranquero <lekktu@gmail.com>
13351
13352 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13353
13354 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13355 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13356 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13357 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13358 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13359 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13360 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13361 (last_marked, mark_object_loop_halt): Make static.
13362
13363 * frame.c (syms_of_frame) <delete-frame-functions>:
13364 Fix typo in docstring.
13365
133662007-10-25 Juanma Barranquero <lekktu@gmail.com>
13367
13368 * w32.c (init_environment): Fix tiny memory leak.
13369 (w32_get_resource): Remove unused variable `ok'.
13370
133712007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13372
13373 Make `window-system' into a keyboard-local variable (rather than
13374 frame-local as done originally by multi-tty).
13375
13376 * keyboard.h (struct kboard): Add Vwindow_system.
13377 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13378 (mark_kboards): Mark Vwindow_system.
13379
13380 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13381 (init_display): Don't set the obsolete `window-system' frame-param.
13382
13383 * xterm.c (x_term_init):
13384 * w32term.c (w32_create_terminal):
13385 * term.c (init_tty): Set Vwindow_system.
13386 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13387 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13388
13389 * xfns.c (Fx_create_frame, x_create_tip_frame):
13390 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13391 * macfns.c (Fx_create_frame):
13392 Don't set the obsolete `window-system' frame-param.
13393
13394 * frame.h (Qwindow_system): Remove.
13395 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13396 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13397
133982007-10-24 Richard Stallman <rms@gnu.org>
13399
13400 * frame.c (x_figure_window_size): For fullscreen case,
13401 set USPosition | PPosition without clobbering rest of window_prompting.
13402
13403 * keyboard.c (Fcurrent_idle_time): Doc fix.
13404
13405 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13406
134072007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13408
13409 * process.c (unwind_request_sigio): Only define if __ultrix__.
13410
13411 * callproc.c (child_setup): Remove spurious *.
13412
13413 * lisp.h (Fget_text_property): Declare.
13414 (have_menus_p): Declare it here rather than in sys-dep header files.
13415 * macterm.h (have_menus_p):
13416 * msdos.h (have_menus_p):
13417 * xterm.h (have_menus_p): Remove.
13418
13419 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13420 (Fmake_variable_frame_local): Just check the variable's const-ness
13421 rather than checking nil or t.
13422
134232007-10-22 Jason Rumney <jasonr@gnu.org>
13424
13425 * w32fns.c: Include math.h.
13426 (w32_abort): Declaration moved to nt/config.nt.
13427
13428 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13429 (abort): Redefinition moved to nt/config.nt.
13430
13431 * m/windowsnt.h: Remove.
13432
134332007-10-22 Juanma Barranquero <lekktu@gmail.com>
13434
13435 * emacs.c (Fdump_emacs): Fix typo in message.
13436 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13437 <installation-directory>: Reflow docstring.
13438
134392007-10-22 Juri Linkov <juri@jurta.org>
13440
13441 * minibuf.c: Allow minibuffer default to be a list of default values.
13442 With empty input use the first element of this list as returned default.
13443 (string_to_object)
13444 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13445 (read_minibuf): If defalt is cons, set histstring to its car.
13446 (Fread_string): If default_value is cons, set val to its car.
13447 (Fread_buffer): If def is cons, use its car.
13448 (Fcompleting_read): If defalt is cons, set val to its car.
13449
134502007-10-21 Michael Albinus <michael.albinus@gmx.de>
13451
13452 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13453
134542007-10-20 Juanma Barranquero <lekktu@gmail.com>
13455
13456 * doc.c (Fdocumentation): Check for advice in all cases.
13457
134582007-10-19 Chong Yidong <cyd@stupidchicken.com>
13459
13460 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13461
134622007-10-19 Richard Stallman <rms@gnu.org>
13463
13464 * doc.c (Fdocumentation): Check for and handle an advised function.
13465
134662007-10-19 Juanma Barranquero <lekktu@gmail.com>
13467
13468 * process.c (Fset_process_filter): Doc fix.
13469
134702007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13471
13472 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13473 which caused key-translation-map to applied repeatedly (thus breaking
13474 double-mode).
13475
134762007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13477
13478 * xselect.c (x_own_selection, x_handle_selection_clear)
13479 (x_clear_frame_selections):
13480 * w32menu.c (list_of_panes, list_of_items):
13481 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13482 * textprop.c (validate_plist, interval_has_all_properties)
13483 (interval_has_some_properties, interval_has_some_properties_list)
13484 (add_properties, text_property_list):
13485 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13486 * minibuf.c (Fassoc_string):
13487 * macselect.c (x_own_selection, x_clear_frame_selections)
13488 (Fx_disown_selection_internal):
13489 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13490 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13491
134922007-10-17 Chong Yidong <cyd@stupidchicken.com>
13493
13494 * process.c: Link to libs for calling res_init() if available.
13495 (Fmake_network_process): Call res_init() before getaddrinfo or
13496 gethostbyname, if possible.
13497
134982007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13499
13500 * lread.c (read1): Set pvectype for char_tables.
13501
13502 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13503 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13504 Add type checks.
13505 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13506
13507 * alloc.c (free_misc): Use XMISCTYPE.
13508 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13509
135102007-10-17 Glenn Morris <rgm@gnu.org>
13511
13512 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13513 (syms_of_minibuf): Add Qcompletion_ignore_case.
13514 * dired.c (Qcompletion_ignore_case): Change to external.
13515 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13516 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13517 (Fread_file_name): Use it rather than intern'ing.
13518
13519 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13520 (Fread_coding_system): Ignore case of user input.
13521
135222007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13523
13524 * xdisp.c (handle_display_prop): Ignore display specs after
13525 replacing one when string text is being replaced.
13526 (handle_single_display_spec): Pretend as if characters with display
13527 property haven't been consumed only when buffer text is being replaced.
13528
135292007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13530
13531 * xfns.c (Fx_create_frame, Fx_display_list):
13532 * window.c (window_fixed_size_p, enlarge_window)
13533 (shrink_window_lowest_first):
13534 * macterm.c (init_font_name_table):
13535 * macfns.c (Fx_create_frame, Fx_display_list):
13536 * lread.c (close_load_descs):
13537 * keyboard.c (read_char_x_menu_prompt):
13538 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13539 * coding.c (code_convert_region_unwind): Test the type of an object
13540 rather than just !NILP before extracting data from it.
13541
13542 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13543
13544 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13545 (XMISCANY): New macro.
13546 (XMISCTYPE): Use it.
13547 (struct Lisp_Misc_Any): New type.
13548 (union Lisp_Misc): Use it.
13549 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13550 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13551 (find_symbol_value, set_internal, default_value, Fset_default)
13552 (Fmake_variable_buffer_local, Fmake_local_variable)
13553 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13554 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13555 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13556 * alloc.c (allocate_buffer): Set the size and tag.
13557 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13558 Use XMISCANY.
13559 (die): Follow the GNU convention for error messages.
13560 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13561 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13562 tag any more.
13563 (set_buffer_internal_1):
13564 * frame.c (store_frame_param):
13565 * eval.c (specbind):
13566 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13567
13568 * doc.c (Fsnarf_documentation): Simplify.
13569
135702007-10-14 Juanma Barranquero <lekktu@gmail.com>
13571
13572 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13573 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13574
135752007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13576
13577 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13578
135792007-10-14 Juanma Barranquero <lekktu@gmail.com>
13580
13581 * eval.c (do_autoload): Don't save autoloads.
13582
13583 * data.c (Ffset): Save autoload of the function being set.
13584
135852007-10-07 John Paul Wallington <jpw@pobox.com>
13586
13587 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13588 parameter before setting up faces.
13589
135902007-10-13 Eli Zaretskii <eliz@gnu.org>
13591
13592 * ccl.c (Fregister_code_conversion_map):
13593 * keyboard.c (append_tool_bar_item): Reformat last change.
13594
13595 * lisp.h (eabs): Rename from `abs'. All callers changed.
13596
135972007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13598
13599 * buffer.c (add_overlay_mod_hooklist):
13600 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13601 * fontset.c (make_fontset):
13602 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13603 (append_tool_bar_item):
13604 * macmenu.c (grow_menu_items):
13605 * w32menu.c (grow_menu_items):
13606 * xmenu.c (grow_menu_items): Use larger_vector.
13607
136082007-10-13 Eli Zaretskii <eliz@gnu.org>
13609
13610 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13611 selected frame'' on MSDOS).
13612
136132007-10-12 Martin Rudalics <rudalics@gmx.at>
13614
13615 * frame.c (Qexplicit_name): New variable.
13616 (x_report_frame_params): Report it in parameter alist.
13617 (syms_of_frame): Intern and staticpro it.
13618
136192007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13620
13621 * macfns.c (x_create_tip_frame): Set terminal for frame.
13622
136232007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13624
13625 * frame.c (Qenvironment): Remove.
13626 (syms_of_frame) <Qenvironment>: Don't initialize.
13627 (Fdelete_frame): Don't treat the `environment' param specially.
13628 * frame.h (Qenvironment): Don't declare.
13629 * callproc.c (set_initial_environment): Don't set unused frame param.
13630
13631 * frame.c (Fframe_with_environment): Remove.
13632 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13633
13634 * lisp.h (Fframe_with_environment): Don't declare.
13635
136362007-10-10 Juanma Barranquero <lekktu@gmail.com>
13637
13638 * indent.c (indent_tabs_mode, last_known_column)
13639 (last_known_column_modified): Make static.
13640 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13641
136422007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13643
13644 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13645
136462007-10-09 Jason Rumney <jasonr@gnu.org>
13647
13648 * w32term.c (x_set_window_size): Disable code that attempts to tell
13649 Lisp code about a size change before it actually happens.
13650
136512007-10-09 Richard Stallman <rms@gnu.org>
13652
13653 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13654 return HANDLED_RETURN.
13655
136562007-10-08 Martin Rudalics <rudalics@gmx.at>
13657
13658 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13659 when there's an unread command event.
13660
13661 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13662 window autoselection act appropriately when leaving selected frame.
13663 (syms_of_frame): Initialize focus_follows_mouse.
13664 * frame.h (focus_follows_mouse): Extern it.
13665 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13666 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13667 * msdos.c (dos_rawgetc): Likewise.
13668 * w32term.c (w32_read_socket): Likewise.
13669 * xterm.c (handle_one_xevent): Likewise.
13670 * xdisp.c (syms_of_xdisp): In doc-string of
13671 mouse-autoselect-window mention focus-follows-mouse.
13672
136732007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13674
13675 * macterm.c (mac_load_query_font): Fix missing return value.
13676 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13677 Add BLOCK_INPUT.
13678
136792007-10-08 Richard Stallman <rms@gnu.org>
13680
13681 * xdisp.c (get_window_cursor_type): Implement documented behavior
13682 for cursor-in-non-selected-windows = t.
13683
136842007-10-08 Jason Rumney <jasonr@gnu.org>
13685
13686 * w32.c (w32_get_resource): Always close registry keys.
13687
136882007-10-08 Jason Rumney <jasonr@gnu.org>
13689
13690 * makefile.w32-in (LIBS): Add COMCTL32.
13691
13692 * w32fns.c (globals_of_w32fns): Init common controls.
13693
136942007-10-08 Richard Stallman <rms@gnu.org>
13695
13696 * image.c (our_memory_buffer): Rename from omfib_buffer.
13697
136982007-10-08 Richard Stallman <rms@gnu.org>
13699
13700 * buffer.c (Foverlays_at): Doc fix.
13701
137022007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13703
13704 * fns.c (Fplist_put): Preserve uneven tail data.
13705
137062007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13707
13708 * termhooks.h (enum event_kind): Remove trailing comma.
13709
13710 * frame.h (enum): Remove trailing comma.
13711
137122007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13713
13714 * w32proc.c (delete_child): Don't terminate threads of zombies.
13715
137162007-10-08 Martin Rudalics <rudalics@gmx.at>
13717
13718 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13719
13720 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13721 last-repeatable-command.
13722 (init_kboard): Initialize Vlast_repeatable_command.
13723 (command_loop_1): Set it to real_this_command unless that was
13724 bound to an input event.
13725 (mark_kboards): Mark it.
13726
137272007-10-08 Richard Stallman <rms@gnu.org>
13728
13729 * eval.c (condition-case): Doc fix.
13730
137312007-10-08 Masatake YAMATO <jet@gyve.org>
13732
13733 * xfaces.c (tty_supports_face_attributes_p): Fix code
13734 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13735 was copied and not edited.
13736
137372007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13738
13739 Add new `input-decode-map' keymap and use it for terminal
13740 escape sequences.
13741 * keyboard.h (struct kboard): Add Vinput_decode_map.
13742 Remove Vlocal_key_translation_map.
13743 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13744 (init_kboard): Init input-decode-map.
13745 Replace local-key-translation-map back with key-translation-map.
13746 (syms_of_keyboard): Declare input-decode-map.
13747 Remove local-key-translation-map. Update docstrings.
13748 (mark_kboards): Mark Vinput_decode_map.
13749 Don't mark Vlocal_key_translation_map.
13750 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13751 Replace local-key-translation-map back with key-translation-map.
13752 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13753 Bind in input-decode-map rather than function-key-map.
13754
13755 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13756 This was made redundant by the previous introduction of XSETPVECTYPE.
13757
137582007-10-09 Richard Stallman <rms@gnu.org>
13759
13760 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13761
137622007-09-29 Richard Stallman <rms@gnu.org>
13763
13764 * eval.c (internal_condition_case_2, internal_condition_case_1)
13765 (internal_condition_case): Reenable abort if x_catching_errors ()
13766 to see if that really happens and why.
13767
137682007-10-06 Andreas Schwab <schwab@suse.de>
13769
13770 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13771
137722007-10-04 Juanma Barranquero <lekktu@gmail.com>
13773
13774 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13775
137762007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13777
13778 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13779
137802007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13781
13782 * window.h (struct window):
13783 * window.c (struct save_window_data, struct saved_window):
13784 * termhooks.h (struct terminal):
13785 * process.h (struct Lisp_Process):
13786 * frame.h (struct frame):
13787 * buffer.h (struct buffer):
13788 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13789 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13790 The size field of (pseudo)vectors is now unsigned.
13791 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13792
13793 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13794 Turn `count' into an integer.
13795
13796 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13797 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13798 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13799 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13800 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13801
13802 * alloc.c (allocate_pseudovector): New fun.
13803 (ALLOCATE_PSEUDOVECTOR): New macro.
13804 (allocate_window, allocate_terminal, allocate_frame)
13805 (allocate_process): Use it.
13806 (mark_vectorlike): New function.
13807 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13808 (mark_terminals): Use it.
13809 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13810 (Fmake_byte_code): Use XSETPVECTYPE.
13811
13812 * frame.c (Fframe_parameters): Minor simplification.
13813
13814 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13815
13816 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13817
13818 * buffer.c (Fget_buffer_create, init_buffer_once):
13819 * lread.c (defsubr):
13820 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13821
13822 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13823 defined differently in the m/*.h files.
13824 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13825 (XSETPVECTYPE): New macro.
13826 (XSETPSEUDOVECTOR): Use it.
13827
13828 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13829 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13830
13831 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13832 * lread.c (defvar_per_buffer):
13833 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13834
13835 * window.c (candidate_window_p): Only consider as visible frames that
13836 are on the same terminal.
13837
13838 * m/ibms390x.h (MARKBIT): Remove unused macro.
13839
138402007-10-01 Juanma Barranquero <lekktu@gmail.com>
13841
13842 * lread.c (Fload): Fix typo in docstring.
13843
138442007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13845
13846 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13847 of a non-zero value can't yield zero.
13848
138492007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13850
13851 * term.c (term_clear_mouse_face, term_mouse_highlight)
13852 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13853
13854 * print.c (safe_debug_print): Use XHASH.
13855
13856 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13857 Lisp elements such as tags.
13858 (XHASH): New macro.
13859 (EQ): Use it.
13860 (SREF, SSET, STRING_COPYIN): Use SDATA.
13861 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13862
13863 * alloc.c (mark_terminal): Remove left-over declaration.
13864 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13865 (allocate_vectorlike): Remove type argument. Adjust callers.
13866 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13867 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13868
13869 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13870 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13871 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13872 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13873 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13874 Use them.
13875
13876 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13877 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13878 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13879
138802007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13881
13882 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13883 loaded by default.
13884
138852007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13886
13887 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13888 on this tty.
13889 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13890
13891 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13892 Update all users.
13893 (handle_one_term_event): Use Gpm_DrawPointer.
13894 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13895 Signal errors instead of returning nil. Always return nil.
13896 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13897 Make it a noop if gpm-mouse was not activated.
13898 (syms_of_term): Update names.
13899
139002007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13901
13902 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13903 (init_sys_modes): Check that gpm_tty is the current tty.
13904
13905 * alloc.c (allocate_terminal): Set the vector size to only count the
13906 lisp fields. Initialize those to nil.
13907 (mark_object): Don't treat terminals specially.
13908 (mark_terminal): Remove.
13909 (mark_terminals): Use mark_object instead.
13910
13911 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13912 the GC to the beginning.
13913
13914 * indent.h:
13915 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13916
13917 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13918
139192007-09-25 Jason Rumney <jasonr@gnu.org>
13920
13921 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13922
13923 * w32console.c (create_w32cons_output): Remove.
13924
13925 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13926
13927 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13928 (reset_sys_modes): Use reset_terminal_modes_hook.
13929
139302007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13931
13932 * eval.c (do_autoload): Don't output any message.
13933
139342007-09-24 Juri Linkov <juri@jurta.org>
13935
13936 * emacs.c (standard_args): Change priority of "--no-splash"
13937 from 40 to 3. Add "--no-desktop" with the same priority.
13938
139392007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13940
13941 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13942 and optimize the case where they are all 1.
13943
139442007-09-23 Johannes Weiner <hannes@saeurebad.de>
13945
13946 * lisp.h (abs): Define if not defined.
13947 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13948 Don't define `abs', since it's defined in lisp.h.
13949
139502007-09-22 Eli Zaretskii <eliz@gnu.org>
13951
13952 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13953 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13954 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13955 (init_tty): Use DEV_TTY instead of "/dev/tty".
13956 [WINDOWSNT]: No need to protect from NAME arg being null.
13957
139582007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13959
13960 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13961 up the tty state.
13962
139632007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13964
13965 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13966 (gpm_tty): Change its type.
13967 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13968 (gpm_tty): Change its type and initialize it.
13969 (Fterm_open_connection): Check the frame is indeed a tty.
13970 Use the new gpm_tty.
13971 (Fterm_close_connection): Use the new gpm_tty.
13972 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13973 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13974
139752007-09-21 Juanma Barranquero <lekktu@gmail.com>
13976
13977 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13978 underline_color, to draw strike-through.
13979
139802007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13981
13982 * lisp.h (allocate_terminal): Declare.
13983
13984 * window.c (candidate_window_p): Consider frames that are being placed
13985 by the user as somewhere between visible and iconified.
13986 (window_loop): Prefer windows on the current frame.
13987 (Fselect_window): Move the use of select-frame to the beginning so we
13988 can just delegate all the work (it'll call us back anyway).
13989
13990 * frame.c (Qdisplay_environment_variable):
13991 * frame.h (Qdisplay_environment_variable): Delete.
13992
13993 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13994 of the first arg, since that value may be a union.
13995
13996 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13997 parameter rather than Qdisplay_environment_variable. If all else
13998 fails, look for DISPLAY in initial-environment.
13999
140002007-09-21 Glenn Morris <rgm@gnu.org>
14001
14002 * Makefile.in (emacstool): Remove target.
14003 (lisp, shortlisp): Remove termdev.elc.
14004
140052007-09-21 Markus Triska <markus.triska@gmx.at>
14006
14007 * xterm.c (x_delete_display): Compile session management conditionally.
14008
140092007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14010
14011 * callproc.c (getenv_internal_1): New function.
14012 (getenv_internal): Use it.
14013 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14014
14015 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14016 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14017 (Fset_terminal_parameter): Work with dead terminals as well.
14018 (Fmodify_terminal_parameters): Remove.
14019
14020 * terminal.c (get_terminal): Handle terminals.
14021 Make sure the terminal returned is live.
14022 (create_terminal): Use allocate_terminal.
14023 (mark_terminals): Move to alloc.c.
14024 (delete_terminal): Use terminal->name as liveness status.
14025 NULL out fields after freeing their contents.
14026 Don't deallocate the object.
14027 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14028 rather than an int.
14029 (Fterminal_live_p): Accept non-integer arguments.
14030 (Fterminal_list): Return terminal objects rather than an ints.
14031
14032 * alloc.c (enum mem_type): New member for `terminal' objects.
14033 (allocate_terminal): New function.
14034 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14035 Handle terminals.
14036 (mark_terminal): New fun.
14037 (mark_terminals): Move from terminal.c.
14038
14039 * term.c (get_tty_terminal): Don't treat output_initial specially.
14040 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14041 (delete_tty): Use terminal->name as liveness status.
14042
14043 * termhooks.h (struct terminal): Make it into a pseudovector.
14044 Remove `deleted' replaced by checking `name's nullness.
14045
14046 * print.c (print_object): Handle terminals.
14047
14048 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14049 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14050
14051 * frame.c (make_terminal_frame):
14052 * keyboard.c (tty_read_avail_input):
14053 * w32term.c (x_delete_terminal):
14054 * xfns.c (Fx_create_frame, x_create_tip_frame):
14055 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14056
140572007-09-20 Glenn Morris <rgm@gnu.org>
14058
14059 * process.c (Fmake_network_process): Doc fix.
14060
140612007-09-19 Jason Rumney <jasonr@gnu.org>
14062
14063 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14064
140652007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14066
14067 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14068 Fix a C warning regarding variable constness.
14069
14070 * xterm.c (handle_one_xevent): Fix a C warning.
14071
140722007-09-18 Jason Rumney <jasonr@gnu.org>
14073
14074 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14075
140762007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14077
14078 * gtkutil.c (gdpy_def): New variable.
14079 (xg_initialize): Initialize gdpy_def.
14080 (xg_display_close): If no other display exists, set gdpy_def to a
14081 new connection.
14082
140832007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14084
14085 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14086 when we have no file name for the icon.
14087 (xg_tool_bar_expose_callback): Remove.
14088 (xg_create_tool_bar): Don't connect expose signal to
14089 xg_tool_bar_expose_callback.
14090 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14091
140922007-09-16 Andreas Schwab <schwab@suse.de>
14093
14094 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14095 values instead of zapping them.
14096
140972007-09-14 Glenn Morris <rgm@gnu.org>
14098
14099 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14100 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14101 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14102 scope and rename to omfib_buffer for clarity.
14103 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14104
141052007-09-14 Kenichi Handa <handa@m17n.org>
14106
14107 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14108
141092007-09-13 Jason Rumney <jasonr@gnu.org>
14110
14111 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14112
14113 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14114
14115 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14116 (mac_term_init): Call here instead, passing rif.
14117
141182007-09-13 Glenn Morris <rgm@gnu.org>
14119
14120 * s/hpux.h: No longer define `static' as nothing.
14121
141222007-09-13 Johan Bockgård <bojohan@gnu.org>
14123
14124 * callint.c (Fcall_interactively): Remove unused var `fun'.
14125
141262007-09-12 Romain Francoise <romain@orebokech.com>
14127
14128 * window.c (prefer_window_split_horizontally, display_buffer):
14129 Revert 2007-09-08 change.
14130
141312007-09-12 Glenn Morris <rgm@gnu.org>
14132
14133 * alloca.c: Remove file.
14134 * Makefile.in (alloca): Do not undef.
14135 (allocaobj, alloca.o): Remove.
14136 (otherobj): Remove allocaobj.
14137 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14138 * regex.c (C_ALLOCA): Remove all references and code that was only
14139 used when this was defined.
14140 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14141 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14142 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14143
14144 * Makefile.in (SOURCES, unlock, relock): Delete.
14145
14146 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14147 (menu_grab_callback): All uses changed.
14148
14149 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14150 (x_reply_selection_request): All uses changed.
14151
141522007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14153
14154 * lread.c (load_warn_old_style_backquotes): Change message to look
14155 better when it appears in the middle of byte-compiler messages.
14156
141572007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14158
14159 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14160
14161 * xterm.c (x_create_terminal): Add comment.
14162
14163 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14164
141652007-09-10 Richard Stallman <rms@gnu.org>
14166
14167 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14168
141692007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14170
14171 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14172 (DEFUN): Document `intspec', use it instead of `prompt'.
14173
14174 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14175
14176 * data.c (Finteractive_form): If the interactive specification starts
14177 with a `(', use it as a Lisp form.
14178
14179 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14180 name and file modes.
14181
14182 * callint.c (Fcall_interactively): Comment fixes.
14183
141842007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14185
14186 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14187 and compiled functions.
14188
141892007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14190
14191 * window.c (prefer_window_split_horizontally): New variable.
14192 (display_buffer): Consider splitting window horizontally depending
14193 on prefer_window_split_horizontally.
14194
141952007-09-08 Eli Zaretskii <eliz@gnu.org>
14196
14197 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14198
141992007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14200
14201 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14202
14203 * frame.c (x_set_frame_parameters): Check number is positive before
14204 using XFASTINT.
14205
14206 * window.c (freeze_window_start): Don't presume selected_window holds
14207 a window object.
14208 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14209
142102007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14211
14212 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14213
142142007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14215
14216 * window.c (Vsplit_window_preferred_function): New var.
14217 (Fdisplay_buffer): Use it.
14218 (syms_of_window): Export, and initialize it.
14219
142202007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14221
14222 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14223
142242007-09-06 Glenn Morris <rgm@gnu.org>
14225
14226 * gtkutil.c (menu_grab_callback) <cnt>:
14227 * xselect.c (x_reply_selection_request) <cnt>: Move static
14228 variable to file scope.
14229
142302007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14231
14232 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14233 consistent values of selected_frame and selected_window.
14234
142352007-09-04 Jason Rumney <jasonr@gnu.org>
14236
14237 * w32console.c (initialize_w32_display): Zero unused hooks.
14238
142392007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14240
14241 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14242 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14243
142442007-09-04 Jason Rumney <jasonr@gnu.org>
14245
14246 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14247 in w32console.c. Set up input. Remove XXX comments that have been
14248 confirmed as correct.
14249
14250 * s/ms-w32.h (MULTI_KBOARD): Define.
14251
14252 * w32console.c (one_and_only_w32cons): Remove.
14253 (initialize_w32_display): Take terminal argument.
14254
14255 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14256 initialize_w32_display.
14257 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14258
14259 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14260
14261 * keyboard.c (discard_mouse_events): Discard it.
14262 (make_lispy_event): Translate it to a lisp event.
14263 (lispy_wheel_names): Add wheel-left and right events.
14264 (syms_of_keyboard): Enlarge wheel_syms.
14265
14266 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14267 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14268
14269 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14270
14271 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14272 from WM_MOUSEHWHEEL.
14273 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14274
14275 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14276 terminal.
14277
14278 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14279 keyboard for the terminal.
14280
142812007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14282
14283 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14284 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14285 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14286 and resume-tty-function to resume-tty-hook.
14287 (Fsuspend_tty, Fresume_tty): Use new names.
14288
142892007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14290
14291 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14292 if it starts with "n:".
14293
142942007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14295
14296 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14297
142982007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14299
14300 * frame.h:
14301 * frame.c (Qterm_environment_variable): Remove.
14302 (syms_of_frame): Don't init and staticpro it.
14303
14304 * callproc.c (getenv_internal): Remove special case for $TERM.
14305
14306 * callproc.c (Vinitial_environment): New variable.
14307 (set_initial_environment): Initialize it.
14308 (syms_of_callproc): Declare it.
14309 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14310 TERM under which a process runs is never related to the TERM in which
14311 Emacs is running.
14312
143132007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14314
14315 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14316 * s/darwin.h: ... do it here.
14317
143182007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14319
14320 * lisp.h (set_initial_environment): Rename from set_global_environment.
14321
14322 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14323 removed by mistake on the multi-tty branch.
14324
14325 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14326 (Fmodify_frame_parameters): Return a value.
14327
14328 * image.c (png_load): Comment-out var only used in commented-out code.
14329
14330 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14331 before passing it to mark_object.
14332
14333 * xfaces.c (internal_resolve_face_name): Return a value.
14334 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14335
14336 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14337 (x_icon): Comment-out var only used in commented-out code.
14338
143392007-08-29 Romain Francoise <romain@orebokech.com>
14340
14341 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14342 QUIT hasn't been provided.
14343
143442007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14345
14346 * callproc.c (child_setup, getenv_internal): Use the
14347 display-environment-variable and term-environment-variable frame params.
14348 (set_initial_environment): Initialise Vprocess_environment.
14349
14350 * config.in: Disable multi-keyboard support on a mac.
14351
14352 * frame.c (Qterm_environment_variable)
14353 (Qdisplay_environment_variable): New variables.
14354 (syms_of_frame): Intern and staticpro them.
14355 (Fmake_terminal_frame): Disable output method test.
14356
14357 * frame.h: Declare them here.
14358
14359 * macfns.c (x_set_mouse_color): Get rif from the frame.
14360 (x_set_tool_bar_lines): Don't use updating_frame.
14361 (mac_window): Add 2 new parameters for consistency with other systems.
14362 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14363 frame parameters following what is done in X11 and w32. Don't use
14364 FRAME_MAC_DISPLAY_INFO.
14365 (Fx_open_connection, start_hourglass): Remove window-system check.
14366 (x_create_tip_frame): Get the keyboard from the terminal.
14367
14368 * macmenu.c: Reorder includes.
14369 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14370
14371 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14372 terminal parameter.
14373 (x_clear_frame): Add a frame parameter.
14374 (note_mouse_movement): Get rif from the frame.
14375 (mac_term_init): Initialize the terminal.
14376 (mac_initialize): Make static and move terminal initialization ...
14377 (mac_create_terminal): ... to this new function.
14378
14379 * macterm.h (struct mac_display_info): Add terminal.
14380 (mac_initialize): Delete declaration.
14381
14382 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14383
14384 * sysdep.c: Comment out text after #endif.
14385
14386 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14387 is defined. Better initialize ttys in windows. Use terminal
14388 specific mouse_position_hook.
14389
14390 * termhooks.h (union display_info): Add mac_display_info.
14391
14392 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14393 Set the default minibuffer frame, window_system and the rest of the
14394 frame parameters following what is done in X11.
14395
14396 * w32term.c (w32_initialize): Make static.
14397
14398 * xselect.c (x_handle_selection_clear): Only access
14399 terminal->kboard when MULTI_KBOARD is defined.
14400
14401 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14402 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14403
144042007-08-29 Jason Rumney <jasonr@gnu.org>
14405
14406 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14407 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14408
14409 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14410 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14411
14412 * keyboard.c (restore_kboard_configuration): Only define when
14413 MULTI_KBOARD defined.
14414
14415 * makefile.w32-in: Update dependancies from Makefile.in.
14416 (OBJ1): Add terminal.$(O)
14417
14418 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14419 Don't define function body.
14420 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14421
14422 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14423
14424 * w32.c (request_sigio, unrequest_sigio): Remove.
14425
14426 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14427 (w32con_clear_frame, w32con_clear_end_of_line)
14428 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14429 (w32con_delete_glyphs, w32con_set_terminal_window)
14430 (scroll_line, w32_sys_ring_bell): Add frame arg.
14431 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14432 Add terminal arg.
14433 (PICK_FRAME): Remove.
14434 (w32con_write_glyphs): Use frame specific terminal coding.
14435 (one_and_only_w32cons): New global variable.
14436 (initialize_w32_display): Use it for storing hooks.
14437 (create_w32cons_output): New function.
14438
14439 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14440 arg a frame.
14441
14442 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14443 Set window_system.
14444 (x_set_tool_bar_lines): Don't use updating_frame.
14445 (Fx_create_frame): Set terminal and ref count.
14446 (Fx_open_connection): Remove window-system check.
14447
14448 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14449
14450 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14451 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14452 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14453 Add frame arg.
14454 (x_delete_terminal, w32_create_terminal): New functions.
14455 (w32_term_init): Create a terminal.
14456 (w32_initialize): Move terminal specific initialization to
14457 w32_create_terminal.
14458
14459 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14460 (w32_clear_rect, w32_clear_area): Use background from frame.
14461 (w32_display_info): Add terminal.
14462 (w32_sys_ring_bell, x_delete_display): Declare here.
14463
14464 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14465
14466 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14467
144682007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14469
14470 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14471 Fix get_named_tty calls for the controlling tty.
14472
144732007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14474
14475 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14476
144772007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14478
14479 * term.c (tty_insert_glyphs): Add missing first parameter.
14480
144812007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14482
14483 * buffer.c (Fbuffer_list, Fbury_buffer):
14484 Take frame->buried_buffer_list into account.
14485
14486 * cm.c (current_tty): New variable, for cmputc().
14487 (cmputc): Use it.
14488 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14489 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14490 (cmgoto): Add tty parameter. Pass it on to calccost().
14491 Use emacs_tputs() instead of tputs().
14492
14493 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14494 tputs().
14495 (current_tty): New variable, for cmputc().
14496 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14497
14498 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14499 (internal_condition_case, internal_condition_case_1)
14500 (internal_condition_case_2): Don't abort when x_catching_errors.
14501
14502 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14503 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14504 prevent crashes caused by bogus longjmps in read_char.
14505
14506 * keymap.h (Fset_keymap_parent): Add EXFUN.
14507
14508 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14509 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14510 Remove redundant definition.
14511
14512 * macfns.c (x_set_mouse_color, x_make_gc):
14513 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14514
14515 * w32term.c (x_free_frame_resources):
14516 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14517 (w32_initialize): Use the accessor macros for terminal characteristics.
14518
14519 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14520 Use the accessor macros for terminal characteristics.
14521 * msdos.c (internal_terminal_init): Use the accessor macros for
14522 terminal characteristics.
14523 (ScreenVisualBell, internal_terminal_init):
14524 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14525
14526 * termopts.h (no_redraw_on_reenter): Declare.
14527
14528 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14529 (mark_terminals, mark_ttys): Declare.
14530 (Fgarbage_collect): Call them.
14531 (mark_object): Mark buried_buffer_list.
14532
14533 * prefix-args.c: Include stdlib.h for exit.
14534
14535 * syssignal.h: Add comment.
14536
14537 * indent.c: Include stdio.h.
14538
14539 * window.h (Vinitial_window_system): Declare.
14540 (Vwindow_system): Delete declaration.
14541
14542 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14543
14544 * image.c (lookup_image): Don't initialize `c' until the xasserts
14545 have been run.
14546
14547 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14548 FRAME_FOREGROUND_PIXEL.
14549
14550 * print.c (print_preprocess): Don't lose print_depth levels while
14551 iterating.
14552
14553 * widget.c (update_from_various_frame_slots):
14554 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14555
14556 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14557 frames.
14558 (window_internal_height): Remove bogus make_number call.
14559 (init_window_once): Call make_terminal_frame with two zero parameters.
14560
14561 * fileio.c (Fread_file_name): Update comment.
14562
14563 * callint.c (Fcall_interactively):
14564 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14565 Make sure it is correctly unwound.
14566
14567 * xsmfns.c (x_session_close): New function.
14568
14569 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14570 Delete declarations.
14571
14572 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14573 (x_output): Remove background_pixel and foreground_pixel fields.
14574 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14575 (x_delete_device, x_session_close): Declare.
14576
14577 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14578 (read_filtered_event): Call `read_char' with a local
14579 `wrong_kboard_jmpbuf'.
14580
14581 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14582 Don't call single_kboard_state. Use FRAME_RIF.
14583
14584 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14585 systems.
14586
14587 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14588 (Fframe_with_environment, Fset_input_meta_mode)
14589 (Fset_quit_char): EXFUN.
14590 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14591 (init_sys_modes, reset_sys_modes): Update prototypes.
14592 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14593
14594 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14595 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14596 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14597 Delete declarations.
14598 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14599 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14600 New declarations.
14601
14602 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14603 already does that during init_display(). Call syms_of_keymap
14604 before syms_of_keyboard. Call `syms_of_terminal'.
14605 Call set_initial_environment, not set_process_environment.
14606 (shut_down_emacs): Call reset_all_sys_modes() instead of
14607 reset_sys_modes().
14608
14609 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14610 (internal_resolve_face_name, resolve_face_name_error): New functions.
14611 (resolve_face_name): Protect against loops and errors thrown by Fget.
14612 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14613 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14614
14615 * scroll.c: Replace CURTTY() with local variables throughout the
14616 file (where applicable).
14617 (calculate_scrolling, calculate_direct_scrolling)
14618 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14619 characteristics.
14620
14621 * keymap.c (Vfunction_key_map): Remove.
14622 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14623 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14624 (Vkey_translation_map): Remove.
14625 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14626 (Fdescribe_buffer_bindings)
14627 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14628 Update for terminal-local key-translation-map.
14629
14630 * Makefile.in (callproc.o): Update dependencies.
14631 (lisp, shortlisp): Add termdev.elc.
14632 (obj): Add terminal.o.
14633 (terminal.o): Add dependencies.
14634 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14635 (data.o, fns.o): Add termhooks.h dependency.
14636 (SOME_MACHINE_LISP): Add dnd.elc.
14637 (minibuf.o): Fix typo.
14638 Update dependencies.
14639
14640 * data.c (do_symval_forwarding, store_symval_forwarding)
14641 (find_symbol_value): Use the selected frame's keyboard, not
14642 current_kboard.
14643
14644 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14645 Vwindow_system.
14646
14647 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14648 Fmenu_bar_open.
14649 (syms_of_xmenu): Update defsubr.
14650 (mouse_position_for_popup, Fx_popup_menu)
14651 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14652 (set_frame_menubar, free_frame_menubar)
14653 (create_and_show_popup_menu, xmenu_show, )
14654 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14655 an X frame.
14656
14657 * xselect.c (x_own_selection): Abort if not an X frame.
14658 (some_frame_on_display): Check if it is an X frame.
14659 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14660
14661 * coding.c: Include frame.h and termhooks.h.
14662 (terminal_coding, keyboard_coding): Delete.
14663 (Fset_terminal_coding_system_internal)
14664 (Fset_keyboard_coding_system_internal)
14665 (Fkeyboard_coding_system)
14666 (Fterminal_coding_system): Add a terminal parameter.
14667 Get terminal_coding from the terminal.
14668 (init_coding_once): Don't call setup_coding_system here.
14669
14670 * dispextern.h (set_scroll_region, turn_off_insert)
14671 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14672 (tty_clear_end_of_line, tty_setup_colors)
14673 (delete_tty, updating_frame)
14674 (produce_special_glyphs, produce_glyphs, write_glyphs)
14675 (insert_glyphs): Remove.
14676 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14677 (tty_turn_off_highlight, get_tty_size): Add declaration.
14678 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14679
14680 * frame.h (enum output_method): Add output_initial.
14681 (struct x_output): Delete.
14682 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14683 Access foreground_pixel and background_pixel directly from the frame.
14684 (tty_display): Delete.
14685 (struct frame): Add buried_buffer_list, foreground_pixel,
14686 background_pixel and terminal. Delete kboard.
14687 (union output_data): Add tty.
14688 (FRAME_KBOARD): Get the kboard from the terminal.
14689 (FRAME_INITIAL_P): New macro.
14690 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14691 (Qterm_environment_variable, Qdisplay_environment_variable)
14692 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14693 New declarations.
14694
14695 * termchar.h (tty_output, tty_display_info): New structures.
14696 (tty_list): Declare.
14697 (FRAME_TTY, CURTTY): New macros.
14698 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14699 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14700 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14701 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14702
14703 * callproc.c: Include frame.h and termhooks.h, for terminal
14704 parameters.
14705 (add_env): New function.
14706 (child_setup): Use it.
14707 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14708 (getenv_internal): Fix get_terminal_param call.
14709 (Fgetenv_internal, egetenv): Update doc.
14710 (syms_of_callproc): Initialize Vprocess_environment to nil.
14711 Register and initialize them. Remove obsolete defvars. Update doc
14712 strings.
14713 (child_setup): Handle Vlocal_environment_variables.
14714 (getenv_internal): Add terminal parameter.
14715 Handle Vlocal_environment_variables.
14716 (Fgetenv_internal): Add terminal parameter.
14717 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14718 environment in a frame (not terminal) parameter. Update doc strings.
14719 (set_initial_environment): Rename from set_global_environment.
14720 Store Emacs environment in initial frame parameter.
14721
14722 * xdisp.c (redisplay_internal): Update references to
14723 `previous_terminal_frame'.
14724 (display_mode_line, Fformat_mode_line): Replace calls to
14725 `push_frame_kboard' with `push_kboard'.
14726 (get_glyph_string_clip_rects): Add extra parentheses and
14727 braces to prevent compiler warnings.
14728 (calc_pixel_width_or_height): Add xassert to check that the
14729 frame is alive. Don't call `lookup_image' on a termcap frame.
14730 (message2_nolog, message3_nolog, redisplay_internal)
14731 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14732 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14733 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14734 (Fx_display_pixel_width, Fx_display_pixel_height)
14735 (Fx_display_planes, Fx_display_color_cells)
14736 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14737 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14738 (Fx_display_backing_store, Fx_display_visual_class)
14739 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14740 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14741
14742 * xfns.c (x_set_foreground_color x_set_background_color)
14743 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14744 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14745 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14746 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14747 terminal that is being deleted.
14748 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14749 frame parameter, and make sure it overrides any user-supplied setting.
14750 (Fx_close_connection, Fx_synchronize): Unify argument names with
14751 the rest of the DEFUNs.
14752
14753 * dispnew.c (Fsend_string_to_terminal): Update call to
14754 `get_tty_terminal'.
14755 (Fredraw_frame, Fsend_string_to_terminal)
14756 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14757 FRAME_TERMCAP_P and FRAME_TTY.
14758 (window_change_signal): Don't believe width/height values that are
14759 impossibly small.
14760 (Vinitial_window_system): Rename from Vwindow_system.
14761 (termscript, Wcm, rif): Delete.
14762
14763 * termhooks.h (struct terminal): New struct containing the
14764 previously global text display hooks and new members NAME,
14765 DELETED and PARAM_ALIST.
14766 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14767 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14768 (FRAME_RIF): New macros.
14769 (get_terminal_param, get_device): New declarations.
14770 (termscript): Delete declaration.
14771
14772 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14773 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14774 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14775 FRAME_FOREGROUND_PIXEL.
14776 (x_fully_uncatch_errors): Disable definition.
14777 (x_scroll_bar_expose): Fix reference to foreground pixel.
14778 (XTread_socket): Disable loop on all X displays.
14779 (x_delete_terminal): Don't set terminal->deleted and let
14780 delete_terminal delete the frames on the terminal.
14781 (x_delete_display): Doc update to reflect changes in
14782 delete_terminal.
14783 (x_display_info) <terminal>: Move member earlier in the struct.
14784 (deleting_tty): Remove old variable.
14785 (Fsuspend_tty): Call clear_tty_hooks.
14786 (Fresume_tty, init_tty): Call set_tty_hooks.
14787 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14788 errors on X frames.
14789 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14790 (handle_one_xevent): Initialize `f' to NULL.
14791 (x_delete_terminal, x_create_terminal): New functions.
14792 (XTset_terminal_modes, XTreset_terminal_modes)
14793 (XTread_socket, x_connection_closed, x_term_init)
14794 (x_term_init, x_delete_display): Add terminal parameter.
14795 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14796 X connections.
14797
14798 * frame.c: Include termchar.h.
14799 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14800 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14801 (Qdisplay_environment_variable): New vars.
14802 (Fframep): Deal with output_initial.
14803 (Fframe-live-p): Doc fix.
14804 (Fwindow-system): New function.
14805 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14806 (make_terminal_frame): Don't create frames on a terminal that is
14807 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14808 (store_frame_param): Check for found_for_frame before calling XFRAME.
14809 (Fmake_terminal_frame): Handle NULL tty names correctly.
14810 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14811 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14812 frames to refer to a deleted frame in their 'environment parameter.
14813 (Fframe_with_environment): New function.
14814 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14815 (get_future_frame_param): New function.
14816 (Fmake_terminal_frame): Use it.
14817 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14818
14819 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14820 * sysdep.c (reset_sys_modes): Update for renames.
14821
14822 * keyboard.c (tty_read_avail_input): New function.
14823 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14824 (syms_of_keyboard): Defsubr them.
14825 (Fset_input_meta_mode, Fset_quit_char): New functions.
14826 (Fset_input_mode): Split to above functions.
14827 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14828 parameter. Use it in call to `read_char'.
14829 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14830 Set wrong_kboard_jmpbuf correctly in recursive calls.
14831 Use current_kboard to access Vkeyboard_translate_table.
14832 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14833 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14834 Update longjmp invocations. Remember the original current_kboard,
14835 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14836 changes it. Comment out unnecessary calls to
14837 `record_single_kboard_state' and `any_kboard_state'.
14838 Update recursive calls.
14839 (wrong_kboard_jmpbuf): Remove global variable.
14840 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14841 Handle deleted interrupted_kboards correctly; that is a legal
14842 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14843 and read_char calls. Abort if interrupted_kboard died in read_char.
14844 (any_kboard_state, single_kboard_state)
14845 (push_frame_kboard): Remove function.
14846 (pop_kboard): Switch out of single_kboard mode if the kboard has
14847 been deleted. Remove unused variable. Help debugging by not
14848 changing current_kboard unnecessarily. Set current_kboard to the
14849 kboard of the selected frame when the stored kboard object has
14850 been deleted before pop_kboard.
14851 (temporarily_switch_to_single_kboard): Change first parameter to a
14852 frame pointer. Throw an error when caller wants to change kboards
14853 while in single_kboard mode. Don't push_kboard if we weren't in
14854 single kboard state. Don't pop_kboard if we popped into any
14855 kboard state.
14856 (restore_kboard_configuration): Abort if pop_kboard changed the
14857 kboard in single_kboard mode. Call pop_kboard only after setting
14858 up single_kboard mode.
14859 (Frecursive_edit): Switch to single_kboard mode only in nested
14860 command loops.
14861 (cmd_error, command_loop, command_loop_1, timer_check):
14862 Comment out unnecessary call to `any_kboard_state' and
14863 `record_single_kboard_state'.
14864 (delete_kboard): Exit single_kboard mode if we have just deleted
14865 that kboard. Use FRAME_KBOARD.
14866 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14867 `fatal_error_signal'.
14868 (record_single_kboard_state): Don't push_kboard if we weren't in
14869 single kboard state. Don't pop_kboard if we popped into any
14870 kboard state.
14871 (push_frame_kboard): Rename to push_kboard.
14872 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14873 (read_avail_input): Read input from all terminals.
14874 (mark_kboards): Also mark Vkeyboard_translate_table.
14875 (kbd_buffer_store_event_hold): Simplify condition.
14876 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14877 (Vkeyboard_translate_table): Move to struct kboard.
14878 (init_kboard): Initialize Vkeyboard_translate_table.
14879 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14880 Vkeyboard_translate_table. Update doc strings. Update docs of
14881 local-function-key-map and function-key-map.
14882
14883 * terminal.c: New file.
14884
14885 * term.c: Include errno.h.
14886 (Vring_bell_function, device_list, initial_device)
14887 (next_device_id, ring_bell, update_begin, update_end)
14888 (set_terminal_window, cursor_to, raw_cursor_to)
14889 (clear_to_end, clear_frame, clear_end_of_line)
14890 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14891 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14892 (syms_of_term): Move their initialization to terminal.c.
14893 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14894 (Ftty_display_color_cells)
14895 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14896 (clear_tty_hooks, set_tty_hooks)
14897 (init_tty, maybe_fatal): New functions.
14898 (Ftty_type): Return nil if terminal is not on a tty instead of
14899 throwing an error. Doc update.
14900 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14901 Doc update. Initialize new subrs and variables.
14902 (delete_tty): Use terminal->deleted.
14903 (tty_set_terminal_modes): Rename from set_terminal_modes.
14904 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14905 (set_scroll_region): Rename to `tty_set_scroll_region'.
14906 (turn_on_insert): Rename to `tty_turn_on_insert'.
14907 (turn_off_insert): Rename to `tty_turn_off_insert'.
14908 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14909 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14910 (toggle_highligh): Rename to `tty_toggle_highlight'.
14911 (background_highlight): Rename to `tty_background_highlight'.
14912 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14913 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14914 (tty_set_scroll_region, tty_background_highlight)
14915 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14916 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14917 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14918 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14919 Add static modifier.
14920 (tty_reset_terminal_modes, tty_set_terminal_window)
14921 (tty_set_scroll_region, tty_background_highlight)
14922 (tty_highlight_if_desired, tty_cursor_to)
14923 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14924 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14925 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14926 renames.
14927
149282007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14929
14930 * keyboard.c: Qrtl is new.
14931 (parse_tool_bar_item): Handle :rtl keyword.
14932 (syms_of_keyboard): Intern :rtl keyword.
14933
14934 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14935
14936 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14937 so no Lisp code is executed.
14938 (file_for_image, find_rtl_image): New functions.
14939 (xg_get_image_for_pixmap): Use file_for_image.
14940 (update_frame_tool_bar): If direction is RTL, use RTL image if
14941 defined. Use Gtk stock images if defined.
14942
149432007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14944
14945 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14946 for nonexistent or zero-width glyph in composition glyph.
14947
149482007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14949
14950 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14951
14952 * xdisp.c (Finvisible_p): New function.
14953 (syms_of_xdisp): defsubr it.
14954
149552007-08-24 Juanma Barranquero <lekktu@gmail.com>
14956
14957 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14958 Doc fixes.
14959
149602007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14961
14962 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14963
149642007-08-24 Martin Rudalics <rudalics@gmx.at>
14965
14966 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14967 whether decoding has modified buffer contents.
14968
149692007-08-24 Jason Rumney <jasonr@gnu.org>
14970
14971 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14972 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14973 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14974 (init_svg_functions) [HAVE_NTGUI]: New function.
14975 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14976 (svg_load_image): Use them.
14977 (svg_load_image) [HAVE_NTGUI]: Implement background.
14978
149792007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14980
14981 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14982 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14983 (LIBX): Remove @RSVG_LIBS@.
14984 (LIBES): Add $(RSVG_LIBS).
14985
14986 * image.c (svg_load_image): Blend with specified background if exists.
14987 Use IMAGE_BACKGROUND. Add Mac OS Support.
14988
14989 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14990 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14991 Remove macros.
14992 [MAC_OSX] (socket_callback): Do nothing.
14993 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14994 ReceiveNextEvent.
14995 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14996 socket_callback.
14997 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14998
149992007-08-22 Glenn Morris <rgm@gnu.org>
15000
15001 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15002
150032007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15004
15005 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15006
15007 * image.c: Add support for SVG images. Some additional comments
15008 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15009 (svg_image_p): New function to test for SVG image.
15010 (svg_load): New function to load SVG image.
15011 (svg_load_image): New function, helper for svg_load.
15012 (Qsvg): New Lisp_object.
15013 (svg_keyword_index): New enum.
15014 (svg_format): New static `image_keyword' struct.
15015 (svg_type): New static `image_type' struct.
15016 (librsvg/rsvg.h): Include it.
15017
150182007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15019
15020 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15021
150222007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15023
15024 * lread.c (Qold_style_backquotes): New var.
15025 (syms_of_lread): Init and staticpro it.
15026 (load_warn_old_style_backquotes): New fun.
15027 (Fload): Use them to warn about old style backquotes.
15028 (end_of_file_error, Fload): Remove unused vars.
15029
15030 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15031
15032 * lread.c (Vold_style_backquotes): New var.
15033 (syms_of_lread): Init and export it to Elisp.
15034 (read1): Set it when we find an old-style (back)quote.
15035
150362007-08-22 Jason Rumney <jasonr@gnu.org>
15037
15038 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15039
150402007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15041
15042 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15043
150442007-08-19 Richard Stallman <rms@gnu.org>
15045
15046 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15047
150482007-08-19 Andreas Schwab <schwab@suse.de>
15049
15050 * alloc.c (pure): Round PURESIZE up.
15051
150522007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15053
15054 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15055 active frame.
15056
150572007-08-16 Richard Stallman <rms@gnu.org>
15058
15059 * eval.c (Fcommandp): Add parens to clarify.
15060
15061 * minibuf.c (Fall_completions): Use enum for type of table.
15062
15063 * emacs.c (USAGE2): Improve text.
15064
150652007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15066
15067 * term.c (tty_default_color_capabilities): Declare static
15068 variables in file scope, to avoid HPUX compiler problem.
15069
150702007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15071
15072 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15073 to gtk_toolbar_insert.
15074
150752007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15076
15077 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15078
15079 * insdel.c (reset_var_on_error): New fun.
15080 (signal_before_change, signal_after_change):
15081 Use it to reset (after|before)-change-functions to nil in case of error.
15082 Bind inhibit-modification-hooks to t.
15083 Don't bind (after|before)-change-functions to nil while they run.
15084
150852007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15086
15087 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15088 filling pixmap with stippled background.
15089
150902007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15091
15092 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15093 Don't use invisible frame as parent window for repositioning.
15094
150952007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15096
15097 * print.c (new_backquote_output): Rename from old_backquote_output.
15098 (print): Inverse its logic (according to its name) so as to match the
15099 behavior of new_backquote_flag in lread.c.
15100
151012007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15102
15103 * gmalloc.c (posix_memalign): New function.
15104
15105 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15106 ActivateControl/DeactivateControl here.
15107 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15108 frame-notice-user-settings is non-nil.
15109 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15110 for kEventParamFMFontStyle.
15111 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15112 mac_pass_command_to_system and mac_pass_control_to_system here.
15113 (XTread_socket): Call ActivateControl/DeactivateControl here.
15114 (XTread_socket) [TARGET_API_MAC_CARBON]:
15115 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15116 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15117 for window repositioning.
15118
151192007-08-08 Glenn Morris <rgm@gnu.org>
15120
15121 * Replace `iff' in doc-strings and comments.
15122
151232007-08-07 Chong Yidong <cyd@stupidchicken.com>
15124
15125 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15126
151272007-08-07 Martin Rudalics <rudalics@gmx.at>
15128
15129 * fileio.c (Finsert_file_contents): Run format-decode and
15130 after_insert_file_functions on entire buffer when REPLACE is
15131 non-nil and inhibit modification_hooks and point_motion_hooks.
15132 For consistency, run after_insert_file_functions iff something
15133 got inserted. Move signal_after_change and update_compositions
15134 after code running after_insert_file_functions. Make sure that
15135 undo_list doesn't record intermediate steps of the decoding process.
15136
151372007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15138
15139 * emacs.c (main)
15140 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15141 Call malloc_enable_thread on interactive startup.
15142
15143 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15144 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15145 [USE_PTHREAD]: Conditionalize with it.
15146 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15147 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15148 New functions.
15149
151502007-08-06 Chong Yidong <cyd@stupidchicken.com>
15151
15152 * xdisp.c (redisplay_window): When restoring original buffer
15153 position, make sure it is still valid.
15154
15155 * image.c (png_load): Ignore png-supplied background color.
15156
151572007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15158
15159 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15160 Use kCFAbsoluteTimeIntervalSince1970.
15161
15162 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15163 New variable.
15164 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15165 event loop should be quit.
15166 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15167 Quit dialog event loop if quit_dialog_event_loop is set.
15168
15169 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15170 (Selection): New typedef. Use instead of ScrapRef.
15171 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15172 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15173 (mac_clear_selection): Rename from clear_scrap.
15174 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15175 scrap_has_target_type. All uses changed.
15176 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15177 (mac_selection_has_target_p): New functions.
15178 (mac_put_selection_value): Rename from put_scrap_string.
15179 (mac_get_selection_value): Rename from get_scrap_string.
15180 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15181 (put_scrap_private_timestamp, scrap_has_target_type)
15182 (get_scrap_private_timestamp): Remove functions.
15183 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15184 (x_own_selection, x_get_local_selection):
15185 Use mac_valid_selection_value_p.
15186 (x_own_selection): Don't use put_scrap_private_timestamp.
15187 Record OWNERSHIP-INFO into Vselection_alist instead.
15188 (x_get_local_selection): Don't check type if request is local.
15189 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15190 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15191
151922007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15193
15194 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15195 add comment explaining why.
15196
151972007-08-03 Richard Stallman <rms@gnu.org>
15198
15199 * fileio.c (Fvisited_file_modtime): Use make_time.
15200
152012007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15202
15203 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15204 build.
15205
152062007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15207
15208 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15209
152102007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15211
15212 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15213
152142007-07-30 Richard Stallman <rms@gnu.org>
15215
15216 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15217
152182007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15219
15220 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15221
152222007-07-28 Nick Roberts <nickrob@snap.net.nz>
15223
15224 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15225 remote default-directory.
15226
15227 * buffer.c (mode-line-format): Update doc string.
15228
152292007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15230
15231 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15232 scroll bar gap.
15233 (x_scroll_bar_create): Set bar->fringe_extended_p.
15234 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15235 on frame edge. Check fringe background extension. Don't clear
15236 extended fringe background area.
15237
15238 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15239 (w32_fill_area): Enclose multiple statements with do ... while (0).
15240
15241 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15242 Extend fringe background to scroll bar gap.
15243 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15244 Set bar->fringe_extended_p.
15245 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15246 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15247 background extension. Don't clear extended fringe background area.
15248
15249 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15250 New member fringe_extended_p.
15251
152522007-07-25 Glenn Morris <rgm@gnu.org>
15253
15254 * Relicense all FSF files to GPLv3 or later.
15255
15256 * COPYING: Switch to GPLv3.
15257
152582007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15259
15260 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15261
15262 * data.c (Finteractive_form): Check for the presence of an
15263 `interactive-form' symbol property more thoroughly.
15264
15265 * data.c (Finteractive_form): Use an `interactive-form' property if
15266 present, analogous to the function-documentation property.
15267
152682007-07-24 Jason Rumney <jasonr@gnu.org>
15269
15270 * w32fns.c (x_real_positions): Get real position from OS instead of
15271 calculating it.
15272
152732007-07-23 Jason Rumney <jasonr@gnu.org>
15274
15275 * filelock.c (current_lock_owner): Allow for @ sign in username.
15276
152772007-07-22 Nick Roberts <nickrob@snap.net.nz>
15278
15279 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15280 remote default-directory.
15281
15282 * buffer.c (mode-line-format): Describe above case in doc string.
15283
152842007-07-20 Eli Zaretskii <eliz@gnu.org>
15285
15286 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15287 Define if not defined.
15288
152892007-07-18 Jason Rumney <jasonr@gnu.org>
15290
15291 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15292
152932007-07-18 Richard Stallman <rms@gnu.org>
15294
15295 * data.c (Fsetq_default): Doc fix.
15296
15297 * eval.c (Fsetq): Doc fix.
15298
152992007-07-18 Juanma Barranquero <lekktu@gmail.com>
15300
15301 * coding.c (Ffind_operation_coding_system):
15302 * eval.c (For, Fand): Doc fixes.
15303 Reported by Johan Bockgård.
15304
153052007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15306
15307 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15308
15309 * xterm.h: Declare x_ewmh_activate_frame.
15310
15311 * xterm.c (x_ewmh_activate_frame): New function.
15312 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15313
153142007-07-17 Martin Rudalics <rudalics@gmx.at>
15315
15316 * window.c (Fdisplay_buffer): If largest or LRU window is the
15317 only window, split it even if it is not eligible for splitting.
15318 This restores the original behavior broken by the 2007-07-15
15319 change.
15320
153212007-07-17 Glenn Morris <rgm@gnu.org>
15322
15323 * abbrev.c (abbrev_check_chars): New function.
15324 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15325 Call abbrev_check_chars to check abbrev characters are word
15326 constituents. Doc fix.
15327
153282007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15329
15330 * process.c (Fstart_process, Fmake_network_process)
15331 (read_process_output): Fix up last changes.
15332
153332007-07-16 Eli Zaretskii <eliz@gnu.org>
15334
15335 * makefile.w32-in (clean): Don't delete *~.
15336
153372007-07-16 Andreas Schwab <schwab@suse.de>
15338
15339 * window.c (Fdisplay_buffer): Use NILP.
15340 (Fset_window_scroll_bars): Likewise.
15341
153422007-07-15 Martin Rudalics <rudalics@gmx.at>
15343
15344 * window.c (window_min_size_2): New function.
15345 (window_min_size_1, size_window, Fdisplay_buffer)
15346 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15347 windows without mode- or header-lines when window-min-height is
15348 too small.
15349 (size_window): Reset nodelete_p after testing it, following an
15350 earlier note by Kim F. Storm.
15351 (display_buffer): Do not set split_height_threshold to twice the
15352 value of window_min_height to avoid changing the value of a
15353 customizable variable. Rather explicitly check whether the
15354 height of the window that shall be splitted is at least as large
15355 as split_height_threshold.
15356 (Fwindow_full_width_p): New defun.
15357 (syms_of_window): Defsubr it.
15358
15359 * window.h: Add EXFUN for Fwindow_full_width_p.
15360
153612007-07-14 Jason Rumney <jasonr@gnu.org>
15362
15363 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15364
153652007-07-14 Richard Stallman <rms@gnu.org>
15366
15367 * eval.c (maybe_call_debugger): New function.
15368 (find_handler_clause): Use maybe_call_debugger.
15369 Call it when the handler says `debug'.
15370 Eliminate DEBUGGER_VALUE_PTR.
15371 (Fsignal): Eliminate debugger_value.
15372 (Qdebug): New variable.
15373 (syms_of_eval): Initialize it.
15374
153752007-07-14 Juanma Barranquero <lekktu@gmail.com>
15376
15377 * eval.c (Fprogn):
15378 * keyboard.c (Ftrack_mouse):
15379 * print.c (Fwith_output_to_temp_buffer):
15380 * window.c (Fsave_window_excursion): Doc fix.
15381
153822007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15383
15384 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15385
153862007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15387
15388 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15389 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15390 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15391 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15392 Remove unused encoding_carryover.
15393 * process.c: Adjust all functions accordingly.
15394
153952007-07-12 Richard Stallman <rms@gnu.org>
15396
15397 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15398
153992007-07-11 Jason Rumney <jasonr@gnu.org>
15400
15401 * makefile.w32-in (LIBS): Include OLE32.
15402
15403 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15404 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15405
154062007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15407
15408 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15409 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15410 from a Lisp_Object into a bare pointer.
15411 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15412 Adjust the code correspondingly.
15413
15414 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15415
15416 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15417 (term_show_mouse_face): Remove unused var `j'.
15418 (handle_one_term_event): Remove unused vars `i' and `j'.
15419 Don't cast return value of ttyname since it's not necessary.
15420
154212007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15422
15423 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15424 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15425
15426 * fns.c (map_char_table): Use an array of int for `indices' rather than
15427 an array of Lisp_Objects (which are only ever integers anyway).
15428 (Fmap_char_table): Update caller.
15429 * lisp.h: Update prototype.
15430 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15431 * fontset.c (Ffontset_info):
15432 * casetab.c (set_case_table): Update callers.
15433
15434 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15435
15436 * keymap.c (struct accessible_keymaps_data)
15437 (struct where_is_internal_data): New structures.
15438 (accessible_keymaps_1, where_is_internal_1): Use them to change
15439 interface to adhere to the one used by map_keymap.
15440 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15441 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15442
15443 * keymap.h (map_keymap_function_t): More informative prototype.
15444
154452007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15446
15447 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15448 (looking_at_1): Don't change search_regs and last_thing_searched
15449 if `inhibit-changing-match-data' is non-nil.
15450 (string_match_1, search_buffer, set_search_regs): Likewise.
15451 (syms_of_search): Add Lisp level definition for
15452 `inhibit-changing-match-data' and set it to nil.
15453 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15454 start and end of the match, instead of using values in search_regs.
15455
154562007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15457
15458 * minibuf.c (Fcompleting_read): New value `confirm-only'
15459 for `require-match'.
15460
154612007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15462
15463 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15464 part of the 2007-06-27 change to syms_of_fileio.
15465
154662007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15467
15468 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15469 Check WINDOWP before using XWINDOW. Consolidate return statements.
15470
154712007-06-27 Richard Stallman <rms@gnu.org>
15472
15473 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15474
154752007-06-27 Juanma Barranquero <lekktu@gmail.com>
15476
15477 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15478
154792007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15480
15481 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15482 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15483 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15484 (_free_internal, memalign): Use them.
15485 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15486 Initialize to PTHREAD_MUTEX_INITIALIZER.
15487 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15488 (morecore_nolock): Rename from morecore. All uses changed.
15489 Use only nolock versions of internal allocation functions.
15490 (_malloc_internal_nolock, _realloc_internal_nolock)
15491 (_free_internal_nolock): New functions created from
15492 _malloc_internal, _realloc_internal, and _free_internal.
15493 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15494 Copy hook value to automatic variable before its use.
15495 (memalign): Copy hook value to automatic variable before its use.
15496
154972007-06-26 Kenichi Handa <handa@m17n.org>
15498
15499 * coding.c (Ffind_operation_coding_system): Docstring improved.
15500 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15501
155022007-06-25 David Kastrup <dak@gnu.org>
15503
15504 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15505 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15506 cater for additional parameter.
15507
15508 * keymap.h: Adjust number of parameters to `current-active-maps'.
15509
15510 * doc.c (Fsubstitute_command_keys): Adjust call of
15511 `current-active-maps'.
15512
155132007-06-25 David Kastrup <dak@gnu.org>
15514
15515 * callint.c (Fcall_interactively): Make the parsing of interactive
15516 specs somewhat more readable.
15517
155182007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15519
15520 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15521 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15522 if extended background has already been filled.
15523
155242007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15525
15526 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15527 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15528
15529 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15530 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15531 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15532 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15533 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15534 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15535 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15536 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15537 Run timers during dialog popup.
15538 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15539
155402007-06-21 Jason Rumney <jasonr@gnu.org>
15541
15542 * image.c (convert_mono_to_color_image): Swap fore and background.
15543
155442007-06-20 Jason Rumney <jasonr@gnu.org>
15545
15546 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15547 (w32_free_bdf_font): Unmap memory not handle.
15548
155492007-06-20 Sam Steingold <sds@gnu.org>
15550
15551 * gmalloc.c (__morecore): Fix the declaration to comply with the
15552 definition.
15553
155542007-06-20 Juanma Barranquero <lekktu@gmail.com>
15555
15556 * w32term.c (w32_delete_display): Remove leftover declaration.
15557 (w32_define_cursor, w32_initialize): Make static.
15558
15559 * w32.c (_wsa_errlist): Fix typo in error message.
15560 (init_environment): Ignore any environment variable from the
15561 registry having a null value.
15562
155632007-06-20 Glenn Morris <rgm@gnu.org>
15564
15565 * Makefile.in (LIBGIF): Default to -lgif.
15566
155672007-06-17 Jason Rumney <jasonr@gnu.org>
15568
15569 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15570 unicode strings.
15571
155722007-06-16 Juanma Barranquero <lekktu@gmail.com>
15573
15574 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15575 Fix typo in docstring.
15576
155772007-06-16 Eli Zaretskii <eliz@gnu.org>
15578
15579 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15580 and their keybindings.
15581
155822007-06-15 Chong Yidong <cyd@stupidchicken.com>
15583
15584 * composite.c (update_compositions): Fix last fix.
15585
155862007-06-14 Jason Rumney <jasonr@gnu.org>
15587
15588 * w32.c (get_process_times_fn): New function pointer.
15589 (globals_of_w32): Intialize it if present in kernel32.dll.
15590 (w32_get_internal_run_time): New function.
15591
15592 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15593
155942007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15595
15596 * composite.c (update_compositions): Check the validness of
15597 compositions.
15598
155992007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15600
15601 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15602 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15603
15604 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15605 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15606
15607 * macgui.h (USE_MAC_TOOLBAR): New define.
15608
15609 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15610 Return immediately unless popup is activated.
15611
15612 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15613 background to scroll bar gap.
15614 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15615 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15616 scroll bars on frame edge. Check fringe background extension.
15617 Don't clear extended fringe background area.
15618 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15619 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15620 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15621 [USE_MAC_TOOLBAR]: New macros.
15622 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15623 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15624 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15625 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15626 [USE_MAC_TOOLBAR]: New functions.
15627 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15628 manually if previous repositioning has failed.
15629 (mac_handle_keyboard_event): Use precomputed event kind.
15630 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15631 as tool bar item click. Handle mouse movement over tool bar items.
15632
15633 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15634 toolbar_win_gravity.
15635 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15636 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15637 Add externs.
15638
15639 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15640 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15641
156422007-06-14 Chong Yidong <cyd@stupidchicken.com>
15643
15644 * image.c (search_image_cache): Remove unused variable.
15645
156462007-06-13 Chong Yidong <cyd@stupidchicken.com>
15647
15648 * xfns.c, xmenu.c: Link to xaw3d if available.
15649
156502007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15651
15652 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15653 frame_foreground and frame_background.
15654
15655 * image.c (lookup_image): Save frame foreground and background colors.
15656 (search_image_cache): Check if saved and current frame colors match.
15657
156582007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15659
15660 * regex.c (regex_compile): Remove the `regnum' counter.
15661 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15662
156632007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15664
15665 * term.c: Include intervals.h to declare Fget_text_property.
15666
156672007-06-10 Jason Rumney <jasonr@gnu.org>
15668
15669 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15670
156712007-06-08 Juanma Barranquero <lekktu@gmail.com>
15672
15673 * callint.c (Fcall_interactively):
15674 * editfns.c (Fdelete_and_extract_region):
15675 * fileio.c (Fread_file_name):
15676 * fns.c (Fmapconcat):
15677 * keyboard.c (cmd_error_internal):
15678 * keymap.c (Fkey_description):
15679 * lread.c (openp):
15680 * minibuf.c (read_minibuf):
15681 * search.c (wordify):
15682 * sunfns.c (sel_read):
15683 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15684 * xfns.c (x_default_scroll_bar_color_parameter):
15685 * xmenu.c (menu_help_callback):
15686 * xselect.c (Fx_get_atom_name):
15687 * xterm.c (x_term_init): Use empty_unibyte_string.
15688
156892007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15690
15691 * alloc.c (init_strings): Initialize canonical empty strings.
15692 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15693 canonical empty string when the requested size is 0.
15694
15695 * emacs.c (empty_unibyte_string): Rename from empty_string.
15696 (empty_multibyte_string): New canonical empty string.
15697 (syms_of_emacs): Don't initialize empty_string.
15698
15699 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15700 string, if appropriate.
15701 (empty_unibyte_string, empty_multibyte_string): New externs.
15702 (empty_string): Remove extern.
15703
15704 * lread.c (syms_of_lread): Use empty_unibyte_string.
15705
157062007-06-07 Jason Rumney <jasonr@gnu.org>
15707
15708 * s/ms-w32.h: Don't define HAVE_TZNAME.
15709
15710 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15711
157122007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15713
15714 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15715
15716 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15717 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15718
15719 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15720 Don't call next handler.
15721 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15722 Remove argument. Install handler to application.
15723 (set_frame_menubar): Don't change deep_p.
15724 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15725 FRAME_OUTER_TO_INNER_DIFF_Y.
15726 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15727 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15728 [HAVE_DIALOGS]: New macros.
15729 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15730 Use them.
15731 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15732
15733 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15734 init_service_handler. All callers changed. Return OSStatus value.
15735
15736 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15737 All callers changed so as not to call SetPortWindowPort.
15738 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15739 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15740 mac_draw_string_common.
15741 (mac_draw_image_string_qd): Likewise.
15742 (mac_draw_string_common): Use them. Add INLINE.
15743 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15744 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15745 GetGlobalMouse.
15746 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15747 and FRAME_OUTER_TO_INNER_DIFF_Y.
15748 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15749 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15750 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15751 repositioning window to mac_handle_window_event.
15752 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15753 saving window location to mac_handle_window_event
15754 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15755 (install_menu_target_item_handler): Remove argument in extern.
15756 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15757 Also accept command events.
15758 (do_keystroke): New function created from XTread_socket.
15759 (init_command_handler): Remove functions.
15760 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15761 and save window location by kEventWindowShowing and kEventWindowHiding
15762 handlers here. Don't call next handler for window state change and
15763 focus events.
15764 (mac_handle_application_event, mac_handle_keyboard_event)
15765 [TARGET_API_MAC_CARBON]: New functions.
15766 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15767 kEventWindowShowing and kEventWindowHiding events. Move installation
15768 of mouse, font, text input and menu target item handlers to
15769 install_application_handler.
15770 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15771 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15772 New function.
15773 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15774 Register it.
15775 (XTread_socket) [TARGET_API_MAC_CARBON]:
15776 Consolidate SendEventToEventTarget calls.
15777 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15778 Move application activation handler to mac_handle_application_event.
15779 Move keyboard handler to mac_handle_keyboard_event.
15780 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15781 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15782 init_command_handler. Call install_application_handler.
15783
15784 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15785 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15786
157872007-06-07 Glenn Morris <rgm@gnu.org>
15788
15789 * emacs.c (main): Use `emacs-copyright' in --version output.
15790
157912007-06-06 Chong Yidong <cyd@stupidchicken.com>
15792
15793 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15794
157952007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15796
15797 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15798
15799 * macgui.h: Replace WindowPtr with WindowRef.
15800
15801 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15802 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15803 Replace ControlHandle with ControlRef.
15804 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15805
15806 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15807 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15808 Replace ControlHandle with ControlRef.
15809 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15810 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15811
15812 * macterm.h (struct scroll_bar): Rename member control_handle_low
15813 and control_handle_high to control_ref_low and control_ref_high.
15814 All uses changed.
15815 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15816 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15817 respectively. All uses changed.
15818 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15819 (install_window_handler, remove_window_handler): Replace WindowPtr
15820 with WindowRef in externs.
15821
158222007-06-05 Juanma Barranquero <lekktu@gmail.com>
15823
15824 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15825
158262007-06-03 Nick Roberts <nickrob@snap.net.nz>
15827
15828 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15829
15830 * frame.c (Fmouse_position, Fmouse_pixel_position):
15831 Condition on HAVE_GPM too.
15832
15833 * term.c (term_mouse_highlight): Remove unused variables.
15834 (Fterm_open_connection): Set gpm_zerobased to 1.
15835 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15836 Use zero based co-ordinates.
15837 (handle_one_term_event): Report a drag as mouse movement too.
15838
15839 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15840
158412007-06-03 Chong Yidong <cyd@stupidchicken.com>
15842
15843 * image.c (search_image_cache): New function. Require background
15844 color match if background color is unspecified in the image spec.
15845 (uncache_image, lookup_image): Use it.
15846
158472007-06-01 Juanma Barranquero <lekktu@gmail.com>
15848
15849 * window.c (Fshrink_window): Reflow docstring.
15850
158512007-06-02 Chong Yidong <cyd@stupidchicken.com>
15852
15853 * Version 22.1 released.
15854
158552007-06-01 Richard Stallman <rms@gnu.org>
15856
15857 * xfns.c (x_encode_text): Add GCPRO.
15858
158592007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15860
15861 * xfns.c (x_set_name_internal): Save encoded name before
15862 x_encode_text in case string data is relocated.
15863
158642007-05-31 Richard Stallman <rms@gnu.org>
15865
15866 * buffer.c (syms_of_buffer): Doc fix.
15867
158682007-05-30 Nick Roberts <nickrob@snap.net.nz>
15869
15870 * sysdep.c (init_sys_modes): Add rather than replace with
15871 O_NONBLOCK.
15872
15873 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15874 term_mouse_moveto.
15875
15876 * termhooks.h (term_mouse_moveto): New extern.
15877
15878 * term.c (mouse_face_window): Rename...
15879 (Qmouse_face_window): ...to this.
15880 (term_show_mouse_face, term_clear_mouse_face)
15881 (term_mouse_highlight): Use Qmouse_face_window.
15882 (term_mouse_moveto): New function.
15883 (term_mouse_position): Make it work.
15884 (syms_of_term): Uncomment assignment to mouse_position_hook.
15885 Staticpro Qmouse_face_window.
15886
158872007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15888
15889 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15890 around current_column call.
15891
158922007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15893
15894 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15895 * xdisp.c (next_element_from_buffer):
15896 * window.c (delete_window):
15897 * term.c (term_mouse_highlight):
15898 * msdos.c (getdefdir):
15899 * macterm.c (mac_create_bitmap_from_bitmap_data)
15900 (init_font_name_table):
15901 * fns.c (Fsxhash):
15902 * data.c (Fmake_local_variable):
15903 * ccl.c (ccl_driver): Likewise.
15904
159052007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15906
15907 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15908 Call mac_wakeup_from_rne on window size change.
15909
159102007-05-25 Chong Yidong <cyd@stupidchicken.com>
15911
15912 * image.c (uncache_image): Fix typo.
15913
159142007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15915
15916 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15917
159182007-05-22 Richard Stallman <rms@gnu.org>
15919
15920 * xterm.c (x_connection_closed): Remove NO_RETURN.
15921
159222007-05-22 Martin Rudalics <rudalics@gmx.at>
15923
15924 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15925
159262007-05-21 Chong Yidong <cyd@stupidchicken.com>
15927
15928 * image.c (uncache_image): New function.
15929 (Fimage_refresh): New function.
15930
159312007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15932
15933 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15934
159352007-05-20 Nick Roberts <nickrob@snap.net.nz>
15936
15937 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15938 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15939
159402007-05-20 Nick Roberts <nickrob@snap.net.nz>
15941
15942 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15943 conditional on [HAVE_GPM_H].
15944
159452007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15946
15947 * syntax.c (skip_chars): Update syntax-table only after we checked that
15948 the new location is valid.
15949
159502007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15951
15952 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15953 mac_get_window_bounds.
15954
159552007-05-20 Nick Roberts <nickrob@snap.net.nz>
15956
15957 * Makefile.in (LIBGPM): Allow it to be set from configure.
15958 If set then link Emacs with it.
15959
15960 * config.in: Regenerate.
15961
15962 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15963 New externs.
15964
15965 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15966 Include gpm.h.
15967 (handle_one_term_event, term_gpm): New externs.
15968
15969 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15970 and allow it to be interrupted by SIGIO.
15971
15972 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15973 (wait_reading_process_output): Wait on gpm_fd too.
15974 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15975 (add_gpm_wait_descriptor_called_flag): New variable.
15976 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15977
15978 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15979 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15980 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15981 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15982 (make_lispy_event): Add case GPM_CLICK_EVENT.
15983 (read_avail_input): Handle mouse input.
15984
15985 * term.c (write_glyphs_with_face): New function.
15986 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15987 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15988 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15989 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15990 (last_mouse_x, last_mouse_y): New variables.
15991 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15992 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15993 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15994 (Fterm_close_connection): New functions.
15995 (term_init): Initialise mouse_face_window.
15996
159972007-05-19 Chong Yidong <cyd@stupidchicken.com>
15998
15999 * xdisp.c (redisplay_window): If first window line is a
16000 continuation line, recompute the new window start instead of
16001 recentering.
16002
160032007-05-18 Glenn Morris <rgm@gnu.org>
16004
16005 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16006 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16007
160082007-05-17 Glenn Morris <rgm@gnu.org>
16009
16010 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16011
160122007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16013
16014 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16015 dead key repeat and up events.
16016
160172007-05-14 Chong Yidong <cyd@stupidchicken.com>
16018
16019 * image.c (pbm_load): Check image size for monochrome pbm.
16020
160212007-05-13 Chong Yidong <cyd@stupidchicken.com>
16022
16023 * xterm.c (XTread_socket): Revert last change.
16024
160252007-05-12 Chong Yidong <cyd@stupidchicken.com>
16026
16027 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16028
16029 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16030
160312007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16032
16033 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16034 mixup (YAILOM).
16035
160362007-05-07 Andreas Schwab <schwab@suse.de>
16037
16038 * keymap.c (Flookup_key): Fix typo in last change.
16039
160402007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16041
16042 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16043 mapping for unibyte strings.
16044
160452007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16046
16047 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16048 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16049
160502007-04-29 Richard Stallman <rms@gnu.org>
16051
16052 * insdel.c (replace_range): For undo, record insertion first.
16053
160542007-04-29 Andreas Schwab <schwab@suse.de>
16055
16056 * lisp.h (VECSIZE): Use OFFSETOF.
16057
160582007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16059
16060 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16061 disabled lines.
16062
160632007-04-28 Richard Stallman <rms@gnu.org>
16064
16065 * lread.c (read_escape): In a string, \s is always space.
16066
160672007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16068
16069 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16070
16071 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16072 submenu for menu bar items.
16073
16074See ChangeLog.10 for earlier changes.
16075
16076;; Local Variables:
16077;; coding: utf-8
16078;; add-log-time-zone-rule: t
16079;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16080;; End:
16081
16082 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16083
16084 This file is part of GNU Emacs.
16085
16086 GNU Emacs is free software: you can redistribute it and/or modify
16087 it under the terms of the GNU General Public License as published by
16088 the Free Software Foundation, either version 3 of the License, or
16089 (at your option) any later version.
16090
16091 GNU Emacs is distributed in the hope that it will be useful,
16092 but WITHOUT ANY WARRANTY; without even the implied warranty of
16093 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16094 GNU General Public License for more details.
16095
16096 You should have received a copy of the GNU General Public License
16097 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16098
16099;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40