* emacs.c (daemon_pipe): Make non-static.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ff808935
DN
12008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * emacs.c (daemon_pipe): Make non-static.
4 (IS_DAEMON): Move definition ...
5 * lisp.h (IS_DAEMON): ... here.
6 (daemon_pipe): Declare.
7 (is_daemon): Remove.
8 * dispnew.c (init_display): Use IS_DAEMON.
9
fc012771
SM
102008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
11
12 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
13 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
14
15 * emacs.c (is_daemon): Remove.
16 (main): Don't set is_daemon.
17 (IS_DAEMON): New macro.
18 (Fdaemonp, Fdaemon_initialized): Use it.
19 (Fdaemon_initialized): Wrtie a char into the pipe to make sure the
20 parent exits.
21 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
22
d8bdbe6f
CY
232008-10-27 Chong Yidong <cyd@stupidchicken.com>
24
d1a072bf
CY
25 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
26 over-sized glyph, draw it with the default glyph width.
27
e2e325aa
CY
28 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
29 glyph, draw it with the default glyph width.
30
31 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
32 glyph, draw it with the default glyph width.
33
d8bdbe6f
CY
34 * xdisp.c (try_scrolling): When computing the distance from the
35 scroll margin to PT, try moving some distance past the window
36 bottom before giving up.
37
7bfac547
MR
382008-10-27 Martin Rudalics <rudalics@gmx.at>
39
40 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
41 (Fset_window_buffer): Explain in doc-string that a window can be
42 "strongly" dedicated to its buffer.
43
4ff029f6
DN
442008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
45
46 * emacs.c (daemon_name): New variable.
47 (main): Deal with --daemon=SERVER_NAME.
48 (Fdaemonp): Return a name if one was passed to --daemon.
49
5790ef40
DN
502008-10-26 Romain Francoise <romain@orebokech.com>
51
f9bd0df9 52 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
53 (main): Create a pipe before forking, make the parent exit only after
54 the child has closed its end of the pipe. Move closing the
55 descriptors ...
56 (Fdaemon_initialized): ... here. New function.
57
f5385255
SM
582008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
59
4d632321
SM
60 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
61 the previous unoptimized table.
62
f5385255
SM
63 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
64 the distinction between non-nil and non-t value of `dedicated'.
65
6c56a0f3
CY
662008-10-25 Chong Yidong <cyd@stupidchicken.com>
67
68 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 69 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 70
fec89261
MR
712008-10-25 Martin Rudalics <rudalics@gmx.at>
72
73 * window.c (Fget_buffer_window, Fdelete_windows_on)
74 (Freplace_buffer_in_windows): Make buffer argument optional and
75 rename to buffer_or_name.
76
34fcddd0
CY
772008-10-24 Chong Yidong <cyd@stupidchicken.com>
78
f5385255
SM
79 * xdisp.c (handle_single_display_spec, handle_display_prop):
80 Undo 2005-05-16 change.
34fcddd0
CY
81 (handle_stop): Pop iterator if it's loaded with an empty string.
82 (get_overlay_strings_1): Don't save iterator if it's loaded with
83 an empty string (bug#1201).
84
064766f2
KH
852008-10-24 Kenichi Handa <handa@m17n.org>
86
87 * ftfont.c (ftfont_otf_features): Fix previous change.
88 (ftfont_otf_capability): Check FeatureList.FeatureCount before
89 calling ftfont_otf_features.
90
f9bd0df9 912008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
92
93 * font.c (font_match_p): Fix for the case that a vector of
94 characters is in script-representative-chars.
95
1dae9197
MA
962008-10-24 Michael Albinus <michael.albinus@gmx.de>
97
98 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 99 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
100 (xd_read_queued_messages): Catch Qdbus_error from the macros.
101 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
102 macro. (Bug#1186).
103
f9bd0df9 1042008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
105
106 * s/sol2-10.h: New file.
107
878a4584
JB
1082008-10-23 Juanma Barranquero <lekktu@gmail.com>
109
110 * xdisp.c (fill_glyph_string): Fix typo in source (though the
111 poor beast has survived 9+ years and the jump from xterm.c!).
112
cd265ca6
MR
1132008-10-23 Martin Rudalics <rudalics@gmx.at>
114
115 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
116 Reword doc-string.
f5385255 117 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 118
472a4dc9
JB
1192008-10-23 Juanma Barranquero <lekktu@gmail.com>
120
121 * character.c (syms_of_character) <script-representative-chars>:
122 <unicode-category-table>: Doc fixes.
123
159bd5a2
NF
1242008-10-23 Noah Friedman <friedman@splode.com>
125
126 * coding.c (make_conversion_work_buffer): Check that
127 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
128 Fget_buffer_create.
129
49f9c344
KH
1302008-10-23 Kenichi Handa <handa@m17n.org>
131
132 * font.c (font_add_log): Check the values of extra properties.
133
12bb3111
MR
1342008-10-22 Martin Rudalics <rudalics@gmx.at>
135
136 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
137 Reword doc-string.
138 (Fset_window_parameter): Use NILP.
139 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 140 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 141
bbeb4e99
JB
1422008-10-22 Juanma Barranquero <lekktu@gmail.com>
143
144 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
145
1462008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
147
148 * nsfns.m (ns_appkit_version): New function.
149 (x-server-version): Use it.
150 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
151 (x-server-vendor): Don't check_ns().
152
153 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
154
a9b555d3
JB
1552008-10-22 Juanma Barranquero <lekktu@gmail.com>
156
157 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
158 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
159
4626499f
KH
1602008-10-22 Kenichi Handa <handa@m17n.org>
161
e3681952
KH
162 * syntax.c (scan_words): Call word_boundary_p instead of comparing
163 scripts.
164
4626499f
KH
165 * category.c (word_boundary_p): Check scripts instead of charset.
166 Handle nil value in word-separating-categories and
167 word-combining-categories.
168 (syms_of_category): Fix docstrings of word-separating-categories
169 and word-combining-categories.
170
1560f91a
EZ
1712008-10-21 Eli Zaretskii <eliz@gnu.org>
172
173 * coding.c (Fencode_coding_region, Fdecode_coding_region)
174 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
175
f4668441
MR
1762008-10-21 Martin Rudalics <rudalics@gmx.at>
177
178 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
179 Rename arg "buffer" to "buffer_or_name".
180 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
181 it optional.
182 (no_switch_window): Remove since the return value is not used.
a9b555d3 183 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
184 Consider window as dedicated when Fwindow_dedicated_p returns a
185 non-nil value.
186 * lisp.h: Remove prototype for no_switch_window.
187
fd75ddb2
JD
1882008-10-21 Jan Djärv <jan.h.d@swipnet.se>
189
190 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
191 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
192
07295713
KH
1932008-10-21 Kenichi Handa <handa@m17n.org>
194
195 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
196 check Vlatin_extra_code_table.
197
712adc82
EZ
1982008-10-20 Eli Zaretskii <eliz@gnu.org>
199
200 * fileio.c (Fset_file_modes): Doc fix.
201
f549eb0b
MA
2022008-10-19 Michael Albinus <michael.albinus@gmx.de>
203
204 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
205 in arrays.
206
aac0c6e3
MR
2072008-10-19 Martin Rudalics <rudalics@gmx.at>
208
209 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
210 Mention kill-buffer in doc-string.
211 (Fset_window_buffer): Reinsert tem check removed in last commit.
212 (Fenlarge_window, Fshrink_window): Have argument names and
213 doc-string follow Elisp manual more closely.
214
2152008-10-18 Eli Zaretskii <eliz@gnu.org>
216
217 * fileio.c (Fset_file_modes): Doc fix.
218
2192008-10-18 Martin Rudalics <rudalics@gmx.at>
220
221 * window.c (Fwindow_width, Fset_window_start)
222 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
223 (Fdelete_windows_on, Freplace_buffer_in_windows):
224 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
225 (Fwindow_dedicated_p): Make window argument optional.
226 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
227 (Fset_window_buffer): Respect any non-nil dedicated value for
228 window. Rename "buffer" argument to "buffer_or_name".
229
2302008-10-18 Ulrich Mueller <ulm@gentoo.org>
231
232 * m/sh3.h: New file, machine description for SuperH.
233
2342008-10-17 Martin Rudalics <rudalics@gmx.at>
235
236 * window.c (Fsplit_window): Rename arg horflag to horizontal.
237
2382008-10-17 Kenichi Handa <handa@m17n.org>
239
240 * ftfont.c (ftfont_otf_features): Fix indexing
241 gsub_gpos->FeatureList.Feature. Check the validity of indices.
242
2432008-10-16 Magnus Henoch <mange@freemail.hu>
244
245 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
246 (Fdbus_call_method_asynchronously): Ditto.
247 This change makes C-h f display the argument list.
248
2492008-10-16 Chong Yidong <cyd@stupidchicken.com>
250
251 * fileio.c (Fexpand_file_name): Doc fix.
252
253 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
254 of :foreground and :background equivalent to unspecified (20.x
255 compatibility).
256
2572008-10-15 Eli Zaretskii <eliz@gnu.org>
258
259 * buffer.c (syms_of_buffer): Doc fix.
260
2612008-10-14 Kenichi Handa <handa@m17n.org>
262
263 * font.c (font_clear_prop): When clearing font width, clear the
264 average width field too.
265
2662008-10-12 Andreas Schwab <schwab@suse.de>
267
268 * ftfont.c (ftfont_shape_by_flt): Make static.
269 * ftfont.h (ftfont_shape_by_flt): Don't declare.
270
271 * font.c: Don't include <m17n-flt.h>.
272
2732008-10-10 Eli Zaretskii <eliz@gnu.org>
274
275 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
276
2772008-10-09 Eli Zaretskii <eliz@gnu.org>
278
279 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
280 away code.
281
2822008-10-09 Chong Yidong <cyd@stupidchicken.com>
283
284 * dispnew.c (update_text_area): Avoid looping due to large glyph
285 overhangs (bug#1070).
286
2872008-10-09 Kenichi Handa <handa@m17n.org>
288
289 * fontset.c (face_for_char): If face->fontset is negative, just
290 return ascii_face.
291
f5385255
SM
292 * font.c (font_delete_unmatched): Fix previous change.
293 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
294
2952008-10-09 Martin Rudalics <rudalics@gmx.at>
296
297 * frame.c (Fraise_frame): On text-only terminals select frame in
298 order to make it visible. (Bug#1061)
299
3002008-10-08 Chong Yidong <cyd@stupidchicken.com>
301
302 * fontset.c (fontset_find_font): Check frame validity.
303
3042008-10-07 Chong Yidong <cyd@stupidchicken.com>
305
a9b555d3 306 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
307 (xg_display_close): Allow Emacs to close all displays (bug#985).
308
3092008-10-06 Andreas Schwab <schwab@suse.de>
310
f5385255 311 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
312
3132008-10-06 Chong Yidong <cyd@stupidchicken.com>
314
f5385255 315 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 316
a9b555d3 317 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
318
319 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
320 during initialization.
321
3222008-10-04 Eli Zaretskii <eliz@gnu.org>
323
324 * xdisp.c (redisplay_internal): If frame switched, redisplay the
325 whole thing on MSDOS frames as well as on a TTY.
326
327 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
328 well as for TTY.
329 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
330 well as on a TTY.
331
332 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
333 as well as for TTY.
334
335 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
336
337 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
338 MSDOS frames as well.
339
3402008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
341
342 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
343 correct arguments.
344 * menu.c (find_and_return_menu_selection) Add cast.
345
3462008-10-03 Glenn Morris <rgm@gnu.org>
347
348 * emacs.c (USAGE1): Add --daemon.
349
3502008-10-02 Eli Zaretskii <eliz@gnu.org>
351
352 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
353 100, so it's in percents as advertised.
354
3552008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
356
357 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
358 (ns_output.current_cursor, ns_output.desired_cursor)
359 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
360 (FRAME_NEW_CURSOR_COLOR): Remove.
361
362 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 363 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
364 enumeration (HOLLOW_BOX_CURSOR, etc.).
365
366 * nsterm.m (ns_frame_rehighlight): Remove commented code.
367 (draw_window_cursor): Simplify code.
f5385255
SM
368 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
369 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 370 updates manually.
a9b555d3
JB
371 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
372 Use core Emacs cursor types.
aac0c6e3
MR
373
374 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
375 NS.
376
3772008-10-02 Martin Rudalics <rudalics@gmx.at>
378
379 * process.c (Faccept_process_output): Fix doc-string.
380
3812008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
382
383 * gmalloc.c (__sbrk): Also define for uClibc.
384
385 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
386 for uClibc.
387
3882008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
389
390 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
391 styles.
392 (nsfont_open): Reenable the cache.
393
3942008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
395
396 * font.c (font_matching_entity): Reflect ATTRS in font selection.
397 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
398
3992008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
400
401 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
402 a suspended terminal.
403
4042008-09-30 Michael Albinus <michael.albinus@gmx.de>
405
406 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
407
4082008-09-30 Eli Zaretskii <eliz@gnu.org>
409
410 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
411
4122008-09-30 Chong Yidong <cyd@stupidchicken.com>
413
414 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
415 in a continued line coincides with a line beginning.
416
4172008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
418
419 * nsfont.m (nsfont_trait_distance): Fix bug.
420 (nsfont_list): Return a list rather than a vector (syncs with Handa
421 changes of 2008-05-14).
422 (nsfont_open): Improve logging.
423
4242008-09-29 Andreas Schwab <schwab@suse.de>
425
426 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
427
4282008-09-28 Martin Rudalics <rudalics@gmx.at>
429
430 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
431 name as char-resolve-modifiers.
432 Reported by: Markus Triska <markus.triska@gmx.at>
433
4342008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
435
436 * dispnew.c (init_display): Return earlier when running as a daemon.
437
4382008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
439
440 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
441
4422008-09-27 Eli Zaretskii <eliz@gnu.org>
443
444 * composite.c (Fcomposition_get_gstring)
445 (Fcompose_region_internal, Fcompose_string_internal)
446 (Ffind_composition_internal): Doc fix.
447 (syms_of_composite) <compose-chars-after-function>: Doc fix.
448 (syms_of_composite) <auto-composition-function>: Doc fix.
449 (syms_of_composite) <composition-function-table>: Doc fix.
450
4512008-09-25 Chong Yidong <cyd@stupidchicken.com>
452
453 * search.c (wordify): New argument for lax word-ends.
454 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
455
4562008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
457
458 * lisp.h (is_daemon): Declare.
459 * dispnew.c (init_display): Do not try to initialize the terminal
460 when running as a daemon.
461
4622008-09-22 Chong Yidong <cyd@stupidchicken.com>
463
464 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
465 x_display_pixel_height.
466
4672008-09-22 Martin Rudalics <rudalics@gmx.at>
468
469 * undo.c (record_point): Don't call Fundo_boundary for first
470 change. (Bug#731)
471
4722008-09-22 Juanma Barranquero <lekktu@gmail.com>
473
474 * emacs.c (Fdaemonp): Doc fix.
475
4762008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
477
478 * emacs.c (main): Place #ifdef in the proper place.
479
4802008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
481
482 * emacs.c (standard_args): Add --daemon.
483 (main): Disconnect from the terminal when --daemon is passed.
484 (is_daemon): New variable.
485 (Fdaemonp): New function.
486 (syms_of_emacs): Defsubr it.
487
4882008-09-20 Chong Yidong <cyd@stupidchicken.com>
489
490 * xdisp.c (get_next_display_element): Handle string display
491 correctly when checking for the end of a box run.
492
4932008-09-20 Glenn Morris <rgm@gnu.org>
494
495 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
496 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
497 (Frename_file): Avoid copying to trash if a rename involves
498 a delete. (Bug#964).
499
5002008-09-20 Eli Zaretskii <eliz@gnu.org>
501
502 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
503 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
504 frames as well as termcap frames.
505 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
506 get_named_tty.
507
5082008-09-19 Eli Zaretskii <eliz@gnu.org>
509
510 * process.c (procfs_system_process_attributes): Fix cmdline in
511 case /proc/PID/cmdline is empty.
512
513 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
514 x_display_pixel_height.
515
5162008-09-19 Juanma Barranquero <lekktu@gmail.com>
517
518 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
519
520 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
521 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
522
5232008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
524
525 * dispextern.h (struct it): Move line_wrap away from the middle of
526 bitfields. Move voffset in struct iterator_stack_entry after the
527 bitfields. Move tab_width near after another short.
528
5292008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
530
531 * frame.h (struct frame): Move alpha from the middle of bitfields.
532
533 * window.h (struct window): Move frozen_window_start_p after the
534 rest of the bitfields to reduce padding.
535
5362008-09-18 Chong Yidong <cyd@stupidchicken.com>
537
538 * xterm.h (x_display_info): Remove `height' and `width' members.
539
540 * nsterm.h (ns_display_info): Remove `height' and `width' members.
541
542 * w32term.h (w32_display_info): Remove `height', `width',
543 `height_in', and `width_in' members.
544
545 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
546 functions.
547 (x_calc_absolute_position): Use them.
548 (x_term_init): Omit removed `height' and `width' members.
549
550 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
551 functions.
552 (w32_read_socket, x_calc_absolute_position): Use them.
553 (w32_initialize_display_info, w32_term_init): Omit removed members
554 of w32_display_info.
555
556 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
557 functions.
558 (ns_initialize_display_info): Omit removed members of
559 ns_display_info.
560
561 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
562 functions.
563 (x_calc_absolute_position): Use them.
564 (x_term_init): Omit removed `height' and `width' members.
565
566 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
567 (compute_tip_xy): Use x_display_pixel_height and
568 x_display_pixel_width.
569
570 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
571 x_display_pixel_width.
572
573 * xmenu.c (menu_position_func): Use x_display_pixel_height and
574 x_display_pixel_width.
575
5762008-09-18 Kenichi Handa <handa@m17n.org>
577
578 * composite.c (fill_gstring_header): Don't check FROM and TO here.
579 (composition_compute_stop_pos): Fix handling of static composition.
580 (Fcomposition_get_gstring): Check FROM and TO at first.
581
5822008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
583
584 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
585 mixup (YAILOM).
586
5872008-09-17 Chong Yidong <cyd@stupidchicken.com>
588
589 * indent.c (Fvertical_motion): Use position reported by iterator
590 instead of PT for determining screen motion (bug#943).
591
5922008-09-17 Romain Francoise <romain@orebokech.com>
593
594 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
595
5962008-09-17 Kenichi Handa <handa@m17n.org>
597
598 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
599
600 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
601 if necessary.
602
6032008-09-16 Kenichi Handa <handa@m17n.org>
604
605 * coding.c (make_conversion_work_buffer): Avoid calling
606 Fget_buffer_create if it is not necessary.
607
6082008-09-15 Martin Rudalics <rudalics@gmx.at>
609
610 * window.c (Fselect_window): Don't update window_select_count and
611 use_time when norecord is not nil.
612
6132008-09-14 Kenichi Handa <handa@m17n.org>
614
615 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
616 specpdl_ptr.
617
6182008-09-12 Kenichi Handa <handa@m17n.org>
619
620 * indent.c (scan_for_column): Don't handle automatic composition
621 if the current buffer is not associated with a window.
622
623 * composite.c (composition_reseat_it): If the current buffer is
624 not associated with a window, ignore the automatic composition.
625 (find_automatic_composition): Likewise.
626
6272008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
628
629 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
630 (Fgpm_mouse_stop): Use it.
631 * termhooks.h (close_gpm): Declare.
632 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
633 connection if Gpm_GetEvent fails.
634
635 * window.c (set_window_buffer): Always preserve current-buffer.
636
6372008-09-12 Glenn Morris <rgm@gnu.org>
638
639 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
640
6412008-09-11 Glenn Morris <rgm@gnu.org>
642
643 * charset.c (charset-map-path): Doc fix.
644
6452008-09-10 Kenichi Handa <handa@m17n.org>
646
647 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
648
649 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
650 compose a grapheme cluster with the preceding base glyph.
651
652 * composite.c (composition_compute_stop_pos): Fix previous change.
653 Reset cmp_it->id to -1 at first.
654
6552008-09-10 Glenn Morris <rgm@gnu.org>
656
657 * Makefile.in (character.o, chartab.o): Fix config.h typo.
658
6592008-09-09 Chong Yidong <cyd@stupidchicken.com>
660
661 * keyboard.c (read_key_sequence): Reapply translation maps when
662 switching keyboards.
663
6642008-09-09 Kenichi Handa <handa@m17n.org>
665
666 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
667 characters.
668
669 * composite.c (FORWARD_CHAR): Fix calculation
670 of (POSITION).pos_byte.
671 (composition_compute_stop_pos): Limit the search of composition to
672 at most 500 characters ahead. If we reach the limit or find a
673 newline, set cmp_it->ch to -2 and return 0.
674 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
675
6762008-09-08 Kenichi Handa <handa@m17n.org>
677
678 * indent.c (Fvertical_motion): Be sure to set
679 it_overshoot_expected if it.cmp_it.id is non-negative.
680
6812008-09-07 Andreas Schwab <schwab@suse.de>
682
683 * callproc.c (Fcall_process): Don't hold references to string data
684 across garbage collection. Move initialisation of new_argv down
685 to avoid compiler bug.
686
6872008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
688
689 * process.c (Fsystem_process_attributes): Doc fix.
690
6912008-09-07 Chong Yidong <cyd@stupidchicken.com>
692
693 * callproc.c (Fcall_process): Canonicalize current directory name.
694
695 * xdisp.c (move_it_to): When moving by vpos, ensure that the
696 iterator advances to the next line if the current line ends in a
697 continued tab.
698
6992008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
700
701 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
702 member to point to cmp_from.
703
704 * xdisp.c: Doc fix for references to gidx data member.
705
7062008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
707
708 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
709
7102008-09-07 Kenichi Handa <handa@m17n.org>
711
712 * composite.c (FORWARD_CHAR): Check STOP after
713 incrementing (POSITION).pos.
714
7152008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
716
717 * process.c (Fsystem_process_attributes): Doc fix.
718
7192008-09-06 Chong Yidong <cyd@stupidchicken.com>
720
721 * keyboard.c (Ftop_level): Doc fix.
722
7232008-09-06 Eli Zaretskii <eliz@gnu.org>
724
725 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
726 minibuffer, don't let lower part of menu invade the echo area.
727
728 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
729 "char *q" to access menu text and advance through it. Revert the
730 change that displayed ">" instead of ASCII character 0x10.
731
7322008-09-05 Eli Zaretskii <eliz@gnu.org>
733
734 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
735 toggle boxes and radio buttons on MS-DOS as well.
736
7372008-09-05 Kenichi Handa <handa@m17n.org>
738
739 * composite.c (autocmp_chars): Check lookback count.
740 (composition_compute_stop_pos): Set cmp_it->lookback.
741 (composition_reseat_it): Check lookback count.
742 (struct position_record): New struct.
743 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
744 (find_automatic_composition): New function.
745 (composition_adjust_point): Use find_automatic_composition.
746
747 * dispextern.h (struct composition_it): New member lookback.
748
7492008-09-02 Chong Yidong <cyd@stupidchicken.com>
750
751 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
752 if moving by a single line.
753
7542008-09-02 Andreas Schwab <schwab@suse.de>
755
756 * xterm.c (x_delete_display): Fix merge error.
757
758 * fileio.c (Fexpand_file_name): Remove unused variables.
759
7602008-09-02 Eli Zaretskii <eliz@gnu.org>
761
762 * fileio.c (Fexpand_file_name): Copy argument `name' into local
763 storage on all platforms, not just on DOS_NT.
764
7652008-09-02 Jason Rumney <jasonr@gnu.org>
766
767 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
768 mouse is not grabbed after menu is finished.
769
7702008-09-01 Chong Yidong <cyd@stupidchicken.com>
771
772 * xfaces.c (Finternal_set_alternative_font_family_alist)
773 (Finternal_set_alternative_font_registry_alist): Properly copy
774 entire alist structure.
775
7762008-09-01 Kenichi Handa <handa@m17n.org>
777
778 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
779 representative chars of the script is a vector.
780 (ftfont_list): Handle the case the representative chars of the
781 script is a vector.
782
783 * character.c (syms_of_character): Docstring of
784 script-representative-chars fixed.
785
7862008-08-31 Eli Zaretskii <eliz@gnu.org>
787
788 * msdos.c (BUILD_CHAR_GLYPH): New macro.
789 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
790 the menu. Allocate larger buffer for `text', to account for
791 possible ^C characters.
792
7932008-08-31 Martin Rudalics <rudalics@gmx.at>
794
795 * xdisp.c (prepare_menu_bars): Don't call
796 Vwindow_size_change_functions with arg Qt.
797
7982008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
799
800 * font.h (font_range):
801 * fileio.c (report_file_error):
802 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
803
8042008-08-30 Glenn Morris <rgm@gnu.org>
805
806 * data.c (Fmake_variable_frame_local): Doc fix.
807
808 * frame.c (Fmodify_frame_parameters): Doc fix.
809
8102008-08-30 Eli Zaretskii <eliz@gnu.org>
811
812 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
813 needed by GetTokenInformation.
814 (w32_system_process_attributes): Check return values of all system
815 APIs.
816
817 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
818 only when the state changes.
819 (IT_update_begin, IT_update_end): Add termscript trace.
820
821 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
822 clipboard is unavailable. Set dst to NULL if it doesn't point to
823 malloc'ed data.
824 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
825 passing random values to xfree.
826
827 * dispnew.c (init_display): Set `tty's association in frame's
828 parameters alist to the name of the terminal device, if that is
829 known.
830
8312008-08-29 Jason Rumney <jasonr@gnu.org>
832
833 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
834
8352008-08-29 Eli Zaretskii <eliz@gnu.org>
836
837 * composite.c (fill_gstring_body): Avoid compiler warnings.
838
839 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
840 LGLYPH_SET_CODE to avoid compiler warnings.
841
842 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
843
844 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
845
846 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
847 LGLYPH_SET_CODE.
848
8492008-08-29 Kenichi Handa <handa@m17n.org>
850
851 * fileio.c (report_file_error): Don't downcase the first character
852 of errstring if it is still unibyte.
853
8542008-08-29 Kenichi Handa <handa@m17n.org>
855
856 These changes are to re-implement the automatic composition so
857 that it doesn't use text properties.
858
859 * Makefile.in (ftfont.o): Depend on composite.h.
860 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
861
862 * character.h (Vunicode_category_table): Extern it.
863
864 * character.c (Vunicode_category_table): New variable.
865 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
866
867 * chartab.c (optimize_sub_char_table): Perform more greedy
868 optimization.
869
870 * composite.h (enum composition_method): Delete
871 COMPOSITION_WITH_GLYPH_STRING.
872 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
873 (Vcomposition_function_table): Extern it.
874 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
875 (composition_gstring_put_cache, composition_gstring_from_id)
876 (composition_gstring_p, composition_gstring_width)
877 (composition_compute_stop_pos, composition_reseat_it)
878 (composition_update_it, composition_adjust_point): Extern them.
879 (Fcomposition_get_gstring): EXFUN it.
880
881 * composite.c: Include window.h, frame.h, dispextern.h font.h.
882 (Vcomposition_function_table)
883 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
884 (gstring_hash_table, gstring_work, gstring_work_headers): New
885 variables.
886 (gstring_lookup_cache, composition_gstring_put_cache)
887 (composition_gstring_from_id, composition_gstring_p)
888 (composition_gstring_width, fill_gstring_header)
889 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
890 (composition_reseat_it, composition_update_it)
891 (composition_adjust_point, Fcomposition_get_gstring): New
892 functions.
893 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
894 and gstring_work_headers. DEFVAR_LISP composition-function-table.
895 Defsubr compostion_get_gstring.
896
897 * dispextern.h (struct glyph): New union u.cmp. Delete the member
898 cmp_id.
899 (struct glyph_string): Delete the member gidx. New members
900 cmp_id, cmp_from, and cmp_to.
901 (enum it_method): Delete GET_FROM_COMPOSITION.
902 (struct composition_it): New struct.
903 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
904 Delete c, len, cmp_id, cmp_len in u.comp.
905
906 * font.h (enum lgstring_indices): Delete it.
907 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
908 (enum lglyph_indices): Likewise.
909 (font_range): Extern adjusted.
910 (font_fill_lglyph_metrics): Extern it.
911
912 * font.c (QCf): New variable.
913 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
914 (font_prepare_composition): Delete this function.
915 (font_range): Type and arguments changed.
916 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
917 (font_fill_lglyph_metrics): New function.
918 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
919 changed.
920 (syms_of_font): DEFSYM QCf. Delete defsubr for
921 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
922 Sfont_shape_gstring.
923
924 * fontset.h (font_for_char): Extern it.
925
926 * fontset.c (font_for_char): New function.
927
928 * ftfont.c: Include composite.h.
929 (ftfont_resolve_generic_family): Add langset "en" to pattern.
930 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
931 LGSTRING_LENGTH.
932
933 * indent.c: Include composite.h and dispextern.h.
934 (check_composition): Delete this function.
935 (scan_for_column): Handle composition by
936 composition_compute_stop_pos, composition_reseat_it, and
937 composition_update_it.
938 (compute_motion): Likewise.
939 (Fvertical_motion): Fix checking of composition.
940
941 * keyboard.c (adjust_point_for_property): Check composition by
942 composition_adjust_point.
943
944 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
945 struct glyph_string.
946
947 * term.c (encode_terminal_code): Adjusted for the change of struct
948 glyph.
949 (append_composite_glyph): Adjusted for the change of struct it and
950 struct glyph.
951 (produce_composite_glyph): Likewise.
952
953 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
954 for the change of struct glyph_string.
955 (x_draw_glyph_string): Likewise.
956
957 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
958 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
959
960 * xdisp.c: Include font.h.
961 (it_props): Delete the entry for Qauto_composed.
962 (init_iterator): Initialize it->cmp_it.id to -1.
963 (compute_stop_pos): Call composition_compute_stop_pos.
964 (face_before_or_after_it_pos): Adjusted for the change of struct
965 it.
966 (handle_auto_composed_prop): Delete it.
967 (handle_composition_prop): Handle only static composition.
968 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
969 from xassert. Initialize it->cmp_it.stop_pos.
970 (push_it): Adjusted for the change of struct it.
971 (pop_it): Likewise.
972 (get_next_element): Delete next_element_from_composition.
973 (CHAR_COMPOSED_P): New macro.
974 (get_next_display_element): For automatic composition, get a face
975 from the font in the glyph-string.
976 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
977 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
978 case.
979 (next_element_from_string): Check if the character at the current
980 position is composed by CHAR_COMPOSED_P.
981 (next_element_from_buffer): Likewise.
982 (next_element_from_composition): Adjusted for the change of struct
983 it. Update it->cmp_it.
984 (dump_glyph): Adjusted for the change of struct glyph.
985 (fill_composite_glyph_string): Adjusted for the change of struct
986 it and struct glyph. Don't handle automatic composition here.
987 (fill_gstring_glyph_string): New function.
988 (x_get_glyph_overhangs): Handle automatic composition.
989 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
990 glyph.
991 (BUILD_GSTRING_GLYPH_STRING): New macro.
992 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
993 automatic composition.
994 (append_composite_glyph): Adjusted for the change of struct it and
995 struct glyph.
996 (x_produce_glyphs): Adjusted for the change of struct it.
997
998 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
999 the change of struct glyph_string.
1000 (x_draw_glyph_string): Likewise.
1001
10022008-08-29 Glenn Morris <rgm@gnu.org>
1003
1004 * buffer.c (word-wrap): Doc fix.
1005 * xdisp.c (truncate-partial-width-windows): Doc fix.
1006 Increase default to 50.
1007
10082008-08-29 Chong Yidong <cyd@stupidchicken.com>
1009
1010 * xdisp.c (update_tool_bar_unwind): New function.
1011 (update_tool_bar): Temporarily set selected frame before building
1012 tool-bar items.
1013
10142008-08-28 Michael Albinus <michael.albinus@gmx.de>
1015
1016 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1017 snprintf, respectively.
1018 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1019
10202008-08-28 Chong Yidong <cyd@stupidchicken.com>
1021
1022 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1023 LDFLAGS to GNUstep CC invocation.
1024
10252008-08-27 Chong Yidong <cyd@stupidchicken.com>
1026
1027 * indent.c (Fvertical_motion): Revert last change. Handle the
1028 general case where we are moving forward, and PT spans multiple
1029 screen lines.
1030
1031 * eval.c (find_handler_clause): Temporarily increase
1032 max-lisp-eval-depth while printing the backtrace buffer, to
1033 guarantee that help-mode code can run.
1034
10352008-08-27 Eli Zaretskii <eliz@gnu.org>
1036
1037 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1038 colors under -rv.
1039 (IT_set_frame_parameters): Don't swap foreground and background
1040 colors if `(reverse . t)' is present in the frame properties.
1041 (internal_terminal_init): Call init_frame_faces only for the
1042 initial frame.
1043
10442008-08-27 Andreas Schwab <schwab@suse.de>
1045
1046 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1047
10482008-08-27 Andreas Schwab <schwab@suse.de>
1049
1050 * search.c (search_buffer): Set char_base to zero only at the end.
1051
10522008-08-27 Kenichi Handa <handa@m17n.org>
1053
1054 * fileio.c (report_file_error): Fix handling of multibyte error
1055 string.
1056
10572008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1058
1059 * xterm.c (x_term_init): Temporarily hide the partially
1060 initialized terminal while calling vendor-specific-keysyms.
1061
10622008-08-26 Eli Zaretskii <eliz@gnu.org>
1063
1064 * msdos.c (internal_terminal_init): Most initializations done only
1065 once, especially initial_screen_colors[] and termscript open.
1066
10672008-08-26 Chong Yidong <cyd@stupidchicken.com>
1068
1069 * eval.c (Fcondition_case): Doc fix.
1070
1071 * widgetprv.h (EmacsFramePart): Change font member to the new font
1072 struct.
1073
1074 * widget.c: Include character.h and font.h for XSETFONT.
1075 (setup_frame_gcs): Compute X font id from font struct, just once.
1076
10772008-08-26 Eli Zaretskii <eliz@gnu.org>
1078
1079 * term.c (get_named_tty): Fix last change.
1080
10812008-08-26 Chong Yidong <cyd@stupidchicken.com>
1082
1083 * indent.c (Fvertical_motion): If moving forward starting from a
1084 multi-line string, move the iterator to the last line of that
1085 string.
1086
10872008-08-25 Eli Zaretskii <eliz@gnu.org>
1088
1089 * frame.c (do_switch_frame): Mark previously displayed frame as
1090 obscured for FRAME_MSDOS_P frames as well.
1091
10922008-08-24 Eli Zaretskii <eliz@gnu.org>
1093
1094 * frame.c (make_terminal_frame): Initialize f->terminal,
1095 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1096 Set the top frame to newly created frame.
1097 (Fmake_terminal_frame): Reuse the_only_display_info.
1098
1099 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1100 estimating available memory.
1101
11022008-08-23 David Reitter <david.reitter@gmail.com>
1103
1104 * nsterm.m (ns_draw_window_cursor): Don't call
1105 NSDisableScreenUpdates and NSEnableScreenUpdates on
1106 non-NS_IMPL_COCOA systems.
1107
11082008-08-23 Andreas Schwab <schwab@suse.de>
1109
1110 * process.c (procfs_system_process_attributes): Fix use of
1111 uninitialized variables.
1112
11132008-08-23 Eli Zaretskii <eliz@gnu.org>
1114
1115 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1116
1117 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1118 calling tty-set-up-initial-frame-faces.
1119
1120 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1121 MSDOS frames along with X frames.
1122
1123 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1124 addition to output_termcap.
1125
1126 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1127
1128 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1129 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1130 highlight.
1131
1132 * process.c [!subprocesses]: Define QCname.
1133 (syms_of_process): Intern and staticpro it.
1134
1135 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1136 Adjust for changes in encoding/decoding routines. Use
1137 encode_coding_object and decode_coding_object instead of
1138 encode_coding and decode_coding.
1139
1140 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1141 argument.
1142
1143 * dosfns.c: Include frame.h before termhooks.h.
1144 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1145 variable termscript.
1146
1147 * s/msdos.h (USER_FULL_NAME): Define.
1148 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1149
1150 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1151 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1152 pw->pw_gecos.
1153
1154 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1155 SELECTED_FRAME as additional (1st) argument.
1156 (tty_read_avail_input): Handle output_msdos_raw in
1157 addition to output_termcap.
1158
1159 * msdos.c: Include frame.h before termhooks.h.
1160 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1161 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1162 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1163 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1164 (IT_set_terminal_modes, IT_reset_terminal_modes)
1165 (IT_set_frame_parameters): Use tty->termscript instead of a global
1166 variable termscript.
1167 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1168 global variable terminal_coding. Don't refer to
1169 Vnonascii_translation_table.
1170 (internal_terminal_init): Set Vwindow_system in current_kboard.
1171 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1172 Announce date and time of session start, if termscript is open.
1173 Don't zero out the_only_display_info (it is done in
1174 term.c:init_tty). Open termscript only of not already open. Log
1175 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1176 here instead of dos_ttraw. Don't initialize display if this is an
1177 initial tty. Don't set FRAME_FONT.
1178 (Vwindow_system_version): Bump to 23.
1179 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1180 is available, set up mouse_position_hook.
1181 (dos_ttraw, IT_set_terminal_modes): If called with initial
1182 terminal, do nothing.
1183 (IT_set_frame_parameters): Handle the Qtty_type frame
1184 parameter by calling internal_terminal_init.
1185 (dos_set_window_size, show_mouse_face)
1186 (clear_mouse_face, IT_note_mode_line_highlight)
1187 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1188 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1189 (initialize_msdos_display): New function.
1190 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1191 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1192 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1193 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1194 Accept additional argument: a pointer to a frame. All callers
1195 changed.
1196 (request_sigio, unrequest_sigio): Don't define, now defined on
1197 sysdep.c.
1198 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1199
1200 * term.c [MSDOS]: Include msdos.h.
1201 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1202 conditional to DOS_NT. Allow only one call to this function in a
1203 session. Don't allocate a new struct tty_display_info; instead,
1204 reuse the_only_display_info. Call get_tty_size to get screen
1205 dimensions. Call init_baud_rate to set bad_rate.
1206 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1207 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1208 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1209 stdin/stdout.
1210 (get_tty_terminal, get_named_tty, Ftty_type)
1211 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1212 output_termcap.
1213 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1214 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1215 only when subprocesses are supported
1216
1217 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1218 f->output_data.x.
1219 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1220 terminal devices.
1221
1222 * msdos.h Remove definition of struct x_display_info and struct
1223 x_output.
1224 (FRAME_FONT): Use output_data.tty.
1225 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1226 (struct x_display_info): Renamed from display_info. All users in
1227 msdos.c changed.
1228 (struct x_output): Remove background_pixel and foreground_pixel.
1229 (the_only_display_info): Renamed from the_only_x_display.
1230 (dos_ttraw): Update prototype.
1231
1232 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1233 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1234
12352008-08-23 Jason Rumney <jasonr@gnu.org>
1236
1237 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1238 (fn_TIFFSetDirectory): New library function used.
1239 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1240 (tiff_load): Use :index to select among multiple images. Set count
1241 property when multiple images exist.
1242 (gif_format): Use :index, not :image.
1243
12442008-08-23 Chong Yidong <cyd@stupidchicken.com>
1245
1246 * xdisp.c (try_scrolling): Check INT_MAX instead of
1247 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1248 to obtain INT_MAX.
1249
12502008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1251
1252 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1253
12542008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1255
1256 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1257 GNUstep library location.
1258
12592008-08-21 Chong Yidong <cyd@stupidchicken.com>
1260
1261 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1262 before using it.
1263
1264 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1265
12662008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1267
1268 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1269 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1270 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1271 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1272 (EmacsApp-cursor_blink_handler): Remove declaration.
1273 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1274 match 01 Feb 2008 changes in xterm.c.
1275 (ns_read_socket): Add cast to avoid warning.
1276 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1277 GNUstep.
1278
12792008-08-20 Chong Yidong <cyd@stupidchicken.com>
1280
1281 * xselect.c (x_get_foreign_selection): Return nil if desired
1282 selection could not be obtained, instead of signalling an error.
1283
12842008-08-20 David Reitter <david.reitter@gmail.com>
1285
1286 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1287 * nsterm.m: Remove ns-specific code for cursor blinking.
1288 (ns_draw_window_cursor): Clear cursor properly rather than
1289 redrawing the area. Respect width of bar cursors.
1290 These changes enable the use of generic blink-cursor-mode and
1291 generic cursor types in NS and support smooth cursor movements (do
1292 not blink off after command).
1293 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1294 Nextstep, too.
1295
12962008-08-19 Kenichi Handa <handa@m17n.org>
1297
1298 * font.c (Vfont_log_deferred): New variable.
1299 (font_add_log): Check Vfont_log_deferred.
1300 (font_deferred_log): New function.
1301
1302 * font.h (font_deferred_log): Extern it.
1303
1304 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1305 for sorting.
1306 (face_for_char): Use deferred log.
1307
13082008-08-18 Kenichi Handa <handa@m17n.org>
1309
1310 * fontset.c (face_for_char): Add font log.
1311
1312 * font.c (font_add_log): Add the font properties :script, :lang,
1313 and :otf in the log.
1314
13152008-08-17 Chong Yidong <cyd@stupidchicken.com>
1316
1317 * xdisp.c: Remove dead code.
1318 (handle_invisible_prop, next_overlay_string): Defer call to
1319 setup_for_ellipsis.
1320 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1321
13222008-08-15 Chong Yidong <cyd@stupidchicken.com>
1323
1324 * xfaces.c (lookup_derived_face): Properly handle possible zero
1325 return value of get_lface_attributes.
1326 (merge_faces): Don't tell lookup_derived_face to signal an error
1327 if face is not found.
1328
1329 * dired.c (Fdirectory_files): Doc fix.
1330
1331 * process.c (make_process): Initialize kill_without_query struct
1332 member.
1333
13342008-08-15 Eli Zaretskii <eliz@gnu.org>
1335
1336 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1337 Alternative calculation of totphys for Visual Studio 6.
1338
1339 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1340
1341 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1342 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1343 All users changed.
1344 (stat): Only root directory passed to GetDriveType. Allow RAM
1345 disk as well as local fixed disk when w32-get-true-file-attributes
1346 is set to `local'.
1347 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1348 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1349 (w32_cached_id, w32_add_to_cache): New functions.
1350 (get_name_and_id): Look account names in the cache before calling
1351 lookup_account_sid.
1352 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1353 New initialization flags.
1354 (globals_of_w32): Initialize them to zero.
1355 (w32_system_process_attributes): Use w32_cached_id and
1356 w32_add_to_cache.
1357
13582008-08-14 Lawrence Mitchell <wence@gmx.li>
1359
1360 * lread.c (Fread_char, Fread_char_exclusive): If no character
1361 event is read before timeout is reached, return nil, rather than
1362 converting to a number.
1363
13642008-08-14 Chong Yidong <cyd@stupidchicken.com>
1365
1366 * fns.c (use_dialog_box): Doc fix.
1367
1368 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1369 on OS X.
1370
13712008-08-13 Chong Yidong <cyd@stupidchicken.com>
1372
1373 * frame.c (Qns_parse_geometry): New var.
1374 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1375
13762008-08-11 Chong Yidong <cyd@stupidchicken.com>
1377
1378 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1379 space character in calculating tabs.
1380
13812008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1382
1383 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1384
13852008-08-10 Glenn Morris <rgm@gnu.org>
1386
1387 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1388 silence gcc "limited range of data type" warnings in some
1389 make_fixnum_or_float calls.
1390
13912008-08-09 Eli Zaretskii <eliz@gnu.org>
1392
1393 * w32.c (w32_system_process_attributes): If the process does not
1394 exist, return nil.
1395
1396 * w32.c: Include thelp32.h, psapi.h and coding.h.
1397 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1398 declarations.
1399 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1400 (Process32Next_Proc): New typedefs.
1401 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1402 (g_b_init_process32_next, g_b_init_open_thread_token)
1403 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1404 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1405 (g_b_init_get_process_working_set_size)
1406 (g_b_init_global_memory_status_ex): New static variables.
1407 (globals_of_w32): Initialize them.
1408 (create_toolhelp32_snapshot, process32_first, process32_next)
1409 (open_thread_token, impersonate_self, revert_to_self)
1410 (get_process_memory_info, get_process_working_set_size)
1411 (global_memory_status, global_memory_status_ex): New wrapper
1412 functions.
1413 (w32_list_system_processes, w32_system_process_attributes)
1414 (enable_privilege, restore_privilege, ltime, process_times):
1415 New functions.
1416 (convert_time_raw): New function.
1417 (convert_time): Remove conversion of FILETIME into time in 100
1418 nsec units, call convert_time_raw instead.
1419
1420 * process.h (w32_list_system_processes, w32_system_process_attributes):
1421 Add prototypes.
1422 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1423 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1424 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1425 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1426
1427 * process.c (Fsystem_process_attributes): Doc fix.
1428
14292008-08-08 Chong Yidong <cyd@stupidchicken.com>
1430
1431 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1432 a continued multi-char glyph; if so, advance to the actual glyph.
1433
14342008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1435
1436 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1437
1438 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1439 (.m.o): Use it.
1440 * config.in: Regenerate.
1441
14422008-08-07 Chong Yidong <cyd@stupidchicken.com>
1443
1444 * xdisp.c (redisplay_window): Revert last change.
1445 (try_window): Check bottom scroll margin too.
1446
14472008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1448
1449 * config.in: Regenerate.
1450
1451 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1452 -list-load-path-shadows'.
1453 (nsgui.h): Reduce number of things depending on it.
1454
14552008-08-06 Chong Yidong <cyd@stupidchicken.com>
1456
1457 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1458 instead of window-end which does the wrong thing at eob.
1459 (try_cursor_movement): Minor optimization.
1460 (redisplay_window): If scroll margin is defined, don't assume
1461 window doesn't need scrolling.
1462
14632008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1464
1465 * config.in: Regenerate.
1466
1467 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1468 (mostlyclean): Don't delete *.d under NS.
1469
1470 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1471
14722008-08-06 Kenichi Handa <handa@m17n.org>
1473
1474 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1475
14762008-08-06 Andreas Schwab <schwab@suse.de>
1477
1478 * config.in: Regenerate.
1479
14802008-08-05 Chong Yidong <cyd@stupidchicken.com>
1481
1482 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1483 forcing a window start.
1484
1485 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1486 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1487
14882008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1489
1490 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1491 argument.
1492
14932008-08-05 Juanma Barranquero <lekktu@gmail.com>
1494
1495 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1496 <scroll-down-aggressively, before-change-functions>:
1497 <after-change-functions>: Reflow docstrings.
1498
14992008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1500 Ken Raeburn <raeburn@gnu.org>
1501
1502 Dock menu customization, based on a patch by Ken Raeburn, plus some
1503 other fixes.
1504 * nsmenu.m (dockMenu): New variable.
1505 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1506
1507 * nsterm.h (dockMenu): Declare.
1508
1509 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1510 (ns_term_init): Initialize dockMenu.
1511 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1512 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1513 left.
1514
1515 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1516
15172008-08-04 Chong Yidong <cyd@stupidchicken.com>
1518
1519 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1520
1521 * config.in: Regenerate.
1522
15232008-08-04 Seiji Zenitani <zenitani@mac.com>
1524
1525 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1526
15272008-08-04 Chong Yidong <cyd@stupidchicken.com>
1528
1529 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1530
15312008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1532
1533 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1534
1535 * keyboard.h: Comment an #endif.
1536
1537 * lisp.h (have_menus_p): Adjust comment.
1538
1539 * menu.c (find_and_return_menu_selection): Fix comparison with
1540 client_data.
1541
1542 * nsmenu.m (popup_activated_flag): New variable.
1543 (popup_activated): New function.
1544 (menu-or-popup-active-p): New exported lisp definition.
1545 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1546 when popup done.
1547 (ns_popup_dialog): Set popup_activated_flag.
1548
1549 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1550 version for GNUstep (handled by conditional typedef in nsterm.m).
1551 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1552 in rgb.txt).
1553
1554 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1555
1556 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1557
1558 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1559
1560 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1561 shortcircuit if popup_activated like GTK and X toolkit.
1562
1563 * m/inter386.h: Change DARWIN to DARWIN_OS.
1564
1565 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1566 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1567 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1568 comment on NO_SOCK_SIGIO.
1569
15702008-08-03 Chong Yidong <cyd@stupidchicken.com>
1571
1572 * nsterm.m (windowDidResize): Remove stopModal call.
1573
15742008-08-03 Andreas Schwab <schwab@suse.de>
1575
1576 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1577 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1578
15792008-08-02 Chong Yidong <cyd@stupidchicken.com>
1580
1581 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1582 Don't use uninitialized pointer variable when using getrlimit.
1583
15842008-08-02 Jason Rumney <jasonr@gnu.org>
1585
1586 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1587
15882008-08-02 Eli Zaretskii <eliz@gnu.org>
1589
1590 * alloc.c (NSTATICS): Bump to 0x640.
1591
1592 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1593
1594 * lisp.h: Add prototype for directory_files_internal.
1595
1596 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1597 New functions.
1598 (syms_of_process): Defsubr them. Add initializations for various
1599 Q* symbols used in procfs_system_process_attributes.
1600 (procfs_list_system_processes, procfs_system_process_attributes)
1601 [HAVE_PROCFS]: New functions.
1602 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1603 (procfs_get_total_memory): New functions.
1604
16052008-08-01 Juanma Barranquero <lekktu@gmail.com>
1606
1607 * xfaces.c (Fx_load_color_file): Fix previous change;
1608 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1609
16102008-08-01 Michael Albinus <michael.albinus@gmx.de>
1611
1612 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1613
16142008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1615
1616 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1617
16182008-08-01 Chong Yidong <cyd@stupidchicken.com>
1619
1620 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1621
1622 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1623 define NSApplicationDelegateReplySuccess.
1624 (EmacsView -converstationIdentifier): Use long instead of
1625 NSInteger for GNUstep, since it doesn't have NSInteger.
1626
1627 * xmenu.c: Revert last change.
1628
1629 * keyboard.h: Fix last change.
1630
16312008-08-01 Juanma Barranquero <lekktu@gmail.com>
1632
1633 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1634 on Windows.
1635
16362008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1637
1638 Warning clearing and clean-up in NS port.
1639 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1640 Add prototypes.
1641 * nsgui.h (FACE_DEFAULT): Remove, unused.
1642 (XGCValues): Change colors to unsigned long.
1643 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1644 nsterm.m.
1645 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1646 (ns_list_fonts): Remove, unused.
1647 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1648 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1649 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1650 (nsfont_draw): Compare face colors to 0, not nil.
1651 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1652 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1653 (-addSubmenuWithTitle:): Use NSMenuItem class.
1654 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1655 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1656 (ns_clip_to_row): Make gc arg a BOOL.
1657 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1658 ns_clip_to_row() call.
1659 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1660 used). Cast FRAME_FONT assignments.
1661 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1662 (ns_string_to_lispmod): Change arg to const char.
1663 (ns_term_init): Use NSMenuItem class.
1664 (EmacsApp -openFile:): Move to different section of file.
1665 (EmacsApp -application:openFiles:): Don't return a value, call
1666 -replyToOpenOrPrint:.
1667 (EmacsView -keyDown:): Fix up cast.
1668 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1669 (EmacsView -menuDown:): Cast tag in call to
1670 find_and_call_menu_selection().
1671 (ns_list_fonts): Remove, unused.
1672 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1673 (ns_fontname_to_xlfd): Make static.
1674 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1675 Remove prototypes (now in keyboard.h).
1676 (next_menubar_widget_id): Remove, unused.
1677 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1678 Remove prototypes (now in keyboard.h).
1679 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1680
16812008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1682
1683 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1684 (floatfns.o): Depend on syssignal.h.
1685 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1686
1687 * systty.h: Fix previous change that removed BSD_TERMIOS.
1688 Add comments to #ifdefs.
1689
16902008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1691
1692 * w32fns.c (w32-load-color-file): Remove.
1693 (x-open-connection): Use renamed Fx_load_color_file.
1694 * xfaces.c (x-load-color-file): Add.
1695 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1696 Emacs.clr.
1697 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1698
16992008-07-31 Michael Albinus <michael.albinus@gmx.de>
1700
1701 * dbusbind.c (Fdbus_call_method_asynchronously)
1702 (Fdbus_method_error_internal): New defuns.
1703 (xd_read_message): Handle also reply messages.
1704 (Vdbus_registered_functions_table): Extend docstring.
1705
17062008-07-31 Juanma Barranquero <lekktu@gmail.com>
1707
1708 * keyboard.c (gobble_input): Fix previous change.
1709
17102008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1711
1712 * bitmaps/README:
1713 * xfns.c:
1714 * termcap.c:
1715 * term.c:
1716 * syswait.h:
1717 * systty.h:
1718 * systime.h:
1719 * syssignal.h:
1720 * sysdep.c:
1721 * process.h:
1722 * process.c:
1723 * print.c:
1724 * ndir.h:
1725 * lread.c:
1726 * keyboard.c:
1727 * getpagesize.h:
1728 * floatfns.c:
1729 * fileio.c:
1730 * emacs.c:
1731 * doc.c:
1732 * dispnew.c:
1733 * dired.c:
1734 * data.c:
1735 * callproc.c:
1736 * buffer.c:
1737 * README:
1738 * Makefile.in:
1739 * s/template.h:
1740 * s/msdos.h:
1741 * m/vax.h: Remove VMS support.
1742 * s/vms.h:
1743 * vlimit.h:
1744 * uaf.h:
1745 * temacs.opt:
1746 * param.h:
1747 * ioctl.h: Remove file.
1748
17492008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1750
1751 * s/ms-w32.h (MULTI_KBOARD): Remove.
1752 * xterm.c:
1753 * xselect.c:
1754 * xfns.c:
1755 * window.c:
1756 * w32term.c:
1757 * w32fns.c:
1758 * terminal.c:
1759 * termhooks.h:
1760 * term.c:
1761 * sysdep.c:
1762 * keyboard.h:
1763 * keyboard.c:
1764 * frame.h:
1765 * frame.c:
1766 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1767 * config.in: Regenerate.
1768
17692008-07-30 Jason Rumney <jasonr@gnu.org>
1770
1771 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1772
1773 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1774 (w32font_open_internal): Get unicode version of textmetrics.
1775 Don't enable or disable glyph indices here.
1776 (w32font_open): Disable use of glyph indices.
1777
1778 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1779
17802008-07-30 Chong Yidong <cyd@stupidchicken.com>
1781
1782 * minibuf.c (Vread_buffer_function): Doc fix.
1783
17842008-07-30 John Paul Wallington <jpw@pobox.com>
1785
1786 * minibuf.c (read_buffer_completion_ignore_case): New var.
1787 (Fread_buffer): Use it.
1788
17892008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1790
1791 * systty.h (sensemode): Remove empty #if. Remove reference to
1792 BSD_TERMIOS, unused.
1793
1794 * sysdep.c: Remove reference to DGUX.
1795 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1796
1797 * config.in: Regenerate.
1798
17992008-07-30 Jason Rumney <jasonr@gnu.org>
1800
1801 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1802
18032008-07-29 Jason Rumney <jasonr@gnu.org>
1804
1805 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1806 is populated.
1807 (uniscribe_encode_char): Always use uniscribe.
1808 Avoid using context if cache is populated.
1809
18102008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1811
1812 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1813 open menu.
1814
1815 * gtkutil.c (menu_nav_ended): Remove.
1816 (create_menus): Remove signal connect for menu_nav_ended.
1817
18182008-07-28 Chong Yidong <cyd@stupidchicken.com>
1819
1820 * xdisp.c (redisplay_window): Check return value of
1821 compute_window_start_on_continuation_line before forcing a window
1822 start.
1823
18242008-07-28 Jason Rumney <jasonr@gnu.org>
1825
1826 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1827
1828 * w32term.c (w32_enable_unicode_output, cleartype_active):
1829 Remove obsolete display options.
1830 (x_draw_glyph_string_background): Don't use old cleartype_active
1831 workaround.
1832 (w32_initialize): Remove cleartype_active initialization.
1833 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1834
18352008-07-28 Andreas Schwab <schwab@suse.de>
1836
1837 * lisp.h (init_weak_hash_tables, syms_of_font)
1838 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1839 (remove_hash_entry): Don't declare.
1840 * eval.c (maybe_call_debugger): Make static and move before use.
1841 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1842 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1843 * xterm.h (x_set_frame_alpha): Declare.
1844
18452008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1846
1847 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1848 (create_menus): Connect selection-done to menu_nav_ended.
1849
18502008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1851
1852 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1853 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1854 parameter with read of 'alpha' one.
1855 (Qns_frame_parameter): Remove.
1856 * nsselection.m (selection-coding-system)
1857 (next-selection-coding-system, Vselection_coding_system)
1858 (Vnext_selection_coding_system): Drop.
1859
18602008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1861
1862 * nsfns.m (do-applescript, do_applescript): Rename to
1863 ns-do-applescript, ns_do_applescript, and move within file.
1864
18652008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1866
1867 Remove support for Mac Carbon.
1868 * mactoolbox.c:
1869 * macterm.h:
1870 * macterm.c:
1871 * macselect.c:
1872 * macmenu.c:
1873 * macgui.h:
1874 * macfns.c:
1875 * mac.c: Remove file.
1876 * s/darwin.h:
1877 * m/intel386.h:
1878 * xfaces.c:
1879 * xdisp.c:
1880 * window.c:
1881 * tparam.c:
1882 * termhooks.h:
1883 * termcap.c:
1884 * term.c:
1885 * syssignal.h:
1886 * sysselect.h:
1887 * sysdep.c:
1888 * process.c:
1889 * lread.c:
1890 * lisp.h:
1891 * keyboard.c:
1892 * image.c:
1893 * fringe.c:
1894 * frame.h:
1895 * frame.c:
1896 * fontset.c:
1897 * font.h:
1898 * font.c:
1899 * fns.c:
1900 * fileio.c:
1901 * emacs.c:
1902 * dispnew.c:
1903 * dispextern.h:
1904 * config.in:
1905 * atimer.c:
1906 * Makefile.in: Remove code for Carbon
1907
19082008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1909
1910 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1911
19122008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1913
1914 * macterm.h (kCGBitmapByteOrder32Host): New define for
1915 non-universal SDKs.
1916
1917 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1918 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1919
1920 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1921 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1922
19232008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1924
1925 * w32inevt.c: Include dispextern.h.
1926
19272008-07-26 Andreas Schwab <schwab@suse.de>
1928
1929 * print.c (print_object): Fix off-by-one in last change.
1930
19312008-07-25 Juanma Barranquero <lekktu@gmail.com>
1932
1933 * term.c (syms_of_term): Don't initialize default_orig_pair,
1934 default_set_foreground and default_set_background on Windows.
1935
19362008-07-25 Jason Rumney <jasonr@gnu.org>
1937
1938 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1939 ScriptItemize. Clean up return value checking. Remove unused
1940 variables.
1941 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1942 shaping engine.
1943
1944 * w32font.c (w32font_has_char): Handle the case where we can't
1945 determine the script for a character.
1946
19472008-07-25 Chong Yidong <cyd@stupidchicken.com>
1948
1949 * term.c (syms_of_term): Initialize default_orig_pair,
1950 default_set_foreground, and default_set_background.
1951
1952 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1953 clash (bug#86).
1954 (getloadavg): Callers changed.
1955
1956 * image.c (svg_load_image): Fix last change.
1957 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1958 image size is valid. Use g_object_unref instead of deprecated
1959 rsvg_handle_free to free rsvg handle.
1960 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1961
19622008-07-25 Jason Rumney <jasonr@gnu.org>
1963
1964 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1965 surrogates before looking up glyph index.
1966 (w32font_text_extents): Encode as surrogates if falling back to
1967 functions that need UTF-16 wide chars.
1968
1969 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1970 BMP as surrogates before looking up glyph index.
1971
19722008-07-25 Chong Yidong <cyd@stupidchicken.com>
1973
1974 * image.c (svg_load_image): Check for failure in return value of
1975 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1976
19772008-07-25 Jason Rumney <jasonr@gnu.org>
1978
1979 * w32font.c (Fx_select_font): Reverse sense of second arg.
1980
19812008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1982
1983 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1984 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1985
1986 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1987 (PURESIZE): Use it.
1988
19892008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1990
1991 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1992 * m/alpha.h (TEXT_END):
1993 * m/ibmrs6000.h (TEXT_END):
1994 * m/macppc.h (TEXT_END):
1995 * s/darwin.h (TEXT_END):
1996 * s/msdos.h (TEXT_END): Remove, unused.
1997 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1998 * s/cygwin.h: Remove comment.
1999
2000 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2001 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2002 * m/intel386.h (DOT_GLOBAL_START):
2003 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2004 (USG): Remove, file not used on USG platforms.
2005
2006 * Makefile.in (HAVE_X11): Remove empty #else.
2007
20082008-07-24 Andreas Schwab <schwab@suse.de>
2009
2010 * fileio.c (Finsert_file_contents): Properly adjust undo list
2011 after format conversion.
2012
20132008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2014
2015 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2016 (menu_nav_ended): Remove.
2017 (create_menus): Remove signal connect for menu_nav_ended.
2018 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2019 create_menus.
2020 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2021
20222008-07-23 Jason Rumney <jasonr@gnu.org>
2023
2024 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2025 with opened font.
2026 (w32font_open): Set font type to gdi.
2027
2028 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2029
20302008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2031
2032 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2033 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2034 defines it.
2035 * unexec.c (ADDR_CORRECT): Define unconditionally.
2036
2037 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2038
2039 * unexec.c: Remove code depending on !COFF and USG, the file is
2040 not used for such systems.
2041
2042 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2043 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2044 (LD_SWITCH_SYSTEM_1): Remove, update users.
2045
2046 * s/darwin.h (DATA_END):
2047 * m/intel386.h (DATA_END):
2048 * m/ibmrs6000.h (DATA_END):
2049 * m/alpha.h (DATA_END): Remove, unused.
2050
2051 * config.in: Regenerate.
2052 * s/ms-w32.h (subprocesses): Define unconditionally.
2053 * s/template.h (subprocesses): Update comment.
2054 * s/vms.h (subprocesses):
2055 * s/usg5-4.h (subprocesses):
2056 * s/hpux10-20.h (subprocesses):
2057 * s/gnu-linux.h (subprocesses):
2058 * s/cygwin.h (subprocesses):
2059 * s/bsd-common.h (subprocesses):
2060 * s/aix4-2.h (subprocesses):
2061 * s/darwin.h (subprocesses): Do not define, defined by default now.
2062
2063 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2064 Remove all references.
2065 (temacs): Add GNUstep specific ld flags.
2066
2067 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2068 similarly to what X does.
2069
20702008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2071
2072 * nsfns.m (x-list-fonts): Remove.
2073 (syms_of_nsfns): Drop the x-list-fonts declaration.
2074 * nsterm.m: Get rid of remaining "//" comments.
2075
20762008-07-22 Chong Yidong <cyd@stupidchicken.com>
2077
2078 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2079
2080 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2081 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2082 (Fns_own_selection_internal, Fx_disown_selection_internal)
2083 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2084
2085 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2086 ... */' style of docstrings. Doc fixes.
2087
20882008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2089
2090 * terminfo.c (UP, BC, PC): Undo previous change.
2091
2092 * nsfns.m: Rename ns prefixed functions/variables to the
2093 corresponding x versions. Update references.
2094
20952008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2096
2097 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2098
20992008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2100
2101 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2102 Remove forwarding functions.
2103 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2104 non-static.
2105 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2106 non-static.
2107 (ns_frame_parm_handlers): Use the new names.
2108 (syms_of_nsfns): Move to the end of file.
2109
2110 * nsterm.m (syms_of_nsterm): Move to the end of file.
2111
2112 * dispnew.c (init_display): Remove code for X10.
2113
21142008-07-22 Jason Rumney <jasonr@gnu.org>
2115
2116 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2117 bare drive.
2118
21192008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2120
2121 * nsterm.m (syms_of_nsterm): Remove debugging println.
2122
21232008-07-22 David Reitter <david.reitter@gmail.com>
2124
2125 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2126 Carbon implementation of the same functionality: execute arbitrary
2127 AppleScript code.
2128
21292008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2130
2131 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2132 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2133 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2134 (Fx_display_mm_height, Fx_display_mm_width)
2135 (Fx_display_backing_store, Fx_display_visual_class)
2136 (Fx_display_save_under, Fx_open_connection)
2137 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2138 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2139 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2140 (Fx_display_pixel_width, Fx_display_pixel_height)
2141 (Fx_display_usable_bounds, Fx_display_planes)
2142 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2143 ... */' style of docstrings.
2144
21452008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2146
2147 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2148 on this platform.
2149 (mips):
2150 * m/iris4d.h (mips): Do not define.
2151 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2152
2153 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2154
2155 * image.c:
2156 * nsfns.m:
2157 * nsselect.m:
2158 * nsterm.h:
2159 * nsterm.m: Rename ns prefixed functions/variables to the
2160 corresponding x versions. Update references.
2161
2162 * m/ibms390x.h (NO_REMAP): Do not undefine.
2163
2164 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2165
21662008-07-21 Chong Yidong <cyd@stupidchicken.com>
2167
2168 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2169 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2170 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2171 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2172 (Fns_display_mm_height, Fns_display_mm_width)
2173 (Fns_display_backing_store, Fns_display_visual_class)
2174 (Fns_display_save_under, Fns_open_connection)
2175 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2176 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2177 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2178 (Fns_display_pixel_width, Fns_display_pixel_height)
2179 (Fns_display_usable_bounds, Fx_display_planes)
2180 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2181
21822008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2183
2184 * print.c (print_object): Check print_depth before searching for
2185 circularities.
2186
21872008-07-21 Michael Albinus <michael.albinus@gmx.de>
2188
2189 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2190 only sprintf.
2191
21922008-07-21 Kenichi Handa <handa@m17n.org>
2193
2194 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2195
21962008-07-20 Andreas Schwab <schwab@suse.de>
2197
2198 * syntax.c (find_start_pos, find_start_value)
2199 (find_start_value_byte, find_start_begv, find_defun_start)
2200 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2201
22022008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2203
2204 * s/sol2-3.h: Insert contents of s/sol2.h.
2205 (LD_SWITCH_SYSTEM): Remove redundant definition.
2206 * s/sol2.h: Remove, unused.
2207
22082008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2209
2210 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2211
22122008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2213
2214 * Makefile.in (ns_appdir): Fix typo in find command.
2215
22162008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2217
2218 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2219
2220 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2221 added not supported anymore.
2222
2223 * s/usg5-4-2.h (LIBS_SYSTEM):
2224 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2225
2226 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2227 * s/lynxos.h (GETPGRP_NO_ARG):
2228 * s/hpux10-20.h (NO_SIOCTL_H):
2229 * s/gnu.h (GETPGRP_NO_ARG):
2230 * s/gnu-linux.h (NO_SIOCTL_H):
2231 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2232 * s/cygwin.h (GETPGRP_NO_ARG):
2233 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2234 (C_DEBUG_SWITCH): Remove duplicate definition.
2235
2236 * m/ibms390.h: Remove boilerplate comments.
2237
2238 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2239
2240 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2241 (wait_reading_process_output): Remove code for SunOS, platform not
2242 supported anymore. Use SOLARIS2 instead of sun.
2243
22442008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2245
2246 * font.c (font_open_by_name): Under NS, default lface height to zero.
2247 (font_open_for_lface): Under NS, set size based on frame fontsize.
2248 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2249 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2250
22512008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2252
2253 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2254 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2255 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2256 YES/NO.
2257 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2258 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2259 * Makefile.in (clean): Clear out build destination dir.
2260
22612008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2262
2263 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2264 xterm, xselect.
2265 * lisp.h: Remove declaration of hash_remove.
2266 * nsgui.h: Remove redefinitions of hash_remove.
2267 * fns.c (hash_remove): Rename to hash_remove_from_table.
2268
22692008-07-19 Seiji Zenitani <zenitani@mac.com>
2270
2271 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2272 strdup() the family UTF8String before modifying it.
2273
22742008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2275
2276 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2277 NS_FACE_BACKGROUND with 0 instead of nil.
2278 * nsfont.m (nsfont_draw): Same.
2279
22802008-07-19 Chong Yidong <cyd@stupidchicken.com>
2281
2282 * nsfns.m (ns_set_background_color): Fix crash.
2283
22842008-07-18 Chong Yidong <cyd@stupidchicken.com>
2285
2286 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2287
22882008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2289
2290 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2291
22922008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2293
2294 * gtkutil.c: Include <config.h> instead of "config.h".
2295
2296 * lisp.h (Foverlay_buffer): Add EXFUN.
2297
2298 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2299 child process to complete child_setup. Undo 2005-09-21 change.
2300
2301 * s/darwin.h: Mention setsid after vfork.
2302
23032008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2304
2305 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2306 Depend on macgui.h.
2307
2308 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2309 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2310
2311 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2312 and f19.
2313 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2314
2315 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2316 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2317 Remove enumerators.
2318
2319 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2320 Check if FACE_FROM_ID returns NULL.
2321
23222008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2323
2324 * w32inevt.c (change_frame_size): Remove extern declaration.
2325 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2326 change_frame_size.
2327
23282008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2329
2330 * getloadavg.c: Revert last change (2008-07-15).
2331
23322008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2333
2334 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2335 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2336 from configure.
2337
23382008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2339
2340 * s/sol2.h:
2341 * s/sol2-4.h: Reorganize conditionals.
2342
2343 * ecrt0.c: Remove code depending on m68000, not used anymore.
2344
2345 * fns.c (hash_remove): Make static.
2346 * lisp.h (hash_remove): Don't prototype.
2347
2348 * m/ibmrs6000.h:
2349 * m/ibms390x.h:
2350 * m/macppc.h: Remove boilerplate comments.
2351
2352 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2353 Solaris, which does not need them.
2354
2355 * m/vax.h: Remove comments about unsupported systems.
2356
2357 * s/darwin.h: Reorganize ifdefs.
2358
23592008-07-17 Andreas Schwab <schwab@suse.de>
2360
2361 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2362
23632008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2364
2365 Use SDATA. Follow coding convention of placing operators at
2366 beginning of next line rather than end of previous line, and placing
2367 spaces around infix operators.
2368
2369 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2370 in case it was defined already.
2371 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2372 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2373 ns_default.
2374 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2375 Lisp_Objects.
2376 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2377 (ns_defined_color, ns_color_to_lisp): Declare.
2378 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2379 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2380 it's accepted even with USE_LISP_UNION_TYPE.
2381 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2382 (update_frame_tool_bar): Remove apparently obsolete tests for
2383 non-integerness of f->tool_bar_lines.
2384 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2385 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2386 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2387 (nsfont_open): Don't confuse NULL for Qnil.
2388 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2389 * menu.h (find_and_call_menu_selection):
2390 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2391 (find_and_return_menu_selection): Always return something.
2392 * frame.h: Include dispextern.h for Display_Info.
2393 (display_x_get_resource): Declare.
2394
23952008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2396
2397 * syntax.c: Remove stdio.h include accidentally introduced in
2398 Emacs.app commit.
2399 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2400 NS_IMPL_COCOA.
2401 * keyboard.c (handle_async_input, input_available_signal): Remove
2402 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2403
24042008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2405
2406 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2407 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2408 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2409 Use SDATA.
2410
2411 * keymap.c: Remove all NS-specific code.
2412 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2413 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2414 where_is_preferred_modifier, return a different value depending on how
2415 preferred is the binding.
2416 (where_is_internal): Adjust accordingly.
2417 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2418 Adjust to new preferred_sequence_p.
2419 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2420 * keyboard.c (parse_solitary_modifier): Not static any more.
2421 * keyboard.h (parse_solitary_modifier): Declare.
2422
24232008-07-16 Andreas Schwab <schwab@suse.de>
2424
2425 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2426 of easymenu.
2427
24282008-07-16 Chong Yidong <cyd@stupidchicken.com>
2429
2430 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2431 that we don't move off the line.
2432
24332008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2434
2435 * keyboard.c (Qsuper): Remove.
2436 (parse_menu_item): Don't call where_is_internal specially for NS.
2437
24382008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2439
2440 * s/gnu-linux.h: Remove boilerplate comments.
2441
2442 * m/alpha.h (__ELF__): Consolidate conditions.
2443
2444 * m/m68k.h (linux): Use GNU_LINUX instead.
2445 Remove boilerplate comments.
2446
2447 * m/intel386.h: Undo refactoring from previous change.
2448 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2449 too, remove dead code.
2450 (linux): Use GNU_LINUX instead.
2451
24522008-07-16 Jason Rumney <jasonr@gnu.org>
2453
2454 * w32gui.h: Repeat 26 June changes lost by last change.
2455
24562008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2457
2458 * systty.h: Remove code for Aix on 386, unsupported platform.
2459
2460 * s/ms-w32.h: Remove boilerplate comments.
2461 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2462
2463 * s/gnu-linux.h (TERM): Remove support.
2464 (HAVE_SYSVIPC): Remove, unused.
2465 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2466 for this system.
2467
2468 * process.c: Remove support for IRIS, unused.
2469 Remove support for TERM, not relevant anymore.
2470
2471 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2472 used with the definition.
2473
2474 * s/aix4-2.h (static): Do not undef.
2475
2476 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2477 only used on Aix.
2478 (HAVE_SYSVIPC): Remove, unused.
2479
2480 * m/hp800.h (CANNOT_DUMP): Do not undef.
2481
2482 * m/alpha.h: Fix comment.
2483
2484 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2485 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2486 used by this configuration.
2487 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2488 * unexec.c: Remove code depending on HPUX and
2489 USG_SHARED_LIBRARIES, not used with this file. Remove code
2490 depending on IRIS, unused. Remove if 0-ed code.
2491
2492 * s/template.h: Remove comments about static.
2493
2494 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2495 Remove if 0-ed code.
2496 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2497 were the same as the default.
2498 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2499 Remove boilerplate comments.
2500 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2501 (HAVE_SYSVIPC): Remove, unused.
2502 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2503
2504 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2505 Remove boilerplate comments.
2506 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2507 Remove boilerplate comments.
2508 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2509 Remove boilerplate comments.
2510 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2511
2512 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2513 USG systems which do not use DATA_SEG_BITS.
2514 Refactor code. Remove boilerplate comments.
2515
2516 * m/ibms390.h:
2517 * m/m68k.h:
2518 * s/bsd-common.h:
2519 * s/cygwin.h:
2520 * s/darwin.h:
2521 * s/freebsd.h:
2522 * s/gnu.h:
2523 * s/msdos.h: Remove boilerplate comments.
2524
2525 * m/iris4d.h: Remove boilerplate comments and code for systems that
2526 do not use this file.
2527 (IRIS_4D): Remove, unused.
2528
2529 * m/mips.h: Remove boilerplate comments and code for systems that
2530 do not use this file.
2531 (SIGN_EXTEND_CHAR):
2532 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2533 * unexmips.c: Remove file, unused.
2534
2535 * editfns.c (Fuser_full_name): Replace the only use of
2536 USER_FULL_NAME with its value.
2537 * config.in: Regenerate.
2538
25392008-07-16 David Reitter <david.reitter@gmail.com>
2540
2541 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2542 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2543
25442008-07-16 Glenn Morris <rgm@gnu.org>
2545
2546 * emacs.c (system-type): Doc fix.
2547
25482008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2549
2550 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2551 If the cache doesn't work, let's fix it, rather than work around it.
2552
25532008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2554
2555 * Makefile.in: Correct additions for nsfont.o in last commit.
2556 * nsfont.m: New file (forgot last commit).
2557
25582008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2559
2560 * callproc.c (set_initial_environment): Initialize
2561 Vprocess_environment under CANNOT_DUMP (fixes crash when
2562 batch-compiling for bootstrap).
2563
25642008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2565 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2566
2567 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2568 fix crash due to different init order.
2569
25702008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2571
2572 Changes and additions for NeXTstep windowing system (Cocoa and
2573 GNUstep) support.
2574
2575 * Makefile.in:
2576 * config.in: Support defines and build commands for NS port.
2577 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2578 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2579 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2580 windowing.
2581 (struct face): Add synth_ital field.
2582 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2583 (init_display): Initialize Vinitial_window_system to "ns" when so
2584 compiled.
2585 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2586 (display_arg): Use under NS.
2587 (main): Under NS, allocate autorelease pool and handle command line
2588 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2589 (standard_args): Add NS-specific args.
2590 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2591 * font.c (DEFAULT_ENCODING): New variable.
2592 (font_find_for_lface): Use it.
2593 (syms_of_font): Load syms_of_nsfont under NS.
2594 * font.h: Declare nsfont_driver when compiled under NS.
2595 * fontset.c: When compiling under NS, include nsterm.h.
2596 (fontset_from_font): Autoconstruct fontset under NS.
2597 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2598 symbol, document and use it.
2599 (do_switch_frame): When for_deletion under Cocoa, add
2600 Fraise_frame(Qnil).
2601 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2602 (x_get_arg): Allow "yes" and "no" as boolean values.
2603 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2604 Qright under Cocoa.
2605 (focus-follows-mouse): Default to 0 under NS.
2606 * frame.h (enum output_method): Add output_ns.
2607 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2608 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2609 (FRAME_WINDOW_P): NS-specific definition.
2610 * fringe.c (max_used_fringe_bitmap): Make public.
2611 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2612 (getloadavg): Use NeXT code under descendant OS's.
2613 * image.c (includes and header section, x_create_bitmap_from_data)
2614 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2615 (image_background_transparent, x_clear_image_1)
2616 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2617 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2618 (x_to_xcolors, x_from_xcolors, x_disable_image)
2619 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2620 other GUIs, including XPM support using code originally written for
2621 Carbon GUI.
2622 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2623 using NS API.
2624 (image_ascent): Use font metrics macros instead of direct struct field
2625 access.
2626 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2627 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2628 Also, handle NS as GTK for menu bar purposes.
2629 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2630 toolkit where they differ.
2631 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2632 use cachelist, still needed under NS.
2633 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2634 (struct widget_value): Define it here for menu.c.
2635 * keymap.c (includes): Include modifier internals.
2636 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2637 NS.
2638 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2639 support for preferring sequences using certain modifiers, specified by
2640 the FIRSTONLY argument.
2641 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2642 under NS GNUstep implementation.
2643 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2644 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2645 * menu.c: Include nsterm.h under NS.
2646 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2647 (free_menubar_widget_tree_value, update_submenu_strings)
2648 (find_and_call_menu_selection): Treat NS as X and NT.
2649 (find_and_return_menu_selection): New function, used for popup menus.
2650 * nsgui.h:
2651 * nsterm.h:
2652 * nsfns.m:
2653 * nsimage.m:
2654 * nsmenu.m:
2655 * nsselect.m:
2656 * nsterm.m: New files.
2657 * process.c (wait_reading_process_output): Under NS, call ns_select()
2658 instead of plain select().
2659 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2660 beginning of buffer.
2661 * sysselect.h (init_process): Rename when compiling under Cocoa to
2662 avoid name conflict.
2663 * termhooks.h (display_info): Add ns_display_info to union.
2664 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2665 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2666 COCOA environment.
2667 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2668 unexec() signature. (Note, this will dump, but the resulting file
2669 crashes; unexosx is used instead; keeping around for reference and
2670 possible aid in getting dump working under GNUstep.)
2671 * w32gui.h (button_type, widget_value): Remove definitions (now in
2672 keyboard.h).
2673 * window.c: Include nsterm.h when compiling under NS.
2674 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2675 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2676 other GUI windowing systems.
2677 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2678 GTK.
2679 (x_consider_frame_title): Under NS, set icon type and frame
2680 modified-state indicator; use ns_set_name_as_filename() when using
2681 formatted title.
2682 (update_window_cursor): Make public when compiling under NS.
2683 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2684 (hourglass_atimer, Vhourglass_delay
2685 * xfaces.c (header section, init_frame_faces, clear_font_table)
2686 (defined_color, unload_color, x_face_list_fonts)
2687 (prepare_face_for_display): Add NS support parallel to other GUIs.
2688 Emulate GCs like other non-X GUIs.
2689 (split_font_name): Don't lowercase font name under NS.
2690 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2691 under NS.
2692 * s/darwin.h: Add support for compilation under NS.
2693
26942008-07-15 Jason Rumney <jasonr@gnu.org>
2695
2696 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2697 (w32_show_hourglass): Rename from show_hourglass.
2698 (w32_hide_hourglass): Rename from hide_hourglass.
2699 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2700 (Vhourglass_delay): Declare extern.
2701 (hourglass_started): Remove.
2702
2703 * xdisp.c (Vhourglass_delay): Remove static.
2704 (hourglass_started, start_hourglass, cancel_hourglass):
2705 Don't include these versions on WINDOWSNT.
2706
27072008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2708
2709 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2710 variables (formerly in xfns.c).
2711 (show_hourglass, hide_hourglass): New prototypes (same).
2712 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2713 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2714 in xfns.c).
2715 (syms_of_xdisp): Declare/initialize display-hourglass,
2716 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2717 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2718 formerly in xfns.c.
2719 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2720 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2721 (start_hourglass, cancel_hourglass): Remove.
2722 (show_hourglass, hide_hourglass): Remove prototypes and static
2723 modifiers.
2724 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2725 hourglass_atimer, hourglass_shown_p declaration/initialization.
2726 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2727 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2728 (start_hourglass, cancel_hourglass): Remove.
2729 (show_hourglass, hide_hourglass): Remove prototypes and static
2730 modifiers.
2731 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2732 hourglass_atimer, hourglass_shown_p declaration/initialization.
2733 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2734 (DEFAULT_HOURGLASS_DELAY): Remove.
2735 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2736 hourglass_shown_p declaration/initialization.
2737
27382008-07-14 Jason Rumney <jasonr@gnu.org>
2739
2740 * w32fns.c (w32_get_arg): Remove wrapper function.
2741 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2742 directly.
2743 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2744
27452008-07-14 Kenichi Handa <handa@m17n.org>
2746
2747 * xfont.c (xfont_open): Add workaround for X's bug.
2748
27492008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2750
2751 * fontset.c: Include <stdio.h> unconditionally.
2752
27532008-07-13 Michael Albinus <michael.albinus@gmx.de>
2754
2755 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2756 for filtering.
2757
27582008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2759
2760 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2761
2762 * m/macppc.h:
2763 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2764
2765 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2766 (SPECIAL_EMACS_INT):
2767 * m/ia64.h (SPECIAL_EMACS_INT):
2768 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2769 * s/gnu.h (NLIST_STRUCT):
2770 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2771 * s/gnu-linux.h (LINUX):
2772 * s/msdos.h (HAVE_FACES):
2773 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2774
2775 * systty.h:
2776 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2777 anymore.
2778
27792008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2780
2781 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2782 always defined as int.
2783
2784 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2785 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2786 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2787 * s/freebsd.h (HAVE_WAIT_HEADER):
2788 * s/bsd-common.h (HAVE_UNION_WAIT):
2789 * s/aix4-2.h (HAVE_WAIT_HEADER):
2790 * m/mips.h (HAVE_UNION_WAIT):
2791 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2792 (COFF, static): Do not define, they are undefined later in the file.
2793
2794 * process.c (update_status): Don't use a union.
2795 (status_convert):
2796 (sigchld_handler): Use int instead of WAITTYPE.
2797
27982008-07-12 Chong Yidong <cyd@stupidchicken.com>
2799
2800 * indent.c (Fvertical_motion): Restore hscroll before moving to
2801 goal column.
2802
28032008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2804
2805 * lisp.h: Remove left over code.
2806
28072008-07-11 Andreas Schwab <schwab@suse.de>
2808
2809 * lisp.h: Fix logic in last change.
2810
2811 * menu.h: New file.
2812 * menu.c: Include it.
2813 * xmenu.c: Likewise.
2814 * Makefile.in: Update dependencies.
2815
28162008-07-11 Kenichi Handa <handa@m17n.org>
2817
2818 * fontset.c (fontset_from_font): Cancel the previous change.
2819
28202008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2821
2822 * lisp.h:
2823 * w32heap.c:
2824 * emacs.c:
2825 * alloc.c: Replace all references of NO_UNION_TYPE with
2826 USE_LISP_UNION_TYPE.
2827
2828 * m/xtensa.h (NO_UNION_TYPE):
2829 * m/vax.h (NO_UNION_TYPE):
2830 * m/template.h (NO_UNION_TYPE):
2831 * m/sparc.h (NO_UNION_TYPE):
2832 * m/mips.h (NO_UNION_TYPE):
2833 * m/macppc.h (NO_UNION_TYPE):
2834 * m/m68k.h (NO_UNION_TYPE):
2835 * m/iris4d.h (NO_UNION_TYPE):
2836 * m/intel386.h (NO_UNION_TYPE):
2837 * m/ibms390x.h (NO_UNION_TYPE):
2838 * m/ibms390.h (NO_UNION_TYPE):
2839 * m/ibmrs6000.h (NO_UNION_TYPE):
2840 * m/ia64.h (NO_UNION_TYPE):
2841 * m/hp800.h (NO_UNION_TYPE):
2842 * m/arm.h (NO_UNION_TYPE):
2843 * m/amdx86-64.h (NO_UNION_TYPE):
2844 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2845 defining it the same.
2846
28472008-07-10 Chong Yidong <cyd@stupidchicken.com>
2848
2849 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2850
28512008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2852
2853 * fileio.c:
2854 * sysdep.c
2855 * systty.h:
2856 * m/ibmrs6000.h:
2857 * m/iris4d.h:
2858 * s/aix4-2.h:
2859 * s/freebsd.h:
2860 * s/gnu-linux.h:
2861 * s/hpux10-20.h:
2862 * s/hpux11.h:
2863 * s/netbsd.h:
2864 * s/sol2-3.h:
2865 * s/sol2-4.h:
2866 * s/sol2.h:
2867 * s/usg5-4.h:
2868 * s/vms.h: Remove references to unused variables.
2869
28702008-07-10 Andreas Schwab <schwab@suse.de>
2871
2872 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2873 pattern before matching the generic family.
2874
28752008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2876
2877 * unexec.c:
2878 * s/vms.h:
2879 * s/usg5-4-2.h:
2880 * s/sol2-5.h:
2881 * s/freebsd.h:
2882 * s/darwin.h: Remove dead code.
2883
2884 * m/template.h:
2885 * m/sparc.h:
2886 * m/mips.h:
2887 * m/m68k.h:
2888 * m/iris4d.h:
2889 * m/intel386.h:
2890 * m/ibms390x.h:
2891 * m/ibms390.h:
2892 * m/ia64.h:
2893 * m/hp800.h:
2894 * m/arm.h:
2895 * m/amdx86-64.h: Remove dead code and references to unused
2896 and compiler defined symbols.
2897
2898 * unexmips.c:
2899 * unexelf.c: Remove references to desupported systems.
2900
2901 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2902
2903 * m/powermac.h: Remove boilerplate comments.
2904 (NO_REMAP): Remove unused definition.
2905
2906 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2907 define them.
2908
29092008-07-10 Kenichi Handa <handa@m17n.org>
2910
2911 * xfont.c (xfont_open): Log the reason of failure.
2912
29132008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2914
2915 * fontset.c (fontset_get_font_group):
2916 * font.c (font_check_otf): Specify argument types.
2917
29182008-07-09 Kenichi Handa <handa@m17n.org>
2919
2920 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2921 non-ASCII char is found.
2922
2923 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2924 (reorder_font_vector): Change the arg preferred_family to font.
2925 Prefer the spec matching with font.
2926 (fontset_get_font_group): New function.
2927 (fontset_find_font): Change the format of an element of a realized
2928 fontset. Use fontset_get_font_group.
2929 (fontset_font): Try the current fontset, the default fontset, the
2930 fallbacks of the current fontset, and the fallbacks of the default
2931 fontset in this order.
2932 (face_for_char): Delete the shortcut to use the current font.
2933 (fontset_from_font): Don't set fonts for Latin in the fontset.
2934
2935 * font.h (font_make_object, font_match_p): Adjust prototypes.
2936
2937 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2938
2939 * font.c (font_make_object): New arg entity and pixelsize.
2940 (font_check_otf_features, font_check_otf): New functions.
2941 (font_match_p): Check :lang, :script, and :otf properties.
2942
2943 * xfont.c (xfont_open): Adjust it for the change of
2944 font_make_object.
2945 (xfont_text_extents): Fix initial setting of metrics.
2946
2947 * ftfont.c (struct ftfont_info): New member index, delete member
2948 fc_charset_idx. Make the member order compatible with struct
2949 xftfont_info.
2950 (fc_charset_table): Change charset names to registry names.
2951 (ftfont_pattern_entity): Delete the args registry and
2952 fc_charset_idx. Change the value of :font-entity property
2953 to (FONTNAME . INDEX). Always set :registry property to
2954 `iso10646-1'.
2955 (struct ftfont_cache_data): New struct.
2956 (ftfont_lookup_cache): New arg for_face.
2957 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2958 (ftfont_driver): Set the member otf_capability.
2959 (ftfont_get_charset): Adjust it for the change of
2960 fc_charset_table.
2961 (OTF_TAG_SYM): New macro.
2962 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2963 for the change of fc_charset_table.
2964 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2965 ftfont_pattern_entity. Add FC_INDEX to objset.
2966 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2967 and ftfont_pattern_entity.
2968 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2969 font_make_object, struct ftfont_info.
2970 (ftfont_has_char): Use ftfont_get_fc_charset.
2971 (ftfont_otf_features, ftfont_otf_capability): New functions.
2972 (ftfont_shape): Use ftfont_get_otf.
2973 (ftfont_text_extents): Fix initial setting of metrics.
2974
2975 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2976 member order compatible with struct ftfont_info.
2977 (xftfont_open): Add FC_CHARSET to the pattern. Set
2978 xftfont_info->ft_size. Don't unlock the face. Check BDF
2979 properties if appropriate.
2980 (xftfont_close): Unlock the face.
2981 (xftfont_anchor_point, xftfont_shape): Deleted.
2982 (syms_of_xftfont): Don't set members anchor_point and shape of
2983 xftfont_driver.
2984
2985 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2986 font_make_object.
2987
2988 * w32font.c (w32font_open): Adjust it for the change of
2989 font_make_object.
2990 (w32font_open_internal): Don't set properties of font_object here.
2991
29922008-07-08 Chong Yidong <cyd@stupidchicken.com>
2993
2994 * macfns.c (x_create_tip_frame):
2995 * w32fns.c (x_create_tip_frame):
2996 * xfns.c (x_create_tip_frame): Pass parameter argument to
2997 face-set-after-frame-default.
2998
2999 * xfaces.c (Finternal_merge_in_global_face): Save merged
3000 attributes for the default face back into the face vector.
3001
30022008-07-08 Andreas Schwab <schwab@suse.de>
3003
3004 * fontset.h: Declare fontset_from_font. Don't declare
3005 new_fontset_from_font and fontset_from_font_name.
3006 * xterm.c: Include "fontset.h".
3007 * Makefile.in (xterm.o): Update dependencies.
3008
30092008-07-08 Glenn Morris <rgm@gnu.org>
3010
3011 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3012 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3013
30142008-07-07 Chong Yidong <cyd@stupidchicken.com>
3015
3016 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3017 (x_set_frame_parameters): Don't bind it.
3018
30192008-07-07 Juanma Barranquero <lekktu@gmail.com>
3020
3021 * w32fns.c (map_w32_filename): Declare extern.
3022
30232008-07-07 Jason Rumney <jasonr@gnu.org>
3024
3025 * w32term.c (WS_EX_LAYERED): Define if not already.
3026
30272008-07-06 Chong Yidong <cyd@stupidchicken.com>
3028
3029 * xfaces.c (set_font_frame_param): Don't try to set the font
3030 parameter if it is still unspecified in the lface.
3031
30322008-07-05 Chong Yidong <cyd@stupidchicken.com>
3033
3034 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3035 face if it didn't already exist.
3036
3037 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3038
30392008-07-05 Andreas Schwab <schwab@suse.de>
3040
3041 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3042
30432008-07-05 Chong Yidong <cyd@stupidchicken.com>
3044
3045 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3046 word-wrapping.
3047 (IT_DISPLAYING_WHITESPACE): New macro.
3048 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3049 when word-wrapping. Simplify word-wrapping logic. Use correct
3050 pixel positions when saving copies of the iterator.
3051 (display_line): Use proper wrap point if the last character on a
3052 line was preceded by whitespace.
3053
30542008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3055
3056 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3057
30582008-07-04 Kenichi Handa <handa@m17n.org>
3059
3060 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3061
3062 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3063
30642008-07-02 Jason Rumney <jasonr@gnu.org>
3065
3066 * xfns.c (syms_of_xfns): Only define x-select-font when both
3067 HAVE_FREETYPE and USE_GTK
3068
3069 * xdisp.c (next_element_from_display_vector): Move assignment out
3070 of if statement.
3071
30722008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3073
3074 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3075
3076 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3077 (syms_of_fileio): Initialize and export them.
3078 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3079
3080 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3081 (Fsystem_move_file_to_trash): New function.
3082 (syms_of_w32fns): Export it to lisp.
3083
30842008-07-01 Jason Rumney <jasonr@gnu.org>
3085
3086 * w32font.c (w32font_text_extents): Don't count overhang as part
3087 of width.
3088
30892008-06-30 Miles Bader <miles@gnu.org>
3090
3091 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3092 Add `avoid_cursor_p' field.
3093
3094 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3095 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3096 (append_glyph, append_composite_glyph, produce_image_glyph)
3097 (append_stretch_glyph): Initialize avoid_cursor_p.
3098 (get_it_property): Rename from `get_line_height_property'.
3099 (x_produce_glyphs): Use get_it_property.
3100 (handle_line_prefix, push_display_prop): New functions.
3101 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3102 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3103 New variables.
3104 (syms_of_xdisp): Initialize them.
3105
31062008-06-30 Kenichi Handa <handa@m17n.org>
3107
3108 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3109 XftDefaultSubstitute (they are called in XftFontMatch).
3110 (xftfont_open): Fix args to ftfont_font_format.
3111
3112 * ftfont.c (fc_charset_table): New member lang.
3113 (ftfont_resolve_generic_family): New arg pattern.
3114 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
3115 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3116 (ftfont_open): Fix args to ftfont_font_format.
3117 (ftfont_font_format): New arg filename.
3118
31192008-06-30 Chong Yidong <cyd@stupidchicken.com>
3120
3121 * xfaces.c (Finternal_merge_in_global_face): If default face was
3122 modified, realize it again. Update the font face attribute.
3123
31242008-06-29 Jason Rumney <jasonr@gnu.org>
3125
3126 * w32term.c (x_set_frame_alpha): Fix logic.
3127
31282008-06-29 Kenichi Handa <handa@m17n.org>
3129
3130 * fontset.c (Finternal_char_font): Return font-object instead of
3131 font-name.
3132
3133 * composite.c (get_composition_id): Fix the width calculation for TAB.
3134
31352008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3136
3137 * indent.c (Fvertical_motion): Properly handle float column arg.
3138
31392008-06-28 Jason Rumney <jasonr@gnu.org>
3140
3141 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3142 (pfnSetLayeredWindowAttributes): New function pointer.
3143 (w32_initialize): Initialize it when supported.
3144 (x_set_frame_alpha): New function.
3145
3146 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3147 (w32_frame_parm_handlers): Set alpha handler.
3148
3149 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3150
31512008-06-27 Jason Rumney <jasonr@gnu.org>
3152
3153 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3154 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3155 (w32_to_x_charset, x_to_w32_charset)
3156 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3157 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3158 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3159 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3160 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3161 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3162 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3163 (Qw32_charset_unicode): Remove.
3164 (syms_of_w32fns): Update for above changes.
3165
3166 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3167 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3168 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3169 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3170 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3171 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3172 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3173 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3174 (syms_of_w32font): Update for above changes.
3175
31762008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3177
3178 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3179 removed #if.
3180 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3181
31822008-06-26 Juanma Barranquero <lekktu@gmail.com>
3183 Eli Zaretskii <eliz@gnu.org>
3184
3185 * makefile.w32-in (LOCAL_FLAGS):
3186 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3187
3188 * sysdep.c (_spawnlp, _getpid):
3189 Declare with explicit _cdecl instead of _CRTAPI1.
3190
3191 * editfns.c (Fget_internal_run_time):
3192 Check for WINDOWSNT with #ifdef, not #if.
3193
31942008-06-26 Jason Rumney <jasonr@gnu.org>
3195
3196 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3197
3198 * w32term.c (x_draw_glyph_string_foreground)
3199 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3200 Use FONT_HANDLE macro.
3201 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3202
3203 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3204 (uniscribe_encode_char): Use FONT_HANDLE macro.
3205
3206 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3207 (w32font_text_extents): Use precast w32_font.
3208 (w32font_close): Free cached metrics.
3209 (w32font_open_internal): Allocate space for name on stack.
3210
32112008-06-26 Chong Yidong <cyd@stupidchicken.com>
3212
3213 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3214
32152008-06-26 Jason Rumney <jasonr@gnu.org>
3216
3217 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3218 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3219
32202008-06-26 Juanma Barranquero <lekktu@gmail.com>
3221
3222 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3223
32242008-06-26 Jason Rumney <jasonr@gnu.org>
3225
3226 * w32bdf.c, w32bdf.h: Remove obsolete files.
3227
3228 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3229
3230 * w32gui.h: Don't include w32bdf.h.
3231 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3232 Remove obsolete font support.
3233
3234 * w32font.h (struct w32font_info): Remove compat_w32_font.
3235 Add hfont member.
3236 (FONT_COMPAT): Remove obsolete macro.
3237
3238 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3239 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3240 (w32font_open_internal): Remove compat code. Set new hfont member.
3241 (Fx_select_font): Use new hfont member.
3242
3243 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3244 (uniscribe_encode_char): Use new hfont member.
3245
3246 * w32term.c (x_draw_glyph_string_foreground)
3247 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3248 (x_draw_glyph_string): Use metrics in w32font_info.
3249
32502008-06-26 Kenichi Handa <handa@m17n.org>
3251
3252 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3253
32542008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3255
3256 * unexnext.c:
3257 * m/ews4800.h:
3258 * m/hp9000s300.h:
3259 * m/ibm370aix.h:
3260 * m/mips-siemens.h:
3261 * m/ncr386.h:
3262 * m/next.h:
3263 * m/pmax.h:
3264 * m/powerpcle.h:
3265 * m/tandem-s2.h:
3266 * s/386bsd.h:
3267 * s/bsd386.h:
3268 * s/bsd4-1.h:
3269 * s/bsd4-2.h:
3270 * s/bsdos2-1.h:
3271 * s/bsdos2.h:
3272 * s/bsdos3.h:
3273 * s/bsdos4.h:
3274 * s/nextstep.h:
3275 * s/ultrix4-3.h:
3276 * s/usg5-0.h:
3277 * s/usg5-2-2.h:
3278 * s/usg5-2.h:
3279 * s/usg5-4-3.h:
3280 * s/ux4800.h:
3281 * s/uxpds.h:
3282 * s/uxpv.h: Remove support for obsolete systems.
3283 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3284 Remove, insert contents in s/hpux-10.20.h.
3285 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3286 Remove, insert contents in s/aix4-2.h.
3287 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3288 * s/bsd4-3.h: Rename to ...
3289 * s/bsd-common.h: ... this.
3290 * data.c:
3291 * doc.c:
3292 * ecrt0.c:
3293 * emacs.c:
3294 * fileio.c:
3295 * floatfns.c:
3296 * keyboard.c:
3297 * mem-limits.h:
3298 * print.c:
3299 * process.c:
3300 * sysdep.c:
3301 * syssignal.h:
3302 * systty.h:
3303 * syswait.h:
3304 * term.c:
3305 * unexec.c:
3306 * unexelf.c:
3307 * unexhp9k800.c:
3308 * m/hp800.h:
3309 * m/ibmrs6000.h:
3310 * m/mips.h:
3311 * m/vax.h:
3312 * s/darwin.h:
3313 * s/freebsd.h:
3314 * s/gnu.h:
3315 * s/ms-w32.h:
3316 * s/msdos.h:
3317 * s/netbsd.h:
3318 * s/template.h: Remove references to obsolete variables.
3319
3320 * Makefile.in: Add dependencies for all unexec files.
3321 (admindir): Remove unused variable.
3322 (UNEXEC_SRC): Remove references.
3323
33242008-06-25 Chong Yidong <cyd@stupidchicken.com>
3325
3326 * xfns.c (x_default_font_parameter): If Xft is available, first
3327 try Monospace-12 for the default font.
3328
33292008-06-25 Jason Rumney <jasonr@gnu.org>
3330
3331 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3332
33332008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3334
3335 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3336
3337 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3338
33392008-06-25 Juanma Barranquero <lekktu@gmail.com>
3340
3341 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3342 <scroll-conservatively>: Fix typo in docstring.
3343
3344 * xselect.c (Fx_send_client_event): Doc fix.
3345
33462008-06-25 Kenichi Handa <handa@m17n.org>
3347
3348 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3349
3350 * font.c (font_parse_fcname): Remove unused variables.
3351 (font_sort_entites): Delete the arg SPEC. Caller changed.
3352 Fix for the case of ! best_only.
3353 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3354
3355 * lisp.h (Fstring_to_unibyte): EXFUN it.
3356
3357 * character.h (str_to_unibyte): Extern it.
3358
3359 * character.c (str_to_unibyte): New function.
3360
3361 * fns.c (Fstring_to_unibyte): New function.
3362 (syms_of_fns): Defsubr it.
3363
33642008-06-24 Kenichi Handa <handa@m17n.org>
3365
3366 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3367 DPI too.
3368 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3369
33702008-06-24 Andreas Schwab <schwab@suse.de>
3371
3372 * Makefile.in (${lispsource}loaddefs.el): Rename from
3373 ../lisp/loaddefs.el.
3374 (bootstrap-clean): Do what distclean does but don't remove
3375 Makefile.
3376 (distclean): Depend on bootstrap-clean and remove Makefile.
3377
33782008-06-24 Chong Yidong <cyd@stupidchicken.com>
3379
3380 * buffer.h (struct buffer): New member word_wrap.
3381
3382 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3383 word-wrap.
3384 (init_buffer_once): Initialize them.
3385
3386 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3387 line_wrap enum possessing three possible values.
3388
3389 * termopts.h: Replace truncate_partial_width_windows with
3390 Vtruncate_partial_width_windows.
3391
3392 * dispnew.c (direct_output_for_insert): Avoid direct output when
3393 inserting a space with word wrap on.
3394
3395 * indent.c (compute_motion): Obey integer values of
3396 truncate-partial-width-windows.
3397
3398 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3399 replacing truncate_partial_width_windows.
3400 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3401 truncate only if the window width is below that integer.
3402 (start_display, resize_mini_window, produce_stretch_glyph)
3403 (display_string, move_it_in_display_line_to): Use line_wrap.
3404 (back_to_previous_visible_line_start, reseat_1): Reset
3405 string_from_display_prop_p.
3406 (display_line): Extend default face to end of line when wrapping.
3407
34082008-06-24 Kim F. Storm <storm@cua.dk>
3409
3410 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3411 to wrap continued lines at word boundaries.
3412
34132008-06-24 Jason Rumney <jasonr@gnu.org>
3414
3415 * font.c (Ffont_face_attributes): Multiply pixel size before point
3416 conversion to avoid multiplying rounding error.
3417
34182008-06-23 Jason Rumney <jasonr@gnu.org>
3419
3420 * w32term.c (x_draw_glyph_string_background)
3421 (x_draw_glyph_string): Remove old bdf font code.
3422
3423 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3424
34252008-06-22 Kenichi Handa <handa@m17n.org>
3426
3427 * font.c (font_find_for_lface): Try the adstyle specified in
3428 the property of LFACE_FONT of LFACE (if any).
3429
34302008-06-21 Seiji Zenitani <zenitani@mac.com>
3431 Ryo Yoshitake <ryo@shiftmode.net>
3432
3433 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3434
34352008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3436
3437 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3438 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3439 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3440 (witness-emacs): Remove.
3441 (lisp, shortlisp): Move loaddefs.el earlier.
3442 (mostlyclean): Forget about witness-emacs.
3443
34442008-06-22 Glenn Morris <rgm@gnu.org>
3445
3446 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3447 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3448
34492008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3450
3451 * Makefile.in (PRECOMP): Remove.
3452 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3453 (witness-emacs): Run `compile-first'.
3454 (.el.elc): Use the new compile-onefile target.
3455
34562008-06-21 Kenichi Handa <handa@m17n.org>
3457
3458 * xftfont.c (xftfont_open): Handle QCembolden only when
3459 FC_EMBOLDEN is defined.
3460
34612008-06-21 Andreas Schwab <schwab@suse.de>
3462
3463 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3464 (.el.elc): Likewise.
3465
34662008-06-21 Miles Bader <miles@gnu.org>
3467
3468 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3469 build dir, not the lisp source dir.
3470
34712008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3472
3473 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3474 (bootstrapclean): Remove.
3475 (.el.elc): New rule.
3476 (PRECOMP): New var.
3477 (../lisp/subdirs.el): Remove.
3478 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3479 (witness-emacs): New target.
3480 (mostlyclean): Remove witness-emacs as well.
3481 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3482 Add witness-emacs dependency.
3483
34842008-06-20 Chong Yidong <cyd@stupidchicken.com>
3485
3486 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3487 defined by the font.
3488
34892008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3490
3491 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3492 (bootstrap-clean): New target that keeps TAGS around.
3493 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3494 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3495
34962008-06-20 Jason Rumney <jasonr@gnu.org>
3497
3498 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3499 Remove obsolete font code.
3500
3501 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3502 to determine language support.
3503
35042008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3505
3506 * sysdep.c (cfsetspeed): New fun extracted from the code.
3507 (cfmakeraw): Move before first use.
3508
35092008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3510
3511 * sysdep.c (cfmakeraw): Provide fallback implementation.
3512 (serial_configure): Provide fallback implementation of cfsetspeed.
3513
35142008-06-20 Kenichi Handa <handa@m17n.org>
3515
3516 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3517 the pattern.
3518
3519 * fontset.c (fontset_from_font): Copy font_spec before changing
3520 the elements.
3521
3522 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3523
35242008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3525
3526 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3527 for explicit `font' parameters.
3528
3529 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3530
35312008-06-19 Kenichi Handa <handa@m17n.org>
3532
3533 * frame.c: Include <ctype.h>.
3534 (x_set_font_backend): Allow spacing characters in the X resource
3535 for FontBackend.
3536
35372008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3538
3539 * w32fns.c, xfns.c (Qfont_param): New var.
3540 (syms_of_w32fns): Initialize it.
3541 (x_default_font_parameter): Record explicit `font' into
3542 `font-parameter'.
3543
35442008-06-18 Kenichi Handa <handa@m17n.org>
3545
3546 * font.c (font_parse_xlfd): Fix previous change.
3547 (font_parse_fcname): Don't use :fc-unknown-spec.
3548 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3549 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3550 (font_add_log): Prepend the driver name to the resulting fonts.
3551
3552 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3553 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3554 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3555
3556 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3557 (QCembolden): New variables.
3558 (syms_of_xftfont): DEFSYM them.
3559 (xftfont_open): Call XftFontMatch. Don't trust the result of
3560 XftTextExtents8 if the pixel_size is less than 5.
3561
35622008-06-18 Andreas Schwab <schwab@suse.de>
3563
3564 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3565 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3566
35672008-06-18 Jason Rumney <jasonr@gnu.org>
3568
3569 * w32font.c (w32font_list, w32font_match): Add logging.
3570
3571 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3572
35732008-06-17 Chong Yidong <cyd@stupidchicken.com>
3574
3575 * font.c (font_parse_fcname): Store divider characters for
3576 unknown-spec list. For known key symbols, intern using correct
3577 symbol name.
3578
35792008-06-17 Kenichi Handa <handa@m17n.org>
3580
3581 * xfaces.c (realize_default_face): If the frame is not on window
3582 system, set the fontset of face to nil.
3583
35842008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3585
3586 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3587
35882008-06-16 Juanma Barranquero <lekktu@gmail.com>
3589
3590 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3591 (build_font_name_from_vector): Delete externs.
3592
3593 * xfaces.c (struct font_name): Don't declare.
3594
35952008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3596
3597 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3598
35992008-06-16 Chong Yidong <cyd@stupidchicken.com>
3600
3601 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3602
36032008-06-16 Juanma Barranquero <lekktu@gmail.com>
3604
3605 * font.c (Ffont_spec): Fix usage in docstring.
3606 (Ffont_face_attributes): Doc fix.
3607
36082008-06-16 Andreas Schwab <schwab@suse.de>
3609
3610 * font.c (Ffont_face_attributes): Fix definition.
3611
36122008-06-16 Jason Rumney <jasonr@gnu.org>
3613
3614 * font.h (font_style_symbolic_from_value): Remove.
3615
3616 * font.c (font_style_symbolic_from_value): Remove.
3617 (font_style_symbolic): Revert to pre 2008-06-13 version.
3618
3619 * w32font.c (w32_to_fc_weight): New function.
3620 (w32font_full_name, logfont_to_fcname): Use it.
3621
36222008-06-16 Kenichi Handa <handa@m17n.org>
3623
3624 * font.c (font_check_object): Delete it.
3625 (font_clear_cache): Check if a font-object is alive.
3626 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3627 font-object to nil.
3628 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3629 (font_at): Don't call font_check_object.
3630 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3631
36322008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3633
3634 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3635
36362008-06-16 Chong Yidong <cyd@stupidchicken.com>
3637
3638 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3639
36402008-06-15 Chong Yidong <cyd@stupidchicken.com>
3641
3642 * font.c (font_parse_fcname): Only one decimal point.
3643 (font_unparse_fcname): Handle data in family and foundry indices
3644 as symbols, not strings.
3645 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3646
3647 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3648
3649 * font.h (font_unparse_gtkname): Add prototype.
3650
36512008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3652
3653 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3654
36552008-06-15 Andreas Schwab <schwab@suse.de>
3656
3657 * font.c (font_update_drivers): Fix crash when no drivers match.
3658
36592008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3660
3661 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3662 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3663
36642008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3665
3666 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3667
36682008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3669
3670 * process.c (Fserial_process_configure, Fprocess_send_eof):
3671 Use EQ to compare Lisp_Objects.
3672
36732008-06-13 Jason Rumney <jasonr@gnu.org>
3674
3675 * w32fns.c (Fw32_select_font): Remove old font API function.
3676
3677 * w32font.c (logfont_to_fcname): New function.
3678 (Fx_select_font): New font dialog function compatible with
3679 GTK/fontconfig version.
3680
3681 * font.c (font_style_symbolic_from_value): New function.
3682 (font_style_symbolic): Use it.
3683
3684 * font.h (font_style_symbolic_from_value): Declare new function.
3685
36862008-06-13 Juanma Barranquero <lekktu@gmail.com>
3687
3688 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3689 <font-width-table>: Fix typos in docstrings.
3690
36912008-06-13 Daniel Engeler <engeler@gmail.com>
3692
3693 These changes add serial port access.
3694 * process.c: Add HAVE_SERIAL.
3695 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3696 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3697 (list_processes_1, select_wrapper, Fstop_process)
3698 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3699 (status_notify): Modify to handle serial processes.
3700 [HAVE_SERIAL] (Fserial_process_configure)
3701 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3702 New functions.
3703 * process.h (struct Lisp_Process): Add `type'.
3704 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3705 New functions.
3706 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3707 serial ports.
3708 (serial_open, serial_configure) New functions.
3709 * w32.h: Add FILE_SERIAL.
3710 (struct _child_process): Add ovl_read, ovl_write.
3711
37122008-06-13 Kenichi Handa <handa@m17n.org>
3713
3714 * dispextern.h (enum lface_attribute_index): New member
3715 LFACE_FOUNDRY_INDEX.
3716
3717 * font.c (font_score): Delete arg alternate_families. Check only
3718 weight, slant, width, and size. Ignore the difference of alias
3719 style symbols.
3720 (font_sort_entites): Adjust for the above change. Reflect the
3721 order of font-driver to scores.
3722 (font_list_entities): Don't check alternate_familes here.
3723 (font_clear_prop): Handle foundry.
3724 (font_update_lface): Don't parse "foundry-family" form here.
3725 Handle FONT_FOUNDRY_INDEX.
3726 (font_find_for_lface): Likewise. Handle alternate families here.
3727 If registry is nil, try iso8859-1 and ascii-0.
3728 (font_open_for_lface): Pay attention to size in ENTITY.
3729 (font_open_by_name): Simplify by calling font_load_for_lface.
3730 (free_font_driver_list): Delete it.
3731 (font_update_drivers): Preserve the order of backends.
3732 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3733 of font_score and font_sort_entites.
3734 (font_update_sort_order): Likewise.
3735
3736 * xfaces.c (LFACE_FOUNDRY): New macro.
3737 (check_lface_attrs): Check foundry.
3738 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3739 (merge_face_vectors): Check foundry.
3740 (merge_face_ref): Likewise.
3741 (Finternal_set_lisp_face_attribute): Likewise.
3742 (x_update_menu_appearance): Likewise.
3743 (Finternal_get_lisp_face_attribute): Likewise.
3744 (lface_hash): Likewise.
3745 (lface_same_font_attributes_p): Likewise.
3746 (x_supports_face_attributes_p): Likewise.
3747 (tty_supports_face_attributes_p): Likewise.
3748 (Finternal_set_alternative_font_family_alist): Intern strings.
3749 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3750 (realize_default_face): Set LFACE_FOUNDRY (lface).
3751
3752 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3753 font-driver at first.
3754
3755 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3756
37572008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3758
3759 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3760
37612008-06-12 Jim Meyering <meyering@redhat.com>
3762
3763 Make unexec_free handle NULL the same way free does.
3764 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3765
37662008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3767
3768 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3769 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3770 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3771 (WEAK_ALIAS): Simplify.
3772 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3773 when searching a unibyte buffer.
3774
37752008-06-12 Chong Yidong <cyd@stupidchicken.com>
3776
3777 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3778
37792008-06-12 Juanma Barranquero <lekktu@gmail.com>
3780
3781 * w32font.c: Include ctype.h.
3782
37832008-06-11 Jason Rumney <jasonr@gnu.org>
3784
3785 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3786 misreported as space.
3787 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3788 as aliases for registry iso10646-1.
3789
37902008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3791
3792 * buffer.c (clone_per_buffer_values): Skip `name'.
3793
37942008-06-11 Chong Yidong <cyd@stupidchicken.com>
3795
3796 * font.c (font_parse_fcname): Fix last change; accept decimal
3797 points in font size.
3798
37992008-06-10 Jason Rumney <jasonr@gnu.org>
3800
3801 * w32uniscribe.c (add_opentype_font_name_to_list):
3802 Skip non unicode fonts.
3803
38042008-06-10 Chong Yidong <cyd@stupidchicken.com>
3805
3806 * xfns.c (Fx_font_dialog): New function.
3807
3808 * gtkutil.c (xg_dialog_response_cb): Rename from
3809 xg_file_response_callback.
3810 (pop_down_dialog): Rename from pop_down_file_dialog.
3811 (xg_get_file_name): Callers changed.
3812 (xg_get_font_name): New function.
3813
3814 * gtkutil.h (xg_get_font_name): Insert prototype.
3815
38162008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3817
3818 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3819 x_underline_minimum_display_offset.
3820 (syms_of_xdisp): Declare it here rather than in xterm.c.
3821 * dispextern.h (underline_minimum_offset): Declare it.
3822 * w32term.c (x_draw_glyph_string): Use it.
3823 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3824 (syms_of_xterm): Don't declare it any more.
3825 (x_draw_glyph_string): Adjust to the new name.
3826
38272008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3828
3829 * xterm.c (x_underline_minimum_display_offset): New var.
3830 (x_draw_glyph_string): Use it.
3831 (syms_of_xterm): Declare it.
3832
38332008-06-10 Chong Yidong <cyd@stupidchicken.com>
3834
3835 * font.c (font_parse_fcname): Accept GTK-style font names too.
3836
38372008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3838
3839 * dired.c (file_name_completion): Don't return t if the match is exact
3840 but with different capitalization.
3841 * minibuf.c (Ftry_completion): Simplify.
3842
3843 * window.c (Vwindow_point_insertion_type): New var.
3844 (set_window_buffer): Use it.
3845 (syms_of_window): Init and export it to Lisp.
3846
38472008-06-10 Kenichi Handa <handa@m17n.org>
3848
3849 * font.h (font_intern_prop): Prototype adjusted.
3850
3851 * font.c (font_intern_prop): New arg force_symbol.
3852 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3853 Adjust for the change of font_intern_prop.
3854
3855 * ftfont.c (ftfont_pattern_entity):
3856 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3857 (w32_registry):
3858 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3859 the change of font_intern_prop.
3860
38612008-06-09 Juanma Barranquero <lekktu@gmail.com>
3862
3863 * w32menu.c (digest_single_submenu): Declare extern.
3864
38652008-06-09 Jason Rumney <jasonr@gnu.org>
3866
3867 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3868
3869 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3870 (parse_single_submenu): Remove.
3871 (digest_single_submenu): Remove.
3872 (syms_of_w32menu): Don't initialise variables that have moved
3873 to menu.c.
3874 (set_frame_menubar): Sync with version in xmenu.c.
3875 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3876
3877 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3878 Make static again.
3879
38802008-06-09 Jason Rumney <jasonr@gnu.org>
3881
3882 Changes to w32 files related to the move of common menu code
3883 to menu.c on 2008-06-08 by Chong Yidong.
3884
3885 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3886 defs to w32gui.h.
3887 (single_keymap_panes, push_menu_item, push_menu_pane):
3888 Make globally visible.
3889
3890 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3891 (local_free, malloc_widget_value, free_widget_value)
3892 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3893 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3894 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3895 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3896 (menu_items, menu_items_allocated, menu_items_used)
3897 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3898 (init_menu_items, finish_menu_items, discard_menu_items)
3899 (grow_menu_items, push_submenu_start, push_submenu_end)
3900 (push_left_right_boundary, push_menu_pane, push_menu_item)
3901 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3902 (free_menubar_widget_tree_value, parse_single_submenu)
3903 (update_submenu_strings): Remove functions.
3904 (xmalloc_widget_value): Remove and declare extern.
3905
3906 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3907 (OBJ1): Build it.
3908
3909 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3910 (local_heap, local_alloc, local_free, malloc_widget_value)
3911 (free_widget_value): Define here.
3912
39132008-06-09 Kenichi Handa <handa@m17n.org>
3914
3915 * font.h (Qascii_0): Extern it.
3916
3917 * font.c (Qascii_0): New variable.
3918 (syms_of_font): DEFSYM it.
3919 (font_open_by_name): If the registry "iso8859-1" fails, try also
3920 "ascii-0".
3921
3922 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3923
39242008-06-08 Kenichi Handa <handa@m17n.org>
3925
3926 * .gdbinit (xfont): New command.
3927
39282008-06-08 Andreas Schwab <schwab@suse.de>
3929
3930 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3931 * Makefile.in (menu.o): Update dependencies.
3932
3933 * Makefile.in (obj): Always add menu.o.
3934 * emacs.c (main): Always call syms_of_menu.
3935 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3936
39372008-06-08 Chong Yidong <cyd@stupidchicken.com>
3938
3939 * Makefile.in: Compile menu.c.
3940
3941 * lisp.h: Declare syms_of_menu.
3942
3943 * emacs.c (main): Call syms_of_menu.
3944
3945 * keyboard.h: Relocate platform-independent menu definitions from
3946 xmenu.c.
3947
3948 * menu.c: New file. Relocate platform-independent menu
3949 definitions from xmenu.c. Suggested by Adrian Robert.
3950
3951 * xmenu.c: Remove platform-independent menu definitions.
3952 (menu_items menu_items_inuse, menu_items_allocated)
3953 (menu_items_used, menu_items_n_panes)
3954 (menu_items_submenu_depth): Move to keyboard.h.
3955 (init_menu_items, finish_menu_items, unuse_menu_items)
3956 (discard_menu_items, restore_menu_items, save_menu_items)
3957 (grow_menu_items, push_submenu_start, push_submenu_end)
3958 (push_left_right_boundary, push_menu_pane, push_menu_item)
3959 (keymap_panes, single_keymap_panes, single_menu_item)
3960 (list_of_panes, list_of_items, find_and_call_menu_selection)
3961 (xmalloc_widget_value, free_menubar_widget_value_tree)
3962 (parse_single_submenu, digest_single_submenu)
3963 (update_submenu_strings): Move to menu.c.
3964
39652008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3966
3967 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3968
39692008-06-06 Miles Bader <miles@gnu.org>
3970
3971 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3972 face, not frame default.
3973
39742008-06-05 Martin Rudalics <rudalics@gmx.at>
3975
3976 * window.c (pop_up_windows, pop_up_frames)
3977 (display_buffer_reuse_frames, Vpop_up_frame_function)
3978 (Vdisplay_buffer_function, Veven_window_heights)
3979 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3980 (Vspecial_display_function, Vsame_window_buffer_names)
3981 (Vsame_window_regexps, split_height_threshold)
3982 (Vsplit_window_preferred_function): Move those vars to window.el.
3983 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3984 (Fdisplay_buffer): Move those functions to window.el.
3985 (syms_of_window): Remove corresponding declarations.
3986 (display_buffer): New function.
3987 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3988 * dispnew.c (Flast_nonminibuf_frame): New function.
3989 * buffer.c (Fpop_to_buffer): Move to window.el.
3990
39912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3992
3993 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3994
39952008-06-05 Kenichi Handa <handa@m17n.org>
3996
3997 * coding.c (detect_coding): Fix previous change.
3998 (detect_coding_system): Likewise.
3999
40002008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4001
4002 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4003
4004 * keymap.c (Vminibuffer_local_filename_must_match_map):
4005 Rename from Vminibuffer_local_must_match_filename_map.
4006 (syms_of_keymap):
4007 * minibuf.c (Fcompleting_read): Adjust accordingly.
4008 * commands.h: Rename declaration as well.
4009
40102008-06-05 Kenichi Handa <handa@m17n.org>
4011
4012 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4013 family name.
4014 (Ffont_put): Likewise.
4015
4016 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4017 current font-spec.
4018
4019 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4020 is unspecified.
4021
4022 * xfaces.c (realize_x_face): If the font-related face attributes
4023 are the same as those of default face, realize a new fontset from
4024 default->fontset.
4025 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4026
40272008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4028
4029 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4030 (move_it_in_display_line): New wrapper.
4031
4032 * window.c (window_scroll_pixel_based_preserve_x)
4033 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4034 (window_scroll_pixel_based, window_scroll_line_based):
4035 Use them to preserve column positions.
4036 (syms_of_window): Initialize them.
4037
4038 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4039 (HPOS . VPOS) pair.
4040
4041 * dispextern.h (move_it_in_display_line): Declare.
4042
40432008-06-05 Juanma Barranquero <lekktu@gmail.com>
4044
4045 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4046 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4047 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4048
40492008-06-04 Juanma Barranquero <lekktu@gmail.com>
4050
4051 * window.c (Fset_window_parameter): Doc fix.
4052 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4053
40542008-06-04 Joakim Verona <joakim@verona.se>
4055
4056 * window.h (struct window): Add new member window_parameters.
4057
4058 * window.c (Fwindow_parameters, Fwindow_parameter)
4059 (Fset_window_parameter): New defuns.
4060 (syms_of_window): Defsubr the new defuns.
4061 (make_window): Initialize window_parameters to nil.
4062
40632008-06-04 John Paul Wallington <jpw@pobox.com>
4064
4065 * eval.c (Fdefmacro): Doc fix.
4066
40672008-06-04 Kenichi Handa <handa@m17n.org>
4068
4069 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4070 Be sure to call setup_coding_system when we find a proper coding system.
4071 (detect_coding_system): Fix handling of coding->head_ascii.
4072
40732008-06-03 Andreas Schwab <schwab@suse.de>
4074
4075 * font.c (font_prop_validate_spacing): Fix last change.
4076
40772008-06-03 Kenichi Handa <handa@m17n.org>
4078
4079 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4080 (font_parse_fcname): Fix handling of unknown key.
4081
4082 * xfont.c (xfont_list): Try an alias.
4083
4084 * charset.c (char_charset): Return NULL if the arg charset_list is
4085 specified and C doesn't belong to any of them.
4086
40872008-06-02 Chip Coldwell <coldwell@redhat.com>
4088
4089 * font.c (font_pixel_size): Don't take cdr of an integer.
4090
40912008-06-02 Jim Meyering <meyering@redhat.com>
4092
4093 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4094 * alloc.c (xfree): Return right away for a NULL arg.
4095 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4096 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4097 * mac.c (create_apple_event_from_event_ref): Likewise.
4098 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4099 Likewise.
4100 * doprnt.c (doprnt1): Likewise.
4101 * frame.c (frame): Likewise.
4102 * keyboard.c (wipe_kboard): Likewise.
4103 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4104 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4105 * term.c (tty_default_color_capabilities, maybe_fatal)
4106 (delete_tty): Likewise.
4107 * w16select.c (string): Likewise.
4108 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4109 * w32bdf.c (w32_free_bdf_font): Likewise.
4110 * w32fns.c (w32_unload_font): Likewise.
4111 * w32font.c (w32font_close): Likewise.
4112 * window.c (size_window): Likewise.
4113 * xselect.c (receive_incremental_selection): Likewise.
4114 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4115 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4116 * w32.c (stat): Likewise.
4117
4118 Remove useless if-before-free tests.
4119 * editfns.c (Fset_time_zone_rule): Likewise.
4120 * lread.c (nosuffix): Likewise.
4121 * ralloc.c (get_bloc): Likewise.
4122 * regex.c (reg_free): Likewise.
4123 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4124 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4125 * xsmfns.c (smc_save_yourself_CB): Likewise.
4126
41272008-06-02 Kenichi Handa <handa@m17n.org>
4128
4129 * font.c (font_find_for_lface): Handle float font size.
4130 (font_open_for_lface): Likewise.
4131
4132 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4133 comparing the properties.
4134
41352008-06-01 Jason Rumney <jasonr@gnu.org>
4136
4137 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4138 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4139 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4140 Don't add empty script list.
4141 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4142
41432008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4144
4145 * Makefile.in (dot, dotdot): Remove, update users.
4146 ".." has been used elsewhere in the file for a long time.
4147 (LIBXT_STATIC): Remove conditional based on unused variable.
4148
41492008-06-01 Miles Bader <miles@gnu.org>
4150
4151 * xfaces.c (Vface_remapping_alist): New variable.
4152 (syms_of_xfaces): Initialize it.
4153 (enum named_merge_point_kind): New type.
4154 (struct named_merge_point): Add `named_merge_point_kind' field.
4155 (push_named_merge_point): Make cycle detection respect different
4156 named-merge-point kinds.
4157 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4158 Remove face-name alias resolution.
4159 (lface_from_face_name): New definition using
4160 `lface_from_face_name_no_resolve'.
4161 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4162 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4163 (get_lface_attributes): New definition that layers face-remapping on
4164 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4165 (lookup_basic_face): New function.
4166 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4167 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4168 `get_lface_attributes'.
4169 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4170 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4171 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4172
4173 * xdisp.c (init_iterator): Pass base_face_id through
4174 `lookup_basic_face' when we actually use it as a face-id.
4175 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4176 DEFAULT_FACE_ID.
4177
4178 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4179 lookup the initial face-id.
4180
4181 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4182
41832008-06-01 Juanma Barranquero <lekktu@gmail.com>
4184
4185 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4186 (Fremove_text_properties): Fix typos in docstrings.
4187
41882008-05-31 Kenichi Handa <handa@m17n.org>
4189
4190 * font.c (font_list_entities): Fix the car part of data to be
4191 stored in the cache.
4192
4193 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4194
41952008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4196
4197 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4198 Add a `test' argument so another predicate than `equal' can be used.
4199 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4200 (map_char_table): Remove unused vars `c' and `i'.
4201 * lisp.h (Foptimize_char_table): Adjust declaration.
4202 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4203
42042008-05-30 Kenichi Handa <handa@m17n.org>
4205
4206 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4207 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4208 defined.
4209
42102008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4211
4212 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4213 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4214 frame-local settings for the same variable.
4215
42162008-05-30 Kenichi Handa <handa@m17n.org>
4217
4218 * fontset.c (Ffont_info): Move to font.c.
4219 (syms_of_fontset): Delete defsubr of Sfont_info.
4220
4221 * font.c (font_style_to_value, font_score): Delete casting of the
4222 args to xstcasecmp.
4223 (register_font_driver): Increment num_font_drivers only when
4224 registering the driver globally.
4225 (Ffont_info): Move from fontset.c. Handle a font object too.
4226 (syms_of_font): Defsubr Sfont_info.
4227
42282008-05-29 Kenichi Handa <handa@m17n.org>
4229
4230 * coding.h (enum define_coding_utf8_arg_index): New enum.
4231 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4232 coding_attr_utf_bom.
4233 (enum utf_bom_type): Rename from utf_16_bom_type.
4234 (struct utf_16_spec): Adjust for the above change.
4235 (struct coding_system): Add utf_8_bom in `spec' union.
4236
4237 * coding.c (CODING_UTF_8_BOM): New macro.
4238 (enum coding_category): Delete coding_category_utf_8, add
4239 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4240 coding_category_utf_8_sig.
4241 (CATEGORY_MASK_UTF_8): Delete it.
4242 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4243 (CATEGORY_MASK_UTF_8_SIG): New macros.
4244 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4245 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4246 CATEGORY_MASK_UTF_8_SIG.
4247 (CATEGORY_MASK_UTF_8): New macro.
4248 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4249 (detect_coding_utf_8): Check BOM.
4250 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4251 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4252 (encode_coding_utf_16): Likewise.
4253 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4254 (detect_coding, detect_coding_system): Handle utf-8-auto.
4255 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4256 (syms_of_coding): Fix setting up of Vcoding_category_table.
4257
42582008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4259
4260 * process.c (Faccept_process_output): If `millisec' is non-nil,
4261 `seconds' default to 0.
4262 (wait_reading_process_output): Also return non-nil if we read output
4263 from a non-running process.
4264
42652008-05-29 Jason Rumney <jasonr@gnu.org>
4266
4267 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4268 `raster' specified.
4269 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4270 in the uniscribe backend, but disallow any font that has no
4271 unicode subrange support.
4272
42732008-05-29 Juanma Barranquero <lekktu@gmail.com>
4274
4275 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4276 Fix typos in docstrings.
4277
42782008-05-29 Kenichi Handa <handa@m17n.org>
4279
4280 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4281 (Fx_family_fonts): Set frame correctly.
4282
42832008-05-28 Jason Rumney <jasonr@gnu.org>
4284
4285 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4286
42872008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4288
4289 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4290 calling build_annotations.
4291
42922008-05-28 Juanma Barranquero <lekktu@gmail.com>
4293
4294 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4295 (Fencode_coding_string):
4296 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4297 <latin-extra-code-table>: Fix typos in docstrings.
4298 (syms_of_coding) <coding-system-alist>: Doc fix.
4299 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4300
43012008-05-28 Kenichi Handa <handa@m17n.org>
4302
4303 * fontset.c (Ffont_info): Don't call font_close_object.
4304
4305 * font.c (font_parse_family_registry): Use Ffont_put to validate
4306 foundry and family.
4307 (font_delete_unmatched): Don't check spacing.
4308 (font_list_entities): Add spacing to the spec to list fonts.
4309
4310 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4311 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4312
4313 * coding.c (encode_coding_raw_text): Fix previous change.
4314 (encode_coding_object): When the dst_object is a buffer and is
4315 different from src_object, move gap to PT.
4316
43172008-05-27 Chong Yidong <cyd@stupidchicken.com>
4318
4319 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4320
43212008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4322
4323 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4324 all branches. Compute it differently.
4325
4326 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4327
43282008-05-27 Juanma Barranquero <lekktu@gmail.com>
4329
4330 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4331 into "else if () ... else ...".
4332
43332008-05-27 Jason Rumney <jasonr@gnu.org>
4334
4335 * w32font.c (w32font_open_internal): Determine if glyph indices
4336 are likely to work here.
4337
43382008-05-27 Chong Yidong <cyd@stupidchicken.com>
4339
4340 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4341 draw overlap glyphs with appropriate highlighting.
4342
43432008-05-27 Kenichi Handa <handa@m17n.org>
4344
4345 * xfont.c (xfont_open): Fix calculation of font->average_width.
4346
43472008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4348
4349 * casefiddle.c (casify_object): Try to guess better whether the
4350 argument is a byte or a char.
4351
43522008-05-26 Andreas Schwab <schwab@suse.de>
4353
4354 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4355 Always send multiples of format size.
4356
4357 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4358
43592008-05-26 Jason Rumney <jasonr@gnu.org>
4360
4361 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4362 (compute_metrics): Don't set failure if we just cleared the cache.
4363 (w32_weight_table): Remove unused variable.
4364 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4365 backwards compatibility.
4366
43672008-05-25 Kenichi Handa <handa@m17n.org>
4368
4369 * w32term.c (x_draw_glyph_string):
4370 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4371
4372 * xfaces.c: Delete unused function prototypes.
4373 (xstrlwr, font_frame): Delete them.
4374 (clear_face_cache): Delete unused variable.
4375
4376 * xftfont.c (xftfont_open): Delete unused variable.
4377 If underline_thickness is not 1, adjust underline_position.
4378
4379 * ftxfont.c (ftxfont_open): Delete unused variable.
4380
4381 * fontset.c (face_for_char): Optimize for the case of no charset
4382 property.
4383
4384 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4385 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4386 (otf_open, font_otf_capability, generate_otf_features)
4387 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4388 Comment out by surrounding "#if 0" and "#endif" for the moment.
4389 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4390 (syms_of_font): Codes for accessing above commented out.
4391
43922008-05-24 Eli Zaretskii <eliz@gnu.org>
4393
4394 * w32proc.c: Include dispextern.h.
4395
4396 * w32.c: Include dispextern.h.
4397
43982008-05-23 Juanma Barranquero <lekktu@gmail.com>
4399
4400 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4401 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4402 Fix typos in docstrings.
4403
44042008-05-23 Jason Rumney <jasonr@gnu.org>
4405
4406 * xsmfns.c: Remove includes that are already included by config.h.
4407
44082008-05-23 Kenichi Handa <handa@m17n.org>
4409
4410 * charset.c (Qemacs, charset_emacs): New variables.
4411 (char_charset): Fix for non-Unicode characters.
4412 (syms_of_charset): Define charset_emacs.
4413
4414 * w32term.c (x_draw_glyph_string): Be sure to update
4415 s->underline_thickness and s->underline_position. Be sure to draw
4416 underline within the current line area.
4417
4418 * xterm.c (x_draw_glyph_string): Be sure to update
4419 s->underline_thickness and s->underline_position. Be sure to draw
4420 underline within the current line area.
4421
4422 * fontset.c: Delete unused variables and add casting for char *
4423 throughout the file.
4424 (fontset_font): Try the fallback fonts of the current fontset
4425 before consulting the default fontset.
4426
4427 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4428
4429 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4430
44312008-05-22 Jason Rumney <jasonr@gnu.org>
4432
4433 * font.c: Don't include strings.h.
4434
4435 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4436
4437 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4438 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4439 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4440 to call xstrcasecmp.
4441
4442 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4443
4444 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4445
4446 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4447
4448 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4449
44502008-05-22 Kenichi Handa <handa@m17n.org>
4451
4452 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4453
4454 * font.c (font_prop_validate_style): Adjust for the format
4455 change of font_style_table.
4456
4457 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4458 two args.
4459
4460 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4461 two args.
4462
44632008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4464
4465 * minibuf.c (keys_of_minibuf): Delete.
4466 * lisp.h (keys_of_minibuf): Delete.
4467 * emacs.c (main): Don't call keys_of_minibuf.
4468
44692008-05-22 Kenichi Handa <handa@m17n.org>
4470
4471 * ftfont.c (ftfont_resolve_generic_family): Rename from
4472 ftfont_list_generic_family. Return a single family for each
4473 generic family.
4474 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4475 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4476 Call font_add_log.
4477 (ftfont_match): Call font_add_log.
4478
4479 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4480 (FONT_DEBUG): Define it.
4481 (font_add_log): Extern it.
4482 (font_assert): Rename from xassert.
4483
4484 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4485 (xfont_list_family): Call font_add_log.
4486 (xfont_match): Likewise.
4487 (memq_no_quit): Delete.
4488
4489 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4490 call of Ffont_xlfd_name.
4491
4492 * xfaces.c (struct table_entry, slant_table, weight_table)
4493 (swidth_table): Move to font.c.
4494
4495 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4496 xassert are changed to font_assert. Delete many unused variables.
4497 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4498 New variables.
4499 (struct table_entry): Move from xfaces.c and modified.
4500 (weight_table, slant_table, width_table): Move from xfaces.c and
4501 contents adjusted for the change of struct table_entry.
4502 (font_style_to_value, font_style_symbolic): Adjust for the
4503 format change of font_style_table.
4504 (font_parse_family_registry): Don't overwrite existing foundry and
4505 family of font_spec.
4506 (font_score): Fix calculation of diff for sizes.
4507 (font_sort_entites): Call font_add_log.
4508 (font_delete_unmatched): Return a newly created list.
4509 (font_list_entities): Fix previous change. Call font_add_log.
4510 (font_matching_entity, font_open_entity, font_close_entity):
4511 Call font_add_log.
4512 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4513 (Finternal_set_font_style_table): Delete.
4514 (BUILD_STYLE_TABLE): New macro.
4515 (build_style_table): New function.
4516 (Vfont_log, font_log_env_checked): New variables.
4517 (font_add_log): New function.
4518 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4519 Declare Lisp variables "font-weight-table", "font-slant-table",
4520 "font-width-table", and "font-log". Initialize font_style_table.
4521
45222008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4523
4524 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4525
45262008-05-21 Seiji Zenitani <zenitani@mac.com>
4527 Ryo Yoshitake <ryo@shiftmode.net>
4528
4529 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4530 (Vframe_alpha_lower_limit): New variable.
4531 (x_set_alpha): New function.
4532
4533 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4534
4535 * xfns.c (x-create-frame, Qalpha):
4536 Initialize the frame parameter `alpha'.
4537 * xterm.c (OPAQUE, OPACITY): New.
4538 (x_set_frame_alpha): New function.
4539 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4540
4541 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4542 * w32fns.c (w32_frame_parm_handlers): Likewise.
4543
45442008-05-20 Jason Rumney <jasonr@gnu.org>
4545
4546 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4547 truetype fonts to opentype list.
4548
45492008-05-20 Juanma Barranquero <lekktu@gmail.com>
4550
4551 * fontset.c (Ffontset_info): Doc fix.
4552 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4553 <ignore-relative-composition>: Fix typos in docstrings.
4554
4555 * font.c (syms-of-font) <font-encoding-alist>:
4556 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4557 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4558 (Ffont_otf_alternates): Doc fixes.
4559
45602008-05-20 Kenichi Handa <handa@m17n.org>
4561
4562 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4563 font.h through out the file.
4564 (FONT_DRIVERS): Rename from FONTOBJ.
4565 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4566 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4567
4568 * emacs.c (main): Call syms_of_font unconditionally.
4569
4570 * font.h (find_font_encoding): Extern it.
4571
4572 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4573 fontset.c.
4574 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4575 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4576 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4577 only when HAVE_WINDOW_SYSTEM is defined.
4578 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4579 when HAVE_WINDOW_SYSTEM is defined.
4580
4581 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4582 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4583
4584 * xfaces.c: Include font.h unconditionally.
4585 (merge_face_ref, merge_face_vectors)
4586 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4587
45882008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4589
4590 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4591 indirect_variable.
4592 * eval.c (lisp_indirect_variable): New fun.
4593 (Fuser_variable_p): Use it.
4594
45952008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4596
4597 * lisp.h (indirect_variable):
4598 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4599 Use Lisp_Symbol pointers rather than Lisp_Object.
4600 Adjust callers.
4601 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4602 To this end, change calling-convention.
4603
4604 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4605 if some non-hidden buffers are selected by string&pred.
4606
46072008-05-19 Chong Yidong <cyd@stupidchicken.com>
4608
4609 * process.c (wait_reading_process_output): Always check status
4610 when in batch mode.
4611
46122008-05-19 Kenichi Handa <handa@m17n.org>
4613
4614 * font.c (font_list_entities): Fix handling of cache.
4615 (font_matching_entity): Likewise.
4616
4617 * ftfont.c (cs_iso8859_1): Delete.
4618 (ft_face_cache): New variable.
4619 (struct ftfont_info): New member fc_charset_idx.
4620 (ftfont_build_basic_charsets): Delete.
4621 (fc_charset_table): New variable.
4622 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4623 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4624 Callers changed.
4625 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4626 (ftfont_spec_pattern): New argument fc_charset_idx.
4627 Check registry more rigidly. Change callers.
4628 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4629 change of :font-entity property of the font.
4630
4631 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4632 property of the font.
4633
46342008-05-18 Juanma Barranquero <lekktu@gmail.com>
4635
4636 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4637 (Funencodable_char_position, Fcheck_coding_systems_region)
4638 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4639 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4640 (Ffind_operation_coding_system, Fset_coding_system_priority)
4641 (Fcoding_system_eol_type): Doc fixes.
4642
46432008-05-17 Glenn Morris <rgm@gnu.org>
4644
4645 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4646
46472008-05-16 Eli Zaretskii <eliz@gnu.org>
4648
4649 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4650 and st_gid.
4651
4652 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4653 HAVE_WINDOW_SYSTEM is not defined.
4654
4655 * xfaces.c (merge_face_ref, merge_face_vectors)
4656 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4657 HAVE_WINDOW_SYSTEM is defined.
4658 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4659
46602008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4661
4662 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4663
46642008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4665
4666 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4667
46682008-05-15 Kenichi Handa <handa@m17n.org>
4669
4670 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4671 preference.
4672
46732008-05-15 Glenn Morris <rgm@gnu.org>
4674
4675 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4676
46772008-05-15 Chong Yidong <cyd@stupidchicken.com>
4678
4679 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4680 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4681
4682 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4683
46842008-05-15 Kenichi Handa <handa@m17n.org>
4685
4686 * ftfont.c (ftfont_list): Downcase family name to check generic
4687 families.
4688
4689 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4690 font-spec for QCfont value.
4691
4692 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4693 buffer. Check the return value of it.
4694
46952008-05-14 Jason Rumney <jasonr@gnu.org>
4696
4697 * w32term.c (w32_get_glyph_overhangs): Remove.
4698 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4699
47002008-05-14 Kenichi Handa <handa@m17n.org>
4701
4702 * font.c (font_prop_validate): Make nil a valid value.
4703 (font_clear_cache): Check if the cached vector of entities is nil
4704 or not.
4705
47062008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4707
4708 * emacs.c (main_thread): Conditionalize on
4709 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4710 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4711
4712 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4713 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4714 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4715
47162008-05-14 Kenichi Handa <handa@m17n.org>
4717
4718 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4719 has no corresponding coding system.
4720
47212008-05-14 Jason Rumney <jasonr@gnu.org>
4722
4723 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4724
4725 * w32font.h (w32font_open_internal): Update declaration.
4726
4727 * w32font.c (w32font_open_internal): Change last argument from
4728 w32font_info struct to font object. Fill in font object from
4729 font_entity. Get Outline metrics if possible. Use them to
4730 calculate underline position and thickness. Use xlfd name as name
4731 property. Don't set codepage.
4732 (w32font_open): Pass font_object to w32font_open_internal. Don't
4733 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4734 (w32font_draw): Use s->font.
4735 (clear_cached_metrics): Don't clear non-existent blocks.
4736
4737 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4738 font was not found.
4739 (x_draw_glyph_string): Use underline position and thickness from font.
4740
4741 * w32uniscribe.c (uniscribe_open): Pass font_object to
4742 w32font_open_internal.
4743
47442008-05-14 Kenichi Handa <handa@m17n.org>
4745
4746 These changes are to delete all legacy font-handling codes, and
4747 make Emacs use only font-backends.
4748
4749 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4750 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4751
4752 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4753
4754 * charset.h (Vcharset_non_preferred_head)
4755 (Vcurrent_iso639_language): Extern them.
4756
4757 * charset.c (Vcharset_non_preferred_head): New variable.
4758 (Vcurrent_iso639_language): New variable.
4759 (syms_of_charset): Declare it as a Lisp variable.
4760 (char_charset): Don't check non preferred charsets. As a last
4761 resort, return charset_unicode.
4762 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4763
4764 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4765 conditionals. Don't check enable_font_backend. Delete all codes
4766 used only when USE_FONT_BACKEND is not defined.
4767
4768 * dispextern.h (struct glyph_string): Change type of `font' to
4769 `struct font *'.
4770 (struct glyph_string): New member underline_position and
4771 underline_thickness.
4772 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4773 (struct face): Change type of `font' to `struct font *'. Remove
4774 members `font_name', `font_info_id'.
4775 (per_char_metric, encode_char): Delete externs.
4776 (calc_pixel_width_or_height): Adjust the prototype.
4777
4778 * emacs.c (enable_font_backend): Delete extern.
4779 (main): Don't set enable_font_backend. Don't check the command
4780 line argument "-disable-font-backend".
4781
4782 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4783 (enum font_property_index): New members FONT_DPI_INDEX,
4784 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4785 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4786 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4787 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4788 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4789 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4790 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4791 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4792 (struct font_spec, struct font_entity): New structs.
4793 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4794 (struct font): Many members from old "struct font_info" moved to
4795 here. Members font and entity deleted.
4796 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4797 the new font-related objects.
4798 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4799 (CHECK_FONT_GET_OBJECT): Likewise.
4800 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4801 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4802 (struct font_driver): New members case_sensitive anc check. Type
4803 of the member list and open changed.
4804 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4805 (font_symbolic_width, font_find_object, font_get_spec)
4806 (font_set_lface_from_name): Delete extern.
4807 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4808
4809 * font.c: Include <strings.h>.
4810 (enable_font_backend): Delete it.
4811 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4812 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4813 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4814 (null_string): Delete it.
4815 (null_vector): Make it static.
4816 (font_family_alist): Delete it.
4817 (Qnormal): Extern it.
4818 (QCextra, QClanguage): Delete it.
4819 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4820 (font_make_spec, font_make_entity, font_make_object)
4821 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4822 the string. Callers changed.
4823 (font_pixel_size): Adjusted for the format change of font-related
4824 objects.
4825 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4826 (font_style_to_value, font_style_symbolic): New function.
4827 (build_font_family_alist): Delete it.
4828 (font_registry_charsets): Use Fassoc_string instead of
4829 assq_no_quit.
4830 (font_prop_validate_symbol): Don't return null_string.
4831 (font_prop_validate_style): Adjusted for the change of
4832 style-related values in a font vector.
4833 (font_property_table): Delete entries for QClanguage and
4834 QCantialias, add entries for QCavgwidth.
4835 (get_font_prop_index): Delete the 2nd argument FROM.
4836 (font_prop_validate): Arguments changed.
4837 (font_put_extra): Adjusted for the change of font-related objects.
4838 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4839 (font_parse_fcname, font_unparse_fcname)
4840 (font_prepare_composition): Likewise.
4841 (font_parse_family_registry): Renamed from font_merge_old_spec.
4842 (otf_open): Delete the 1st arg entity.
4843 (font_otf_capability): Adjusted for the above change.
4844 (font_score): New arg alternate_families. Adjusted for the change
4845 of font-related objects.
4846 (font_sort_entites): New arg best_only.
4847 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4848 Delete them.
4849 (font_match_p): Check alternate families.
4850 (font_find_object): Delete it.
4851 (font_check_object): New function.
4852 (font_clear_cache): Adjusted for the change of font-related objects.
4853 (font_delete_unmatched): New arg.
4854 (font_list_entities): Call font_driver->list with a spec that
4855 doesn't specify style-related properties.
4856 (font_matching_entity): Arguments changed. Caller changed.
4857 (font_open_entity): Adjusted for the change of font-related objects.
4858 (font_close_object, font_has_char, font_encode_char)
4859 (font_get_name, font_get_spec): Likewise.
4860 (font_spec_from_name, font_clear_prop, font_update_lface):
4861 New functions.
4862 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4863 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4864 (font_at): Adjusted for the change of font-related objects.
4865 (font_range): New function.
4866 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4867 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4868 (Fcopy_font_spec, Fmerge_font_spec): New function.
4869 (Ffont_family_list): Renamed from list-families.
4870 (Finternal_set_font_style_table): Arguments changed.
4871 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4872 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4873 change of font-related objects.
4874 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4875
4876 * fontset.h (struct font_info): Delete it. Most members go to
4877 struct font.
4878 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4879 (enum FONT_SPEC_INDEX): Delete it.
4880 (font_info, list_fonts_func, load_font_func, query_font_func)
4881 (set_frame_fontset_func, find_ccl_program_func)
4882 (get_font_repertory_func, new_fontset_from_font_name): Delete
4883 externs.
4884 (fontset_from_font_name): Extern it.
4885 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4886 (FONT_INFO_FROM_FACE): Deleted.
4887 (face_for_font): Adjust prototype.
4888
4889 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4890 conditionals. Don't check enable_font_backend. Delete all codes
4891 used only when USE_FONT_BACKEND is not defined.
4892 (get_font_info_func, list_font_func, load_font_func)
4893 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4894 (get_font_repertory_func): Delete them.
4895 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4896 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4897 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4898 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4899 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4900 (fontset_compare_rfontdef): New function.
4901 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4902 rfont-defs by qsort. Adjusted for the change of font-group vector.
4903 (load_font_get_repertory): Deleted.
4904 (fontset_find_font): Use new macros to ref/set elements of
4905 font-def and rfont-def.
4906 (fontset_font): Fix the timing of remembering that no font for C.
4907 (free_face_fontset): Do nothing if the face has no fontset.
4908 (face_suitable_for_char_p): Use new macros to ref/set elements of
4909 rfont-def.
4910 (face_for_char): Likewise. Call face_for_char with font_object.
4911 (fs_load_font): Delete. Delete #pragma surrounding it.
4912 (fs_query_fontset): Use strcasecmp instead of strcmp.
4913 (generate_ascii_font_name): Adjusted for the format change of
4914 font-spec.
4915 (Fset_fontset_font): Likewise. Use new macros to set elements of
4916 font-def.
4917 (Fnew_fontset): Use font_unparse_xlfd to generate
4918 FONTSET_ASCII (fontset).
4919 (new_fontset_from_font_name): Deleted.
4920 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4921 a fontset is already created for the font. FIx updating of
4922 Vfontset_alias_alist.
4923 (fontset_ascii_font): Deleted.
4924 (Ffont_info): Adjusted for the format change of font-spec.
4925 (Finternal_char_font): Likewise.
4926 (Ffontset_info): Likewise.
4927 (syms_of_fontset): Don't check load_font_func.
4928
4929 * fns.c (internal_equal): Handle PREV_FONT.
4930
4931 * frame.h: Delete USE_FONT_BACKEND conditional.
4932
4933 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4934 conditionals. Don't check enable_font_backend. Delete all codes
4935 used only when USE_FONT_BACKEND is not defined.
4936 (x_set_font): Call x_new_font, not x_new_fontset2.
4937 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4938 already set for the frame.
4939
4940 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4941 a font-entity by font_make_entity. Use font_intern_prop instead
4942 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4943 font property. If a font is scalable, set avgwidth property to 0.
4944 Set font-entity property by font_put_extra.
4945 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4946 (ffont_driver): Adjusted for the change of struct font_driver.
4947 (ftfont_spec_pattern): New function.
4948 (ftfont_list): Return a list, not vector.
4949 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4950 (ftfont_list_family): Don't downcase names.
4951 (ftfont_free_entity): Deleted.
4952 (ftfont_open): Return a font-object. Adjusted for the change of
4953 struct font. Get underline_thickness and underline_position from
4954 font property. Don't update dpyinfo->smallest_font_height and
4955 dpyinfo->smallest_char_width.
4956 (ftfont_close): Don't free `struct font'.
4957 (ftfont_has_char): Adjusted for the format change of font-entity.
4958 (ftfont_encode_char, ftfont_text_extents): Likewise.
4959
4960 * ftxfont.c (ftxfont_list): Return a list, not vector.
4961 (ftxfont_open): Return a font-object. Adjusted for the change of
4962 struct font. Get underline_thickness and underline_position from
4963 font property. Don't update dpyinfo->smallest_font_height and
4964 dpyinfo->smallest_char_width.
4965 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
4966 (ftxfont_draw): Adjusted for the change of struct font.
4967
4968 * image.c (image_ascent): Don't include "charset.h". Include
4969 "character.h" and "font.h".
4970
4971 * lisp.h (enum pvec_type): New member PREV_FONT.
4972 (Fassoc_string): EXFUN it.
4973
4974 * print.c: Include font.h.
4975 (print_object): Handle font-related objects.
4976
4977 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4978 conditionals. Don't check enable_font_backend. Delete all codes
4979 used only when USE_FONT_BACKEND is not defined.
4980 (handle_auto_composed_prop): Do nothing if it->f is not on a
4981 window system. Check how many following characters can be
4982 displayed by the same font.
4983 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4984 'struct font *'.
4985 (get_char_face_and_encoding): Assign the whole encoding task to
4986 the `encode-char' method of a font driver.
4987 (fill_composite_glyph_string): Adjusted for the change of `struct
4988 face' and `struct glyph_string'.
4989 (fill_glyph_string): Likewise.
4990 (get_per_char_metric): Arguments changed.
4991 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4992 and `struct glyph_string'.
4993 (produce_stretch_glyph, calc_line_height_property)
4994 (x_produce_glyphs): Likewise.
4995
4996 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4997 conditionals. Don't check enable_font_backend. Delete all codes
4998 used only when USE_FONT_BACKEND is not defined. Use
4999 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5000 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5001 (Qp): Extern them.
5002 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5003 Deleted.
5004 (struct font_name): Deleted.
5005 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5006 (compare_fonts_by_sort_order): New function.
5007 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5008 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5009 Deleted.
5010 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5011 compare_fonts_by_sort_order.
5012 (Fx_font_family_list): Call Ffont_family_list.
5013 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5014 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5015 (face_symbolic_slant, face_symbolic_swidth)
5016 (split_font_name_into_vector, build_font_name_from_vector)
5017 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5018 (font_rescale_ratio, split_font_name, build_font_name)
5019 (free_font_names, sort_fonts, x_face_list_fonts)
5020 (face_font_available_p, sorted_font_list, cmp_font_names)
5021 (font_list_1, concat_font_list, font_list, remove_duplicates):
5022 Deleted.
5023 (Fx_list_fonts): Use Ffont_list.
5024 (LFACE_AVGWIDTH): Deleted.
5025 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5026 by FONTP.
5027 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5028 (set_lface_from_font_name): Delete it.
5029 (set_lface_from_font): Renamed from
5030 set_lface_from_font_and_fontset. Caller changed. Don't set
5031 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5032 for face.
5033 (merge_face_vectors): Copy font-spec if necessary.
5034 Clear properties of the font-spec if necessary.
5035 (merge_face_ref): Clear properties of the font-spec if necessary.
5036 (Finternal_set_lisp_face_attribute): Likewise.
5037 (set_font_frame_param): Use font_load_for_lface to load a
5038 font-object, and call Fmodify_frame_parameters with it.
5039 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5040 font name by Ffont_xlfd_name.
5041 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5042 QCslant, and QCwidth.
5043 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5044 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5045 Compare fonts by EQ.
5046 (lookup_non_ascii_face): Deleted.
5047 (face_for_font): The 2nd argument changed.
5048 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5049 Check atomic font properties by case insensitive.
5050 (realize_non_ascii_face): Set face->overstrike correctly.
5051 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5052 (dump_realized_face): Get font name from
5053 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5054
5055 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5056 conditionals. Don't check enable_font_backend. Delete all codes
5057 used only when USE_FONT_BACKEND is not defined.
5058 (xic_create_xfontset): Original code deleted and renamed from
5059 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5060 (x_make_gc): Don't set GCFont in GCs.
5061 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5062 opened by "fixed".
5063 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5064 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5065 get_font_repertory_func.
5066
5067 * xfont.c: Include <stdlib.h> and "ccl.h".
5068 (struct xfont_info): New structure.
5069 (xfont_query_font): Deleted.
5070 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5071 moved from xterm.c.
5072 (xfont_driver): Adjusted for the change of struct font_driver.
5073 (compare_font_names): New function.
5074 (xfont_list_pattern): Sort font names case insensitively. Make
5075 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5076 (xfont_list): Return a list, not vector.
5077 (xfont_match): If the font doesn't have QCname property, generate
5078 a name from the other font properties.
5079 (xfont_open): Return a font-object. Adjusted for the change of
5080 struct font. Get underline_thickness and underline_position from
5081 font property. Don't update dpyinfo->smallest_font_height and
5082 dpyinfo->smallest_char_width.
5083 (xfont_close): Don't free struct font.
5084 (xfont_prepare_face): Adjusted for the change of struct font.
5085 (xfont_done_face): Deleted.
5086 (xfont_has_char): Adjusted for the change of struct font.
5087 (xfont_encode_char, xfont_draw): Likewise.
5088 (xfont_check): New function.
5089
5090 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5091 callback function.
5092 (xftfont_match): Adjusted for the format change of font-entity.
5093 (xftfont_open): Adjusted for the format change of font-entity and
5094 font-object. Adjusted for the change of struct font. Return a
5095 font-object. Don't update dpyinfo->smallest_font_height and
5096 dpyinfo->smallest_char_width.
5097 (xftfont_close): Block input while calling XftFontClose.
5098 (xftfont_prepare_face): Don't block input while calling
5099 xftfont_get_colors. Adjusted for the change of struct font.
5100 (xftfont_shape): Return value of error case fixed.
5101
5102 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5103
5104 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5105 conditionals.
5106 (FONT_WIDTH): Return (f)->max_width.
5107 (struct x_display_info): Delete member `font'.
5108 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5109 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5110 (struct x_output): Change type of `font' to `struct font *'.
5111
5112 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5113 conditionals. Don't check enable_font_backend. Delete all codes
5114 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5115 (x_per_char_metric, x_encode_char): Deleted.
5116 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5117 (x_compute_glyph_string_overhangs): Adjusted for the change of
5118 `struct face'.
5119 (x_draw_glyph_string_foreground)
5120 (x_draw_composite_glyph_string_foreground): Likewise.
5121 (x_draw_glyph_string): Likewise. Use font->underline_position and
5122 font->underline_thickness.
5123 (x_new_font): Renamed from x_new_fontset2.
5124 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5125 (x_check_font): Call `check' method of a font driver.
5126 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5127 (x_query_font, x_get_font_repertory): Deleted.
5128 (x_find_ccl_program): Renamed and moved to xfont.c.
5129 (x_redisplay_interface): Adjusted for the change of `struct
5130 redisplay_interface'.
5131
5132 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5133 conditionals. Don't check enable_font_backend. Delete all codes
5134 used only when USE_FONT_BACKEND is not defined. Surround non-used
5135 code by "#ifdef OLD_FONT" and "endif".
5136 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5137
5138 * w32font.h (struct w32font_info): New member.
5139 (FONT_COMPAT): New macro.
5140 (w32font_open_internal): Prototype adjusted.
5141
5142 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5143 OLD_FONT" and "endif".
5144
5145 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5146 conditionals. Don't check enable_font_backend. Delete all codes
5147 used only when USE_FONT_BACKEND is not defined.
5148 (w32font_open): Return a font-object. Make a font-object by
5149 font_make_object. Adjusted for the change of struct w32font_info.
5150 (w32font_close): Don't free struct font. Adjusted for the change
5151 of struct w32font_info.
5152 (w32font_encode_char, w32font_text_extents, w32font_draw):
5153 Adjusted for the change of struct w32font_info.
5154 (w32font_draw): Likewise.
5155 (w32font_list_internal): Return a list, not vector.
5156 (w32font_open_internal): Change the 4th arg to font-object.
5157 Adjusted for the change of struct w32font_info and font-object format.
5158 (add_font_name_to_list): Don't downcase names.
5159 (w32_enumfont_pattern_entity): Make a font-entity by
5160 font_make_entity. Adjusted for the format change of font-entity.
5161 Use FONT_SET_STYLE to set a style-related font property. If a
5162 font is scalable, set avgwidth property to 0. Set font-entity
5163 property by font_put_extra.
5164 (font_matches_spec): Adjusted for the format change of font-entity.
5165 (w32_weight_table, w32_decode_weight): New variables.
5166 (w32_encode_weight): New function.
5167 (fill_in_logfont): Adjusted for the format change of font-spec.
5168 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5169 weight value.
5170 (w32font_driver): Adjusted for the change of struct font_driver.
5171
5172 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5173 conditionals. Don't check enable_font_backend. Surround non-used
5174 code by "#ifdef OLD_FONT" and "endif".
5175 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5176 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5177
5178 * w32term.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. Surround non-used
5181 code by "#ifdef OLD_FONT" and "endif".
5182
5183 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5184 (uniscribe_open): Return value changed to font-object.
5185 Adjusted for the format change of font-object.
5186 (uniscribe_otf_capability): Adjusted for the change of struct font.
5187 (add_opentype_font_name_to_list): Don't downcase names.
5188 (uniscribe_font_driver): Adjusted for the change of struct
5189 font_driver.
5190
51912008-05-13 Chong Yidong <cyd@stupidchicken.com>
5192
5193 * dispnew.c (update_frame_1): Check if tty output is still valid
5194 before flushing it.
5195
51962008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5197
5198 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5199 to Gtk+ menus.
5200
52012008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5202
5203 * dired.c (file_name_completion): Tweak the code so as to always do it
5204 in a single pass. Tighten the scope of some variables.
5205
5206 * dired.c (Qdefault_directory): New var.
5207 (file_name_completion): Use it instead of Fexpand_file_name.
5208 (syms_of_dired): Initialize it.
5209
52102008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5211
5212 * fileio.c (double_dollars): Remove dead code.
5213
52142008-05-10 Eli Zaretskii <eliz@gnu.org>
5215
5216 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5217 Mention w32-get-true-file-attributes in doc string.
5218
5219 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5220
52212008-05-09 Glenn Morris <rgm@gnu.org>
5222
5223 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5224 2008-04-23.
5225
52262008-05-09 Eli Zaretskii <eliz@gnu.org>
5227
5228 Support for reporting owner and group of each file on MS-Windows:
5229 * dired.c (stat_uname, stat_gname): New functions, with special
5230 implementation for w32.
5231 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5232
5233 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5234 (dflt_group_name): New static variable.
5235 (dflt_group): Rename from the_group.
5236 (init_user_info): Init dflt_group fields. Get user's group name
5237 from LookupAccountSid.
5238 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5239 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5240 New initialization states.
5241 (globals_of_w32): Initialize them to zero. Initialize the default
5242 group name to "None".
5243 (GetFileSecurity_Name): New global var, the name of the function
5244 to call for GetFileSecurity.
5245 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5246 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5247 (get_file_security, get_security_descriptor_owner)
5248 (get_security_descriptor_group, is_valid_sid)
5249 (get_file_security_desc, get_rid, get_name_and_id)
5250 (get_file_owner_and_group): New functions.
5251 (stat): Use get_file_security_desc and get_file_owner_and_group to
5252 report the owner and primary group of each file. Don't ignore the
5253 high 32 bits of file's size, now that st_size is 64-bit wide.
5254 Fix test when to get true file attributes.
5255 (init_user_info): Use get_rid instead of equivalent inline code.
5256 (fstat): Don't ignore the high 32 bits of file's size.
5257
52582008-05-09 Chong Yidong <cyd@stupidchicken.com>
5259
5260 * image.c (png_load): Use correct bit-depth for setting background
5261 color.
5262
52632008-05-08 Eli Zaretskii <eliz@gnu.org>
5264
5265 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5266 epa-hook.elc.
5267
52682008-05-08 Juanma Barranquero <lekktu@gmail.com>
5269
5270 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5271
52722008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5273
5274 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5275 because the original parameters are in pure storage now.
5276 (mac_window): Remove unused params. Update callers.
5277
52782008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5279
5280 * lread.c (substitute_object_recurse): Use lower-level primitives.
5281 Don't signal errors when traversing sub-char-tables.
5282 Don't loop over all the possible characters when traversing char-tables.
5283
5284 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5285 just like we do in print.c.
5286
52872008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5288
5289 * minibuf.c (Ftry_completion): Remove code left over from when we used
5290 scmp instead of Fcompare_strings.
5291
52922008-05-04 Juanma Barranquero <lekktu@gmail.com>
5293
5294 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5295
52962008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5297
5298 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5299 Create bitmap context in native byte order.
5300
5301 * macterm.c (XDrawLine)
5302 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5303 context in native byte order.
5304
53052008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5306
5307 * config.in: Regenerate.
5308
5309 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5310 New definitions for Image I/O support.
5311 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5312 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5313 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5314 (mac_data_provider_release_data, image_load_image_io)
5315 [USE_MAC_IMAGE_IO]: New functions.
5316 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5317 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5318 (init_image_func_pointer) [MAC_OSX]: Remove function.
5319 (image_load_quartz2d) [MAC_OSX]: Check availability of
5320 CGImageCreateWithPNGDataProvider at compile time.
5321 Use lowercase `false' for boolean constant.
5322 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5323 Use image_load_image_io.
5324 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5325 Don't check MyCGImageCreateWithPNGDataProvider.
5326 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5327 Don't call init_image_func_pointer.
5328
5329 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5330
5331 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5332 Make variable non-static.
5333 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5334 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5335
5336 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5337 (RED_FROM_ULONG): Mask off higher bits.
5338 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5339
5340 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5341 Include AvailabilityMacros.h.
5342 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5343 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5344
53452008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5346
5347 * chartab.c (Fset_char_table_range): If range is t, really set all
5348 chars to that value.
5349
53502008-05-03 Eli Zaretskii <eliz@gnu.org>
5351
5352 * dired.c (Ffile_attributes): Don't allow the device number become
5353 negative.
5354
53552008-05-02 Daiki Ueno <ueno@unixuser.org>
5356
5357 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5358
53592008-05-02 Juri Linkov <juri@jurta.org>
5360
5361 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5362 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5363 DEFAULT argument as a list of default values in docstrings.
5364
53652008-05-01 Chong Yidong <cyd@stupidchicken.com>
5366
5367 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5368
53692008-05-01 Martin Rudalics <rudalics@gmx.at>
5370
5371 * dispnew.c (change_frame_size_1): Preserve small windows when
5372 shrinking frames by calling set_window_height|width with third
5373 arg 2.
5374
5375 * window.h (struct window): Replace field too_small_ok by field
5376 resize_proportionally.
5377
5378 * window.c (make_window): Initialize resize_proportionally.
5379 (enlarge_window): Temporarily set resize_proportionally to make
5380 sure that shrink_windows does scale the window proportionally.
5381 (shrink_windows): When window has resize_proportionally set try
5382 to shrink it proportionally by stealing from other windows.
5383 (struct saved_window, Fset_window_configuration)
5384 (compare_window_configurations): Handle resize_proportionally.
5385 (WINDOW_TOTAL_SIZE): New macro.
5386 (window_min_size, shrink_windows, size_window): Use it.
5387 (check_min_window_sizes): Remove. Invalid values of
5388 window-min-height|width are handled by window_min_size_2 now.
5389 (size_window, Fsplit_window, enlarge_window)
5390 (adjust_window_trailing_edge, grow_mini_window): Don't call
5391 check_min_window_sizes.
5392 (window_min_size_2, window_min_size_1, window_min_size):
5393 New argument safe_p for retrieving "safe" minimum sizes.
5394 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5395 (adjust_window_trailing_edge, grow_mini_window):
5396 Adjust arguments of window_min_size... functions.
5397 (shrink_windows): Argument min_size removed. New argument
5398 safe_p allows shrinking windows to their safe minimum sizes.
5399 Calculate minimum size and decide whether a window shall be
5400 deleted for each window individually.
5401 (size_window): When nodelete_p equals 2, tell shrink_windows to
5402 delete windows only if their new minimum size is no more safe.
5403 (shrink_window_lowest_first): Call window_min_size_1 to make
5404 sure to preserve modeline of bottom-most window when resizing
5405 the minibuffer.
5406 (Fset_window_configuration, Fcurrent_window_configuration)
5407 (compare_window_configurations): Do not handle
5408 window-min-height|width any more.
5409 (syms_of_window): Clarify window-min-height|width doc-strings.
5410
54112008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5412
5413 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5414 some more. Copy some of the code from Ftry_completions.
5415 Remove special case code that dates back to initial revision when the
5416 slash was only added when necessary and that can't trigger nowadays.
5417
54182008-04-27 Kenichi Handa <handa@m17n.org>
5419
5420 * font.c (font_prop_validate): Signal `error' instead of `font'.
5421
54222008-04-29 Jason Rumney <jasonr@gnu.org>
5423
5424 * w32fns.c (Fw32_battery_status): New defun.
5425 (syms_of_w32fns): Defsubr it.
5426
54272008-04-28 Andreas Schwab <schwab@suse.de>
5428
5429 * dired.c (file_name_completion): Fix another mixing of encoded
5430 and decoded names.
5431
54322008-04-28 Juanma Barranquero <lekktu@gmail.com>
5433
5434 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5435
54362008-04-27 Juanma Barranquero <lekktu@gmail.com>
5437
5438 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5439
54402008-04-27 Andreas Schwab <schwab@suse.de>
5441
5442 * dired.c (file_name_completion): Fix inappropriate mixing of
5443 encoded and decoded names.
5444
5445 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5446
5447 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5448
54492008-04-26 Eli Zaretskii <eliz@gnu.org>
5450
5451 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5452 2008-03-31, it's not needed anymore with `struct stat' definition
5453 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5454 for the same reasons.
5455
54562008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5457
5458 * m/sparc.h: Additional redefinitions for GNU/Linux.
5459
54602008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5461
5462 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5463 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5464 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5465 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5466 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5467 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5468 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5469 Likewise.
5470
5471 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5472 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5473 (mac_ax_number_of_characters): Add externs.
5474 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5475 [USE_MAC_TSM]: Likewise.
5476 (mac_handle_text_input_event) [MAC_OSX]:
5477 Handle kEventTextInputOffsetToPos for no active input area case.
5478 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5479 (mac_handle_document_access_event)
5480 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5481 (install_application_handler) [MAC_OSX]: Register handlers for
5482 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5483 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5484 Register mac_handle_document_access_event.
5485
5486 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5487 Make functions non-static.
5488
54892008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5490
5491 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5492 (read_file_name_completion_ignore_case, insert_default_directory)
5493 (Qdefault_directory): Move to minibuffer.el.
5494 (Fread_file_name): Call the new `read-file-name' instead.
5495
54962008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5497
5498 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5499 Make function non-static.
5500 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5501 Remove function.
5502 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5503 Move to mactoolbox.c.
5504 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5505
5506 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5507 (mac_rect_make): New macro.
5508
5509 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5510 instead of float.
5511 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5512 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5513 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5514 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5515 CGRectMake.
5516 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5517 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5518 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5519 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5520 instead of WindowRef in argument type.
5521 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5522 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5523 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5524 instead of DISPLAY. All uses changed.
5525 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5526 (x_calc_absolute_position): Simplify so as not to use
5527 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5528
5529 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5530 instead of WindowRef in argument type.
5531 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5532 [TARGET_API_MAC_CARBON]: Remove externs.
5533 (create_apple_event, mac_event_parameters_to_lisp)
5534 [TARGET_API_MAC_CARBON]: Add externs.
5535
5536 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5537 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5538 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5539 is clicked.
5540 (x_activate_menubar): Remove extern for saved_menu_event_location.
5541 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5542 Move from mac.c.
5543
55442008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5545
5546 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5547 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5548
55492008-04-23 Jason Rumney <jasonr@gnu.org>
5550
5551 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5552 attributes only for local files.
5553
5554 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5555 default to Qlocal.
5556
55572008-04-22 Juri Linkov <juri@jurta.org>
5558
5559 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5560 read-buffer-to-switch instead of using the letter "B".
5561
55622008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5563
5564 * fileio.c (Qdefault_directory): New variable.
5565 (Fread_file_name): Use it to pass `dir' to the completion functions.
5566
55672008-04-20 Chong Yidong <cyd@stupidchicken.com>
5568
5569 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5570
55712008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5572
5573 * keyboard.c (Vpre_help_message): Remove.
5574 (show_help_echo): Remove default C code.
5575
5576 * dired.c (directory_files_internal, file_name_completion):
5577 Only call ENCODE_FILE if the string is indeed decoded.
5578
55792008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5580
5581 * Makefile.in (TOOLKIT_DEFINES): Remove.
5582 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5583
55842008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5585
5586 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5587 (mactoolbox.o): New target.
5588
5589 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5590 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5591
5592 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5593 Use mac_set_frame_window_background instead of XSetWindowBackground.
5594 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5595 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5596 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5597 instead of SetWindowTitleWithCFString.
5598 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5599 Move function to mactoolbox.c.
5600 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5601 Use mac_set_window_modified instead of SetWindowModified.
5602 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5603 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5604 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5605 FrontNonFloatingWindow. Use mac_activate_window instead of
5606 ActivateWindow. Use mac_active_non_floating_window instead of
5607 ActiveNonFloatingWindow.
5608 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5609 Use mac_show_hourglass and mac_hide_hourglass.
5610 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5611 instead of GetGlobalMouse.
5612 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5613 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5614 Use mac_bring_window_to_front instead of BringToFront.
5615 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5616 mactoolbox.c.
5617 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5618 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5619 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5620 mactoolbox.c.
5621
5622 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5623 (XtPointer): Move typedef from macmenu.c.
5624 (enum button_type): Move enum from macmenu.c.
5625 (widget_value): Move typedef from macmenu.c.
5626 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5627 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5628 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5629 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5630 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5631 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5632 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5633 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5634 (Selection): Move typedef from macselect.c.
5635 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5636 macterm.c.
5637 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5638 (mac_is_window_collapsed, mac_bring_window_to_front)
5639 (mac_send_window_behind, mac_hide_window, mac_show_window)
5640 (mac_collapse_window, mac_front_non_floating_window)
5641 (mac_active_non_floating_window, mac_activate_window)
5642 (mac_move_window_structure, mac_move_window, mac_size_window)
5643 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5644
5645 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5646 (enum mac_menu_kind): Move enum to mactoolbox.c.
5647 (min_menu_id): Move variable to mactoolbox.c.
5648 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5649 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5650 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5651 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5652 [TARGET_API_MAC_CARBON]: Likewise.
5653 (XtPointer): Move typedef to macgui.h.
5654 (enum button_type): Move enum to macgui.h.
5655 (widget_value): Move typedef to macgui.h.
5656 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5657 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5658 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5659 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5660 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5661 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5662 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5663 (popup_activated_flag): Make variable non-static.
5664 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5665 (add_menu_item, fill_menu, dispose_menus):
5666 Move functions to mactoolbox.c.
5667 (restore_show_help_function, menu_target_item_handler)
5668 (install_menu_target_item_handler, mac_handle_dialog_event)
5669 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5670 [TARGET_API_MAC_CARBON]: Likewise.
5671 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5672 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5673 (find_and_call_menu_selection, name_is_separator): Make function
5674 non-static.
5675 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5676 to mactoolbox.c.
5677 (set_frame_menubar): Don't call install_menu_quit_handler.
5678 (menu_item_selection): New variable.
5679 (mac_menu_show): Use create_and_show_popup_menu.
5680 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5681 selection but set variable menu_item_selection. All uses changed.
5682 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5683 Call install_menu_quit_handler. Move to mactoolbox.c.
5684
5685 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5686 (Selection): Move typedef to macgui.h.
5687 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5688 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5689 Make variables non-static.
5690 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5691 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5692 Make functions non-static.
5693 (Vmac_service_selection) [MAC_OSX]: Likewise.
5694 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5695 (mac_valid_selection_target_p, mac_clear_selection)
5696 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5697 (mac_put_selection_value, mac_selection_has_target_p)
5698 (mac_get_selection_value, mac_get_selection_target_list)
5699 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5700 Move functions to mactoolbox.c.
5701 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5702 Likewise.
5703 (copy_scrap_flavor_data, mac_handle_service_event)
5704 (install_service_handler) [MAC_OSX]: Likewise.
5705 (syms_of_macselect) <Vmac_dnd_known_types>:
5706 Use mac_dnd_default_known_types.
5707
5708 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5709 Move to mactoolbox.c.
5710 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5711 (Fx_selection_owner_p): Add EXFUN.
5712 (install_window_handler, remove_window_handler, XSetWindowBackground):
5713 Remove externs.
5714 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5715 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5716 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5717 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5718 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5719 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5720 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5721 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5722 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5723 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5724 (mac_valid_selection_target_p, mac_clear_selection)
5725 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5726 (mac_put_selection_value, mac_selection_has_target_p)
5727 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5728 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5729 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5730 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5731 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5732 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5733 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5734 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5735 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5736
5737 * mactoolbox.c: New file.
5738
57392008-04-18 Jason Rumney <jasonr@gnu.org>
5740
5741 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5742
57432008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5744
5745 * character.c (Fmultibyte_char_to_unibyte):
5746 Return latin1 chars unchanged.
5747
5748 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5749 relocated if it points to `name'.
5750
57512008-04-17 Kenichi Handa <handa@m17n.org>
5752
5753 * data.c (Faset): Allow setting a multibyte character in an
5754 ASCII-only unibyte string.
5755
5756 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5757
57582008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5759
5760 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5761 done in config.h.
5762
57632008-04-16 Juanma Barranquero <lekktu@gmail.com>
5764
5765 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5766 (Fchar_direction): Add usage in the docstring.
5767
57682008-04-15 Chong Yidong <cyd@stupidchicken.com>
5769
5770 * keyboard.c (read_key_sequence): Remove always-true checks.
5771
57722008-04-14 Jason Rumney <jasonr@gnu.org>
5773
5774 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5775 compatibility struct, for better underline positioning.
5776
57772008-04-13 David Hansen <david.hansen@gmx.net>
5778
5779 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5780 string.
5781
57822008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5783
5784 * m/hp800.h (XUINT, XSET): Remove.
5785
57862008-04-12 Juanma Barranquero <lekktu@gmail.com>
5787
5788 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5789 previous change.
5790
57912008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5792
5793 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5794 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5795
57962008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5797
5798 * keymap.h (map_keymap_canonical): Declare.
5799 * xmenu.c (single_keymap_panes): Use it.
5800
58012008-04-11 Glenn Morris <rgm@gnu.org>
5802
5803 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5804 set the target's value to that of the alias.
5805
58062008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5807
5808 * term.c (set_tty_color_mode): Left over typo.
5809
58102008-04-10 Michael Albinus <michael.albinus@gmx.de>
5811
5812 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5813 only after check for file name handler functions. Signal, when
5814 native functionality is not supported.
5815 (syms_of_fileio): Declare it unconditionally.
5816
58172008-04-10 Jason Rumney <jasonr@gnu.org>
5818
5819 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5820 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5821
5822 * w32.c (logon_network_drive): Also logon to remote drives that
5823 are mapped to drive letters.
5824
58252008-04-10 Glenn Morris <rgm@gnu.org>
5826
5827 * xdisp.c (truncate-partial-width-windows): Doc fix.
5828
58292008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5830
5831 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5832 Move functions to minibuffer.el.
5833 (syms_of_fileio): Don't declare them.
5834
58352008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5836
5837 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5838 (syms_of_minibuf): Remove its initialization.
5839
5840 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5841
58422008-04-09 Juanma Barranquero <lekktu@gmail.com>
5843
5844 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5845
58462008-04-09 Jason Rumney <jasonr@gnu.org>
5847
5848 * makefile.w32-in (distclean): Delete makefile too.
5849 (maintainer-clean): New target.
5850
5851 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5852
5853 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5854 for new font backend and composite cases.
5855
58562008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5857
5858 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5859 Most of the code moved to run_timers.
5860 (do_pending_atimers): Call run_timers.
5861 (run_timers): New function.
5862
5863 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5864 run atimers.
5865
5866 * process.c (wait_reading_process_output): The same as above.
5867
58682008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5869
5870 * minibuf.c (last_exact_completion): Remove variable.
5871 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5872 (complete_and_exit_1, complete_and_exit_2)
5873 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5874 (Fdisplay_completion_list, display_completion_list_1)
5875 (Fminibuffer_completion_help, Fself_insert_and_exit)
5876 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5877 minibuffer.el.
5878 (syms_of_minibuf): Remove corresponding initializations.
5879
5880 * keyboard.c (Qdeactivate_mark): New var.
5881 (command_loop_1): Use it to call `deactivate-mark'.
5882 (syms_of_keyboard): Initialize it.
5883
5884 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5885 to another frame.
5886 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5887 Don't call set_tty_color_mode.
5888 (store_frame_param): Reset previous_frame rather than call
5889 set_tty_color_mode.
5890 * term.c (set_tty_color_mode): Rewrite.
5891 * dispextern.h (set_tty_color_mode): New type.
5892 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5893
58942008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5895
5896 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5897 for generic chars, which do not exist any more in emacs-unicode.
5898
58992008-04-08 Michael Albinus <michael.albinus@gmx.de>
5900
5901 * coding.c (detect_coding_emacs_mule)
5902 (Ffind_operation_coding_system): Fix typo.
5903
59042008-04-08 Jason Rumney <jasonr@gnu.org>
5905
5906 * w32uniscribe.c (SNAME): Extract only symbol name.
5907
5908 * w32font.h (struct w32_metric_cache): New struct.
5909 (w32font_info): Use it.
5910 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5911 (CACHE_BLOCKSIZE): New constants.
5912
5913 * w32font.c (Qja, Qko, Qzh): New symbols.
5914 (syms_of_w32font): Initialise them.
5915 (font_matches_spec): Use them to filter by language.
5916 (recompute_cached_metrics): Remove function.
5917 (compute_metrics, clear_cached_metrics): New functions.
5918 (w32font_encode_char): Use them to manage metric cache.
5919 (w32font_text_extents): Cache metrics for all glyphs on demand.
5920 Delay converting glyph indices to WORD until needed.
5921 (w32font_open_internal): Initialize metric cache to empty.
5922 (registry_to_w32_charset): Charset should always be a symbol.
5923 (fill_in_logfont, list_all_matching_fonts): Family should
5924 always be a symbol.
5925
59262008-04-06 Jason Rumney <jasonr@gnu.org>
5927
5928 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5929 Give up if glyph indices not supported. Use uniscribe obtained
5930 ABC widths for individual metrics. Map glyph clusters back to
5931 characters using fClusterStart flag. Return number of glyphs
5932 produced, not chars processed.
5933 (uniscribe_shape): Map char at FROM to current glyph.
5934
59352008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5936
5937 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5938 Use SetMenuItemHierarchicalMenu.
5939
59402008-04-05 Jason Rumney <jasonr@gnu.org>
5941
5942 * image.c (pbm_load): Allow color values up to 65535.
5943 Throw an error if max_color_idx is outside the supported range.
5944 Report an error when image size is invalid.
5945 Read two bytes at a time when raw images have max_color_idx above 255.
5946
59472008-04-05 Eli Zaretskii <eliz@gnu.org>
5948
5949 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5950 cFileName a file name that includes `?' characters, use the 8+3
5951 alias in cAlternateFileName instead.
5952
59532008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5954
5955 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5956 append "CCL: Quitted" when the CCL program is quitted.
5957 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5958
5959 * ccl.h (struct ccl_program): New member quit_silently.
5960
59612008-04-05 Chong Yidong <cyd@stupidchicken.com>
5962
5963 * search.c (compile_pattern_1): Treat non-nil and non-string of
5964 search-spaces-regexp as nil.
5965
5966 * minibuf.c (Fassoc_string): Tweak docstring.
5967
59682008-04-05 Eli Zaretskii <eliz@gnu.org>
5969
5970 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5971 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5972 2008-03-14 to force inode be positive.
5973
5974 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5975 _S_* ones, since we now use our own sys/stat.h.
5976 (stat, fstat): Don't mangle the inode number.
5977 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5978
59792008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5980
5981 * frame.h (struct frame): Give one more bit to `visible' since we use
5982 values larger than 1 to indicate obscured frames on ttys.
5983
5984 * keymap.c (Qkeymap_canonicalize): New var.
5985 (Fmap_keymap_internal): New fun.
5986 (describe_map): Use keymap-canonicalize.
5987
5988 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5989 (Fundo_boundary): Set them.
5990 (syms_of_undo): Initialize them.
5991 (record_point): Use them instead of last_point_position*.
5992 (last_undo_buffer): Change type.
5993
59942008-04-04 Jason Rumney <jasonr@gnu.org>
5995
5996 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5997 (recompute_cached_metrics): Don't set ascent and descent per char.
5998
5999 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6000 (uniscribe_check_otf): Add GC protection before consing.
6001 Rearrange loop for counting features.
6002
60032008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6004
6005 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6006 buffer with byte-size of source buffer.
6007
60082008-04-03 Chong Yidong <cyd@stupidchicken.com>
6009
6010 * callint.c (Fcall_interactively): Handle temporary region even
6011 when shift-select-mode is off.
6012
60132008-04-03 Jason Rumney <jasonr@gnu.org>
6014
6015 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6016
60172008-04-03 Kenichi Handa <handa@m17n.org>
6018
6019 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6020 (CATEGORY_MASK_UTF_16): Likewise.
6021 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6022 binary file.
6023 (detect_coding): Add null-byte detection for a binary file.
6024 (detect_coding_system): Likewise.
6025
60262008-04-03 Jason Rumney <jasonr@gnu.org>
6027
6028 * w32uniscribe.c: New file.
6029
6030 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6031
6032 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6033
6034 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6035 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6036 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6037 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6038 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6039 (Qphonetic): New symbols.
6040 (syms_of_w32font): Initialize them.
6041 (font_supported_scripts): Use them.
6042 (w32font_list_family): List all charsets.
6043 (w32font_text_extents, recompute_cached_metrics): Fix metric
6044 calculations.
6045 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6046 Give opentype fonts their own format.
6047 (font_matches_spec): New arguments backend and logfont.
6048 Handle :otf spec for uniscribe backend.
6049 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6050 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6051
6052 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6053 font backend.
6054 (globals_of_w32fns): Initialize uniscribe font backend.
6055
6056 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6057 dependencies.
6058 (w32uniscribe.$(O)): New file to build.
6059 (FONT_OBJ): Include w32uniscribe.$(O).
6060 (LIBS): Add uniscribe libraries.
6061
6062 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6063
60642008-04-02 Chong Yidong <cyd@stupidchicken.com>
6065
6066 * callint.c (Vshift_select_mode): New var.
6067 (Finteractive): Document new ^ spec.
6068 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6069 is present.
6070
6071 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6072 (command_loop_1): Avoid running the direct display versions of
6073 forward-char and backward-char if shift-selection may occur.
6074 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6075 shift-translation takes place.
6076
6077 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6078 avoid clobbering by define-minor-mode.
6079
6080 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6081 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6082
6083 * syntax.c (Fforward_word): Add ^ interactive spec.
6084
6085 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6086 (Fscroll_right): Add ^ interactive spec.
6087
60882008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6089
6090 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6091
6092 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6093
6094 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6095
60962008-03-31 Juri Linkov <juri@jurta.org>
6097
6098 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6099
61002008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6101
6102 * gtkutil.c (xg_set_geometry): Fix indentation.
6103 (xg_resize_outer_widget): Remove.
6104 (x_wm_size_hint_off): Fix indentation.
6105 (xg_frame_set_char_size): Call flush_and_sync after
6106 gtk_window_resize.
6107 (x_wm_set_size_hint): Pass NULL as geometry window to
6108 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6109 Add menu bar and tool bar height to base height.
6110 (xg_update_frame_menubar, free_frame_menubar)
6111 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6112 (update_frame_tool_bar, free_frame_tool_bar):
6113 Change xg_resize_outer_widget to xg_frame_set_char_size.
6114
61152008-03-30 Michael Albinus <michael.albinus@gmx.de>
6116
6117 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6118 (Fdbus_call_method): New parameter TIMEOUT.
6119 (dbus-send-signal): Optimize UNGCPRO call.
6120
61212008-03-29 Juri Linkov <juri@jurta.org>
6122
6123 * window.c (Fdisplay_buffer): Move call to
6124 Vsplit_window_preferred_function out of conditions that check
6125 if window is eligible for vertical splitting.
6126 When Vsplit_window_preferred_function is non-nil, call it and use
6127 its non-nil return value as window. Otherwise, continue doing
6128 vertical splitting using Fsplit_window with arg horflag=nil.
6129 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6130 default value from `split-window' to nil.
6131
61322008-03-29 Juri Linkov <juri@jurta.org>
6133
6134 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6135 for interactive code letters 'b' and 'B'.
6136
61372008-03-29 Eli Zaretskii <eliz@gnu.org>
6138
6139 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6140 multibyte string.
6141
61422008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6143
6144 * keyboard.c (pending_funcalls): New var.
6145 (timer_check): Run it.
6146 (syms_of_keyboard): Initialize it.
6147 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6148 (Vdelete_terminal_functions): New vars.
6149 (syms_of_terminal): Initialize them.
6150 (Fdelete_terminal): Run delete-terminal-functions.
6151 * xdisp.c (safe_eval): Rewrite.
6152 (safe_call2): New fun.
6153 * frame.c (Qdelete_frame_functions): New var.
6154 (syms_of_frame): Initialize it.
6155 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6156 * lisp.h (safe_call2, pending_funcalls): Declare.
6157
61582008-03-28 Andreas Schwab <schwab@suse.de>
6159
6160 * indent.c (Fmove_to_column): Move declaration before statements.
6161
61622008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6163
6164 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6165 (struct frame): Use bit fields for boolean vars.
6166
6167 * process.c (server_accept_connection): Simplify naming.
6168 (emacs_get_tty_pgrp): Use SDATA.
6169
6170 * coding.c (decode_coding_object): Fix last change.
6171
61722008-03-27 Jason Rumney <jasonr@gnu.org>
6173
6174 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6175
61762008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6177
6178 * charset.c (Fdefine_charset_internal): Change the way of
6179 registering charsets in Vcharset_order_list.
6180 (syms_of_charset): Make the charset `eight-bit' supplementary.
6181
61822008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6183
6184 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6185 operations, to avoid having the difference between pointers
6186 overflow.
6187
61882008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6189
6190 * indent.c (check_display_width): New fun.
6191 (scan_for_column): Use it.
6192
6193 * data.c (syms_of_data): Mark most-positive-fixnum and
6194 most-negative-fixnum as constants.
6195
6196 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6197
6198 * indent.c (scan_for_column): Extract from current_column_1.
6199 Merge with the same code from Fmove_to_column.
6200 (current_column_1, Fmove_to_column): Use it.
6201
62022008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6203
6204 * keymap.c (map_keymap_internal): New fun.
6205 (map_keymap): Use it.
6206 (Fmap_keymap_internal): New fun.
6207 (Fmap_keymap): Remove left-out test from before make_save_value.
6208
6209 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6210
6211 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6212 Use XCAR/XCDR.
6213
6214 * process.h (struct Lisp_Process): Remove filter_multibyte.
6215 * process.c (QCfilter_multibyte): Remove.
6216 (setup_process_coding_systems): Don't use filter_multibyte.
6217 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6218 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6219 (Fset_process_filter_multibyte): Change the coding-system to
6220 approximate the previous behavior.
6221 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6222 coding-system.
6223
6224 * coding.c (decode_coding_object): When not decoding into a buffer,
6225 obey the coding system's preference of (uni|multi)byte.
6226
62272008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6228
6229 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6230 every char is changed and has a different byte-length.
6231 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6232 Fix int -> EMACS_INT.
6233
62342008-03-23 David Hansen <david.hansen@gmx.net>
6235
6236 * dbusbind.c (xd_read_message): Remove extra copying of message
6237 strings. Check for NULL `interface' or `member'.
6238
62392008-03-22 Eli Zaretskii <eliz@gnu.org>
6240
6241 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6242 cFileName a file name that includes `?' characters, use the 8+3
6243 alias in cAlternateFileName instead.
6244
62452008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6246
6247 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6248
62492008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6250
6251 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6252 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6253 work on current_buffer only instead (that was already the case
6254 for some of the code anyway).
6255 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6256 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6257 (SET_PT, SET_PT_BOTH): Adjust.
6258 * intervals.h (set_point, temp_set_point, set_point_both)
6259 (temp_set_point_both): Remove redundant declarations.
6260
62612008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6262
6263 * fileio.c (Finsert_file_contents):
6264 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6265 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6266 when buffer != current_buffer anyway.
6267
62682008-03-20 Andreas Schwab <schwab@suse.de>
6269
6270 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6271 as default.
6272
62732008-03-19 Jason Rumney <jasonr@gnu.org>
6274
6275 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6276 (syms_of_w32fns): Initialize them.
6277 (HOURGLASS_ID): New constant.
6278 (x_window_to_frame): Don't check hourglass_window.
6279 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6280 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6281 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6282 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6283 Only change the cursor if hourglass is not active.
6284 (Fx_create_frame): Initialize frame's current_cursor.
6285 (hourglass_atimer): Remove.
6286 (hourglass_started): New function.
6287 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6288 (show_hourglass): Adapt to w32, changing argument to frame.
6289
6290 * w32term.h (struct w32_output): Remove hourglass_window.
6291 Add current_cursor.
6292
6293 * eval.c (call_debugger, Fsignal):
6294 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6295 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6296 (Fexecute_extended_command, cancel_hourglass_unwind):
6297 * minibuf.c (read_minibuf):
6298 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6299
63002008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6301
6302 * window.c (run_funs): New fun.
6303 (run_window_configuration_change_hook): Use it to run the buffer-local
6304 and the global part of the hook.
6305
6306 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6307 (unwind_format_mode_line): Restore selected window.
6308 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6309
63102008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6311
6312 * editfns.c (Fchar_equal): Check they are valid characters.
6313
6314 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6315
63162008-03-17 Andreas Schwab <schwab@suse.de>
6317
6318 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6319 against a charset.
6320
6321 * lisp.h (Fbuffer_list): Declare.
6322
63232008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6324
aac0c6e3
MR
6325 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6326 handlebox_widget is != 0.
6327
63282008-03-16 Juri Linkov <juri@jurta.org>
6329
6330 * callint.c (Fcall_interactively): For interactive code letters
6331 'b' and 'B' put the buffer list into the list of default "future"
6332 values of the minibuffer.
6333
63342008-03-16 Andreas Schwab <schwab@suse.de>
6335
6336 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6337 modifiers.
6338
6339 * regex.c (re_match_2_internal): Correct matching of a charset
6340 against latin-1 characters.
6341
63422008-03-16 Kenichi Handa <handa@m17n.org>
6343
6344 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6345 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6346 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6347 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6348 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6349 CHAR_STRING_ADVANCE.
6350 (produce_chars): Fix for the case that the source and the
6351 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6352 instead of CHAR_STRING_ADVANCE.
6353 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6354 STRING_CHAR_ADVANCE.
6355
63562008-03-15 Andreas Schwab <schwab@suse.de>
6357
6358 * regex.c (re_match_2_internal): Correct matching of eight bit
6359 characters in unibyte strings.
6360
63612008-03-15 Martin Rudalics <rudalics@gmx.at>
6362
6363 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6364 at end of range when it coincides with the end of the buffer.
6365
63662008-03-14 Eli Zaretskii <eliz@gnu.org>
6367
6368 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6369
6370 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6371
63722008-03-14 Jason Rumney <jasonr@gnu.org>
6373
6374 * editfns.c (initial_tz): New variable.
6375 (syms_of_editfns): Initialize it.
6376 (Fset_time_zone_rule): Set it when first called.
6377 Use it when TZSTRING is nil.
6378
6379 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6380 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6381 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6382 (globals_of_w32fns): Initialize them.
6383 (compute_tip_xy): Use them to position tooltips.
6384
63852008-03-14 Glenn Morris <rgm@gnu.org>
6386
6387 * emacs.c (main): Revert previous change.
6388 (standard_args): Revert -internal-script back to -scriptload,
6389 and remove the long-option form.
6390
63912008-03-13 Glenn Morris <rgm@gnu.org>
6392
6393 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6394 Remove option -enable-font-backend.
6395
63962008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6397
6398 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6399
64002008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6401
6402 * xterm.c (x_connection_closed): For GTK: If this is the last
6403 terminal just exit without closing the display.
6404
64052008-03-11 Jason Rumney <jasonr@gnu.org>
6406
6407 * w32font.c (w32font_full_name): Use floor to round.
6408
64092008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6410
6411 * sound.c (alsa_configure): Declare vol at beginning of block.
6412
6413 * fontset.c (Ffontset_info): Remove extra semicolon.
6414
64152008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6416
6417 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6418 size of resulting string.
6419
64202008-03-10 Jason Rumney <jasonr@gnu.org>
6421
6422 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6423
64242008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6425
6426 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6427 Don't pretend as if characters with display property haven't been
6428 consumed for string-replacing-string case.
6429
64302008-03-08 Kim F. Storm <storm@cua.dk>
6431
6432 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6433 (get_next_display_element, next_element_from_string)
6434 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6435
64362008-03-08 Andreas Schwab <schwab@suse.de>
6437
6438 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6439
64402008-03-06 Jason Rumney <jasonr@gnu.org>
6441
6442 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6443 when charset not specified. Only translate ANSI to unicode when
6444 font_type is truetype.
6445 (w32font_coverage_ok): New function.
6446 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6447
64482008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6449
6450 * lread.c (Fread_char): Resolve modifiers.
6451 (Fread_char_exclusive): Likewise.
6452
6453 * character.c (char_resolve_modifier_mask): New function.
6454 (char_string): Use char_resolve_modifier_mask.
6455 (Fchar_resolve_modifiers): New function.
6456 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6457 function.
6458
64592008-03-04 Jason Rumney <jasonr@gnu.org>
6460
6461 * makefile.w32-in: Always include w32font.c in the build.
6462 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6463
64642008-03-04 Andreas Schwab <schwab@suse.de>
6465
6466 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6467 (versionclean): Likewise.
6468
64692008-03-04 Juanma Barranquero <lekktu@gmail.com>
6470
6471 * .cvsignore: Add oo.
6472
64732008-03-03 Andreas Schwab <schwab@suse.de>
6474
6475 * coding.c (decode_coding_object): Inhibit gap shrinking while
6476 decoding in place.
6477
64782008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6479
6480 * w32term.c: Remove unused include "gnu.h".
6481 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6482
6483 * gnu.h: Rename to ...
6484 * emacs-icon.h: ... this.
6485 * xterm.c: Use emacs-icon.h instead of gnu.h.
6486 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6487
64882008-03-03 Juanma Barranquero <lekktu@gmail.com>
6489
6490 * w32font.c: Include math.h.
6491
64922008-03-03 Jason Rumney <jasonr@gnu.org>
6493
6494 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6495 Compute options separately.
6496 (w32font_open_internal): Set glyph_idx before caching metrics.
6497
6498 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6499 Define if system headers don't.
6500 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6501 (w32font_encode_char): Don't declare here.
6502
6503 * w32font.c (Quniscribe, QCformat): New symbols.
6504 (syms_of_w32font): Define them.
6505 (w32font_has_char): Indicate uncertainty.
6506 (w32font_encode_char): Encode as glyph point. Make static.
6507 (recompute_cached_metrics): New function.
6508 (w32font_open_internal): Use it. Set font to use glyph points
6509 initially. Set format based on type of font.
6510 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6511 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6512 on it. Set format based on information available here.
6513 (add_font_entity_to_list): Identify backend based on opentype_only.
6514
65152008-03-02 Andreas Schwab <schwab@suse.de>
6516
6517 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6518
6519 * coding.c (decode_coding_big5, produce_chars):
6520 Fix typos in last change.
6521
65222008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6523
6524 * gnu.h: New icon.
6525
65262008-03-02 Kenichi Handa <handa@m17n.org>
6527
6528 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6529 `dos', don't decode '\r' if that is the last in the source.
6530 (decode_coding_utf_16, decode_coding_emacs_mule)
6531 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6532 (decode_coding_raw_text, decode_coding_charset): Likewise.
6533 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6534
65352008-03-01 Jason Rumney <jasonr@gnu.org>
6536
6537 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6538
65392008-03-01 Kim F. Storm <storm@cua.dk>
6540
6541 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6542
65432008-03-01 Jason Rumney <jasonr@gnu.org>
6544
6545 * w32font.c (w32font_full_name): New function.
6546 (w32font_open_internal): Use it.
6547
65482008-03-01 Kim F. Storm <storm@cua.dk>
6549
6550 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6551
65522008-03-01 Jason Rumney <jasonr@gnu.org>
6553
6554 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6555
65562008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6557
6558 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6559 xg_frame_resized when the event is for the edit widget.
6560
6561 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6562
6563 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6564 set_char_size.
6565 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6566 operations on widgets here. Just set frame size if needed.
6567 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6568 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6569 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6570 the whole frame.
6571 (xg_create_tool_bar): Move attachment of the tool bar to
6572 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6573 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6574
65752008-03-01 Jason Rumney <jasonr@gnu.org>
6576
6577 * w32fns.c (w32_msg_pump): Disable debug code.
6578
65792008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6580
6581 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6582
65832008-02-29 Chong Yidong <cyd@stupidchicken.com>
6584
6585 * xdisp.c (next_overlay_string): Don't set
6586 overlay_strings_at_end_processed_p if we're currently reading from
6587 a display string.
6588
65892008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6590
6591 * xdisp.c (get_overlay_strings_1): Fix typo.
6592
65932008-02-29 Chong Yidong <cyd@stupidchicken.com>
6594
6595 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6596
65972008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6598
6599 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6600
6601 * xdisp.c (display_mode_element): Cancel the previous change.
6602 (decode_mode_spec): Likewise.
6603 (handle_auto_composed_prop): Don't make composition if it->string
6604 is a string.
6605
66062008-02-27 Kim F. Storm <storm@cua.dk>
6607
6608 * lisp.h (GLYPH): Change type from int to struct with separate char
6609 and face_id members.
6610 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6611 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6612 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6613 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6614 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6615 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6616 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6617 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6618 handle new Lisp glyph code encoding, either an integer or a cons.
6619
6620 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6621 (GLYPH_ALIAS): Delete.
6622 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6623 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6624 (GLYPH_FROM_CHAR): Replace macro by ...
6625 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6626
6627 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6628 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6629 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6630 (GLYPH_INVALID_P): New macro.
6631 (spec_glyph_lookup_face): Update prototype.
6632
6633 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6634 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6635 new glyph code encoding.
6636 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6637 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6638
6639 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6640 Adapt to new glyph type and new glyph code encoding.
6641
6642 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6643
6644 * indent.c (current_column, current_column_1, Fmove_to_column)
6645 (compute_motion): Adapt to new glyph code encoding.
6646
6647 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6648
66492008-02-27 Chong Yidong <cyd@stupidchicken.com>
6650
6651 * process.c (wait_reading_process_output): Check for window
6652 changes caused by timers.
6653 Suggested by Johan Bockgård.
6654
66552008-02-27 Glenn Morris <rgm@gnu.org>
6656
6657 * emacs.c (USAGE1): Add `--disable-font-backend'.
6658
66592008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6660
6661 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6662 is made to the buffer.
6663
66642008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6665
6666 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6667 (face_at_string_position):
6668 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6669 (face_at_string_position):
6670 * xdisp.c (display_string, next_overlay_change):
6671 * buffer.h (overlays_at):
6672 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6673 Update callers.
6674
66752008-02-26 Chong Yidong <cyd@stupidchicken.com>
6676
6677 * editfns.c (Fformat): Doc fix.
6678
66792008-02-26 Juanma Barranquero <lekktu@gmail.com>
6680
6681 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6682 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6683 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6684
66852008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6686
6687 * buffer.c (Fbuffer_swap_text): New function.
6688 (syms_of_buffer): Defsubr it.
6689
66902008-02-25 Chong Yidong <cyd@stupidchicken.com>
6691
6692 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6693
66942008-02-25 Jason Rumney <jasonr@gnu.org>
6695
6696 * w32font.c (w32font_draw): Draw one character at a time when padding.
6697
66982008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6699
6700 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6701 Handle a nil arg. Use run_window_configuration_change_hook.
6702 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6703 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6704 Use run_window_configuration_change_hook.
6705
67062008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6707
6708 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6709 1-pixel width.
6710
67112008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6712
6713 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6714 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6715 if the glyph in the font is zero pixel with.
6716
6717 * dispextern.h (struct glyph_string): New member padding_p.
6718
6719 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6720
6721 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6722
6723 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6724
6725 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6726
6727 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6728
67292008-02-25 Jason Rumney <jasonr@gnu.org>
6730
6731 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6732
67332008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6734
6735 Allow fine-grained image-cache flushing.
6736 * dispextern.h (struct image): Add `dependencies' field.
6737 (clear_image_caches): Change arg to Lisp_Object.
6738 * image.c (make_image): Initialize `dependencies' field.
6739 (clear_image_cache): Change arg to allow fine-grained flushing.
6740 Perform the flush even if image-cache-eviction-delay is nil.
6741 (clear_image_caches): Change arg to Lisp_Object.
6742 (Fclear_image_cache): Expand meaning of the argument.
6743 (mark_image): Mark `dependencies' field.
6744 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6745 (lface_hash): Use XHASH rather than XFASTINT.
6746 (face_at_buffer_position): Fix int -> EMACS_INT position.
6747 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6748 (select_frame_for_redisplay): Remove code duplication.
6749 (redisplay_internal): Adapt arg to call to clear_image_caches.
6750
67512008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6752
6753 * s/vms4-0.h:
6754 * s/vms4-2.h:
6755 * s/vms4-4.h:
6756 * s/vms5-5.h: Remove, unused.
6757
6758 * s/irix5-2.h:
6759 * s/irix6-0.h:
6760 * s/riscos5.h:
6761 * s/mach-bsd4-3.h:
6762 * m/mips4.h: Remove files for obsolete systems.
6763
6764 * Makefile.in:
6765 * filelock.c:
6766 * unexmips.c:
6767 * m/hp9000s300.h:
6768 * m/iris4d.h:
6769 * s/aix3-1.h:
6770 * s/hpux.h:
6771 * s/msdos.h:
6772 * s/usg5-0.h:
6773 * s/usg5-2-2.h:
6774 * s/usg5-2.h:
6775 * s/usg5-3.h: Remove references to obsolete variables.
6776
6777 * s/irix5-0.h: Remove, move all the contents ...
6778 * s/irix6-5.h: ... here. Simplify.
6779 * config.in: Regenerate.
6780
67812008-02-24 Jason Rumney <jasonr@gnu.org>
6782
6783 * w32term.c (x_draw_glyph_string_background): Clear the background
6784 manually when cleartype is in use.
6785 (x_draw_glyph_string_foreground): Draw text transparently when
6786 cleartype is in use.
6787
6788 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6789 a font into it unless we have to.
6790
67912008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6792
6793 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6794 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 6795
aac0c6e3
MR
67962008-02-18 Jason Rumney <jasonr@gnu.org>
6797
6798 * w32fns.c (Fw32_shell_execute): Encode parameters.
6799
68002008-02-09 Eli Zaretskii <eliz@gnu.org>
6801
6802 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6803
68042008-02-05 Juanma Barranquero <lekktu@gmail.com>
6805
6806 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6807
68082008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6809
6810 * xterm.c (x_set_offset): Don't change the gravity if
6811 CHANGE_GRAVITY is -1.
6812
68132008-02-23 Chong Yidong <cyd@stupidchicken.com>
6814
6815 * fileio.c (auto_save_error_occurred): New var.
6816 (auto_save_error): Set it.
6817 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6818 error occurred.
6819
68202008-02-23 Eli Zaretskii <eliz@gnu.org>
6821
6822 * w32.c (globals_of_w32): Add initializations for
6823 g_b_init_get_sid_sub_authority and
6824 g_b_init_get_sid_sub_authority_count.
6825
68262008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6827
6828 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6829 (font_parse_xlfd): Use them for sanity check.
6830 (Finternal_set_font_style_table): Make sure the table is bijective.
6831
6832 Consolidate the image_cache to the terminal struct.
6833 * termhooks.h (P_): Remove redundant def.
6834 (struct terminal): New field `image_cache'.
6835 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6836 of FRAME_X_IMAGE_CACHE.
6837 * xterm.h (struct x_display_info): Remove image_cache field.
6838 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6839 * w32term.h (struct w32_display_info): Remove image_cache field.
6840 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6841 * macterm.h (struct mac_display_info): Remove image_cache field.
6842 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6843 * xterm.c (x_term_init):
6844 * w32term.c (w32_term_init):
6845 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6846 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6847 Remove declarations.
6848 (clear_image_caches, mark_image_cache): New declarations.
6849 * xfaces.c (clear_face_cache):
6850 * xdisp.c (redisplay_internal): Use clear_image_caches.
6851 * image.c (clear_image_cache): Don't check that a frame is on
6852 a window-system before checking if it shares the same cache.
6853 (clear_image_caches): New function.
6854 (Fclear_image_cache): Use it.
6855 (mark_image): Move from allo.c.
6856 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6857 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6858 (mark_object): Don't call mark_image_cache for frames.
6859 (mark_terminals): Call mark_image_cache.
6860
6861 * lisp.h (Fdelete_terminal): Declare.
6862
6863 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6864 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6865 wrong_type_argument.
6866
68672008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6868
6869 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6870 malayalam.el, and tamil.el. Add sinhala.el.
6871
68722008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6873
6874 * xterm.c (x_connection_closed): Consolidate identical tests.
6875 (x_delete_terminal): Don't crash if called via x_connection_closed.
6876
68772008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6878
6879 * xdisp.c (decode_mode_spec): New arg string.
6880 (display_mode_element): Adjust for the above change.
6881
68822008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6883
6884 * callint.c (Fcall_interactively): Use AREF.
6885
68862008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6887
6888 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6889
68902008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6891
6892 * xfns.c (Fx_show_tip): Set string to " " if empty.
6893
68942008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6895
6896 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6897 with Qt.
6898
68992008-02-17 Kenichi Handa <handa@m17n.org>
6900
6901 * ftfont.c (ftfont_shape): Return Lispy number.
6902
6903 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6904 for GCs.
6905 (Finternal_set_font_selection_order): Call font_update_sort_order
6906 only when enable_font_backend is set.
6907 (realize_x_face): Set face->font_info to that of default face only
6908 when enable_font_backend is set.
6909
6910 * xdisp.c (handle_composition_prop): Set it->c to the fist
6911 character of the composed region.
6912 (fill_composite_glyph_string): Set base_face->font_info to
6913 s->font_info. Get a face for ascii from base_face->ascii_face.
6914 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6915 with a face already decided.
6916 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6917 non-negative.
6918 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6919 call font_prepare_composition unconditionally.
6920
6921 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6922
6923 * xterm.h (struct x_display_info): New member font.
6924
6925 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6926 (x_set_mouse_face_gc, x_new_font): Likewise.
6927 (x_term_init): Setup display_info->font.
6928 (x_delete_terminal): Free display_info->font.
6929
6930 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6931
6932 * ftxfont.c (ftxfont_default_fid): Delete it.
6933 (ftxfont_open): Set xfont->fid to 0.
6934 (ftxfont_end_for_frame): Clear data specific to the frame and the
6935 font-driver.
6936
6937 * xftfont.c (xftfont_default_fid): Delete it.
6938 (xftfont_open): Set xfont->fid to 0.
6939
6940 * fontset.c (FONTSET_OBJLIST): New macro.
6941 (fontset_find_font): Update font-object list of the fontset.
6942 (free_realized_fontset): New function.
6943 (free_face_fontset): Call free_realized_fontset.
6944 (Ffont_info): Call font_close_object only when enable_font_backend
6945 is set.
6946
6947 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6948 [HAVE_NTGUI]: Include w32term.h.
6949 [MAC_OS]: Include macterm.ch.
6950 (font_otf_ValueRecord): Use make_number.
6951 (font_finish_cache): Fix handling of reference count.
6952 (font_clear_cache): Update num_fonts.
6953 (font_open_entity): Update smallest_char_width and
6954 smallest_font_height of the frame.
6955 (font_close_object): Update num_fonts.
6956 (Fclear_font_cache): Fix finding the target cache data.
6957
69582008-02-16 Glenn Morris <rgm@gnu.org>
6959
6960 * fontset.c (Finternal_char_font): Fix compilation warning.
6961
69622008-02-16 Eli Zaretskii <eliz@gnu.org>
6963
6964 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6965 instead of char arrays. Enlarge the size of array passed to
6966 get_token_information.
6967
6968 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6969 warnings.
6970
69712008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6972
6973 * .gdbinit: Don't set `args', it breaks gdb --args.
6974
69752008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6976
6977 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6978 within a narrowed buffer.
6979
69802008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6981
6982 * coding.c (decode_coding_object, encode_coding_object):
6983 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6984
69852008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6986
6987 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6988 hardcoding 1.
6989 (detect_coding_system):
6990 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6991 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6992 * insdel.c (insert_from_gap):
6993 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6994 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6995 (string_to_multibyte):
6996 * character.c (chars_in_text, multibyte_chars_in_text):
6997 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6998
6999 * character.h (FETCH_STRING_CHAR_ADVANCE)
7000 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7001 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7002 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7003
7004 * casefiddle.c (casify_region): Only call after-change and composition
7005 functions on the part of the region that was changed.
7006
7007 * keyboard.c (read_avail_input):
7008 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7009
70102008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7011
7012 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7013 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7014
70152008-02-11 Juanma Barranquero <lekktu@gmail.com>
7016
7017 * w32menu.c (push_submenu_start, push_submenu_end)
7018 (push_left_right_boundary, push_menu_pane, push_menu_item):
7019 * keyboard.c (read_key_sequence): Don't pass args with side effects
7020 to AREF, it fails when compiling with -DENABLE_CHECKING.
7021
70222008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7023
7024 * Makefile.in (${lispsource}international/charprop.el):
7025 Delete this target.
7026
7027 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7028 emacs-unicode-2.
7029
70302008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7031
7032 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7033
70342008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7035
7036 * frame.c (Qnoelisp): New symbol.
7037 (syms_of_frame): Initialize it.
7038 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7039 harmless Elisp code, from a strong `force' from x_connection_closed.
7040 * frame.h (Qnoelisp): Declare.
7041 * xterm.c (x_connection_closed): Pass `noelisp'.
7042
7043 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7044 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7045 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7046 rather than `int' for the type of `type'.
7047
70482008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7049
7050 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7051
7052 * Makefile.in (GNUC): Remove support for gcc-1.x.
7053
70542008-02-10 Richard Stallman <rms@gnu.org>
7055
7056 * lisp.h (ASET): Use AREF, not ASLOT.
7057
70582008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7059
7060 * lisp.h (ASET): Check bounds.
7061
70622008-02-10 Glenn Morris <rgm@gnu.org>
7063
7064 * buffer.c (mode-name): Doc fix.
7065
70662008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7067
7068 * Makefile.in:
7069 * emacs.c:
7070 * gmalloc.c:
7071 * keyboard.c:
7072 * lisp.h:
7073 * m/ibm370aix.h:
7074 * process.c:
7075 * regex.c:
7076 * s/hpux.h:
7077 * sysdep.c:
7078 * sysselect.h:
7079 * systty.h:
7080 * unexec.c:
7081 * w32term.c:
7082 * xsmfns.c:
7083 * xterm.c: Remove code that deals with obsolete variables.
7084
7085 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7086
7087 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7088 nothing else needs it anymore.
7089
70902008-02-09 Eli Zaretskii <eliz@gnu.org>
7091
7092 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7093 instead of unibyte_char_to_multibyte.
7094
70952008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7096
7097 * s/gnu-linux.h: Remove commented out code.
7098
7099 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7100
7101 * Makefile.in: Update what RMS says about using autoconf.
7102 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7103 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7104 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7105 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7106
71072008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7108
7109 * keymap.c (Fkey_description): Move side effect outside of macro call.
7110
7111 * xfaces.c (Finternal_make_lisp_face):
7112 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7113
7114 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7115 (syms_of_fontset): Use ASET.
7116
7117 * fns.c (concat): Move side effect outside of macro call.
7118 (hash_clear): Use ASET.
7119
71202008-02-08 Richard Stallman <rms@gnu.org>
7121
7122 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7123 If FORCE, and frame has a surrogate minibuffer for another frame,
7124 delete the other frame first.
7125
71262008-02-07 Timo Savola <timo.savola@iki.fi>
7127
7128 * xterm.c (x_detect_focus_change): Handle embed client message.
7129 (handle_one_xevent): Ditto.
7130 (handle_one_xevent): If embedded and we get a button press/release,
7131 request focus.
7132 (xembed_set_info, xembed_send_message): New functions.
7133 (x_make_frame_visible): Call xembed_set_info if embedded.
7134 (x_make_frame_invisible): Call xembed_set_info if embedded.
7135 (x_term_init): Initialize Xatom_XEMBED.
7136 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7137 (x_iconify_frame): Ditto.
7138
7139 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7140 (enum xembed_info, enum xembed_message, enum xembed_focus)
7141 (enum xembed_modifier, enum xembed_accelerator): New.
7142 (xembed_set_info, xembed_send_message): Declare.
7143 (FRAME_X_EMBEDDED_P): New.
7144
7145 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7146 gtk_plug_new.
7147
7148 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7149 window ID of a frame.
7150 (x_window): Reparent frame if embedded.
7151 (Fx_create_frame): Don't set border width if embedded.
7152
7153 * emacs.c (USAGE3): Add --parent-id.
7154 (standard_args): Ditto.
7155
71562008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7157
7158 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7159
71602008-02-07 Jim Meyering <meyering@redhat.com>
7161
7162 Use "do...while (0)", not "if (1)...else" in macro definitions.
7163 The latter provokes a warning from gcc about the empty else, when
7164 followed by ";". Also, without that trailing semicolon, it would
7165 silently swallow up any following statement.
7166 * syntax.h (SETUP_SYNTAX_TABLE)
7167 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7168 * buffer.h (DECODE_POSITION): Likewise.
7169 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7170 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7171 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7172 (FETCH_CHAR_ADVANCE): Likewise.
7173 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7174
71752008-02-07 Jim Meyering <meyering@redhat.com>
7176
7177 * lread.c [lint]: Don't include <sys/inode.h>.
7178
71792008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7180
7181 * xselect.c (x_handle_dnd_message):
7182 * xmenu.c (digest_single_submenu, xmenu_show):
7183 * xdisp.c (with_echo_area_buffer_unwind_data)
7184 (format_mode_line_unwind_data, unwind_format_mode_line)
7185 (display_menu_bar):
7186 * eval.c (Ffetch_bytecode):
7187 * doc.c (store_function_docstring):
7188 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7189 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7190 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7191
71922008-02-07 Kenichi Handa <handa@m17n.org>
7193
7194 * ftxfont.c (ftxfont_open): Don't set
7195 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7196
7197 * ftfont.c (ftfont_open): Fix previous change.
7198
71992008-02-06 Jason Rumney <jasonr@gnu.org>
7200
7201 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7202 Use cached metrics for ASCII characters.
7203 (w32font_open_internal): Don't set font's owning_frame.
7204 Cache metrics for ASCII characters.
7205
7206 * w32font.h (struct w32font_info): Add ascii_metrics.
7207 Remove owning_frame.
7208
72092008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7210
7211 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7212 to negative value.
7213
7214 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7215
7216 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7217
7218 * charset.c (syms_of_charset): Set QCtest and Qeq.
7219
72202008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7221
7222 * process.c (Fstart_process):
7223 * callproc.c (Fcall_process): Handle the case where
7224 Funhandled_file_name_directory returns nil.
7225
7226 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7227 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7228 * font.c (check_gstring): Use them and AREF to access the vector before
7229 we know it's really a gstring.
7230 (Ffont_shape_text): Fix typo.
7231 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7232
7233 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7234 Declare.
7235
7236 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7237
72382008-02-05 Jason Rumney <jasonr@gnu.org>
7239
7240 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7241 Set smallest_font_height and smallest_char_width in display info.
7242
72432008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7244
7245 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7246
72472008-02-05 Miles Bader <miles@gnu.org>
7248
7249 * xfaces.c (get_lface_attributes, merge_named_face)
7250 (lookup_named_face, lookup_derived_face, realize_named_face):
7251 Revert 2008-02-01 change by cyd@stupidchicken.com.
7252
72532008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7254
7255 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7256 fallback fonts.
7257 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7258
72592008-02-04 Jason Rumney <jasonr@gnu.org>
7260
7261 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7262 set full_name.
7263 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7264
72652008-02-03 Jason Rumney <jasonr@gnu.org>
7266
7267 * makefile.w32-in (OBJ1): Include font.o here.
7268 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7269
72702008-02-02 Jason Rumney <jasonr@gnu.org>
7271
7272 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7273
72742008-02-01 Jason Rumney <jasonr@gnu.org>
7275
7276 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7277
7278 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7279
72802008-02-01 Andreas Schwab <schwab@suse.de>
7281
7282 * Makefile.in (shortlisp, lisp): Update for rename of
7283 ../lisp/language/myanmar.el.
7284
72852008-02-01 Chong Yidong <cyd@stupidchicken.com>
7286
7287 * xfaces.c (get_lface_attributes): Delete function.
7288 (merge_named_face, lookup_named_face, lookup_derived_face)
7289 (realize_named_face): Call lface_from_face_name directly, and use
7290 the fact that merge_face_vectors does not alter its FROM argument.
7291
72922008-02-01 Jason Rumney <jasonr@gnu.org>
7293
7294 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7295 input in the default locale. Handle non-Unicode multibyte input.
7296
72972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7298
7299 * fontset.c (reorder_font_vector): Exclude nil elements from the
7300 font group. Don't try multiple fonts.
7301 (fontset_font): Adjust for the above change.
7302 (Finternal_char_font): Return nil if the found font doesn't
7303 contain the character ch.
7304
7305 * Makefile.in (lisp, shortlisp): Add cham.el.
7306
73072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7308
7309 * font.h (FONTP): Make it return 1 also for a font-object.
7310
7311 * .gdbinit (xfontset): New function.
7312
7313 * font.c (font_find_for_lface): Check if the character C is
7314 supported or not only for the first font.
7315
7316 * fontset.c (reorder_font_vector): Fix typo.
7317 (fontset_find_font): Don't add a font-spec specifying a script.
7318 Use 0 (not Qt) for the indication of empty font-group. Change the
7319 format of RFONT-DEF. Return Qt if no font in the font-group
7320 support the character.
7321 (fontset_font): Adjust for the above change. If no font was
7322 found the character, remember that.
7323 (face_for_char): Adjust for the change of RFONT-DEF.
7324 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7325 no font for the target.
7326 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7327
73282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7329
7330 * font.c (font_load_for_face): Handle the case that the font in
7331 face->lface is a string.
7332
73332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7334
7335 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7336
73372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7338
7339 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7340 Fix previous change. If the frame is not on a window system,
7341 signal an error.
7342
73432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7344
7345 * coding.c (decode_coding_object, encode_coding_object): Adjust
7346 marker positions after conversion.
7347
7348 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7349
73502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7351
7352 * font.c (font_find_for_lface): Fix the handling of the return
7353 value of font_has_char.
7354 (Ffont_shape_text): Fix previous change.
7355
7356 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7357 (fontset_ref_and_range): Delete it.
7358 (fontset_find_font): Call char_table_ref_and_range instead of
7359 FONTSET_REF_AND_RANGE.
7360 (make_fontset): Don't setup font groups of Latin here.
7361 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7362 (new_fontset_from_font): Make the specified font the default for
7363 all Latin characters.
7364
73652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7366
7367 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7368 is on a window system before accessing the fontset of the frame.
7369
73702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7371
7372 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7373
7374 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7375 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7376
7377 * font.c (Ffont_shape_text): If the font driver doesn't have a
7378 shaper function, make zero-width glyphs to have at least one-pixel
7379 width. Fix setting of `to' field of glyphs.
7380
73812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7382
7383 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7384 glyphs.
7385
7386 * font.h (struct font_driver): Improve docstring of member `shape'.
7387
73882008-02-01 Kenichi Handa <handa@m17n.org>
7389
7390 * composite.c (syms_of_composite): Fix docstring of
7391 auto-composition-function.
7392
7393 * font.h (LGLYPH_SIZE): New macro.
7394
7395 * font.c (Ffont_fill_gstring): Stop filling when a character not
7396 supported by the font is found.
7397 (Ffont_shape_text): When a shape callback function returns nil,
7398 try at most two more times with larger gstring.
7399 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7400
7401 * xdisp.c (handle_auto_composed_prop): Change the argument to
7402 auto-composition-function.
7403
7404 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7405 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7406 Lispy glyph and store it in the lgstring.
7407
7408 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7409
7410 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7411
74122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7413
7414 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7415
7416 * fontset.c (Vfont_encoding_charset_alist): New variable.
7417 (syms_of_fontset): DEFVAR it.
7418 (reorder_font_vector, fontset_find_font): Optimize for the case of
7419 no need of reordering.
7420 (face_for_char): Map the charset property by
7421 Vfont_encoding_charset_alist.
7422
74232008-02-01 Jason Rumney <jasonr@gnu.org>
7424
7425 * w32font.c (logfonts_match): Don't check adstyle here.
7426 (font_matches_spec): Check here against physical font instead.
7427 (add_font_entity_to_list): Avoid some substitutions.
7428
7429 * font.c (font_parse_fcname): Default weight and slant to normal.
7430 (font_score): Prefer normal fonts if weight or slant unspecified.
7431 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7432 match freetype scores.
7433
74342008-02-01 Jason Rumney <jasonr@gnu.org>
7435
7436 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7437 font, as it may have been deleted.
7438 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7439 most common hyphenless variation.
7440 (logfonts_match): Check generic family.
7441 (font_matches_spec): Don't check generic family here.
7442 (fill_in_logfont): Set generic family based on adstyle.
7443
7444 * w32font.h (w32font_get_cache): Update declaration.
7445
74462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7447
7448 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7449
7450 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7451 If none of the new drivers are available, call font_update_drivers
7452 with the old drivers.
7453
7454 * w32font.c (w32font_get_cache): Adjust the argument type.
7455
7456 * xfont.c (xfont_get_cache): Adjust the argument type.
7457
7458 * font.h (struct font_driver): Change argument type of get_cache.
7459
7460 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7461
7462 * font.c (Ffont_get): Fix arguments to Fassoc.
7463 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7464 (font_clear_cache): New function.
7465 (font_list_entities, font_matching_entity): Use font_get_cache.
7466 (font_update_drivers): Call font_clear_cache when finishing a driver.
7467
7468 * fontset.c (fontset_find_font): Fix previous change.
7469
74702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7471
7472 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7473 dpyinfo->font_table.
7474 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7475 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7476
7477 * font.c (font_at): Handle the case that the arg C is negative.
7478 Handle the unibyte case.
7479 (Ffont_at): Call font_at with the arg C -1.
7480
7481 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7482 the position here, and call font_at with the arg C -1.
7483 Don't check the range of the existing composition at the point.
7484
74852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7486
7487 * fontset.c (fontset_add): New args charset_id and family.
7488 Change caller.
7489 (load_font_get_repertory, fontset_find_font): Assume that
7490 font_spec is always a font-spec object.
7491 (Fset_fontset_font): Always store a font-spec object in a fontset.
7492
7493 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7494 instead of get_property_and_range.
7495
74962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7497
7498 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7499 (xftfont_open): Don't keep locking face.
7500 (xftfont_close): Don't unlock face.
7501 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7502
7503 * fontset.c (fontset_find_font): Don't prefer a font of
7504 supplementary charset.
7505
75062008-02-01 Kenichi Handa <handa@m17n.org>
7507
7508 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7509 script, langsys_tag to langsys, new member script.
7510 (OTF_TAG_STR): Terminate by '\0'.
7511 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7512 listing to the script specified in that property. Fix arg to
7513 OTF_check_features.
7514
75152008-02-01 Jason Rumney <jasonr@gnu.org>
7516
7517 * w32font.h: New file.
7518
7519 * w32font.c: Include it.
7520 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7521 (w32font_open): Set owning_frame.
7522 (w32font_text_extents): Use owning_frame.
7523 (struct font_callback_data): Add opentype_only field.
7524 (add_font_entity_to_list): Use it to filter fonts.
7525 Don't check against full name.
7526 (w32font_list_internal): New function.
7527 (w32font_list): Use it.
7528 (w32font_match_internal): New function.
7529 (w32font_match): Use it.
7530 (w32font_open_internal): New function.
7531 (w32font_open): Use it.
7532 (w32font_get_cache, w32font_close, w32font_has_char)
7533 (w32font_encode_char, w32font_text_extents, w32font_draw):
7534 Make non-static.
7535
7536 * makefile.w32-in (w32font.o): Depend on w32font.h.
7537
75382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7539
7540 * charset.c (Fdefine_charset_internal): Record a supplementary
7541 charset at the tail of Vcharset_order_list.
7542
7543 * font.c (Ffont_shape_text): Fix the return value.
7544
7545 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7546
7547 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7548
75492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7550
7551 * ftfont.c (struct OpenTypeSpec): New struct.
7552 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7553 (ftfont_get_open_type_spec): New function.
7554 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7555
7556 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7557
75582008-02-01 Jason Rumney <jasonr@gnu.org>
7559
7560 * w32font.c (add_font_entity_to_list): Compare only the beginning
7561 of full name.
7562
75632008-02-01 Kenichi Handa <handa@m17n.org>
7564
7565 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7566 Never return HANDLED_RECOMPUTE_PROPS.
7567
75682008-02-01 Kenichi Handa <handa@m17n.org>
7569
7570 * font.c (font_gstring_produce): Delete it.
7571
7572 * composite.h (COMPOSITION_METHOD):
7573 Handle COMPOSITION_WITH_GLYPH_STRING.
7574
75752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7576
7577 * xfont.c (Qx): Delete.
7578 (syms_of_xfont): Don't initialize Qx.
7579
7580 * composite.h (enum composition_method):
7581 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7582
75832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7584
7585 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7586 (choose_face_font): Accept new form of font-spec.
7587
7588 * frame.h (font_driver_list): Declare it unconditionally.
7589 (struct frame): Define members font_driver_list and font_data_list
7590 unconditionally.
7591
7592 * fontset.c: Include "font.h" unconditionally.
7593 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7594 (Fset_fontset_font): Accept a font-spec object.
7595
7596 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7597 PIXEL_SIZE part a wild card.
7598
7599 * dispextern.h (struct glyph_string): Define members clip and
7600 num_clips unconditionally.
7601 (struct face): Define members font_info and extra unconditionally.
7602
7603 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7604 ftfont_info only when HAVE_LIBOTF is defined.
7605
76062008-02-01 Andreas Schwab <schwab@suse.de>
7607
7608 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7609 and end.
7610
76112008-02-01 Jason Rumney <jasonr@gnu.org>
7612
7613 * w32font.c (w32font_driver): Add new fields.
7614
76152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7616
7617 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7618 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7619 (LIBES): Add @M17N_FLT_CFLAGS@.
7620
7621 * composite.c (compose_text): Don't treat the new style
7622 composition specially.
7623
7624 * emacs.c (main): Call syms_of_font unconditionally.
7625
7626 * font.h (FONT_ENTITY_NOT_LOADABLE)
7627 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7628 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7629 (struct font_driver): New member shape.
7630 (font_registry_charsets): Extern it.
7631 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7632 (font_otf_capability, font_drive_otf): Delete their externs.
7633
7634 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7635 (font_charset_alist, font_registry_charsets): Move from xfont.c
7636 and rename.
7637 (font_prop_validate_otf): New function.
7638 (font_property_table): Register it for QCotf.
7639 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7640 (font_drive_otf): Delete.
7641 (font_prepare_composition): New arg F. Adjust for the change of
7642 lispy gstring.
7643 (font_find_for_lface): New arg C.
7644 (font_load_for_face): Adjust for the change of font_find_for_lface.
7645 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7646 lispy gstring.
7647 (Ffont_shape_text): New function.
7648 (Fopen_font): If the font size is not given, use 12-pixel.
7649 (Ffont_at): New arg STRING.
7650 (syms_of_font): Initalize font_charset_alist.
7651 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7652 conditionally.
7653
7654 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7655 fonts of the same font-spec. Change the format of RFONT-DEF.
7656 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7657 Adjust for the change of RFONT-DEF.
7658 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7659
7660 * ftfont.h: New file.
7661
7662 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7663 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7664 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7665 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7666 font_otf_capability and font_drive_otf, set ftfont_shape.
7667 (ftfont_list): Adjust for the change of :otf property value.
7668 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7669 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7670 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7671 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7672 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7673 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7674
7675 * w32term.c (x_draw_composite_glyph_string_foreground):
7676 Adjust for the change of lispy gstring.
7677
7678 * xdisp.c (handle_composition_prop): Adjust for the change of
7679 lispy gstring. Call a function for auto-composition with the
7680 third arg it->window.
7681 (fill_composite_glyph_string): Adjust for the change of lispy string.
7682 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7683
7684 * xfaces.c (set_font_frame_param): Adjust for the change of
7685 font_find_for_lface.
7686
7687 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7688 (xfont_registry_charsets): Likewise. Change caller.
7689 (syms_of_xfont): Don't handle x_font_charset_alist.
7690
7691 * xftfont.c: Include "ftfont.h".
7692 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7693 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7694 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7695 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7696 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7697 Set xftfont_driver.shape to xftfont_shape.
7698
7699 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7700 the change of lispy gstring.
7701
77022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7703
7704 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7705
77062008-02-01 Jason Rumney <jasonr@gnu.org>
7707
7708 * w32font.c (w32font_draw): Fill background manually.
7709
77102008-02-01 Jason Rumney <jasonr@gnu.org>
7711
7712 * font.c (Qfontp): Remove unused symbol.
7713 (QCantialias): New symbol.
7714 (syms_of_font): Define it.
7715 (font_property_table): Set a validator for QCantialias.
7716
7717 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7718 Define if not already.
7719 (QCfamily): Share with xfaces.c.
7720 (Qstandard, Qsubpixel, Qnatural): New symbols.
7721 (syms_of_w32font): Define them. Don't define QCfamily here.
7722 (w32_antialias_type, lispy_antialias_type): New functions.
7723 (w32_enumfont_pattern_entity): New arg requested_font.
7724 Set antialias parameter if non-default was requested.
7725 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7726
77272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7728
7729 * lread.c (read1): Undo the previous change.
7730
77312008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7732
7733 * frame.c (Fdelete_frame): Call font_update_drivers only when
7734 USE_FONT_BACKEND is defined.
7735
77362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7737
7738 * font.h (struct font_bitmap): New member bits_per_pixel.
7739 (struct font_driver): New members start_for_frame and end_for_frame.
7740 (struct font_data_list): New struct.
7741 (font_put_frame_data, font_get_frame_data): Extern them.
7742
7743 * frame.h (struct frame): New member font_data_list.
7744
7745 * font.c (font_update_drivers): Call driver->start_for_frame and
7746 driver->end_for_frame at proper timings.
7747 (font_put_frame_data, font_get_frame_data): New functions.
7748 (Ffont_spec): Add usage in the docstring.
7749
7750 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7751 (Fdelete_frame): Call font_update_drivers.
7752
7753 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7754 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7755 (xftfont_get_xft_draw): New function.
7756 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7757 (xftfont_end_for_frame): New function.
7758 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7759
7760 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7761 Change argument. Cache GCs in the per-frame data.
7762 (struct ftxfont_frame_data): New struct.
7763 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7764 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7765 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7766 (ftxfont_end_for_frame): New function.
7767 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7768
7769 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7770
77712008-02-01 Kenichi Handa <handa@m17n.org>
7772
7773 * xselect.c (Vselection_coding_system)
7774 (Vnext_selection_coding_system): Delete them.
7775 (syms_of_xselect): Don't declare selection-coding-system and
7776 next-selection-coding-system. They are declared in select.el.
7777
77782008-02-01 Jason Rumney <jasonr@gnu.org>
7779
7780 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7781
7782 * w32fns.c: Include imm.h.
7783 (get_composition_string_fn, get_ime_context_fn): New optional
7784 system functions.
7785 (globals_of_w32fns): Load them from imm32.dll.
7786 (ignore_ime_char): New flag.
7787 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7788 WM_IME_ENDCOMPOSITION messages.
7789
7790 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7791 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7792
77932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7794
7795 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7796 (READCHAR_REPORT_MULTIBYTE): New macro.
7797 (readchar): New 2nd arg MULTIBYTE.
7798 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7799 Make symbol's name multibyte according to the multibyteness of the
7800 source.
7801
78022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7803
7804 * xfaces.c (face_for_overlay_string): Call lookup_face with
7805 correct arguments (fix of synching with the trunk).
7806
78072008-02-01 Kenichi Handa <handa@m17n.org>
7808
7809 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7810 (font_prop_validate_non_neg, font_prop_validate_spacing):
7811 Delete argument prop_index.
7812 (font_property_table): Change arguments to validater. Change Callers.
7813 (font_lispy_object): Delete.
7814 (font_at): Use font_find_object instead fo font_lispy_object.
7815
78162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7817
7818 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7819 and file names.
7820
78212008-02-01 Jason Rumney <jasonr@gnu.org>
7822
7823 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7824 (font_matches_spec): Remove debug output.
7825 (add_font_entity_to_list): Avoid using substituted fonts.
7826
78272008-02-01 Jason Rumney <jasonr@gnu.org>
7828
7829 * doc.c (Fsnarf_documentation):
7830 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7831
78322008-02-01 Miles Bader <miles@gnu.org>
7833
7834 * dispextern.h (struct glyph_row): Only define "clip" field if
7835 HAVE_WINDOW_SYSTEM is defined.
7836
78372008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7838
7839 Fix up multi-tty merge.
7840
7841 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7842 and indentation.
7843
7844 * xfaces.c (free_realized_face, clear_face_gcs):
7845 Include font_done_for_face in the input_blocked section, just in case.
7846
7847 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7848 (get_char_face_and_encoding): Undo last change and remove the *other*
7849 duplicate definition (i.e. keep the one that's better scoped and that
7850 includes code for the font-backend).
7851
7852 * terminal.c (create_terminal): Default keyboard_coding to
7853 `no-conversion' and terminal_coding to `undecided'.
7854
7855 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7856
7857 * fontset.c (free_realized_fontsets): Check that the table entry does
7858 contain a fontset before trying to compare it to `base'.
7859
7860 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7861 syms_of_charset, and syms_of_coding earlier because init_window_once
7862 now needs Vcoding_system_hash_table to be setup.
7863
7864 * coding.h (default_buffer_file_coding): Remove.
7865
7866 * coding.c (default_buffer_file_coding): Remove.
7867 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7868 than ->symbol, and use the terminal-local coding system.
7869 (syms_of_coding): Don't setup the coding-systems that are not
7870 terminal-local.
7871 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7872
7873 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7874 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7875
7876 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7877 in chartab.c and were re-added here by mistake.
7878 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7879
7880 * doc.c (Fsnarf_documentation):
7881 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7882 src to etc.
7883
7884 * ChangeLog.10: Add mistakenly removed entry.
7885
78862008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7887
7888 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7889
78902008-02-01 Miles Bader <miles@gnu.org>
7891
7892 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7893 Add extra args to FACE_FOR_CHAR.
7894
78952008-02-01 Kenichi Handa <handa@m17n.org>
7896
7897 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7898 in sequence.
7899
7900 * chartab.c (map_sub_char_table, map_char_table): If the range
7901 contains just one character, call the function with that character
7902 even if the depth is not 3.
7903
79042008-02-01 Jason Rumney <jasonr@gnu.org>
7905
7906 * w32font.c (w32font_text_extents): Calculate metrics for the
7907 whole string.
7908
79092008-02-01 Jason Rumney <jasonr@gnu.org>
7910
7911 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7912
79132008-02-01 Jason Rumney <jasonr@gnu.org>
7914
7915 * w32term.c (x_set_glyph_string_clipping): Use
7916 get_glyph_string_clip_rects.
7917 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7918 Adjust for the change of struct glyph_string.
7919
7920 * w32font.c (w32font_draw): Do clipping here.
7921
79222008-02-01 Kenichi Handa <handa@m17n.org>
7923
7924 * xftfont.c (xftfont_draw): Adjust for the change of struct
7925 glyph_string.
7926
7927 * xterm.c (x_set_glyph_string_clipping): Use
7928 get_glyph_string_clip_rects.
7929 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7930 Adjust for the change of struct glyph_string.
7931
7932 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7933 the resulting clip(s}.
7934 (expose_overlaps): Add arg r. Change callers. Set it to
7935 row->clip temporarily.
7936 (expose_window): Redraw rows overlapping the exposed area.
7937
7938 * dispextern.h (struct glyph_row): New member clip.
7939 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7940 clip_height, new member clip, and num_clips.
7941
79422008-02-01 Kenichi Handa <handa@m17n.org>
7943
7944 * data.c (Fchar_or_string_p): Fix docstring.
7945
79462008-02-01 Kenichi Handa <handa@m17n.org>
7947
7948 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7949 create a temporary XftDraw object.
7950
79512008-02-01 Kenichi Handa <handa@m17n.org>
7952
7953 * font.c (Ffontp): Fix docstring.
7954
7955 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7956 strong evidence of ISO-2022.
7957
79582008-02-01 Kenichi Handa <handa@m17n.org>
7959
7960 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7961 SYNTAX_ENTRY_FOLLOW_PARENT.
7962
79632008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7964
7965 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7966 its type.
7967 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7968 Update to the new type of weak_hash_tables and next_weak.
7969
7970 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7971 a plain C pointer to Lisp_Hash_Table.
7972
7973 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7974 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7975 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7976 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7977 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7978 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7979 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7980 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7981 (GC_EQ): Remove since they've been identical to their non-GC_
7982 alter-egos ever since the markbit was eradicated.
7983
7984 * alloc.c:
7985 * buffer.c:
7986 * buffer.h:
7987 * data.c:
7988 * fileio.c:
7989 * filelock.c:
7990 * fns.c:
7991 * frame.h:
7992 * lisp.h:
7993 * macterm.c:
7994 * print.c:
7995 * process.c:
7996 * w32fns.c:
7997 * w32menu.c:
7998 * w32term.c:
7999 * xfns.c:
8000 * xmenu.c:
8001 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8002
80032008-02-01 Kenichi Handa <handa@m17n.org>
8004
8005 * chartab.c (map_sub_char_table): Make it work for the top-level
8006 char-table. Fix handling of parent char-table.
8007 (map_char_table): Adjust for the above change.
8008
80092008-02-01 Jason Rumney <jasonr@gnu.org>
8010
8011 * w32font.c (Qgdi): Rename from Qw32.
8012
80132008-02-01 Jason Rumney <jasonr@gnu.org>
8014
8015 * w32bdf.c (get_quoted_string): Make function static.
8016
80172008-02-01 Kenichi Handa <handa@m17n.org>
8018
8019 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8020 bigger ascent and descent than those of the font, use them as
8021 font's ascent and descent.
8022
80232008-02-01 Kenichi Handa <handa@m17n.org>
8024
8025 * Makefile.in (${lispsource}international/charprop.el): Move this
8026 target within "#ifdef HAVE_UNIDATA" and "#endif".
8027
80282008-02-01 Kenichi Handa <handa@m17n.org>
8029
8030 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8031 (shortlisp): Add ../lisp/language/tai-viet.el.
8032
80332008-02-01 Ulrich Mueller <ulm@gentoo.org>
8034
8035 * Makefile.in (${lispsource}international/charprop.el): Depend on
8036 temacs${EXEEXT}.
8037
80382008-02-01 Jason Rumney <jasonr@gnu.org>
8039
8040 * w32font.c (w32font_close): Delete the GDI font object.
8041
8042 * w32menu.c: Include character.h.
8043
8044 * w32proc.c: Likewise.
8045
8046 * w32select.c: Likewise.
8047
8048 * makefile.w32-in (w32proc.o): Depend on character.h.
8049
80502008-02-01 Jason Rumney <jasonr@gnu.org>
8051
8052 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8053
8054 * w32menu.c (syms_of_w32menu): Likewise.
8055
8056 * w32proc.c (syms_of_ntproc): Likewise.
8057
8058 * w32select.c (syms_of_w32select): Likewise.
8059
8060 * w32term.c (syms_of_w32term): Likewise.
8061
80622008-02-01 Jason Rumney <jasonr@gnu.org>
8063
8064 * w32font.c (w32font_draw): Delete brush after using it.
8065
80662008-02-01 Jason Rumney <jasonr@gnu.org>
8067
8068 * w32font.c (w32font_open): Don't set font_idx.
8069 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8070 to font settings.
8071 (w32font_draw): Fill background explicitly.
8072
80732008-02-01 Jason Rumney <jasonr@gnu.org>
8074
8075 * w32term.c (w32_initialize): Don't call w32font_initialize.
8076
8077 * w32font.c (w32font_info): Remove subranges.
8078 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8079 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8080 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8081 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8082 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8083 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8084 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8085 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8086 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8087 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8088 New symbols.
8089 (font_callback_data): New struct.
8090 (w32font_list, w32font_match): Use it.
8091 (w32font_open): Don't populate subranges.
8092 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8093 (w32font_encode_char): Always return unicode code-point as-is.
8094 (w32font_text_extents): Supply a transformation matrix to
8095 GetGlyphOutline. Never look up by glyph index. Avoid looping
8096 twice. Use unicode version of GetTexExtentPoint32 instead of
8097 glyph index version.
8098 (set_fonts_frame): Remove.
8099 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8100 set frame parameter. Use backward compatible fake foundries.
8101 Save generic family in extra slot under QCfamily. Make width slot
8102 constant. Save QCspacing value. Save list of scripts instead of
8103 binary subranges.
8104 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8105 (add_font_entity_to_list): Use font_callback_data struct. Filter
8106 unwanted fonts.
8107 (add_one_font_entity_to_list): Use font_callback_data struct.
8108 (w32_registry): Default to iso10646_1.
8109 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8110 string font registries. Don't fill in font name if it is a generic
8111 family name, fill family instead. Use spacing, family and script
8112 extra info to fill pitch, family and charset fields.
8113 (list_all_matching_fonts): Use font_callback_data struct.
8114 (unicode_range_for_char): Remove.
8115 (font_supported_scripts): New function.
8116 (w32font_initialize): Remove.
8117 (syms_of_w32font): Update which symbols are defined.
8118
81192008-02-01 Jason Rumney <jasonr@gnu.org>
8120
8121 * font.c (font_pixel_size): Reverse assq_no_quit args.
8122
8123 * w32term.h (FONT_WIDTH): Report max width, not average.
8124 (FONT_MAX_WIDTH): Remove.
8125 (FONT_AVG_WIDTH): New macro.
8126
8127 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8128 redefinition of FONT_WIDTH.
8129
8130 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8131 (w32_cache_char_metrics): Use FONT_WIDTH.
8132
8133 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8134
81352008-02-01 Jason Rumney <jasonr@gnu.org>
8136
8137 * w32font.c (w32font_open): Make lfHeight negative.
8138
8139 * w32fns.c (x_default_font_parameter): Use new style font name.
8140 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8141
81422008-02-01 Jason Rumney <jasonr@gnu.org>
8143
8144 * w32font.c (QCsubranges): New symbol.
8145 (w32font_open, w32font_has_char): Get subranges from subproperty
8146 of extra.
8147 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8148 (syms_of_w32font): Define :subranges symbol.
8149
8150 * font.c (font_put_extra): Expose externally.
8151
8152 * font.h (font_put_extra): Move declaration from font.c.
8153
8154 * font.c (Ffont_get): Use font driver to determine otf capability.
8155 (adjust_anchor): Check if driver defines anchor_point before using.
8156
8157 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8158 (w32font_draw): Use options.
8159 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8160 Fix detection of truetype fonts.
8161 (registry_to_w32_charset): Handle charsets other than iso8859-1
8162 expressed as lisp symbols.
8163 (w32_registry): Express charset as lisp symbol.
8164 (fill_in_logfont): Reverse pixel and point height logic.
8165 Don't set width here. Set quality to default.
8166
8167 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8168 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8169
8170 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8171 Remove redundant loop and allocation.
8172
8173 * makefile.w32-in (font.o, w32font.o): New objects.
8174 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8175 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8176
8177 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8178 STORE_XCHARB a valid l-value.
8179
8180 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8181 calculations for non-Truetype fonts.
8182 (x_draw_glyph_string): Sync with xterm.c.
8183 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8184 Remove redundant code.
8185 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8186
8187 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8188 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8189
8190 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8191 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8192
8193 * w32font.c: New file for w32 font backend.
8194
81952008-02-01 Kenichi Handa <handa@m17n.org>
8196
8197 * term.c: Don't include "buffer.h" twice.
8198
81992008-02-01 Kenichi Handa <handa@m17n.org>
8200
8201 * character.c (Funibyte_string): New function.
8202 (syms_of_character): Defsubr it.
8203
82042008-02-01 Jason Rumney <jasonr@gnu.org>
8205
8206 * w32term.c [USE_FONT_BACKEND]:
8207 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8208 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8209 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8210 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8211 (x_free_frame_resources): Sync with xterm.c.
8212
82132008-02-01 Andreas Schwab <schwab@suse.de>
8214
8215 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8216 char-table size.
8217
82182008-02-01 Kenichi Handa <handa@m17n.org>
8219
8220 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8221
82222008-02-01 Kenichi Handa <handa@m17n.org>
8223
8224 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8225 font_otf_gpos, add font_drive_otf.
8226
8227 * fontset.c (fontset_find_font): Pay attention to font size
8228 specified for a font.
8229 (reorder_font_vector): Check contents of font_def.
8230
8231 * font.c (struct otf_list): Delete it.
8232 (otf_list): Make it a lisp variable.
8233 (otf_open): Use lispy otf_list.
8234 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8235 (check_otf_features): New function.
8236 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8237 New functions.
8238 (font_drive_otf): New function merging font_otf_gsub and
8239 font_otf_gpos.
8240 (font_open_for_lface): New arg spec. Change argument order.
8241 (font_load_for_face): Adjust for the change of font_open_for_lface.
8242 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8243 Ffont_otf_gpos.
8244 (syms_of_font): Staticpro otf_list. Delete defsubr of
8245 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8246
8247 * xfaces.c (set_font_frame_param): Adjust for the change of
8248 font_open_for_lface.
8249
8250 * font.h (font_open_for_lface): Adjust prototype.
8251 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8252 member otf_drive.
8253 (font_otf_gsub, font_otf_gpos): Delete externs.
8254 (font_drive_otf): Extern it.
8255
82562008-02-01 Kenichi Handa <handa@m17n.org>
8257
8258 * font.c (font_at): If the window W is not on a window system,
8259 return Qnil.
8260
8261 * coding.c (produce_chars, encode_coding): Don't call
8262 insert_from_gap if no characters to produce.
8263
82642008-02-01 Kenichi Handa <handa@m17n.org>
8265
8266 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8267 Fclear_face_cache.
8268
8269 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8270
82712008-02-01 Miles Bader <miles@gnu.org>
8272
8273 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8274 Parse "--disable-font-backend" option.
8275 (standard_args): Add "--disable-font-backend" option.
8276
82772008-02-01 Kenichi Handa <handa@m17n.org>
8278
8279 * fontset.c (fontset_find_font): New function.
8280 (fontset_font): Use fontset_find_font.
8281 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8282 Register the specified font for all Latin characters.
8283 (new_fontset_from_font): Register the specified font for all Latin
8284 characters.
8285 (dump_fontset): For a realized fontset, include the base fontset
8286 name in the returned vector.
8287
82882008-02-01 Kenichi Handa <handa@m17n.org>
8289
8290 * character.h (CHAR_STRING): Cast C to unsigned on calling
8291 char_string.
8292
8293 * character.c (char_string): Type of arg C changed to unsigned.
8294 Signal an error if C is an invalid character code.
8295
8296 * editfns.c (general_insert_function, Fchar_to_string):
8297 Use CHARACTERP, not INTEGERP.
8298
82992008-02-01 Kenichi Handa <handa@m17n.org>
8300
8301 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8302 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8303
8304 * regex.c (analyse_first): Fix for multibyte characters in "case
8305 charset:" and "case categoryspec:".
8306
83072008-02-01 Andreas Schwab <schwab@suse.de>
8308
8309 * Makefile.in (LIBES): Move standard libraries to the end.
8310
83112008-02-01 Kenichi Handa <handa@m17n.org>
8312
8313 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8314 nonzero, don't shrink the buffer nextb.
8315
8316 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8317
8318 * coding.c (coding_alloc_by_making_gap): New arg offset.
8319 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8320 offset.
8321 (decode_coding_iso_2022): Update coding->safe_charsets.
8322 (decode_coding_gap): Temporarily set
8323 current_buffer->text->inhibit_shrinking to 1.
8324
83252008-02-01 Kenichi Handa <handa@m17n.org>
8326
8327 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8328 indexing into elements of s->cmp and s->char2b.
8329
83302008-02-01 Juanma Barranquero <lekktu@gmail.com>
8331
8332 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8333
83342008-02-01 Kenichi Handa <handa@m17n.org>
8335
8336 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8337 target_multibyte instead of multibyte.
8338 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8339 (bcmp_translate): Change the argument name from multibyte to
8340 target_multibyte.
8341
83422008-02-01 Kenichi Handa <handa@m17n.org>
8343
8344 These changes are to compile a regexp into a pattern that can be
8345 used both for multibyte and unibyte targets.
8346
8347 * Makefile.in (search.o): Depend on charset.h.
8348
8349 * character.c (multibyte_char_to_unibyte_safe): New function.
8350
8351 * search.c: Include "charset.h".
8352 (compile_pattern_1): Delete argument multibyte. Don't set
8353 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8354 (compile_pattern): Don't compare cp->buf.target_multibyte.
8355 Compare cp->buf.charset_unibyte.
8356 (compile_pattern): Set cp->buf.target_multibyte.
8357
8358 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8359
8360 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8361
8362 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8363 multibyte. Change callers.
8364 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8365 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8366 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8367 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8368 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8369 (regex_compile): Make the compiled pattern usable both for
8370 multibyte and unibyte targets.
8371 (analyse_first): Make the fastmap usable both for multibyte and
8372 unibyte targets.
8373 (TRANSLATE_VIA_MULTIBYTE): Delete.
8374 (re_match_2_internal): Pay attention to the case that the
8375 multibyteness of bufp and target may be different.
8376
83772008-02-01 Kenichi Handa <handa@m17n.org>
8378
8379 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8380 empty box occupy at least one column width.
8381
83822008-02-01 Miles Bader <miles@gnu.org>
8383
8384 * Makefile.in: Remove redundant HAVE_XFT clause.
8385
83862008-02-01 Kenichi Handa <handa@m17n.org>
8387
8388 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8389
83902008-02-01 Kenichi Handa <handa@m17n.org>
8391
8392 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8393 being nil.
8394
83952008-02-01 Kenichi Handa <handa@m17n.org>
8396
8397 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8398
83992008-02-01 Kenichi Handa <handa@m17n.org>
8400
8401 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8402
84032008-02-01 Kenichi Handa <handa@m17n.org>
8404
8405 * search.c (simple_search): Fix previous change.
8406
84072008-02-01 Kenichi Handa <handa@m17n.org>
8408
8409 * xftfont.c (ftfont_font_format): Extern declaration.
8410
8411 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8412
8413 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8414 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8415
8416 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8417 (ftfont_font_format): Fix previous change.
8418
8419 * font.h (Ffont_xlfd_name): EXFUN it.
8420
8421 * font.c (font_parse_xlfd): Fix the array size of `f'.
8422 (register_font_driver): Use EQ to compare driver->type.
8423
8424 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8425 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8426 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8427
84282008-02-01 Kenichi Handa <handa@m17n.org>
8429
8430 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8431 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8432
84332008-02-01 Kenichi Handa <handa@m17n.org>
8434
8435 * xfont.c (xfont_open): Set font->format.
8436
8437 * xftfont.c (xftfont_open): Set font->format.
8438
8439 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8440 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8441 (ftfont_open): Set font->format.
8442 (ftfont_font_format): New function.
8443
8444 * font.h (struct font): New member format.
8445
8446 * font.c (Qopentype): New variable.
8447 (syms_of_font): Defsym it.
8448 (Fquery_font): Change the format of the last element of the return
8449 value.
8450
84512008-02-01 Kenichi Handa <handa@m17n.org>
8452
8453 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8454 last resort.
8455
84562008-02-01 Kenichi Handa <handa@m17n.org>
8457
8458 * coding.c (detect_coding_charset): Fix detection of multi-byte
8459 charset.
8460
84612008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8462
8463 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8464
84652008-02-01 Kenichi Handa <handa@m17n.org>
8466
8467 * xdisp.c (get_next_display_element): Set it->face_id for the
8468 first component of a composition.
8469 (x_produce_glyphs): Check if the font is changed or not for composition.
8470
84712008-02-01 Kenichi Handa <handa@m17n.org>
8472
8473 * fontset.c (Qlatin): New variable.
8474 (syms_of_fontset): Define it as a lisp symbol.
8475 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8476
84772008-02-01 Kenichi Handa <handa@m17n.org>
8478
8479 * font.c (font_unparse_fcname): Pay attention to the case that
8480 some of font property is a null string.
8481
84822008-02-01 Kenichi Handa <handa@m17n.org>
8483
8484 * term.c: Include "composite.h".
8485 (encode_terminal_code): Output all components of composition.
8486 Check the size of encode_terminal_src.
8487 (produce_glyphs): For composition, call produce_composite_glyph.
8488 (append_composite_glyph, produce_composite_glyph): New functions.
8489
8490 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8491 is not found, get font_info from the current ascii face.
8492
84932008-02-01 Kenichi Handa <handa@m17n.org>
8494
8495 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8496 buffer-file-name to Qnil before calling insert_from_buffer.
8497
8498 * font.c (font_unparse_fcname): Pay attention to the case that
8499 foundry is a null string.
8500
85012008-02-01 Kenichi Handa <handa@m17n.org>
8502
8503 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8504
8505 * font.c (Qunicode_sip): New variable.
8506 (syms_of_font): Declare it as a Lisp symbol.
8507
8508 * font.h (Qunicode_sip): Extern it.
8509
85102008-02-01 Kenichi Handa <handa@m17n.org>
8511
8512 * composite.c (get_composition_id): Pay attention to TAB component.
8513
8514 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8515 TAB. Adjust for the change of s->char2b which always points to
8516 the first element of allocated memory.
8517
8518 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8519
8520 * xdisp.c (handle_composition_prop): Set it->c to the first
8521 non-TAB component.
8522 (fill_composite_glyph_string): Change argument.
8523 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8524 (x_produce_glyphs): Fix handling of left/right padding.
8525
85262008-02-01 Kenichi Handa <handa@m17n.org>
8527
8528 * coding.c (detect_coding_system): Fix for handling off
8529 inhibit_iso_escape_detection. Fix for the case that no coding
8530 system is defined for a specific coding category.
8531
85322008-02-01 Kenichi Handa <handa@m17n.org>
8533
8534 * font.c (font_matching_entity): Delete unused local var.
8535
8536 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8537 opening a font.
8538
8539 * fileio.c (Finsert_file_contents): On recovering a file, assume
8540 Unix-like eol.
8541 (choose_write_coding_system): On auto-saving a file, force
8542 Unix-like eol.
8543
8544 * coding.c (setup_coding_system): Fix setting of
8545 coding->common_flags based on eol_type.
8546 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8547 inherit from it.
8548
85492008-02-01 Kenichi Handa <handa@m17n.org>
8550
8551 * alloc.c (NSTATICS): Increas to 0x600.
8552
85532008-02-01 Kenichi Handa <handa@m17n.org>
8554
8555 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8556 (ftfont_list): Don't check :name property.
8557 (ftfont_match): New function.
8558 (ftfont_pattern_entity): If the pattern doesn't contain
8559 FC_SPACING, don't assume FC_MONO.
8560
8561 * font.h (struct font_driver): New member `match'.
8562 (font_update_drivers): Adjust prototype.
8563
8564 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8565 property of FONT.
8566 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8567 them unconditionally.
8568 (font_matching_entity): New function.
8569 (font_open_by_name): Try font_matching_entity if exact match is
8570 not found.
8571 (font_update_drivers): Delete the arg FONT. Return a list of
8572 actually used backends. Don't free faces, font caches here.
8573 Don't store data in frame parameters. Don't call x_set_font.
8574 (Ffont_spec): Store :name property as is.
8575 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8576 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8577 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8578 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8579 Call font->driver->otf_gsub instead of font_otf_gsub.
8580
8581 * frame.c (x_set_font_backend): Do more works that were done in
8582 font_update_drivers before.
8583
8584 * xfont.c (xfont_match): New function.
8585 (xfont_driver): Set xfont_driver.match to xfont_match.
8586 (xfont_draw): Set font in GC if necessary.
8587
8588 * ftxfont.c (ftxfont_match): New function.
8589 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8590
8591 * xftfont.c (xftfont_match): New function.
8592 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8593
85942008-02-01 Kenichi Handa <handa@m17n.org>
8595
8596 * font.h (struct font): New member scalable.
8597 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8598 (font_otf_gsub): Adjust prototype.
8599
8600 * font.c (font_otf_capability): Fix handling of the default langsys.
8601 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8602 Check the contents of SPEC.
8603 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8604 (check_gstring): New function.
8605 (REPLACEMENT_CHARACTER): New macro.
8606 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8607 glyph codes of GSTRING.
8608 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8609 (font_prepare_composition): Set cmp->glyph_len.
8610 (font_open_entity): Set font->scalable.
8611 (Ffont_get): Handle :otf property.
8612 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8613 functions.
8614 (Fquery_font): Use font->font.full_name.
8615 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8616 Sfont_otf_alternates.
8617
8618 * ftfont.c (ftfont_open): Set font->font.full_name and
8619 font->font.name properly. Fix calculation of font->font.height
8620 and font->min_width.
8621
8622 * ftxfont.c (ftxfont_create_gcs): New function.
8623 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8624 (ftxfont_draw_backgrond): Fix filling region.
8625 (ftxfont_default_fid): New function.
8626 (ftxfont_open): Set xfont->fid to the return value of
8627 ftxfont_default_fid.
8628 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8629 (ftxfont_done_face): Free only GCs that are created by
8630 ftxfont_create_gcs.
8631 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8632
8633 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8634 Clip to src->width, etc (not src->clip_XXX).
8635
8636 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8637 FontBackend frame parameter.
8638
86392008-02-01 Kenichi Handa <handa@m17n.org>
8640
8641 * font.h (struct font_driver_list): New member `on'.
8642 (Fclear_font_cache): EXFUN it.
8643 (font_update_drivers): Extern it.
8644
8645 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8646 (font_list_entities): Check driver_list->on.
8647 (register_font_driver): Initalize `on' member to 0.
8648 (font_update_drivers): New function.
8649 (Fclear_font_cache): Check driver_list->on.
8650
8651 * frame.h (Qfont_backend): Extern it.
8652 (x_set_font_backend): Extern it.
8653
8654 * frame.c (Qfont_backend): New variable.
8655 (frame_parms): New element for font-backend.
8656 (x_set_font_backend): New function.
8657
8658 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8659 FontBackend frame parameter.
8660 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8661 x_set_font_backend.
8662
8663 * xfont.c (xfont_list): Don't try listing by :name property if the
8664 name is not for XLFD.
8665
86662008-02-01 Kenichi Handa <handa@m17n.org>
8667
8668 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8669 (LGLYPH_SET_TO): New macros.
8670 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8671 element of G is vector or not.
8672 (font_at): Extern it.
8673
8674 * font.c: Include window.h.
8675 (font_lispy_object): New function.
8676 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8677 end of valid glyph.
8678 (font_close_object): Fix getting (struct font *).
8679 (font_at): New function.
8680 (Ffont_get): If FONT is a font-object, get entity from it.
8681 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8682 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8683 range check.
8684 (Ffont_at): New function.
8685 (syms_of_font): Defsubr Sfont_at.
8686
8687 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8688 before the entry for Qcomposition.
8689 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8690 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8691 the font in gstring.
8692 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8693 LGLYPH_FORM (g) to detect the end of valid glyph.
8694 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8695 we are composing with gstring.
8696
8697 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8698 Check if adjustment is vector or not.
8699
8700 * Makefile.in (font.o): Make it depends on window.h.
8701
87022008-02-01 Kenichi Handa <handa@m17n.org>
8703
8704 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8705 adjustment is vector or not.
8706
87072008-02-01 Miles Bader <miles@gnu.org>
8708
8709 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8710
87112008-02-01 Kenichi Handa <handa@m17n.org>
8712
8713 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8714 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8715 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8716
8717 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8718 (DEVICE_DELTA): Fix typo.
8719 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8720 LGLYPH format.
8721
8722 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8723 the change of LGLYPH format.
8724
87252008-02-01 Kenichi Handa <handa@m17n.org>
8726
8727 * ftfont.c (ftfont_list): Fix typo.
8728 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8729
87302008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8731
8732 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8733
8734 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8735 xftface_info is non-NULL.
8736
87372008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8738
8739 * ftfont.c (ftfont_list): Move misplaced #endif.
8740
87412008-02-01 Kenichi Handa <handa@m17n.org>
8742
8743 * ftfont.c (ftfont_list): Pay attention to the case that
8744 FC_CAPABILITY is not defined.
8745
87462008-02-01 Kenichi Handa <handa@m17n.org>
8747
8748 * xftfont.c (xftfont_open): Set charset related members to -1.
8749
8750 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8751 QCname.
8752 (ftfont_open): Set charset related members to -1.
8753
8754 * fontset.c (Votf_script_alist): New variable.
8755 (syms_of_fontset): Initialize it.
8756 (fontset_font): Delete unused variable.
8757
8758 * fontset.h (Votf_script_alist): Extern it.
8759
8760 * font.c (font_find_for_lface): Optimize code.
8761
8762 * font.h (font_close_object, font_merge_old_spec): Extern them.
8763
87642008-02-01 Kenichi Handa <handa@m17n.org>
8765
8766 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8767 (syms_of_font): Initialize them.
8768 (font_pixel_size): Allow float value in dpi.
8769 (font_prop_validate_type): Delete.
8770 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8771 Change caller.
8772 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8773 (font_prop_validate_extra): Delete.
8774 (font_prop_validate_spacing): New function.
8775 (font_property_table): Add elements for all known properties.
8776 (get_font_prop_index): Rename from check_font_prop_name. New
8777 argument FROM. Change caller.
8778 (font_prop_validate): Validate all known properties.
8779 (font_put_extra): Delete argument force. Change caller.
8780 (font_expand_wildcards): Make it static. Fix the way of shrinking
8781 the possible range.
8782 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8783 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8784 Change caller.
8785 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8786 (font_parse_fcname): Delete argument merge. Fix parsing of point
8787 size. Don't validate properties values here. Change caller.
8788 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8789 (font_open_by_name): Delete unused variable.
8790 (Ffont_spec): Likewise. Validate property values.
8791 (Ffont_match_p): New function.
8792
8793 * font.h (QCscalable): Extern it.
8794 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8795
8796 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8797
8798 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8799 (xfont_list_pattern): New function.
8800 (xfont_list): Use xfont_list_pattern.
8801
88022008-02-01 Kenichi Handa <handa@m17n.org>
8803
8804 * font.h (Flist_fonts): EXFUN it.
8805
88062008-02-01 Jason Rumney <jasonr@gnu.org>
8807
8808 * w32term.c (w32_initialize): Add back smoothing_type and
8809 smoothing_enabled definitions.
8810
88112008-02-01 Kenichi Handa <handa@m17n.org>
8812
8813 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8814 s->face->font on determining underline position.
8815
88162008-02-01 Kenichi Handa <handa@m17n.org>
8817
8818 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8819 (font_has_char): Accept font-object too.
8820 (font_find_for_lface): Try at first with a size specified in face.
8821
88222008-02-01 Kenichi Handa <handa@m17n.org>
8823
8824 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8825 font_open_by_name.
8826
88272008-02-01 Kenichi Handa <handa@m17n.org>
8828
8829 * font.h (QCspacing, QCdpi): Extern them.
8830 (enum font_spacing): New enum.
8831 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8832
8833 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
8834 (QCspacing, QCdpi): New variables.
8835 (syms_of_font): Initialize them.
8836 (font_pixel_size): New function.
8837 (font_put_extra): New function.
8838 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8839 in FONT_EXTRA.
8840 (font_parse_fcname): Handle enumerated values (e.g. bold).
8841 Fix handling font size. Add QCname property that contains only
8842 unknown properties.
8843 (font_score): Change argument. Change caller. Pay attention to
8844 FONT_PIXEL_SIZE_QUANTUM.
8845 (font_sort_entites, font_list_entities, font_find_for_lface)
8846 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8847 (Ffont_spec): Add QCname property that contains only unknown properties.
8848
8849 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8850 include weight in listing pattern, instead check weight of each
8851 listed font. Don't include scalable in pattern. Pay attention to
8852 FONT_PIXEL_SIZE_QUANTUM.
8853
88542008-02-01 Kenichi Handa <handa@m17n.org>
8855
8856 * font.c (font_parse_fcname): Fix parsing of point-size.
8857 (font_unparse_fcname): Produce symbolic names for style properties.
8858 (font_list_entities): Handle float size correctly.
8859 (font_open_by_name): Prefer `normal' property values if the name
8860 doesn't specify them.
8861
8862 * fontset.c (Finternal_char_font): Use font_get_name, not
8863 Ffont_xlfd_name.
8864
8865 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8866 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8867 pattern. Don't force scalable.
8868
8869 * xftfont.c (xftfont_open): For generating a name, start from
8870 96-byte buffer.
8871
88722008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8873
8874 * frame.h (x_new_fontset2): Fix prototype.
8875
88762008-02-01 Kenichi Handa <handa@m17n.org>
8877
8878 * font.h (struct font_driver): Delete member parse_name.
8879 (font_match_p, font_get_spec, font_parse_fcname)
8880 (font_unparse_fcname): Extern them.
8881 (font_get_name): Adjust prototype.
8882
8883 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8884 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8885 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8886 unnecessary checks for weight, slant, and swidth.
8887 (font_parse_fcname): New function.
8888 (font_unparse_fcname): New function.
8889 (font_parse_name): New function.
8890 (font_match_p): New function.
8891 (font_get_name): Change return value to Lisp string.
8892 (font_get_spec): New function.
8893 (Qunspecified, Qignore_defface): Don't extern them.
8894 (font_find_for_lface): Assume that LFACE is fully specified.
8895 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8896 object, use it for FACE.
8897 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8898 driver->parse_name.
8899 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8900
8901 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8902 prototype.
8903
8904 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8905 argument F. Don't call Fnew_fontset. Instead, directly call
8906 make_fontset.
8907
8908 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8909
8910 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8911 of x_new_fontset2.
8912
8913 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8914 (Qsans__serif): New variables.
8915 (ftfont_generic_family_list): New variable.
8916 (syms_of_ftfont): Initialize the above variables.
8917 (ftfont_pattern_entity): Delete argument NAME.
8918 (ftfont_list_generic_family): New function.
8919 (ftfont_parse_name): Delete this function.
8920 (ftfont_list): Try generic family only when FcFontList found no font.
8921 (ftfont_list_family): Fix args to FcObjectSetBuild.
8922
8923 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8924 object in attrs[LFACE_FONT_INDEX].
8925 (set_lface_from_font_name): Cancel all changes for font-backend.
8926 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8927 function.
8928 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8929 font object in QCfont attribute.
8930 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8931 (realize_default_face) [USE_FONT_BACKEND]: Call
8932 set_lface_from_font_and_fontset.
8933
8934 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8935 "fixed", and signal error here if no suitable font was found.
8936
8937 * xfont.c (xfont_parse_name): Delete this function.
8938
8939 * xftfont.c (xftfont_open): Change coding style of error
8940 handling. Generate fontconfig's fontname pattern.
8941
8942 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8943 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8944
8945 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8946 Both args FONTSET and FONT_OBJECT must be existing ones.
8947
89482008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8949
8950 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8951
89522008-02-01 Kenichi Handa <handa@m17n.org>
8953
8954 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8955
8956 * font.h (struct font): Fix typo.
8957
8958 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8959 XLFD_XXX_INDEX.
8960 (enum xlfd_field_mask): New enum.
8961 (intern_font_field): Changed argument. Change caller. If digits
8962 are followed by non-digits, return a symbol.
8963 (font_expand_wildcards): New function.
8964 (font_parse_xlfd): Fix wildcard handling.
8965 (Ffont_spec): If :name is specified, reflect the info in the other
8966 properties.
8967
8968 * ftfont.c (ftfont_pattern_entity): Fix typo.
8969 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8970 locale.
8971
89722008-02-01 Kenichi Handa <handa@m17n.org>
8973
8974 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8975
8976 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8977 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8978 registry doesn't specify encoding part.
8979 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8980 (font_open_by_name): At first try parsing the name.
8981 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8982 as Lisp symbols.
8983
8984 * fontset.c (reorder_font_vector): Pay attention to the case that
8985 the 3rd element of font_def is nil.
8986 (fontset_font): For the default fontset, append one more fontset
8987 elements for a script-based font specification. Don't add script
8988 attribute on finding a font.
8989 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8990 font name.
8991 (fontset_ascii_font): If a font can't be opened, return nil.
8992
8993 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8994 (ftfont_pattern_entity): New function.
8995 (ftfont_get_cache): Assume that freetype_font_cache is already
8996 initialized.
8997 (ftfont_list): Handle the case that a file is specified in font
8998 name. Use ftfont_pattern_entity to generate entities.
8999 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9000 (syms_of_ftfont): Initialize freetype_font_cache.
9001
9002 * xftfont.c (xftfont_open): Make the font name fontconfig's
9003 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9004 (xftfont_close): Free font->font.name if not NULL.
9005
9006 * xfont.c (xfont_list): If script is specified for a font, return
9007 null_vector.
9008 (xfont_list_family): Declare argument type.
9009
9010 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9011 name, set LFACE_FONT (lface) to nil.
9012
9013 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9014 return Qnil.
9015
90162008-02-01 Kenichi Handa <handa@m17n.org>
9017
9018 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9019 (standard_args): Add "-enable-font-backend".
9020
90212008-02-01 Kenichi Handa <handa@m17n.org>
9022
9023 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9024 (struct xftdraw_list, xftdraw_list): Delete them.
9025 (register_xftdraw, check_xftdraw): Delete them.
9026 (xftfont_prepare_face): Don't call register_xftdraw.
9027 (xftfont_done_face): Don't call check_xftdraw.
9028 (xftfont_draw): Get background color only when with_background is
9029 nonzero.
9030
9031 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9032
90332008-02-01 Kenichi Handa <handa@m17n.org>
9034
9035 These changes are for the new font handling codes.
9036
9037 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9038 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9039 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9040 (FONTSRC, FONTOBJ): New variables.
9041 (obj): Add $(FONTOBJ).
9042 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9043 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9044 @LIBOTF_LIBS@.
9045 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9046 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9047
9048 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9049
9050 * character.h (Vscript_representative_chars): Extern it.
9051
9052 * character.c (Vscript_representative_chars): New variable.
9053 (syms_of_character): Declare it as a Lisp variable.
9054
9055 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9056 enable_font_backend is nonzero, accept the composition method
9057 COMPOSITION_WITH_GLYPH_STRING.
9058
9059 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9060 enumeration COMPOSITION_WITH_GLYPH_STRING.
9061
9062 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9063 members clip_x, clip_y, clip_width, and clip_height.
9064 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9065
9066 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9067 --enable-font-backend. Call syms_of_font.
9068
9069 * fns.c (assoc_no_quit): New function.
9070
9071 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9072 (face_for_font, new_fontset_from_font)
9073 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9074
9075 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9076 (fontset_font, fontset_ascii, face_for_char)
9077 (make_fontset_for_ascii_face, Ffont_info)
9078 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9079 is nonzero, use font-backend mechanism.
9080 (find_font_encoding): Make it non-static.
9081 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9082 New functions.
9083
9084 * frame.h (struct frame): New members resx and resy.
9085 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9086 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9087
9088 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9089 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9090
9091 * lisp.h (assoc_no_quit): Extern it.
9092
9093 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9094 Through out the file, use FONT_INFO_FROM_FACE instead of
9095 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9096 rif->per_char_metric.
9097 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9098 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9099 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9100 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9101 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9102 nonzero, use font-backend mechanism.
9103 (get_per_char_metric): New function.
9104
9105 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9106 (set_lface_from_font_name)
9107 (set_font_frame_param, free_realized_face)
9108 (prepare_face_for_display, clear_face_gcs)
9109 (Finternal_set_font_selection_order, realize_x_face)
9110 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9111 font-backend mechanism.
9112 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9113 (load_face_font) [USE_FONT_BACKEND]: Abort.
9114 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9115 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9116
9117 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9118 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9119 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9120 nonzero, register all available font drivers. Call
9121 x_default_font_parameter for deciding a font.
9122 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9123
9124 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9125 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9126 (x_set_glyph_string_clipping_exactly)
9127 (x_compute_glyph_string_overhangs)
9128 (x_draw_glyph_string_foreground)
9129 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9130 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9131 enable_font_backend is nonzero, use font-backend mechanism.
9132 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9133
91342008-02-01 Kenichi Handa <handa@m17n.org>
9135
9136 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9137 system_eol_type.
9138 (syms_of_coding): Initialize system_eol_type.
9139
9140 * process.c (Fset_process_coding_system): Inherit system's eol
9141 format if necessary.
9142
91432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9144
9145 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9146
91472008-02-01 Kenichi Handa <handa@m17n.org>
9148
9149 * coding.c (decode_eol): Pay attention to buffer relocation in
9150 del_range_2.
9151 (decode_coding): Call decode_eol before restoring undo_list.
9152
91532008-02-01 Kenichi Handa <handa@m17n.org>
9154
9155 * charset.c (Fdefine_charset_internal): Fix setting of
9156 emacs_mule_bytes.
9157
91582008-02-01 Kenichi Handa <handa@m17n.org>
9159
9160 * keyboard.c (read_char): Check if C is a character or not before
9161 looking up Vkeyboard_translate_table.
9162
91632008-02-01 Kenichi Handa <handa@m17n.org>
9164
9165 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9166 condition to terminate the loop.
9167
91682008-02-01 Kenichi Handa <handa@m17n.org>
9169
9170 * coding.c (produce_composition): Compare charbuf[i] instead of
9171 args[i] against 0.
9172 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9173
91742008-02-01 Kenichi Handa <handa@m17n.org>
9175
9176 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9177 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9178 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9179 detect_coding.
9180 (emacs_mule_char): Handle old style (Emacs 20) component character
9181 of a composition.
9182 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9183 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9184 composition rule.
9185 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9186
91872008-02-01 Kenichi Handa <handa@m17n.org>
9188
9189 * coding.c (encode_coding_ccl): Allocate destination dynamically
9190 when necessary.
9191
91922008-02-01 Kenichi Handa <handa@m17n.org>
9193
9194 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9195 the loop. When quitted, show a proper error message.
9196
91972008-02-01 Kenichi Handa <handa@m17n.org>
9198
9199 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9200 src->clip_head and src->clip_tail temporarily instead of src->hl.
9201
9202 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9203 character sequence.
9204 (Fccl_execute_on_string): Use ASET, not XSET.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9209
92102008-02-01 Kenichi Handa <handa@m17n.org>
9211
9212 * coding.c (decode_coding): Fix the condition of terminating the
9213 decoding loop.
9214
92152008-02-01 Kenichi Handa <handa@m17n.org>
9216
9217 * data.c (Faset): On setting a character bigger than 255 in a
9218 unibyte string, signal an error instead of make the string multibyte.
9219
92202008-02-01 Kenichi Handa <handa@m17n.org>
9221
9222 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9223 made by a mapping table.
9224
92252008-02-01 Kenichi Handa <handa@m17n.org>
9226
9227 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9228 not.
9229 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9230 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9231
9232 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9233 s->face is NULL or not.
9234
92352008-02-01 Kenichi Handa <handa@m17n.org>
9236
9237 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9238 (x_draw_glyph_string): Fix drawing of right_overhang and
9239 left_overhang around/on cursor.
9240
9241 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9242
92432008-02-01 Kenichi Handa <handa@m17n.org>
9244
9245 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9246
92472008-02-01 Kenichi Handa <handa@m17n.org>
9248
9249 * coding.c (Fdefine_coding_system_internal)
9250 (Fdefine_coding_system_alias): Avoid a duplicated element in
9251 Vcoding_system_alist.
9252
92532008-02-01 Kenichi Handa <handa@m17n.org>
9254
9255 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9256
9257 * coding.c (Qcoding_system_define_form): New variable.
9258 (syms_of_coding): Intern and staticpro it.
9259 (Fcoding_system_p): Check Qcoding_system_define_form.
9260 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9261
9262 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9263 Fcoding_system_p.
9264 (CHECK_CODING_SYSTEM): If ID is not available, call
9265 Fcheck_coding_system.
9266 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9267 Try also Fcheck_coding_system.
9268
92692008-02-01 Kenichi Handa <handa@m17n.org>
9270
9271 * coding.c (code_conversion_restore): GCPRO arg.
9272
92732008-02-01 Kenichi Handa <handa@m17n.org>
9274
9275 * character.c (lisp_string_width): Check multibyteness of STRING.
9276
92772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9278
9279 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9280 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9281 (decode_mac_font_name): Use decode_coding_c_string instead of
9282 decode_coding.
9283 (x_load_font): Initialize fontp->fontset to -1. Set
9284 fontp->encoding_type.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * search.c (search_buffer): Give up BM search on case-fold-search
9289 if one of a target character has a case-equivalence of different
9290 byte length even if that target charcter is an ASCII.
9291 (simple_search): Fix calculation of byte length of matched text.
9292 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9293
92942008-02-01 Kenichi Handa <handa@m17n.org>
9295
9296 * coding.c (decode_coding): Fix handling of invalid bytes.
9297
92982008-02-01 Kenichi Handa <handa@m17n.org>
9299
9300 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9301 Unicode characters.
9302
93032008-02-01 Kenichi Handa <handa@m17n.org>
9304
9305 * coding.c (encode_coding_object): If a pre-write-conversion
9306 function makes a new buffer, kill it.
9307
93082008-02-01 Kenichi Handa <handa@m17n.org>
9309
9310 * coding.c (QCascii_compatible_p): New variable.
9311 (syms_of_coding): Initialize it.
9312 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9313 calling string_char.
9314 (record_conversion_result): Add `default:' case.
9315 (coding_charset_list): Delete unused variable `coding_type'.
9316 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9317 property in the plist of the coding system.
9318 (Fcoding_system_put): Check QCascii_compatible_p.
9319
93202008-02-01 Miles Bader <miles@gnu.org>
9321
9322 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9323 removed calculation of frame `f', as it's now used.
9324
93252008-02-01 Kenichi Handa <handa@m17n.org>
9326
9327 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9328 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9329 (UNIDATA): New variable.
9330 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9331 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9332 $(RUN_TEMACS) unconditionally.
9333
93342008-02-01 Kenichi Handa <handa@m17n.org>
9335
9336 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9337 (admindir): New variable.
9338 ($(lispsource)international/charprop.el): New target.
9339
93402008-02-01 Miles Bader <miles@gnu.org>
9341
9342 * character.c (chars-in-region): Remove obsolete function.
9343 (syms_of_character): Remove its initialization.
9344
93452008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9346
9347 * w32select.c (validate_coding_system)
9348 (setup_windows_coding_system): New functions.
9349 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9350 setup_windows_coding_system.
9351 (setup_config, Fw32_get_clipboard_data): Use
9352 validate_coding_system.
9353 (Fx_selection_exists): Move call to setup_config to a place
9354 where signals are allowed.
9355
9356 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9357 (Fcheck_coding_system): Add declarations.
9358
93592008-02-01 Kenichi Handa <handa@m17n.org>
9360
9361 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9362
93632008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9364
9365 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9366 string as the second argument for x_new_fontset.
9367
93682008-02-01 Kenichi Handa <handa@m17n.org>
9369
9370 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9371 (encode_coding_object): Use safe_call instead of call2.
9372
93732008-02-01 Kenichi Handa <handa@m17n.org>
9374
9375 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9376
9377 * Makefile.in (lisp): Include charprop.el.
9378
93792008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9380
9381 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9382 Not sure if it's unnecessary.
9383
93842008-02-01 Steven Tamm <steventamm@mac.com>
9385
9386 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9387 some possibly unnecessary fontset checking code that crashed
9388 when creating a new frame.
9389
93902008-02-01 Kenichi Handa <handa@m17n.org>
9391
9392 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9393 lookup_face.
9394
9395 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9396
9397 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9398
93992008-02-01 Kenichi Handa <handa@m17n.org>
9400
9401 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9402 (coding_charset_list): New function.
9403
9404 * coding.h (coding_charset_list): Extern it.
9405
94062008-02-01 Kenichi Handa <handa@m17n.org>
9407
9408 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9409 concatenation of family and registry.
9410
94112008-02-01 Kenichi Handa <handa@m17n.org>
9412
9413 * character.h (BYTE8_STRING): Fix typo.
9414
9415 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9416 string to multibyte (sync to HEAD).
9417
9418 * casefiddle.c (casify_region): Handle changes in byte-length
9419 using replace_range_2 (sync to HEAD).
9420
94212008-02-01 Andreas Schwab <schwab@suse.de>
9422
9423 * chartab.c (map_char_table): GCPRO table and arg.
9424
94252008-02-01 Kenichi Handa <handa@m17n.org>
9426
9427 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9428 already at limit.
9429
94302008-02-01 Kenichi Handa <handa@m17n.org>
9431
9432 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9433 instead of fast_c_string_match_ignore_case.
9434 (find_font_encoding): Change argument to Lisp_Object. Use
9435 fast_string_match_ignore_case instead of
9436 fast_c_string_match_ignore_case. Change caller.
9437
94382008-02-01 Kenichi Handa <handa@m17n.org>
9439
9440 * xdisp.c (get_next_display_element): In unibyte case, decide to
9441 display in octal form by checking a character by
9442 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9443
9444 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9445
9446 * character.c (unibyte_has_multibyte_table): New variable.
9447
9448 * character.h (unibyte_has_multibyte_table): Extern it.
9449 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9450
94512008-02-01 Kenichi Handa <handa@m17n.org>
9452
9453 * coding.c (encode_coding_iso_2022): Fix handling of charset
9454 annotation.
9455
94562008-02-01 Kenichi Handa <handa@m17n.org>
9457
9458 * coding.c (setup_coding_system): If coding_system is nil, use
9459 Qundecided.
9460 (Fterminal_coding_system): Return nil if terminal coding system is
9461 `undecided'.
9462 (syms_of_coding): Define coding-system `undecided' here. Setup
9463 terminal_coding as `undecided'.
9464
94652008-02-01 Kenichi Handa <handa@m17n.org>
9466
9467 * xdisp.c (message_dolog, set_message_1): Call
9468 unibyte_char_to_multibyte with arg type int.
9469
9470 * lread.c (read1): Fix reading of a char-table.
9471
9472 * print.c (print_object): Include sub char-table in circularities
9473 detection.
9474
94752008-02-01 Kenichi Handa <handa@m17n.org>
9476
9477 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9478 Append the found sequences in car of ARGS instead of prepending.
9479
94802008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * fileio.c (report_file_error): Make a unibyte string from
9483 strerror (errorno).
9484 (Fsubstitute_in_file_name): Fix the arg to
9485 unibyte_char_to_multibyte. It is evaluated twice.
9486
94872008-02-01 Kenichi Handa <handa@m17n.org>
9488
9489 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9490
94912008-02-01 Kenichi Handa <handa@m17n.org>
9492
9493 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9494 BOM is not found.
9495 (detect_coding, detect_coding_system): Optimization for ISO-2022
9496 when no 8-bit data is found.
9497
94982008-02-01 Jason Rumney <jasonr@gnu.org>
9499
9500 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9501
95022008-02-01 Kenichi Handa <handa@m17n.org>
9503
9504 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9505 CHARS.
9506
95072008-02-01 Steven Tamm <steventamm@mac.com>
9508
9509 * macterm.c (mac_encode_char): Add charset argument and update
9510 to use encoding_type.
9511 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9512 switch to pure fontset.
9513 (decode_mac_font_name): Temporarily remove decoding.
9514 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9515 (x_load_font): Temporarily remove encoding.
9516
95172008-02-01 Kenichi Handa <handa@m17n.org>
9518
9519 * xfaces.c (Fface_font): If frame is not on a window system,
9520 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9521 refer to face->font.
9522 (split_font_name_into_vector, build_font_name_from_vector)
9523 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9524 when HAVE_WINDOW_SYSTEM is defined.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9529 (x_produce_glyphs): Fix setting of members of cmp in case
9530 cmp->glyph_len is zero.
9531
9532 * fontset.c (Fset_fontset_font): Fix docstring.
9533 (Ffontset_info): Make it backward compatible. New arg ALL.
9534
95352008-02-01 Kim F. Storm <storm@cua.dk>
9536
9537 * process.c (read_process_output): Grow decoding_buf when needed;
9538 this could cause a crash in allocate_string and compact_small_strings.
9539
95402008-02-01 Kenichi Handa <handa@m17n.org>
9541
9542 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9543
95442008-02-01 Kenichi Handa <handa@m17n.org>
9545
9546 * coding.c (setup_coding_system): Set coding->common_flags
9547 correctly for raw-text.
9548 (consume_chars): On encoding unibyte text by raw-text, don't check
9549 multibyte form.
9550 (encode_coding): On encoding by raw-text, never use translation tables.
9551
9552 * fileio.c (e_write): Short cut for the case of no encoding.
9553
95542008-02-01 Kenichi Handa <handa@m17n.org>
9555
9556 * coding.c (detect_coding, detect_coding_system): Delete unused
9557 variables.
9558
95592008-02-01 Kenichi Handa <handa@m17n.org>
9560
9561 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9562 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9563
95642008-02-01 Kenichi Handa <handa@m17n.org>
9565
9566 * coding.c (Ffind_coding_systems_region_internal): Include
9567 raw-text and no-conversion in the result.
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9572 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9573 FONT_DEF.
9574 (font_def_arg, add_arg, from_arg, to_arg): New args.
9575 (set_fontset_font): Change argument.
9576 (Fset_fontset_font): Fix for the case that TARGET is a script
9577 name and charset name.
9578 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9579
95802008-02-01 Kenichi Handa <handa@m17n.org>
9581
9582 * fontset.c (fontset_font): Rename from fontset_face. Change return
9583 value.
9584 (face_suitable_for_char_p, face_for_char): Adjust for the change
9585 of fontset_font.
9586 (make_fontset_for_ascii_face): Fix setting of the fontset element
9587 for ASCII.
9588 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9589 to get a font name.
9590 (Ffontset_info): Adjust for the change of fontset_font.
9591
9592 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9593
9594 * character.h (LEADING_CODE_LATIN_1_MIN)
9595 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9596
95972008-02-01 Kenichi Handa <handa@m17n.org>
9598
9599 * editfns.c (check_translation): New function.
9600 (Ftranslate_region_internal): Handle M:N mapping.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9605
96062008-02-01 Kenichi Handa <handa@m17n.org>
9607
9608 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9609 goto invalid_code.
9610 (decode_coding_iso_2022): Fix handling of invalid designation.
9611
9612 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9613 after calling code_conversion_save.
9614
96152008-02-01 Kenichi Handa <handa@m17n.org>
9616
9617 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9618
9619 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9620
9621 * fontset.c: Include "intervals.h".
9622 (fontset_face): Fix comparing of Lisp_Objects.
9623 (free_face_fontset, new_fontset_from_font_name): Fix
9624 Lisp_Object/int mixup.
9625
9626 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9627
9628 * coding.c: Add many prototypes for static functions.
9629 (get_translation_table): Allow max_lookup to be NULL.
9630 (decode_coding, Ffind_coding_systems_region_internal)
9631 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9632 get_translation_table with max_lookup NULL.
9633
96342008-02-01 Kenichi Handa <handa@m17n.org>
9635
9636 * coding.c (get_translation_table): Declare it as Lisp_Object.
9637 (LOOKUP_TRANSLATION_TABLE): New macro.
9638 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9639 instead of CHAR_TABLE_REF.
9640
96412008-02-01 Kenichi Handa <handa@m17n.org>
9642
9643 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9644 annotation data format.
9645 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9646 Change arguments FROM and TO to single argument NCHARS. Change caller.
9647 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9648 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9649 (decode_coding_ccl, decode_coding_charset): Pay attention to
9650 coding->charbuf_used.
9651 (get_translation): New function.
9652 (produce_chars): New arguments translation_table and last_block.
9653 Translate characters here. Return number of carryover chars.
9654 Change caller.
9655 (produce_composition): New argument pos. Change caller.
9656 Adjust for the change of annotation data format.
9657 (produce_charset, produce_annotation): Likewise.
9658 (decode_coding, encode_coding): Don't call translate_chars.
9659 (consume_chars): New arg translation_table. Change caller.
9660 (translate_chars): Delete.
9661 (syms_of_coding): Make translation-table's number of extra slots 2.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * search.c (simple_search): Fix setting this_pos_byte in backward
9666 search.
9667
9668 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9669 byte sequence.
9670 (detect_coding_ccl): Fix setting of the variable valids.
9671
96722008-02-01 Kenichi Handa <handa@m17n.org>
9673
9674 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9675
9676 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9677
9678 * editfns.c (Ftranslate_region_internal): Rename from
9679 Ftranslate_region. Accept a char-table in TABLE.
9680 (syms_of_editfns): Defsubr Stranslate_region_internal.
9681
9682 * xfaces.c (set_lface_from_font_name): If a font is specified for
9683 a frame, generate a fontset from the font.
9684 (build_scalable_font_name): If the scalable font is requested for
9685 a specific size, don't change that size.
9686 (try_font_list): Try a scalable font also in the case that a
9687 pattern string is specified.
9688
96892008-02-01 Kenichi Handa <handa@m17n.org>
9690
9691 * xfaces.c (Fface_font): New optional arg CHARACTER.
9692
96932008-02-01 Kenichi Handa <handa@m17n.org>
9694
9695 * charset.h (CHARSET_OFFSET): New macro.
9696
96972008-02-01 Kenichi Handa <handa@m17n.org>
9698
9699 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9700
9701 * fontset.c (fontset_face): Handle the case that repertory is a
9702 char-table.
9703 (find_font_encoding): Return nil for unknown encoding.
9704 (Fset_fontset_font): Ignore a font of unknown encoding.
9705
97062008-02-01 Kenichi Handa <handa@m17n.org>
9707
9708 * keymap.c (describe_vector): Handle default value of a char table.
9709
9710 * fontset.c (fontset_face): Handle fallback fonts correctly.
9711 (Ffontset_info): Return infomation about fallback fonts.
9712
97132008-02-01 Kenichi Handa <handa@m17n.org>
9714
9715 * fontset.c (FONTSET_DEFAULT): New macro.
9716 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9717 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9718 the case that it is nil.
9719 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9720 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9721
9722 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9723 subset or superset.
9724
97252008-02-01 Kenichi Handa <handa@m17n.org>
9726
9727 * emacs.c (main): Call init_charset after syms_of_XXX.
9728
9729 * charset.c (Vcharset_map_directory): Delete.
9730 (Vcharset_map_path): New variable.
9731 (load_charset_map_from_file): Use Vcharset_map_path instead.
9732 (init_charset): Initialize Vcharset_map_path.
9733 (syms_of_charset): Delete declaration of "charset-map-directory",
9734 add declaration of "charset-map-path".
9735
97362008-02-01 Kenichi Handa <handa@m17n.org>
9737
9738 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9739 ASCII only string.
9740
9741 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9742
9743 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9744 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9745
97462008-02-01 Kenichi Handa <handa@m17n.org>
9747
9748 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9749
9750 * coding.c (QCmnemonic, QCdefalut_char)
9751 (QCdecode_translation_table, QCencode_translation_table)
9752 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9753 (get_translation_table): Return a list of translation tables if
9754 necessary.
9755 (decode_coding): Call get_translation_table with ENCODEP 0.
9756 (char_encodable_p): If translation_table is non-nil, always call
9757 translate_char.
9758 (Fdefine_coding_system_internal): Accept list of translation
9759 tables as :encode-translation-table and :decode-translation-table.
9760 (Fcoding_system_put): New function.
9761 (syms_of_coding): Declare new symbols. Defsubr
9762 Scoding_system_put.
9763 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9764 typically JISX0212.
9765
9766 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9767 when the charset is superset type.
9768
9769 * character.c (translate_char): Accept list of translation tables.
9770
97712008-02-01 Kenichi Handa <handa@m17n.org>
9772
9773 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9774 (CODING_ATTR_TRANS_TBL): New macro.
9775
9776 * coding.c (get_translation_table): New function.
9777 (translate_chars): Fix the bug of skipping annotation data.
9778 (decode_coding, encode_coding): Utilize get_translation_table.
9779 (char_encodable_p, Funencodable_char_position): Translate char if
9780 necessary.
9781 (Ffind_coding_systems_region_internal)
9782 (Fcheck_coding_systems_region): Setup translation table for encode
9783 in a coding system attribute vector in advance.
9784 (Fdefine_coding_system_internal): Allow a symbol as translation
9785 table. For shift-jis type coding system, allow 4th charset.
9786
97872008-02-01 Kenichi Handa <handa@m17n.org>
9788
9789 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9790
9791 * xdisp.c (get_next_display_element): Pass -1 as POS to
9792 FACE_FOR_CHAR if displaying a C-string.
9793
97942008-02-01 Kenichi Handa <handa@m17n.org>
9795
9796 * composite.c (get_composition_id): Handle xoff and yoff in a
9797 composition rule.
9798
9799 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9800 (struct composition): New member lbearing and rbearing.
9801
9802 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9803 (x_get_glyph_overhangs): Handle a composition glyph.
9804 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9805
9806 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9807 composition glyph.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * print.c: Include charset.h.
9812 (Vprint_charset_text_property): New variable.
9813 (Qdefault): Extern it.
9814 (PRINT_STRING_NON_CHARSET_FOUND)
9815 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9816 (print_check_string_result): New variable.
9817 (print_check_string_charset_prop): New function.
9818 (print_prune_charset_plist): New variable.
9819 (print_prune_string_charset): New function.
9820 (print_object): Call print_prune_string_charset if
9821 Vprint_charset_text_property is not t.
9822 (print_interval): Print nothing if interval->plist is nil.
9823 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9824 variable. Init and staticpro print_prune_charset_plist.
9825
98262008-02-01 Kenichi Handa <handa@m17n.org>
9827
9828 * fontset.c (new_fontset_from_font_name): Use the specified font
9829 for all characters in the new fontset.
9830
9831 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9832 OBJECT args.
9833
9834 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9835 OBJECT args for composition too.
9836
9837 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9838 OBJECT args.
9839
98402008-02-01 Kenichi Handa <handa@m17n.org>
9841
9842 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9843
9844 * fontset.c (reorder_font_vector): Adjust for the change of
9845 FONT_DEF format.
9846 (fontset_face): New arg id. Change caller.
9847 (face_for_char): New args pos and object.
9848 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9849 (fs_query_fontset): Check NAME by Fassoc too.
9850 (Fset_fontset_font): Allow non-XLFD font name.
9851 (Ffontset_info): Adjust for the change of FONT_DEF format.
9852
9853 * fontset.h (face_for_char): Adjust prototype.
9854
9855 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9856 (append_space, extend_face_to_end_of_line)
9857 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9858 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9859
9860 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9861 POS and OBJECT args.
9862
9863 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9864 POS and OBJECT args.
9865
98662008-02-01 Jason Rumney <jasonr@gnu.org>
9867
9868 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9869 of GlobalAlloc'ed memory.
9870
98712008-02-01 Kenichi Handa <handa@m17n.org>
9872
9873 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9874
9875 * charset.h (charset_table_used): Delete extern.
9876
9877 * charset.c (charset_table_used): Make it static.
9878 (map_charset_chars): Fix args to c_function with.
9879
9880 * chartab.c (map_sub_char_table_for_charset): Fix args to
9881 c_function with.
9882
9883 * coding.h (enum coding_result_code): Delete
9884 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9885
9886 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9887 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9888 (Vlast_code_conversion_error): New variables.
9889 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9890 (ONE_MORE_BYTE): Record error if any instead of signaling an
9891 error. If non-ASCII multibyte char is found, return the negative
9892 value of the code. All callers changed to check it.
9893 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9894 (record_conversion_result): New function. Change all codes setting
9895 coding->result to call this function.
9896 (detect_coding_utf_8, decode_coding_utf_8)
9897 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9898 Don't use the local variable incomplete.
9899 (emacs_mule_char): Change the second arg to `const'.
9900 (decode_coding): Fix of flushing out unprocessed data.
9901 (make_conversion_work_buffer): Fix making of a work buffer.
9902 (decode_coding_object): Return coding->dst_object.
9903
9904 * fontset.c (set_fontset_font): Fix args.
9905
9906 * lisp.h (CHARACTERBITS): Define as 22.
9907
9908 * process.c (send_process): Be sure to set coding->src_multibyte.
9909
9910 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9911
99122008-02-01 Kenichi Handa <handa@m17n.org>
9913
9914 * xdisp.c (handle_auto_composed_prop): Give limit to
9915 Fnext_single_char_property_change.
9916
99172008-02-01 Kenichi Handa <handa@m17n.org>
9918
9919 * composite.c (syms_of_composite): Don't make the composition hash
9920 table weak.
9921
9922 * fontset.c (Fset_fontset_font): Fix docstring.
9923
9924 * lisp.h (detect_coding_system): Adjust prototype.
9925
9926 * fileio.c (kill_workbuf_unwind): Delete this function.
9927 (Finsert_file_contents): Adjust the call of detect_coding_system.
9928 Get conversion_buffer by code_conversion_save. Use the macro
9929 CODING_MAY_REQUIRE_DECODING. After decoding, update
9930 coding_system.
9931
9932 * coding.h (make_conversion_work_buffer): Delete extern.
9933 (code_conversion_save): Extern it.
9934
9935 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9936 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9937 (decode_coding_utf_8): Don't do eol converion.
9938 (detect_coding_utf_16): Check coding->src_chars, not
9939 coding->src_bytes. Add heuristics for those that have no signature.
9940 (decode_coding_emacs_mule, decode_coding_iso_2022)
9941 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9942 Don't do eol converion.
9943 (adjust_coding_eol_type): Return a new coding system.
9944 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9945 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9946 each change.
9947 (decode_coding): Pay attention to undo_list. Do eol conversion for
9948 all types of coding-systems (if necessary).
9949 (Vcode_conversion_work_buf_list): Delete it.
9950 (Vcode_conversion_reused_workbuf): Rename from
9951 Vcode_conversion_reused_work_buf.
9952 (Vcode_conversion_workbuf_name): New variable.
9953 (reused_workbuf_in_use): New variable.
9954 (make_conversion_work_buffer): Delete the arg DEPTH.
9955 (code_conversion_restore): Change argument to cons.
9956 (code_conversion_save): Delete the argument BUFFER. Change callers.
9957 (detect_coding_system): New argument src_chars. Change callers.
9958 Fix for utf-16 detection.
9959 (init_coding_once): Don't use ISO_carriage_return.
9960 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9961 reused_workbuf_in_use.
9962
99632008-02-01 Kenichi Handa <handa@m17n.org>
9964
9965 * keymap.c (store_in_keymap): Pay attention to the case that idx
9966 is a cons specifying a character range.
9967
99682008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9971 HANDLED_RECOMPUTE_PROPS.
9972
9973 * coding.c (Fdefine_coding_system_internal): Fix checking of
9974 ascii compatibility.
9975
99762008-02-01 Kenichi Handa <handa@m17n.org>
9977
9978 * charset.c (find_charsets_in_text): Delete unused locale variable.
9979 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9980
9981 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9982 Resync charset_list to Vemacs_mule_charset_list.
9983
9984 * keymap.c (store_in_keymap): Pay attention to the case that idx
9985 is a cons specifying a character range.
9986
99872008-02-01 Kenichi Handa <handa@m17n.org>
9988
9989 * composite.c (update_compositions): Bind inhibit-read-only, etc
9990 to t before calling remove-list-of-text-properties.
9991
9992 * print.c (print_object): Always print ASCII chars as is.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9997
9998 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9999 is a char table.
10000
100012008-02-01 Kenichi Handa <handa@m17n.org>
10002
10003 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10004
100052008-02-01 Kenichi Handa <handa@m17n.org>
10006
10007 * xfaces.c (set_lface_from_font_name): Fix for the case that
10008 FONTNAME is not fontset name.
10009
100102008-02-01 Kenichi Handa <handa@m17n.org>
10011
10012 * fns.c (base64_encode_1): Fix previous change.
10013
100142008-02-01 Kenichi Handa <handa@m17n.org>
10015
10016 * fontset.c (set_fontset_font): New function.
10017 (Fset_fontset_font): If a font is specified for a charset, use
10018 map_charset_chars to store the font spec in a fontset.
10019
100202008-02-01 Kenichi Handa <handa@m17n.org>
10021
10022 * fontset.c (fontset_face): Create a fallback fontset on demand.
10023 (make_fontset): Don't create a fallback fontset here.
10024 (free_face_fontset): Free a fallback fontset (if any) too.
10025 (n_auto_fontsets): Delete this variable.
10026 (auto_fontset_alist): New variable.
10027 (new_fontset_from_font_name): Check auto_fontset_alist.
10028 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10029 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10030 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10031 Defsubr Sfontset_list_all.
10032
100332008-02-01 Kenichi Handa <handa@m17n.org>
10034
10035 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10036
100372008-02-01 Kenichi Handa <handa@m17n.org>
10038
10039 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10040
100412008-02-01 Kenichi Handa <handa@m17n.org>
10042
10043 * editfns.c (Fgoto_char): Fix docstring.
10044
100452008-02-01 Kenichi Handa <handa@m17n.org>
10046
10047 * insdel.c (insert_from_gap): Adjust intervals correctly.
10048
100492008-02-01 Jason Rumney <jasonr@gnu.org>
10050
10051 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10052 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10053 (w32_initialize): Try to load it.
10054 (x_get_font_repertory): Use it if available.
10055 (w32_encode_char): Add shortcut for unicode output.
10056
10057 * w32fns.c (w32_load_system_font): Default charset to -1.
10058 (x_to_w32_charset): Match all fonts for unicode.
10059 (w32_to_x_charset): New parameter matching. Don't return partial
10060 or wildcard charsets.
10061 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10062 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10063 (w32_to_x_font): Match charset to real charset.
10064 (enum_font_cb2): Always list unicode versions.
10065
10066 * makefile.w32-in (temacs): Increase EMHEAP.
10067
100682008-02-01 Jason Rumney <jasonr@gnu.org>
10069
10070 * w32term.c (w32_encode_char): New charset parameter.
10071 font_info.encoding becomes encoding_type.
10072 (x_get_font_repertory): New function. Warning: stub only!
10073 (x_new_font): Return quickly if font already set.
10074 (x_new_fontset): fontsetname parameter is Lisp_Object.
10075 Use new fs_query_fontset. Try new_fontset_from_font_name.
10076 Use fontset_name for return value.
10077
10078 * w32term.h: Declare x_get_font_repertory.
10079
10080 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10081 place of find_charset_in_text. Use encode_coding_object in place
10082 of encode_coding.
10083 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10084 decode_coding.
10085
10086 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10087 of x_new_fontset.
10088 (w32_load_system_font): Initialize charset as unicode.
10089 font_info.encoding becomes encoding_type.
10090 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10091 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10092 (syms_of_w32fns): Set get_font_repertory_func.
10093
10094 * w32console.c: Include character.h. Use terminal_encode_buffer
10095 from term.c.
10096 (write_glyphs): Use new version of encode_terminal_code. Use
10097 encode_coding_object in place of encode_coding.
10098
10099 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10100 encoding becomes encoding_type.
10101
10102 * term.c (terminal_encode_buffer): Make externally visible.
10103
10104 * makefile.w32-in: Add character.h dependancies.
10105 (character.o, chartab.o): New targets.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10110 CODING_ID_EOL_TYPE.
10111
101122008-02-01 Andreas Schwab <schwab@suse.de>
10113
10114 * coding.c (produce_chars): Revert last change.
10115
101162008-02-01 Kenichi Handa <handa@m17n.org>
10117
10118 * charset.h (charset_unicode): Extern it.
10119
10120 * charset.c (string_xstring_p): Check by (C >= 0x100).
10121 (find_charsets_in_text): Change format of the arc CHARSETS. New
10122 arg MULTIBYTE.
10123 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10124 change of find_charsets_in_text.
10125 (Fsplit_char): Fix doc. Never return unknown.
10126
10127 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10128
10129 * coding.c (Fdefine_coding_system_alias): Update
10130 Vcoding_system_list.
10131
10132 * fontset.c (load_font_get_repertory): Pay attention to the case
10133 that ENCODING of a font is specified by a char-table.
10134
10135 * xterm.c (x_get_font_repertory): Handle the case that the
10136 encoding of font is other than Unicode.
10137
101382008-02-01 Kenichi Handa <handa@m17n.org>
10139
10140 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10141 if a character is encodable by the terminal coding system. If
10142 not, produces proper number of `?'s. Update
10143 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10144 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10145
101462008-02-01 Kenichi Handa <handa@m17n.org>
10147
10148 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10149 variables.
10150 (encode_terminal_code): Change argument. Encode multiple
10151 characters at once. Store the result of encoding in
10152 terminal_encode_buffer.
10153 (write_glyphs, insert_glyphs): Adjust for the change of
10154 encode_terminal_code.
10155 (term_init): Initialize terminal_encode_buffer and
10156 terminal_encode_buf_size.
10157
10158 * coding.c (consume_chars): If coding->src_object is nil, don't
10159 check annotation.
10160
101612008-02-01 Kenichi Handa <handa@m17n.org>
10162
10163 * character.c (char_string): Use ASCII_CHAR_P instead of
10164 SINGLE_BYTE_CHAR_P.
10165
101662008-02-01 Kenichi Handa <handa@m17n.org>
10167
10168 * xdisp.c (handle_auto_composed_prop): Check if the last
10169 characters of auto-composed region is newly composed with the
10170 following characters.
10171 (handle_composition_prop): Fix checking of point being inside
10172 composition.
10173
101742008-02-01 Kenichi Handa <handa@m17n.org>
10175
10176 * fns.c (concat): Don't change multibyteness of the result by
10177 concatenating an 8-bit character.
10178
10179 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10180 multibyteness of the result when newelt is an 8-bit character.
10181
101822008-02-01 Dave Love <fx@gnu.org>
10183
10184 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10185 EMACS_INT.
10186
10187 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10188
10189 * xfaces.c (face_numeric_value): Declare dim size_t.
10190 (Finternal_lisp_face_equal_p): Remove unused f.
10191
10192 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10193 (MATRIX_ROW): Remove unused vars.
10194 (draw_glyphs, x_insert_glyphs, fast_find_position)
10195 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10196 byte/char counts.
10197
10198 * regex.c (regex_compile): Remove unused var.
10199
10200 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10201
10202 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10203 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10204
10205 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10206
10207 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10208
10209 * fileio.c (Fwrite_region): Remove unused var.
10210
10211 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10212 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10213
10214 * composite.c (Fremove_list_of_text_properties): Declare.
10215
10216 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10217 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10218 (coding_inherit_eol_type): Remove unused attrs.
10219 (detect_coding): Cast arg of detect_eol.
10220
10221 * charset.c (syms_of_charset): Remove unused var p.
10222 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10223 byte/char counts.
10224
10225 * casetab.c (set_case_table): Remove unused var.
10226
10227 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10228 unused vars.
10229
102302008-02-01 Dave Love <fx@gnu.org>
10231
10232 * xterm.c (x_bitmap_mask): Declare.
10233
102342008-02-01 Dave Love <fx@gnu.org>
10235
10236 * xterm.c (x_term_init): Fix type error.
10237
10238 * lisp.h: Add Funibyte_char_to_multibyte.
10239
10240 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10241 (Fset_coding_system_priority): Doc fix.
10242
10243 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10244
10245 * indent.c (check_composition): Make start and end EMACS_INT.
10246
10247 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10248
10249 * xdisp.c (handle_composition_prop, check_point_in_composition):
10250 Make buffer positions EMACS_INT.
10251
10252 * composite.c (find_composition, run_composition_function)
10253 (update_compositions, Ffind_composition_internal): Make buffer
10254 positions EMACS_INT.
10255
10256 * composite.h (find_composition, update_compositions): Make
10257 position args EMACS_INT.
10258
10259 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10260
10261 * intervals.c (get_property_and_range):
10262 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10263
10264 * unexalpha.c: Don't include varargs.h.
10265
102662008-02-01 Dave Love <fx@gnu.org>
10267
10268 * coding.h (ENCODE_UTF_8): New.
10269
10270 * Makefile.in (gtkutil.o): Depend on coding.h.
10271
10272 * coding.c (Fset_coding_system_priority): Doc fix.
10273
102742008-02-01 Kenichi Handa <handa@m17n.org>
10275
10276 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10277 the case of auto saving.
10278
102792008-02-01 Andreas Schwab <schwab@suse.de>
10280
10281 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10282 `range' from GC.
10283
102842008-02-01 Kenichi Handa <handa@m17n.org>
10285
10286 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10287
102882008-02-01 Kenichi Handa <handa@m17n.org>
10289
10290 * fileio.c (choose_write_coding_system): Return a decided coding system.
10291 (Fwrite_region): Set Vlast_coding_system_used to the return value
10292 of choose_write_coding_system.
10293
102942008-02-01 Kenichi Handa <handa@m17n.org>
10295
10296 * charset.c (Fset_charset_priority): Pay attention to duplicated
10297 arguments.
10298
10299 * coding.c (QCcategory): New variable.
10300 (syms_of_coding): Defsym it. Set all elements of
10301 Vcoding_category_table and their symbol values.
10302 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10303 coding-category-XXX, and coding-category-list.
10304 (Fdefine_coding_system_internal): Add category in the plist.
10305
103062008-02-01 Kenichi Handa <handa@m17n.org>
10307
10308 * callproc.c (Fcall_process): Handle carryover correctly.
10309
10310 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10311 (raw_text_coding_system): Check NILP (coding_system).
10312 (coding_inherit_eol_type): Check NILP (coding_system) and
10313 NILP (parent).
10314 (consume_chars): Fix for the case of raw-text.
10315
10316 * process.c (read_process_output): Handle carryover correctly.
10317
103182008-02-01 Dave Love <fx@gnu.org>
10319
10320 * regex.c (re_search_2): Fix last change.
10321
103222008-02-01 Kenichi Handa <handa@m17n.org>
10323
10324 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10325 target_multibyte. Even in a unibyte case, return a converted
10326 multibyte char.
10327 (GET_CHAR_AFTER): New macro.
10328 (PATFETCH): Translate via multibyte char.
10329 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10330 (SETUP_MULTIBYTE_RANGE): New macro.
10331 (regex_compile): Setup compiled code so that its multibyteness
10332 matches that of a target. Fix the handling of "[X-YZ]" using
10333 SETUP_MULTIBYTE_RANGE.
10334 (analyse_first) <charset>: For filling fastmap for all multibyte
10335 characters, don't check by BASE_LEADING_CODE_P.
10336 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10337 the same as RE_MULTIBYTE_P (bufp) now.
10338 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10339 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10340 (TRANSLATE_VIA_MULTIBYTE): New macro.
10341 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10342 It is the same as RE_MULTIBYTE_P (bufp) now.
10343 <exactn>: Translate via multibyte.
10344 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10345 translate it.
10346 <charset, charset_not>: Fetch a character by
10347 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10348 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10349 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10350 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10351 by GET_CHAR_AFTER.
10352 (bcmp_translate): Likewise.
10353
10354 * search.c (compile_pattern): Check the member target_multibyte,
10355 not the member multibyte of buf.
10356
10357 * lread.c (read1): While reading a string, set force_singlebyte
10358 and force_multibyte correctly.
10359
10360 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10361 up of unibyte_to_multibyte_table.
10362
103632008-02-01 Kenichi Handa <handa@m17n.org>
10364
10365 * coding.c (setup_coding_system): If coding has
10366 post-read-conversion or pre-write-conversion, set
10367 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10368 respectively.
10369 (decode_coding_gap): Run post-read-conversion if any.
10370
10371 * fileio.c (Finsert_file_contents): Even if we read into a
10372 unibyte buffer, check if we must decode the result or not.
10373
103742008-02-01 Kenichi Handa <handa@m17n.org>
10375
10376 * coding.c (make_conversion_work_buffer): Change the work buffer
10377 name to the same one as that of Emacs 21.
10378
103792008-02-01 Kenichi Handa <handa@m17n.org>
10380
10381 * coding.h (make_conversion_work_buffer): Adjust prototype.
10382 (code_conversion_restore): Don't extern it.
10383
10384 * coding.c (detected_mask): Delete unused variable.
10385 (decode_coding_iso_2022): Pay attention to the byte sequence of
10386 CTEXT extended segment, and retain those bytes as is.
10387 (decode_coding_ccl): Delete unused variable `valids'.
10388 (setup_coding_system): Delete unused variable `category'.
10389 (consume_chars): Delete unused variable `category'. Make it work
10390 for non-multibyte case.
10391 (make_conversion_work_buffer): Change argument.
10392 (saved_coding): Delete unused variable.
10393 (code_conversion_restore): Don't check saved_coding->destination.
10394 (code_conversion_save): New function.
10395 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10396 instead of record_unwind_protect.
10397 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10398 (detect_coding_system): Delete unused variable `mask'.
10399 (Fdefine_coding_system_internal): Delete unused variable id.
10400
10401 * fileio.c (kill_workbuf_unwind): New function.
10402 (Finsert_file_contents): On replacing, call
10403 make_conversion_work_buffer with correct args, and call
10404 record_unwind_protect with the first arg kill_workbuf_unwind.
10405
10406 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10407
104082008-02-01 Kenichi Handa <handa@m17n.org>
10409
10410 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10411 (fontset_add): Fix for the case that TO is less than TO1.
10412 (Ffontset_info): Don't use fallback fontset on checking the
10413 default fontset.
10414 (dump_fontset): New function for debugging.
10415
10416 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10417 coding_type is Qcharset.
10418
104192008-02-01 Kenichi Handa <handa@m17n.org>
10420
10421 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10422 (map_char_table): Don't inherit the value from the parent on
10423 initializing VAL. Adjust for the above change.
10424
104252008-02-01 Kenichi Handa <handa@m17n.org>
10426
10427 * coding.c (Qsignature, Qendian): Delete these variables.
10428 (syms_of_coding): Don't initialize them.
10429 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10430 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10431 detect_info->found.
10432 (decode_coding_utf_16): Don't detect BOM here.
10433 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10434 is NOT utf_16_without_bom.
10435 (setup_coding_system): For a coding system of type utf-16, check
10436 if the attribute :endian is Qbig or not (not nil or not), and set
10437 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10438 (detect_coding): If coding type is utf-16 and BOM detection is
10439 required, detect it.
10440 (Fdefine_coding_system_internal): For a coding system of type
10441 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10442
104432008-02-01 Kenichi Handa <handa@m17n.org>
10444
10445 * coding.c (coding_set_source): Fix for the case that the current
10446 buffer is different from coding->src_object.
10447 (decode_coding_object): Don't use the conversion work buffer if
10448 DST_OBJECT is a buffer.
10449
104502008-02-01 Dave Love <fx@gnu.org>
10451
10452 * lread.c (read_emacs_mule_char) [len==2]: Index
10453 emacs_mule_charset correctly.
10454
104552008-02-01 Dave Love <fx@gnu.org>
10456
10457 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10458 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10459 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10460 treated specially.)
10461 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10462 (detected_mask): Remove Big5 bits.
10463
104642008-02-01 Kenichi Handa <handa@m17n.org>
10465
10466 The following changes are to make the font rescaling facility
10467 compatible with Emacs 21.
10468
10469 * xfaces.c (Vface_font_rescale_alist): Rename from
10470 Vface_resizing_fonts.
10471 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10472 (font_rescale_ratio): Rename from font_resizing_ratio.
10473 (split_font_name): Set font->rescale_ratio.
10474 (better_font_p): Pay attention to font->rescale_ratio.
10475 (build_scalable_font_name): Likewise. Change RESX, and RESY
10476 fields.
10477 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10478
104792008-02-01 Kenichi Handa <handa@m17n.org>
10480
10481 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10482 (Qutf_16_le): Remove these variables.
10483 (syms_of_coding): Don't DEFSYM them.
10484 (decode_coding_utf_16): Fix handling of BOM.
10485 (encode_coding_utf_16): Fix handling of BOM.
10486
104872008-02-01 Kenichi Handa <handa@m17n.org>
10488
10489 * fileio.c (Finsert_file_contents): On replacing, before decoding
10490 the file into the work buffer, set point of the work buffer to the end.
10491
104922008-02-01 Dave Love <fx@gnu.org>
10493
10494 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10495
104962008-02-01 Dave Love <fx@gnu.org>
10497
10498 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10499 and fix C types.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * xdisp.c (SKIP_GLYPHS): New macro.
10504 (set_cursor_from_row): Pay attention to string display properties.
10505
10506 * category.c (copy_category_entry): Fix for the case that RANGE
10507 is an integer.
10508
10509 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10510
10511 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10512
105132008-02-01 Kenichi Handa <handa@m17n.org>
10514
10515 * charset.c (Fcharset_id_internal): New function.
10516 (syms_of_charset): Defsubr it.
10517
10518 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10519 with the last arg charset_list acquired from coding.
10520 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10521 the attribute coding_attr_ccl_valids.
10522
10523 * coding.h (enum define_coding_ccl_arg_index): Set the first
10524 member coding_arg_ccl_decoder to coding_arg_max.
10525
10526 * ccl.h (ccl_driver): Adjust prototype.
10527
10528 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10529 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10530 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
10531 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10532 last arg Qnil.
10533
105342008-02-01 Kenichi Handa <handa@m17n.org>
10535
10536 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10537 call encode_char.
10538
10539 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10540
105412008-02-01 Dave Love <fx@gnu.org>
10542
10543 * composite.c (syms_of_composite): Make composition_hash_table weak.
10544
105452008-02-01 Kenichi Handa <handa@m17n.org>
10546
10547 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10548 (font_name_registry): Don't extern them.
10549 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10550
10551 * fontset.h (Qfontset): Don't extern it.
10552 (new_fontset_from_font_name): Extern it.
10553
10554 * fontset.c: Give 8 extra slots to fontset objects.
10555 (Qfontset_info): New variable.
10556 (syms_of_fontset): Defsym it.
10557 (FONTSET_FALLBACK): New macro.
10558 (fontset_face): Try also the default fontset.
10559 (make_fontset): Realize a fallback fontset from the default fontset.
10560 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10561 using split_font_name_into_vector and build_font_name_from_vector.
10562 (Fset_fontset_font): Access the elements of font_spec by enum
10563 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10564 name by using split_font_name_into_vector.
10565 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10566 generate a proper font name from the fontset name. Update
10567 Vfontset_alias_alist.
10568 (n_auto_fontsets): New variable.
10569 (new_fontset_from_font_name): New function.
10570 (Ffont_info): Store the information about fonts generated from the
10571 default fontset in the first extra slot of the returned char-table.
10572
10573 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10574 (font_name_registry): Delete function.
10575 (split_font_name_into_vector): New function.
10576 (build_font_name_from_vector): New function.
10577 (font_list): The argument REGISTRY is now a list of registry names.
10578 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10579 specifies an explicit font name, return the name as is. Make a
10580 list of registy names.
10581
10582 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10583 of x_new_fontset.
10584 (Fx_create_frame): Don't call x_new_fontset here. Just use
10585 x_list_fonts to check the existence of fonts.
10586
10587 * xterm.h (x_new_fontset): Adjust prototype.
10588
10589 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10590 string. Use new_fontset_from_font_name to create a fontset from a
10591 font name.
10592
105932008-02-01 Kenichi Handa <handa@m17n.org>
10594
10595 * syntax.c (Vfind_word_boundary_function_table): New name for
10596 Vnext_word_boundary_function_table.
10597 (find-word-boundary-function-table): New name for
10598 next-word-boundary-function-table.
10599
106002008-02-01 Dave Love <fx@gnu.org>
10601
10602 * Makefile.in: Fix some dependencies.
10603
10604 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10605 set it to nil before returning.
10606
10607 * composite.c (update_compositions): Fix type error.
10608
10609 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10610
106112008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * xterm.c (x_new_font): Optimize for the case that the font is
10614 already set for the frame.
10615
106162008-02-01 Kenichi Handa <handa@m17n.org>
10617
10618 * chartab.c (char_table_ascii): Check if the char table contents
10619 is sub-char-table or not.
10620 (char_table_set, char_table_set_range): Fix argument to
10621 char_table_ascii.
10622
10623 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10624 (detect_coding_utf_8, detect_coding_utf_16)
10625 (detect_coding_emacs_mule, detect_coding_iso_2022)
10626 (detect_coding_sjis, detect_coding_big5)
10627 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10628 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10629 sequence is valid in this coding system. Change callers.
10630 (MAX_ANNOTATION_LENGTH): New macro.
10631 (ADD_ANNOTATION_DATA): New macro.
10632 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10633 ADD_ANNOTATION_DATA. Change the format of annotation data.
10634 (ADD_CHARSET_DATA): New macro.
10635 (emacs_mule_char): New argument ID. Change callers.
10636 (decode_coding_emacs_mule, decode_coding_iso_2022)
10637 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10638 Produce charset annotation data in coding->charbuf.
10639 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10640 to charset annotation data in coding->charbuf.
10641 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10642 coding->common_flags if the coding system is iso-2022 based and
10643 uses designation.
10644 (produce_composition): Adjust for the new annotation data format.
10645 (produce_charset): New function.
10646 (produce_annotation): Handle charset annotation.
10647 (handle_composition_annotation, handle_charset_annotation): New
10648 functions.
10649 (consume_chars): Handle charset annotation. Utilize the above two
10650 functions.
10651 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10652 buffer, get the deleted text as a string and set
10653 coding->src_object to that string.
10654 (detect_coding, detect_coding_system): Use the new struct
10655 coding_detection_info.
10656
10657 * coding.h (struct coding_detection_info): New structure.
10658 (struct coding_system): Adjust prototype of the member `detector'.
10659 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10660
106612008-02-01 Kenichi Handa <handa@m17n.org>
10662
10663 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10664
106652008-02-01 Dave Love <fx@gnu.org>
10666
10667 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10668 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10669 to new local and nullify apropos_accumulate before returning.
10670 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10675 correctly.
10676
106772008-02-01 Dave Love <fx@gnu.org>
10678
10679 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10680
106812008-02-01 Kenichi Handa <handa@m17n.org>
10682
10683 The following changes are to make character composition happen
10684 automatically on displaying.
10685
10686 * Makefile.in (lisp, shortlisp): Add composite.elc.
10687
10688 * composite.h (Qauto_composed, Vauto_composition_function)
10689 (Qauto_composition_function): Extern them.
10690
10691 * composite.c (Vcomposition_function_table)
10692 (Qcomposition_function_table): Delete variables.
10693 (Qauto_composed, Vauto_composition_function)
10694 (Qauto_composition_function): New variables.
10695 (run_composition_function): Don't call
10696 compose-chars-after-function.
10697 (update_compositions): Clear `auto-composed' text property.
10698 (compose_chars_in_text): Delete this function.
10699 (syms_of_composite): Staticpro Qauto_composed and
10700 Qauto_composition_function. Declare Vauto_composition_function as
10701 a Lisp variable.
10702
10703 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10704
10705 * xdisp.c (it_props): Add an entry for Qauto_composed.
10706 (handle_auto_composed_prop): New function.
10707
10708 * xselect.c (selection_data_to_lisp_data): Don't call
10709 compose_chars_in_text.
10710
107112008-02-01 Dave Love <fx@gnu.org>
10712
10713 * keyboard.c (read_char): Modify checking around use of
10714 Vkeyboard_translate_table.
10715
10716 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10717 and fix C types.
10718
107192008-02-01 Kenichi Handa <handa@m17n.org>
10720
10721 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10722 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10723 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10724 the case that the last byte is '\r' correctly.
10725 (decode_coding): Flush out the unprocessed data correctly.
10726 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10727
107282008-02-01 Dave Love <fx@gnu.org>
10729
10730 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10731 Add XK_ISO... case.
10732 (xaw_scroll_callback): Revert last change.
10733
107342008-02-01 Kenichi Handa <handa@m17n.org>
10735
10736 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10737
107382008-02-01 Kenichi Handa <handa@m17n.org>
10739
10740 * xfaces.c (Vface_resizing_fonts): New variable.
10741 (struct font_name): New member `resizing_ratio'.
10742 (font_resizing_ratio): New function.
10743 (split_font_name): Set font->resizing_ratio.
10744 (better_font_p): Pay attention to font->resizing_ratio.
10745 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10746 RESX, and RESY fields.
10747 (try_alternative_families): Try scalable fonts if
10748 Vscalable_fonts_allowed is not Qt.
10749 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10750
107512008-02-01 Dave Love <fx@gnu.org>
10752
10753 * xterm.c (xaw_scroll_callback): Cast correctly.
10754
107552008-02-01 Dave Love <fx@gnu.org>
10756
10757 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10758 (lispy_kana_keys): Comment out.
10759 (make_lispy_event) [XK_kana_A]: Comment out.
10760
10761 * xterm.c (xaw_scroll_callback): Cast call_data.
10762 (XTread_socket): Deal with ASCII keysyms.
10763 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10764
107652008-02-01 Dave Love <fx@gnu.org>
10766
10767 * xterm.c (Vx_keysym_table): New.
10768 (syms_of_xterm): Initialize it.
10769 (XTread_socket): Use it.
10770 From head: Eliminate incorrect optimization that tried to avoid
10771 decoding the output of X*LookupString.
10772 (x_get_font_repertory): Delete charset declaration.
10773
107742008-02-01 Kenichi Handa <handa@m17n.org>
10775
10776 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10777 return 0.
10778 (Fdefine_coding_system_internal): Setup
10779 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10780
107812008-02-01 Dave Love <fx@gnu.org>
10782
10783 * coding.c (Fcheck_coding_system): Doc fix.
10784
10785 * editfns.c (Finsert_byte): Return a proper value.
10786
107872008-02-01 Kenichi Handa <handa@m17n.org>
10788
10789 * coding.c (decode_coding): Fix args to translate_chars. Pay
10790 attention to Vstandard_translation_table_for_decode.
10791 (encode_coding): Fix args to translate_chars. Pay attention to
10792 Vstandard_translation_table_for_encode.
10793
10794 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10795 SINGLE_BYTE_CHAR_P.
10796
10797 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10798 not by SINGLE_BYTE_CHAR_P.
10799
10800 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10801 SINGLE_BYTE_CHAR_P.
10802
10803 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10804 SINGLE_BYTE_CHAR_P.
10805
10806 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10807 by SINGLE_BYTE_CHAR_P.
10808
10809 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10810 SINGLE_BYTE_CHAR_P.
10811
108122008-02-01 Dave Love <fx@gnu.org>
10813
10814 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10815
108162008-02-01 Dave Love <fx@gnu.org>
10817
10818 * fns.c (Flanginfo): Fix typo.
10819
10820 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10821
108222008-02-01 Kenichi Handa <handa@m17n.org>
10823
10824 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10825 (detect_coding_emacs_mule, detect_coding_iso_2022)
10826 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10827 incomplete byte sequence. Don't update *mask when correctly detected.
10828 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10829 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10830 (detect_coding, detect_coding_system): Adjust for the changes above.
10831
108322008-02-01 Kenichi Handa <handa@m17n.org>
10833
10834 * character.c (char_string): Rename from
10835 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10836 (string_char): Rename from string_char.
10837
10838 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10839 if C is greater than MAX_3_BYTE_CHAR.
10840 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10841 string_char instead of string_char_with_unification.
10842
108432008-02-01 Dave Love <fx@gnu.org>
10844
10845 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * keymap.c (push_key_description): Pay attention to force_multibyte.
10850
10851 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10852
108532008-02-01 Dave Love <fx@gnu.org>
10854
10855 * charset.c (define_charset_internal): Rename `supprementary'.
10856
10857 * Makefile.in (lisp, shortlisp): Remove latin-N.
10858
108592008-02-01 Dave Love <fx@gnu.org>
10860
10861 * xfns.c (x_window, x_window): Use use_xim.
10862
10863 * xterm.c (use_xim): Initialize.
10864 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10865 (x_term_init): Maybe set use_xim.
10866
10867 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * search.c (search_buffer): Fix case-fold-search of multibyte
10872 characters.
10873 (boyer_moore): Rename the last argument to char_high_bits.
10874
108752008-02-01 Kenichi Handa <handa@m17n.org>
10876
10877 * xdisp.c (display_string): Fix for the case of zero width glyph.
10878
10879 * xfns.c (x_set_font): Change the error message of the case that
10880 x_new_fontset returns Qt.
10881
10882 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10883 (Finternal_set_lisp_face_attribute): Use signal_error for the
10884 error of invalid fontset.
10885
10886 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10887 fontset, return Qt.
10888
108892008-02-01 Dave Love <fx@gnu.org>
10890
10891 * unexelf.c (unexec): Make .got handling not SGI-specific.
10892
10893 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10894
10895 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10896
10897 * keyboard.c (read_key_sequence): Fix type error.
10898
10899 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10900 type error.
10901
10902 * fontset.c (fontset_add): Return Lisp_Object.
10903
109042008-02-01 Dave Love <fx@gnu.org>
10905
10906 * charset.h (charset_ordered_list_tick): Declare extern.
10907
109082008-02-01 Kenichi Handa <handa@m17n.org>
10909
10910 The following changes (and some of 2008-02-01 changes of mine) are
10911 for handling syntax, category, and case conversion for unibyte
10912 characters by converting them to multibyte on the fly. With these
10913 changes, we don't have to setup syntax and case tables for unibyte
10914 characters in each language environment.
10915
10916 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10917 multibyte if necessary.
10918
10919 * bytecode.c (Fbyte_code): Likewise.
10920
10921 * character.h (LEADING_CODE_LATIN_1_MIN)
10922 (LEADING_CODE_LATIN_1_MAX): New macros.
10923 (unibyte_to_multibyte_table): Extern it.
10924 (unibyte_char_to_multibyte): New macro.
10925 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10926 (CHAR_LEADING_CODE): New macro.
10927 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10928
10929 * character.c (unibyte_to_multibyte_table): New variable.
10930 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10931 (multibyte_char_to_unibyte): If C is an eight-bit character,
10932 convert it to the corresponding byte value.
10933
10934 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10935 not 1, signals an error. Update the elements of
10936 unibyte_to_multibyte_table.
10937 (init_charset_once): Initialize unibyte_to_multibyte_table.
10938 (syms_of_charset): Define the charset `iso-8859-1'.
10939
10940 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10941 as is without converting it to unibyte. In a unibyte buffer,
10942 convert C to multibyte before checking the syntax.
10943
10944 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10945
10946 * minibuf.c (Fminibuffer_complete_word): Use the macro
10947 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10948
10949 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10950
10951 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10952 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10953 that is zero, convert an eight-bit char to multibyte.
10954 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10955 non-emacs case.
10956 (PATFETCH): Convert an eight-bit char to multibyte.
10957 (HANDLE_UNIBYTE_RANGE): New macro.
10958 (regex_compile): Setup the compiled pattern for multibyte chars
10959 even if the given regex string is unibyte. Use PATFETCH_RAW
10960 instead of PATFETCH in many places. To handle `charset'
10961 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10962 only for ASCII chars.
10963 (analyse_first) <exactn>: Simplify because the compiled pattern
10964 is multibyte.
10965 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10966 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10967 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10968 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10969 multibyte always 1.
10970 (re_search_2): In emacs, set the locale variable multibyte to 1,
10971 otherwise to 0. New local variable target_multibyte. Check it
10972 to decide the multibyteness of STR1 and STR2. If
10973 target_multibyte is zero, convert unibyte chars to multibyte
10974 before translating and checking fastmap.
10975 (TARGET_CHAR_AND_LENGTH): New macro.
10976 (re_match_2_internal): In emacs, set the locale variable multibyte
10977 to 1, otherwise to 0. New local variable target_multibyte. Check
10978 it to decide the multibyteness of STR1 and STR2. Use
10979 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10980 <charset, charset_not>: If multibyte is nonzero, check fastmap
10981 only for ASCII chars. Call bcmp_translate with
10982 target_multibyte, not with multibyte.
10983 <begline>: Declare the local variable C as `unsigned'.
10984 (bcmp_translate): Change the last arg name to target_multibyte.
10985
10986 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10987 the regexp pattern and the matching target. Set cp->buf.multibyte
10988 to the multibyteness of the regexp pattern. Set
10989 cp->but.target_multibyte to the multibyteness of the matching target.
10990 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10991 FETCH_STRING_CHAR_ADVANCE.
10992 (Freplace_match): Convert unibyte chars to multibyte.
10993
10994 * syntax.c (char_quoted, back_comment, scan_words)
10995 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10996 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10997 unibyte chars to multibyte.
10998 (skip_chars): Delete the arg syntaxp, and move the code for
10999 handling syntaxes to skip_syntaxes. Change callers.
11000 Fix the case that the multibyteness of STRING and the current
11001 buffer doesn't match.
11002 (skip_syntaxes): New function.
11003 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11004 SINGLE_BYTE_CHAR_P.
11005
110062008-02-01 Kenichi Handa <handa@m17n.org>
11007
11008 * xfaces.c (QCfontset): New variable.
11009 (LFACE_FONTSET): New macro.
11010 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11011 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11012 (Finternal_set_lisp_face_attribute)
11013 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11014 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11015 check also LFACE_FONTSET_INDEX.
11016 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11017 attrs[LFACE_FONT_INDEX].
11018 (syms_of_xfaces): Intern and staticpro QCfontset.
11019
11020 * dispextern.h (enum lface_attribute_index): New member
11021 LFACE_FONTSET_INDEX.
11022
11023 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11024
110252008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * coding.c (coding_set_destination): Fix coding->destination for
11028 the case converting a region.
11029 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11030 (encode_coding_object): Fix coding->dst_pos and
11031 coding->dst_pos_byte for the case converting a region.
11032
11033 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11034
11035 * character.h (BYTE8_STRING): New macro.
11036
11037 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11038
110392008-02-01 Kenichi Handa <handa@m17n.org>
11040
11041 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11042 characters by octal form.
11043
11044 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11045
11046 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11047 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11048 _fetch_multibyte_char_len.
11049 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11050
11051 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11052
11053 * casefiddle.c (casify_object): Simplify. Handle the case that
11054 the case conversion change the byte length.
11055 (casify_region): Likewise.
11056
11057 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11058
11059 * character.c (_fetch_multibyte_char_len): Delete this variable.
11060 (syms_of_character): Setup Vprintable_chars.
11061
11062 * editfns.c (Fchar_equal): Fix for the unibyte case.
11063 (Finsert_byte): New function.
11064 (syms_of_editfns): Defsubr it.
11065
11066 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11067 of direct code 0x3ffff.
11068
11069 * search.c (Freplace_match): Fix for the unibyte case.
11070
110712008-02-01 Kenichi Handa <handa@m17n.org>
11072
11073 * lread.c (safe_to_load_p): Fix the logic.
11074
11075 * syntax.c (scan_words): Don't treat characters belonging to
11076 different scripts as constituting a word.
11077
11078 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11079
11080 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11081
11082 * emacs.c (main): In the case of --unibyte, instead of aborting on
11083 finding non-empty buffer, make it unibyte.
11084
110852008-02-01 Kenichi Handa <handa@m17n.org>
11086
11087 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11088 to create a fontset.
11089
110902008-02-01 Dave Love <fx@gnu.org>
11091
11092 * character.c (Funibyte_char_to_multibyte): Doc fix.
11093
11094 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11095
110962008-02-01 Kenichi Handa <handa@m17n.org>
11097
11098 * fontset.c (fontset_add): Make the type `int'.
11099 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11100
11101 * character.c (unibyte_char_to_multibyte)
11102 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11103 charset_unibyte, not charset_primary.
11104
11105 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11106
11107 * charset.c (charset_unibyte): Rename from charset_primary.
11108 (Funibyte_charset): Rename from Fprimary_charset.
11109 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11110 (syms_of_charset): Adjust for the above changes.
11111
11112 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11113 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11114 it->multibyte_p is zero.
11115
11116 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11117 Delete extern.
11118
111192008-02-01 Kenichi Handa <handa@m17n.org>
11120
11121 * coding.c (Fdefine_coding_system_internal): Fix category setting
11122 for a coding system of type iso-2022.
11123
111242008-02-01 Kenichi Handa <handa@m17n.org>
11125
11126 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11127
111282008-02-01 Kenichi Handa <handa@m17n.org>
11129
11130 * syntax.c (Vnext_word_boundary_function_table): New variable.
11131 (next-word-boundary-function-table): Declare it as a Lisp variable
11132 in syms_of_syntax.
11133 (scan_words): Call functions in Vnext_word_boundary_function_table
11134 if any.
11135
11136 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11137
11138 * fontset.c (fs_load_font): If fontp->charset is not negative,
11139 return fontp without setting its members.
11140
111412008-02-01 Dave Love <fx@gnu.org>
11142
11143 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11144
11145 * m/sparc.h (HAVE_ALLOCA): Delete.
11146
11147 * s/irix6-5.h: Don't include strings.h.
11148 (bcopy, bzero, bcmp): Don't undef.
11149
11150 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11151
11152 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11153 (TIOCSIGSEND): Don't test IRIX6.
11154 (bcopy, bzero, bcmp): Define conditionally.
11155
111562008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * buffer.c (Qas, Qmake, Qto): New variables.
11159 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11160 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11161
11162 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11163 we are inserting a process output into a multibyte buffer.
11164
11165 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11166 multibyte_char_to_unibyte.
11167
11168 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11169 by the primary charset, make it eight-bit char.
11170 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11171
11172 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11173 (charset_8_bit__control, charset_8_bit_graphic)
11174 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11175 (define_charset_internal): New function.
11176 (syms_of_charset): Call define_charset_internal for pre-defined
11177 charsets.
11178
11179 * charset.h (charset_8_bit): Extern it.
11180
11181 * coding.c (make_conversion_work_buffer): Adjust for the change
11182 of Fset_buffer_multibyte.
11183 (encode_coding_raw_text): Increment p0 in the loop.
11184
11185 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11186
11187 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11188 for the change of Fset_buffer_multibyte.
11189
11190 * fns.c (Fstring_to_multibyte): New function.
11191 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11192
111932008-02-01 Dave Love <fx@gnu.org>
11194
11195 * xfns.c (x_put_x_image): Declare args.
11196
11197 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11198 (try_font_list): Declare an arg.
11199
11200 * xdisp.c (message2_nolog, set_message): Declare an arg.
11201
11202 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11203
11204 * syntax.c (scan_sexps_forward): Declare an arg.
11205
11206 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11207 Declare an arg.
11208
11209 * lisp.h (Fnew_fontset): Declare.
11210
11211 * keymap.c (push_key_description): Call CHARACTERP correctly.
11212
11213 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11214 (face_for_char): Delete unused vars.
11215 (Fset_fontset_font): Doc fix. Delete unused vars.
11216
11217 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11218
11219 * composite.c (update_compositions): Declare arg.
11220
11221 * cm.c (calccost, cmgoto): Declare args.
11222
11223 * charset.c: Remove `emacs' conditional. Doc fixes.
11224 (map_char_table_for_charset): Declare.
11225
11226 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11227
11228 * ccl.c: Remove `emacs' conditional.
11229
112302008-02-01 Kenichi Handa <handa@m17n.org>
11231
11232 The following changes are to allow specifying multiple font
11233 patterns for a character range (specified by script or charset).
11234
11235 * Makefile.in (abbrev.o): Depend on syntax.h.
11236 (xfaces.o): Depend on charset.h.
11237
11238 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11239 SINGLE_BYTE_CHAR_P.
11240
11241 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11242
11243 * character.h (Vchar_script_table): Extern it.
11244
11245 * character.c (Vscript_alist): Delete.
11246 (Vchar_script_table, Qchar_script_table): New variable.
11247 (syms_of_character): Declare Vchar_script_table as a lisp variable
11248 and initialize it.
11249
11250 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11251 have property char-table-extra-slots, make no extra slot.
11252
11253 * dispextern.h (struct face): Delete member `charset'.
11254 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11255 SINGLE_BYTE_CHAR_P.
11256 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11257 Add prototypes.
11258 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11259 (generate_ascii_font_name): Rename from generate_ascii_font.
11260
11261 * fontset.h (get_font_repertory_func): New prototype.
11262 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11263 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11264
11265 * fontset.c (Qprepend, Qappend): New variables.
11266 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11267 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11268 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11269 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11270 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11271 (load_font_get_repertory): New functions.
11272 (fontset_set): Delete.
11273 (fontset_face): New arg FACE. Return face ID, not face.
11274 Complete re-write to handle new fontset structure. Change caller.
11275 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11276 (face_for_char): Don't call lookup_face.
11277 (make_fontset_for_ascii_face): New arg FACE.
11278 (fs_load_font): New arg CHARSET_ID. Don't check
11279 Vfont_encoding_alist here.
11280 (find_font_encoding): New function.
11281 (list_fontsets): Use STRINGP, not ! NILP.
11282 (accumulate_script_ranges): New function.
11283 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11284 re-written to handle new fontset structure.
11285 (Ffontset_font): Return a copy of element.
11286 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11287 docstring of font-encoding-alist.
11288
11289 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11290 (Fset_fotset_font): Fix arguments to 5.
11291
11292 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11293
11294 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11295 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11296 (highlight_trailing_whitespace): Adjust for the change of
11297 lookup_named_face.
11298
11299 * xfaces.c: Include charset.h.
11300 (load_face_font): Delete argument C. Change caller.
11301 (generate_ascii_font_name): Rename from generate_ascii_font.
11302 (font_name_registry): New function.
11303 (cache_face): Store ascii faces before non-ascii faces in buckets.
11304 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11305 Lookup only ascii faces.
11306 (lookup_non_ascii_face): New function.
11307 (lookup_named_face): Delete argument C. Change caller.
11308 (lookup_derived_face): Delete argument C. Change caller.
11309 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11310 a string, just call font_list with it.
11311 (choose_face_font): Delete arguments FACE and C. New arg
11312 FONT_SPEC. Change caller.
11313 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11314 Change caller.
11315 (realize_non_ascii_face): New function.
11316 (realize_x_face): Call load_face_font here.
11317 (realize_tty_face): Delete argument C. Change caller.
11318 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11319 get a face ID.
11320 (dump_realized_face): Don't print charset of FACE.
11321
11322 * xfns.c (x_set_font): Always call x_new_fontset and
11323 store_frame_parameter.
11324 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11325 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11326
11327 * xterm.h (x_get_font_repertory): Extern it.
11328
11329 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11330 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11331 it->multibyte_p is zero.
11332 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11333 (x_new_fontset): If FONTSETNAME doesn't match any existing
11334 fontsets, create a new one.
11335 (x_get_font_repertory): New function.
11336
113372008-02-01 Kenichi Handa <handa@m17n.org>
11338
11339 * coding.c (Ffind_coding_systems_region_internal): Detect an
11340 ASCII only string correctly.
11341
11342 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11343 version is 0.
11344
113452008-02-01 Kenichi Handa <handa@m17n.org>
11346
11347 * lread.c: Include "coding.h".
11348 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11349 (load_each_byte, unread_char): New variables.
11350 (readchar_backlog): Delete.
11351 (readchar): Return a character unless load_each_byte is nonzero.
11352 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11353 cons. If unread_char is not -1, simply return it.
11354 (unreadchar): Handle the case that readcharfun is
11355 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11356 (read_multibyte): Delete.
11357 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11358 (read_emacs_mule_char): New functions.
11359 (Fload): Even if the file doesn't have the extension ".elc", if
11360 safe_to_load_p returns a positive version number, assume that the
11361 file contains bytecompiled code. If the version is less than 22,
11362 load the file while decoding multibyte sequences by emacs-mule.
11363 (readevalloop): Don't use readchar_backlog.
11364 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11365 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11366 (read_escape): Delete the arg BYTEREP.
11367 (read1): Set load_each_byte to 1 temporarily while handling
11368 #@NUMBER. Don't call read_multibyte.
11369 (read_vector): Call Fread with a cons. If readcharfun is
11370 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11371 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11372 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11373 and Qload_force_doc_strings.
11374
113752008-02-01 Kenichi Handa <handa@m17n.org>
11376
11377 * xdisp.c (face_before_or_after_it_pos): Call
11378 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11379
113802008-02-01 Kenichi Handa <handa@m17n.org>
11381
11382 * character.h (TRAILING_CODE_P): New macro.
11383 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11384 (string_char_with_unification): Fix prototype.
11385 (Vscript_alist): Extern it.
11386
11387 * character.c (Vscript_alist): New variable.
11388 (string_char_with_unification, str_as_unibyte)
11389 (string_escape_byte8): Add `const' to local variables.
11390 (syms_of_character): Declare script-alist as a Lisp variable.
11391
11392 * charset.h (Vcharset_ordered_list): Extern it.
11393 (charset_ordered_list_tick): Extern it.
11394 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11395 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11396 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11397 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11398 (Funify_charset): Adjust for the change of Funify_charset.
11399
11400 * charset.c (charset_ordered_list_tick): New variable.
11401 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11402 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11403 deunify intead of unify a charset.
11404 (string_xstring_p): Add `const' to local variables.
11405 (find_charsets_in_text): Add `const' to arguments and local variables.
11406 (encode_char): Adjust for the change of Funify_charset. Fix
11407 detecting of invalid code.
11408 (Fset_charset_priority): Increment charset_ordered_list_tick.
11409 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11410 and TO_CODE.
11411
11412 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11413 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11414 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11415 (decode_coding_ccl, consume_chars)
11416 (Ffind_coding_systems_region_internal)
11417 (Fcheck_coding_systems_region): Add `const' to local variables.
11418
11419 * print.c (print_object): Use octal form for printing the
11420 contents of a bool vector.
11421
114222008-02-01 Dave Love <fx@gnu.org>
11423
11424 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11425 <version == 20>: Refuse to load.
11426
114272008-02-01 Dave Love <fx@gnu.org>
11428
11429 * fns.c: Move coding.h.
11430 (Qcodeset, Qdays, Qmonths): New.
11431 (concat): Use CHARACTERP instead of INTEGERP.
11432 (Flocale_codeset): Delete.
11433 (Flanginfo): New function.
11434 (syms_of_fns): Change accordingly.
11435
11436 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11437
114382008-02-01 Dave Love <fx@gnu.org>
11439
11440 * casetab.c (init_casetab_once, init_casetab_once): Fix
11441 CHAR_TABLE_SET call.
11442
11443 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11444
11445 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11446
11447 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11448 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11449 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11450
11451 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11452
11453 * coding.c (ENCODE_DESIGNATION, decode_eol)
11454 (make_conversion_work_buffer, code_conversion_restore)
11455 (Fdefine_coding_system_internal): Convert Lisp types.
11456 (code_conversion_restore): Use EQ, not ==.
11457 (Fencode_coding_string): Fix code_convert_string call.
11458
11459 * coding.h (code_convert_region): Fix prototype.
11460
11461 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11462
11463 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11464 (Ffontset_info): Convert Lisp types.
11465
11466 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11467
11468 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11469
11470 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11471
11472 * chartab.c: Include "...h", not <...h> in some cases.
11473
11474 * callproc.c (Fcall_process): Remove unused variables.
11475
114762008-02-01 Dave Love <fx@gnu.org>
11477
11478 * coding.c (Fset_coding_system_priority): Allow null arg list.
11479
114802008-02-01 Dave Love <fx@gnu.org>
11481
11482 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11483 (Fself_insert_and_exit): Use CHARACTERP.
11484
11485 * callproc.c (Fcall_process): Remove unused vars.
11486
11487 * xterm.c (XTread_socket): Add extra dead keysyms.
11488
11489 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11490
11491 * dispextern.h: Remove prototypes for redraw_frame,
11492 redraw_garbaged_frames.
11493
11494 * cmds.c (Fself_insert_command): Use CHARACTERP.
11495
11496 * chartab.c (make_sub_char_table): Remove unused var.
11497 (Fset_char_table_default, Fmap_char_table): Doc fix.
11498
11499 * keymap.c (access_keymap): Remove generic char code.
11500 (push_key_description): Use CHARACTERP.
11501
115022008-02-01 Dave Love <fx@gnu.org>
11503
11504 * charset.c: Doc fixes.
11505 (Funify_charset): Extra checking.
11506
115072008-02-01 Dave Love <fx@gnu.org>
11508
11509 * lread.c: Remove some unused variables.
11510 (safe_to_load_p): If safe, return the magic number version byte.
11511 (Fload): Maybe use load-with-code-conversion.
11512
115132008-02-01 Kenichi Handa <handa@m17n.org>
11514
11515 * category.c (Fmodify_category_entry): Don't modify the contents
11516 of category_set for characters out of the range. Avoid
11517 unnecessary modification.
11518
11519 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11520 Vchar_unify_table. The default value of the table is now nil.
11521
11522 * character.c (syms_of_character): Setup Vchar_width_table for
11523 eight-bit-control and raw-byte chars.
11524
11525 * charset.h (enum define_charset_arg_index): Delete
11526 charset_arg_parents and add charset_arg_subset and
11527 charset_arg_superset.
11528 (enum charset_attr_index): Delete charset_parents and add
11529 charset_subset and charset_superset.
11530 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11531 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11532 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11533 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11534 (CHARSET_SUPERSET): New macros.
11535 (charset_work): Extern it.
11536 (ENCODE_CHAR): Use charset_work.
11537 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11538 (map_charset_chars): Extern it.
11539
11540 * charset.c (load_charset_map): Set the default value of encoder
11541 and deunifier char-tables to nil.
11542 (map_charset_chars): Change argument. Change callers. Use
11543 map_char_table_for_charset instead of map_char_table.
11544 (Fmap_charset_chars): New optional args from_code and to_code.
11545 (Fdefine_charset_internal): Adjust for the change of
11546 `define-charset' (:parents -> :subset or :superset).
11547 (charset_work): New variable.
11548 (encode_char, syms_of_charset): Adjust for the change of
11549 Fdefine_charset_internal.
11550 (Ffind_charset_string): Setup the vector `charsets' correctly.
11551
11552 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11553 the previous change.
11554 (char_table_ref_and_range): Adjust for the above change.
11555 (map_sub_char_table_for_charset): New function.
11556 (map_char_table_for_charset): New function.
11557
11558 * keymap.c (describe_vector): Handle a char-table directly here.
11559 (describe_char_table): Delete.
11560
11561 * lisp.h (map_charset_chars): Delete.
11562
115632008-02-01 Dave Love <fx@gnu.org>
11564
11565 * fns.c (count_combining): Comment out (unused).
11566 (Flocale_codeset): New.
11567 (syms_of_fns): Defsubr it.
11568
11569 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11570 (size_t): Remove.
11571
115722008-02-01 Dave Love <fx@gnu.org>
11573
11574 * Makefile.in (chartab.o): Depend on charset.h.
11575
115762008-02-01 Kenichi Handa <handa@m17n.org>
11577
11578 * character.c (syms_of_character): Set the default value of
11579 Vprintable_chars to Qnil.
11580
115812008-02-01 Dave Love <fx@gnu.org>
11582
11583 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11584
115852008-02-01 Kenichi Handa <handa@m17n.org>
11586
11587 * charset.c (load_charset_map): Handle the case that from < to
11588 correctly.
11589
11590 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11591 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11592 Pay attention to raw-8-bit chars.
11593
115942008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11597 It is not bytecompiled now.
11598
11599 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11600 (charset_jisx0208): New variables.
11601 (Fdefine_charset_internal): Setup them if appropriate.
11602 (init_charset_once): Initialize them to -1.
11603
11604 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11605 (charset_jisx0208): Extern them.
11606
11607 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11608 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11609 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11610 (setup_iso_safe_charsets): Fix arguments to Fassq.
11611 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11612 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11613 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11614 (encode_coding_iso_2022): Change the 1st arg to
11615 ENCODE_ISO_CHARACTER to a variable.
11616
116172008-02-01 Kenichi Handa <handa@m17n.org>
11618
11619 * charset.h (enum define_charset_arg_index): New enums
11620 charset_arg_min_code and charset_arg_max_code.
11621 (struct charset): New member char_index_offset.
11622
11623 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11624 Take charset->char_index_offset into account.
11625 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11626 args[charset_arg_max_code]. Setup charset.char_index_offset.
11627 (syms_of_charset): Fix args to Fdefine_charset_internal.
11628
116292008-02-01 Dave Love <fx@gnu.org>
11630
11631 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11632
116332008-02-01 Dave Love <fx@gnu.org>
11634
11635 * coding.c: Doc fixes.
11636 (Fcoding_system_aliases): Fix return value.
11637 (Qmac): Remove (duplicated) definition.
11638
116392008-02-01 Dave Love <fx@gnu.org>
11640
11641 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11642 functions.
11643
11644 * character.c (Fstring): Doc fix.
11645
11646 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11647
11648 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11649 ids.
11650 (font-encoding-alist): Doc fix.
11651
116522008-02-01 Dave Love <fx@gnu.org>
11653
11654 * term.c (costs_set): Declare static, non-initialized for pcc.
11655 (encode_terminal_code): Remove unused var.
11656
11657 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11658 for K&R.
11659
11660 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11661
11662 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11663 (suffixes): Move out of make_subsidiaries for K&R.
11664
11665 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11666
11667 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11668
116692008-02-01 Dave Love <fx@gnu.org>
11670
11671 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11672
11673 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11674
116752008-02-01 Yong Lu <lyongu@asia-infonet.com>
11676
11677 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11678
11679 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11680
116812008-02-01 Kenichi Handa <handa@m17n.org>
11682
11683 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11684 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11685
116862008-02-01 Kenichi Handa <handa@m17n.org>
11687
11688 * coding.c (decode_coding_charset): Adjust for the change of
11689 Fdefine_coding_system_internal.
11690 (Fdefine_coding_system_internal): For a coding system of
11691 `charset' type, store a list of charset IDs in
11692 `charset_attr_charset_valids' element of coding attributes.
11693
116942008-02-01 Kenichi Handa <handa@m17n.org>
11695
11696 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11697 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11698 caller. Handle 2-byte and 3-byte charsets correctly.
11699 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11700 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11701 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11702 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11703 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11704 sequence.
11705 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11706 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11707 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11708 and alt&rule composition.
11709 (decode_coding_iso_2022): Handle composition correctly.
11710 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11711
11712 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11713 re-defining a charset. If the charset has :emacs-mule-id, setup
11714 emacs_mule_bytes.
11715 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11716
117172008-02-01 Kenichi Handa <handa@m17n.org>
11718
11719 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11720 (encode_coding_big5, encode_coding_charset): If coding requires safe
11721 encoding, produce a character specified by
11722 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11723
117242008-02-01 Dave Love <fx@gnu.org>
11725
11726 * xterm.c (XSetIMValues): Declare.
11727
11728 * process.c: Conditionally include sys/wait.h, pty.h.
11729
11730 * print.c (print_object): Fix print format for 64-bit systems.
11731
11732 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11733
11734 * buffer.c (emacs_strerror): Declare.
11735
11736 * fontset.c (Fclear_face_cache): Declare.
11737 (accumulate_font_info): Comment-out (unused).
11738 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11739 variables.
11740
11741 * character.h (string_escape_byte8): Declare.
11742
11743 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11744 unused vars.
11745 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11746 (Fmap_charset_chars): Doc fix.
11747
11748 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11749 (Fset_coding_system_priority, Fset_coding_system_priority)
11750 (Fdefine_coding_system_internal): Doc fix.
11751
117522008-02-01 Dave Love <fx@gnu.org>
11753
11754 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11755
117562008-02-01 Kenichi Handa <handa@m17n.org>
11757
11758 * character.c (string_escape_byte8): Make multibyte string with
11759 correct size.
11760
11761 * charset.c (Fmake_char): Delete unnecessary code.
11762
117632008-02-01 Kenichi Handa <handa@m17n.org>
11764
11765 * xfns.c (x_encode_text): Allocate coding.destination here, and
11766 call encode_coding_object with dst_object Qnil.
11767
11768 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11769 multibyte form correctly.
11770
11771 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11772 against Vfont_encoding_alist.
11773
11774 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11775 handling of charset list.
11776 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11777 (decode_coding_object): Move point to coding->dst_pos before
11778 calling post-read-conversion function.
11779 (encode_coding_object): Give correct arguments to
11780 pre-write-conversion. Ignore the return value of
11781 pre-write-conversion function. Pay attention to the case that
11782 pre-write-conversion changes the current buffer. If dst_object is
11783 Qt, even if coding->src_bytes is zero, allocate at least one byte
11784 to coding->destination.
11785
11786 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11787
11788 * charset.c (Fmake_char): Make it more backward compatible.
11789 (Fmap_charset_chars): Fix docstring.
11790
117912008-02-01 Dave Love <fx@gnu.org>
11792
11793 * coding.c: Doc fixes.
11794 (Fdefine_coding_system_alias): Use names, not symbols, in
11795 coding-system-alist.
11796
117972008-02-01 Kenichi Handa <handa@m17n.org>
11798
11799 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11800 of calling free_realized_face.
11801
118022008-02-01 Yong Lu <lyongu@asia-infonet.com>
11803
11804 * charset.c (read_hex): Don't treat SPC as a comment starter.
11805 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11806 (Fdecode_char): Fix typo.
11807
118082008-02-01 Kenichi Handa <handa@m17n.org>
11809
11810 * charset.h (struct charset): New member `code_space_mask'.
11811
11812 * coding.c (coding_set_source): Delete the local variable beg_byte.
11813 (encode_coding_charset, Fdefine_coding_system_internal):
11814 Delete the local variable charset.
11815 (Fdefine_coding_system_internal): Setup
11816 attrs[coding_attr_charset_valids] correctly.
11817
11818 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11819 member to check if CODE is valid or not.
11820 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11821 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11822 is within the range of charset->min_code and carset->max_code.
11823
118242008-02-01 Dave Love <fx@gnu.org>
11825
11826 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11827
11828 * dispextern.h (generate_ascii_font): Fix return type.
11829
11830 * xfaces.c (generate_ascii_font): Fix arg declaration.
11831
11832 * coding.c (coding_inherit_eol_type)
11833 (Fset_terminal_coding_system_internal)
11834 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11835
118362008-02-01 Kenichi Handa <handa@m17n.org>
11837
11838 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11839 multiple charsets correctly.
11840
118412008-02-01 Kenichi Handa <handa@m17n.org>
11842
11843 * search.c (boyer_moore): Fix handling of multibyte character
11844 translation.
11845
11846 * xdisp.c (display_mode_element): When the variable `elt' is
11847 changed, update `this' and `lisp_string'.
11848
118492008-02-01 Kenichi Handa <handa@m17n.org>
11850
11851 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11852
11853 * callproc.c (Fcall_process): Be sure to give the current buffer
11854 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11855
11856 * charset.c (struct charset_map_entries): New struct.
11857 (load_charset_map): Rename from parse_charset_map. New args
11858 entries and n_entries. Change caller.
11859 (load_charset_map_from_file): Rename from load_charset_map.
11860 Change caller. New arg control_flag. Call load_charset_map at
11861 the tail.
11862 (load_charset_map_from_vector): New function.
11863 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11864 (encode_char): If the charset is compact, change a character index
11865 to a code point.
11866
11867 * coding.c (coding_alloc_by_making_gap): Check the case that the
11868 source and destination are the same correctly.
11869 (decode_coding_raw_text): Set coding->consumed_char and
11870 coding->consumed to 0.
11871 (produce_chars): If coding->chars_at_source is nonzero, update
11872 coding->consumed_char and coding->consumed before calling
11873 alloc_destination.
11874 (Fdefine_coding_system_alias): Register ALIAS in
11875 Vcoding_system_alist.
11876 (syms_of_coding): Define `no-conversion' coding system at the tail.
11877
11878 * fileio.c (Finsert_file_contents): Set coding_system instead of
11879 val. If the current buffer is multibyte, always call
11880 decode_coding_gap.
11881
11882 * xfaces.c (try_font_list): Give higher priority to fontset's
11883 family than face's family.
11884
118852008-02-01 Kenichi Handa <handa@m17n.org>
11886
11887 * callproc.c (Fcall_process): Be sure to give the current buffer
11888 to decode_coding_c_string.
11889
11890 * xfaces.c (try_font_list): Give a family specified in a fontset
11891 higher priority than a family specified in a face.
11892
118932008-02-01 Kenichi Handa <handa@m17n.org>
11894
11895 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11896 Fix arguments to insert_from_buffer.
11897
11898 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11899
119002008-02-01 Kenichi Handa <handa@m17n.org>
11901
11902 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11903 (decode_coding_gap): Set coding->dst_multibyte correctly.
11904
119052008-02-01 Kenichi Handa <handa@m17n.org>
11906
11907 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11908 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11909 (encode_coding_utf_16): Substitute coding->default_char for
11910 non-Unicode characters.
11911 (decode_coding): Don't call record_insert here.
11912 (setup_coding_system): Initialize `surrogate' of
11913 coding->spec.utf_16 to 0.
11914 (EMIT_ONE_BYTE): Fix for multibyte case.
11915
11916 * insdel.c (insert_from_gap): Call record_insert.
11917
119182008-02-01 Kenichi Handa <handa@m17n.org>
11919
11920 * casefiddle.c (casify_region): Fix multibyte case.
11921
11922 * character.c (c_string_width): Add return type `int'.
11923 (char_string_with_unification): Delete arg ADVANCED.
11924
11925 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11926 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11927 (CHAR_STRING_ADVANCE): Make it do-while statement.
11928
11929 * chartab.c (sub_char_table_set_range): Optimize for the case
11930 DEPTH == 3. Add workaround code for a GCC optimization bug.
11931
11932 * charset.c (parse_charset_map): Remove an unused variable.
11933
11934 * coding.c: Delete unused variables.
11935
11936 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11937 earlier. If inserted is zero and the coding system doesn't
11938 require flushing, don't call decode_coding_gap.
11939
11940 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11941
119422008-02-01 Kenichi Handa <handa@m17n.org>
11943
11944 The following changes are for using Unicode as an internal
11945 character model, and use UTF-8 format for buffer/string
11946 representation.
11947
11948 * .gdbinit (xchartable): Adjust for the change of char table structure.
11949 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11950
11951 * Makefile.in (obj): Add character.o and chartab.o.
11952 (lisp, shortlisp): Remove utf-8.elc.
11953 (*.o): For many files, change dependency on charset.h to
11954 character.h, and add dependency on character.h.
11955 (character.o, chartab.o): New targets.
11956
11957 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11958 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11959 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11960 of "charset.h".
11961
11962 * dired.c, filelock.c: Include "character.h".
11963
11964 * alloc.c: Include "character.h" instead of "charset.h".
11965 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11966 (syms_of_alloc): Remove defsubr for Smake_char_table.
11967
11968 * buffer.c: Include "character.h" instead of "charset.h", don't
11969 include "coding.h".
11970 (Fset_buffer_multibyte): Adjust for UTF-8.
11971
11972 * buffer.h: EXFUN Fbuffer_live_p.
11973
11974 * callproc.c: Include "character.h" instead of "charset.h".
11975 (Fcall_process): Big change for the new code-conversion APIs.
11976
11977 * casetab.c: Include "character.h" instead of "charset.h".
11978 (set_canon, set_identity, shuffle): Adjust for the new
11979 map_char_table spec.
11980 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11981 accessing the char table structure.
11982
11983 * chartab.c: New file that implements char table.
11984
11985 * category.c: Include "character.h".
11986 (copy_category_entry): New function.
11987 (copy_category_table): Call map_char_table and copy_category_entry.
11988 (Fmake_category_table): Initialize all top-level slots.
11989 (char_category_set): New function.
11990 (modify_lower_category_set): Delete.
11991 (Fmodify_category_entry): Call char_table_ref_and_range.
11992
11993 * category.h (CATEGORY_SET): Just call char_category_set.
11994
11995 * ccl.c: Include "character.h".
11996 (Qccl, Qcclp): New variables.
11997 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11998 it's less than 256.
11999 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12000 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12001 and DST type.
12002 (ccl_driver): Change types of argument, adjust code accordingly.
12003 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12004 ccl_driver.
12005 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12006
12007 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12008 New members src_multibyte, dst_multibyte, consumed, and produced.
12009 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12010 (CODING_SPEC_CCL_PROGRAM): New macro.
12011 (ccl_driver): Update prototype.
12012 (Qccl, Qcclp, Fccl_program_p): Extern them.
12013 (CHECK_CCL_PROGRAM): New macro.
12014
12015 * character.c, character.h, chartab.c: New files.
12016
12017 * charset.c: Mostly re-written. Move character and multibyte sequence
12018 handling codes to character.c.
12019
12020 * charset.h: Mostly re-written. Move character and multibyte sequence
12021 handling codes to character.h.
12022
12023 * coding.c, coding.h: Mostly re-written.
12024
12025 * composite.c: Include "character.h" instead of "charset.h".
12026 (CHAR_WIDTH): Move to character.h.
12027 (HASH_KEY, HASH_VALUE): Delete.
12028
12029 * composite.h (enum composition_method): Change order of enumeration
12030 symbols.
12031
12032 * data.c: Include "character.h" instead of "charset.h".
12033 (Faref): Call CHAR_TABLE_REF for a char table.
12034 (Faset): Call CHAR_TABLE_SET for a char table.
12035
12036 * dispextern.h (free_realized_face, check_face_attribytes)
12037 (generate_ascii_font): Extern them.
12038 (free_realized_multibyte_face): Delete extern.
12039
12040 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12041 table structure.
12042
12043 * editfns.c: Include "character.h" instead of "charset.h".
12044 (Fchar_to_string): Always call CHAR_STRING.
12045
12046 * emacs.c (main): Call init_charset_once, init_charset,
12047 syms_of_chartab, and syms_of_character.
12048
12049 * fileio.c: Include "character.h" instead of "charset.h".
12050 (Finsert_file_contents): Big change for the new code-conversion API.
12051 (choose_write_coding_system, Fwrite_region): Likewise.
12052 (build_annotations_2): Delete.
12053 (e_write): Big change for the new code-conversion API.
12054
12055 * fns.c: Include "character.h" instead of "charset.h".
12056 (copy_sub_char_table): Move to chartab.c.
12057 (Fcopy_sequence): Call copy_char_table for a char table.
12058 (concat): Delete codes calling count_multibyte.
12059 (string_char_to_byte, string_byte_to_char): Adjust for the new
12060 multibyte form.
12061 (internal_equal): Adjust for the change of char table structure.
12062 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12063 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12064 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12065 (char_table_translate, optimize_sub_char_table)
12066 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12067 chartab.c.
12068 (char_table_ref_and_index): Delete.
12069 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12070 (Fmd5): Call preferred_coding_system instead of accessing
12071 Vcoding_category_list. Adjust for the new code-conversion API.
12072 (syms_of_fns): Move defsubr for char table related functions to
12073 chartab.c.
12074
12075 * fontset.c: Mostly re-written.
12076
12077 * fontset.h (struct font_info): Change type of the member encoding_type.
12078 (enum FONT_SPEC_INDEX): New enum.
12079 (fontset_font_pattern, fs_load_font): Update prototype.
12080 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12081
12082 * indent.c: Include "character.h" instead of "charset.h".
12083 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12084
12085 * insdel.c: Include "character.h" instead of "charset.h".
12086 (copy_text): Don't refer to Vnonascii_translation_table.
12087 (insert_from_gap): New function.
12088
12089 * keyboard.c: Include "character.h" instead of "charset.h".
12090 (command_loop_1): Never call direct_output_forward_char before
12091 a non-ASCII character.
12092 (read_char): If Vkeyboard_translate_table is a char table, always
12093 translate a character.
12094
12095 * keymap.c: Include "character.h".
12096 (store_in_keymap): Handle the case that IDX is a cons.
12097 (Fdefine_key): Handle the case that KEY is a cons and the car part
12098 is also a cons (range).
12099 (push_key_description): Adjust for the new character code.
12100 (describe_vector): Call describe_char_table for a char table.
12101 (describe_char_table): New function.
12102
12103 * keymap.h (describe_char_table): Extern it.
12104
12105 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12106 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12107 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12108 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12109 Delete.
12110 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12111 structure.
12112 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12113 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12114 (CHARTAB_SIZE_BITS_3): New macros.
12115 (chartab_size): Extern it.
12116 (struct Lisp_Char_Table): Re-design.
12117 (struct Lisp_Sub_Char_Table): New structure.
12118 (HASH_KEY, HASH_VALUE): Move from fns.c.
12119 (CHARACTERBITS): Define as 22.
12120 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12121 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12122 (GC_SUB_CHAR_TABLE_P): New macro.
12123 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12124 (code_convert_string_norecord): Deleted extern.
12125 (init_character_once, syms_of_character, init_charset)
12126 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12127
12128 * lread.c: Include "character.h".
12129 (read_multibyte): New arg NBYTES.
12130 (read_escape): Change the meaning of returned *BYTEREP.
12131 (to_multibyte): Delete.
12132 (read1): Adjust the handling of char table and string.
12133
12134 * print.c: Include "character.h" instead of "charset.h".
12135 (print_string): Convert 8-bit raw bytes to octal form by
12136 string_escape_byte8.
12137 (print_object): Adjust for the new multibyte form. Print 8-bit
12138 raw bytes always in octal form. Handle sub char table correctly.
12139
12140 * process.c: Include "character.h" instead of "charset.h".
12141 (read_process_output, send_process): Adjust for the new
12142 code-conversion API.
12143
12144 * puresize.h (BASE_PURESIZE): Increase.
12145
12146 * regex.c: Include "character.h" instead of "charset.h".
12147 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12148 (regex_compile): Accept a range whose starting and ending
12149 character have different leading bytes.
12150 (analyse_first): Adjust for the above change.
12151
12152 * search.c: Include "character.h" instead of "charset.h".
12153 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12154 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12155
12156 * syntax.c: Include "character.h" instead of "charset.h".
12157 (syntax_parent_lookup): Delete.
12158 (Fmodify_syntax_entry): Accept a cons as CHAR.
12159 (skip_chars): Adjust for the new multibyte form.
12160 (init_syntax_once): Call char_table_set_range instead of directly
12161 accessing the structure of a char table.
12162
12163 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12164 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12165 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12166 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12167
12168 * term.c: Include "buffer.h" and "character.h".
12169 (encode_terminal_code, write_glyphs): Adjust for the new
12170 code-conversion API.
12171 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12172
12173 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12174
12175 * xdisp.c: Include "character.h".
12176 (get_next_display_element): Adjust for the new multibyte form.
12177 (disp_char_vector): Adjust for the new char table structure.
12178 (decode_mode_spec_coding): Adjust for the new structure of
12179 coding system.
12180 (decode_mode_spec): Adjust for the new code-conversion API.
12181
12182 * xfaces.c: Include "character.h" instead of "charset.h".
12183 (load_face_font): Adjust for the change of choose_face_font and
12184 FS_LOAD_FONT.
12185 (generate_ascii_font): New function.
12186 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12187 (set_font_frame_param): Adjust for the change of choose_face_font.
12188 (free_realized_face): Make it public.
12189 (free_realized_faces_for_fontset): Rename from
12190 free_realized_multibyte_face. Free also faces realized for ASCII.
12191 (choose_face_font): Change arguments. Adjust for the change of
12192 fontset_font_pattern and FS_LOAD_FONT.
12193
12194 * xfns.c: Include "character.h".
12195 (x_encode_text): Adjust for the new code-conversion API.
12196
12197 * xselect.c: Don't include "charset.h".
12198 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12199
12200 * xterm.c: Include "character.h".
12201 (x_encode_char): New argument CHARSET. Change caller.
12202 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12203 Call ENCODE_CHAR instead of SPLIT_CHAR.
12204 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12205 CHAR_WIDTH instead of CHARSET_WIDTH.
12206 (XTread_socket): Adjust for the new code-conversion API.
12207 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12208 (x_load_font): Adjust for the change of struct font.
12209
122102008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12211
12212 * xfaces.c (face_at_buffer_position): Remove unused vars.
12213
122142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12215
12216 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12217 Fix overflow checking.
12218
122192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12220
12221 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12222 Cancel previous change.
12223
122242008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12225
12226 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12227 ccl->eight_bit_control. Fix check for buffer overflow.
12228 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12229 (ccl_driver): Initialize extra_bytes to 0.
12230
122312008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12232
12233 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12234 return it ORed with ctrl_modifier.
12235
122362008-01-29 Miles Bader <miles@gnu.org>
12237
12238 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12239
122402008-01-28 Jason Rumney <jasonr@gnu.org>
12241
12242 * w32.c (stat): Don't double check for networked drive.
12243
122442008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12245
12246 * window.c (run_window_configuration_change_hook): New function.
12247 Code extracted from set_window_buffer. Set the selected frame.
12248 (set_window_buffer): Use it.
12249 * window.h (run_window_configuration_change_hook): Declare.
12250 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12251
12252 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12253
122542008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12255
12256 * Makefile.in: Remove references to unused macros.
12257
122582008-01-26 Eli Zaretskii <eliz@gnu.org>
12259
12260 * w32.c (g_b_init_get_sid_sub_authority)
12261 (g_b_init_get_sid_sub_authority_count): New static variables.
12262 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12263 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12264 (init_user_info): Use them to retrieve uid and gid.
12265 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12266 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12267 st_uid and st_gid of the file.
12268
122692008-01-26 Jason Rumney <jasonr@gnu.org>
12270
12271 * w32.c (logon_network_drive): New function.
12272 (stat): Use it.
12273
122742008-01-26 Chong Yidong <cyd@stupidchicken.com>
12275
12276 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12277 invisible text covered with an ellipsis.
12278
122792008-01-25 Richard Stallman <rms@gnu.org>
12280
12281 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12282 jump back to beginning. Move some other initializations after that.
12283 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12284 New variables.
12285 (syms_of_xdisp): Init them.
12286
12287 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12288
12289 * buffer.c (reset_buffer_local_variables):
12290 Implement `permanent-local-hook'.
12291 (Qpermanent_local_hook): New variable.
12292 (syms_of_buffer): Init and staticpro it.
12293
122942008-01-25 Michael Albinus <michael.albinus@gmx.de>
12295
12296 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12297
122982008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12299
12300 * fns.c (Fclrhash): Return TABLE.
12301
123022008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12303
12304 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12305 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12306 is set even without positional changes.
12307 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12308
12309 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12310
123112008-01-23 Jason Rumney <jasonr@gnu.org>
12312
12313 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12314
12315 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12316 the unicode range available in MULE by locale-coding-system.
12317 Improve dbcs lead byte detection. Set event timestamp and modifiers
12318 earlier.
12319
123202008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12321
12322 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12323 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12324 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12325 when used on child processes.
12326
123272008-01-21 Michael Albinus <michael.albinus@gmx.de>
12328
12329 * dbusbind.c (Fdbus_method_return_internal): Rename from
12330 Fdbus_method_return.
12331 (Fdbus_unregister_object): Move to dbus.el.
12332 (Fdbus_call_method, Fdbus_method_return_internal)
12333 (Fdbus_send_signal): Improve debug messages.
12334
123352008-01-20 Martin Rudalics <rudalics@gmx.at>
12336
12337 * undo.c (undo_inhibit_record_point): New variable.
12338 (syms_of_undo): Initialize it.
12339 (record_point): Don't record point when undo_inhibit_record_point
12340 is set.
12341
123422008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12343
12344 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12345
12346 * xdisp.c (Qauto_hscroll_mode): New var.
12347 (syms_of_xdisp): Initialize it.
12348 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12349 window's buffer.
12350 (hscroll_windows): Don't check automatic_hscrolling_p here.
12351
12352 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12353 vscroll if we're setting window-buffer to the value it already has.
12354
123552008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12356
12357 * m/intel386.h: Remove references to XENIX.
12358
123592008-01-17 Andreas Schwab <schwab@suse.de>
12360
12361 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12362 instead of HAVE_X86_64_LIB64_DIR.
12363 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12364
123652008-01-17 Glenn Morris <rgm@gnu.org>
12366
12367 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12368 to HAVE_X86_64_LIB64_DIR.
12369
123702008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12371
12372 * s/irix3-3.h:
12373 * s/irix4-0.h:
12374 * s/386-ix.h:
12375 * s/domain.h:
12376 * s/hpux9-x11r4.h:
12377 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12378
12379 * sysdep.c: Remove code containing references to symbols defined
12380 by unsupported systems.
12381
123822008-01-16 Glenn Morris <rgm@gnu.org>
12383
12384 * coding.c (select-safe-coding-system-function): Doc fix.
12385
123862008-01-15 Glenn Morris <rgm@gnu.org>
12387
12388 * config.in: Revert 2008-01-13 change: this is a generated file.
12389
123902008-01-13 Tom Tromey <tromey@redhat.com>
12391
12392 * lisp.h: Fix typo.
12393
123942008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12395
12396 * m/sequent-ptx.h:
12397 * m/sequent.h:
12398 * s/ptx.h:
12399 * s/ptx4-2.h:
12400 * s/ptx4.h: Remove files for systems no longer supported.
12401
12402 * callproc.c (Fcall_process): Fix previous change.
12403
124042008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12405
12406 * unexsunos4.c: Remove file, system not supported anymore.
12407
12408 * m/mips.h:
12409 * m/intel386.h:
12410 * callproc.c:
12411 * config.in:
12412 * ecrt0.c:
12413 * emacs.c:
12414 * fileio.c:
12415 * frame.c:
12416 * getpagesize.h:
12417 * keyboard.c:
12418 * lread.c:
12419 * process.c:
12420 * puresize.h:
12421 * sysdep.c:
12422 * systty.h:
12423 * syswait.h:
12424 * unexec.c:
12425 * xdisp.c:
12426 * alloc.c: Remove code containing references to symbols defined by
12427 unsupported systems.
12428
124292008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12430
12431 * coding.c (detect_coding_mask): Fix previous change.
12432
124332008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12434
12435 * coding.c (detect_coding_iso2022): New arg
12436 latin_extra_code_state. Allow Latin extra codes only
12437 when *latin_extra_code_state is nonzero.
12438 (detect_coding_mask): If there is a NULL byte, detect the encoding
12439 as UTF-16 or binary. If Latin extra codes exist, detect the
12440 encoding as ISO-2022 only when there's no other proper encoding is
12441 found.
12442
124432008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12444
12445 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12446 #ifdef MAC_OS.
12447
124482008-01-08 Richard Stallman <rms@gnu.org>
12449
12450 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12451
124522008-01-06 Nick Roberts <nickrob@snap.net.nz>
12453
12454 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12455 menu bar in parentheses.
12456
124572008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12458
12459 * m/7300.h:
12460 * m/acorn.h:
12461 * m/alliant-2800.h:
12462 * m/alliant.h:
12463 * m/alliant1.h:
12464 * m/alliant4.h:
12465 * m/altos.h:
12466 * m/amdahl.h:
12467 * m/apollo.h:
12468 * m/att3b.h:
12469 * m/aviion-intel.h:
12470 * m/aviion.h:
12471 * m/celerity.h:
12472 * m/clipper.h:
12473 * m/cnvrgnt.h:
12474 * m/convex.h:
12475 * m/cydra5.h:
12476 * m/delta88k.h:
12477 * m/dpx2.h:
12478 * m/dual.h:
12479 * m/elxsi.h:
12480 * m/f301.h:
12481 * m/gould-np1.h:
12482 * m/gould.h:
12483 * m/i860.h:
12484 * m/ibmps2-aix.h:
12485 * m/ibmrt-aix.h:
12486 * m/ibmrt.h:
12487 * m/irist.h:
12488 * m/is386.h:
12489 * m/isi-ov.h:
12490 * m/mega68.h:
12491 * m/mg1.h:
12492 * m/news-r6.h:
12493 * m/news-risc.h:
12494 * m/news.h:
12495 * m/nh3000.h:
12496 * m/nh4000.h:
12497 * m/ns16000.h:
12498 * m/ns32000.h:
12499 * m/nu.h:
12500 * m/orion.h:
12501 * m/orion105.h:
12502 * m/paragon.h:
12503 * m/pfa50.h:
12504 * m/plexus.h:
12505 * m/pyramid.h:
12506 * m/pyrmips.h:
12507 * m/sh3el.h:
12508 * m/sps7.h:
12509 * m/sr2k.h:
12510 * m/stride.h:
12511 * m/sun1.h:
12512 * m/sun2.h:
12513 * m/sun3-68881.h:
12514 * m/sun3-fpa.h:
12515 * m/sun3-soft.h:
12516 * m/sun3.h:
12517 * m/sun386.h:
12518 * m/symmetry.h:
12519 * m/tad68k.h:
12520 * m/tahoe.h:
12521 * m/targon31.h:
12522 * m/tek4300.h:
12523 * m/tekxd88.h:
12524 * m/tower32.h:
12525 * m/tower32v3.h:
12526 * m/ustation.h:
12527 * m/wicat.h:
12528 * m/xps100.h:
12529 * s/cxux.h:
12530 * s/cxux7.h:
12531 * s/dgux.h:
12532 * s/dgux4.h:
12533 * s/dgux5-4-3.h:
12534 * s/dgux5-4r2.h:
12535 * s/esix.h:
12536 * s/esix5r4.h:
12537 * s/hiuxmpp.h:
12538 * s/hiuxwe2.h:
12539 * s/iris3-5.h:
12540 * s/iris3-6.h:
12541 * s/isc2-2.h:
12542 * s/isc3-0.h:
12543 * s/isc4-0.h:
12544 * s/isc4-1.h:
12545 * s/newsos5.h:
12546 * s/newsos6.h:
12547 * s/osf1.h:
12548 * s/osf5-0.h:
12549 * s/riscix1-1.h:
12550 * s/riscix12.h:
12551 * s/sco4.h:
12552 * s/sco5.h:
12553 * s/sunos4-0.h:
12554 * s/sunos4-1.h:
12555 * s/sunos413.h:
12556 * s/sunos4shr.h:
12557 * s/umax.h:
12558 * s/unipl5-2.h:
12559 * s/xenix.h:
12560 * cxux-crt0.s:
12561 * unexapollo.c:
12562 * unexconvex.c:
12563 * unexenix.c:
12564 * unexsni.c: Remove files for systems no longer supported.
12565
12566 * m/intel386.h: Remove references to unsupported systems.
12567
12568 * w32.c (get_emacs_configuration): Remove reference to i860.
12569
12570 * sysdep.c: Remove dead code.
12571
125722008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12573
12574 * s/rtu.h:
12575 * m/masscomp.h: Remove files. Platform is obsolete.
12576
125772008-01-04 Michael Albinus <michael.albinus@gmx.de>
12578
12579 * dbusbind.c (Fdbus_method_return): New function.
12580 (xd_read_message): Add the serial number to the event.
12581 (Fdbus_register_method): Activate the function.
12582
125832008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12584
12585 * keyboard.c (read_key_sequence): Fix typo.
12586
125872008-01-03 Michael Albinus <michael.albinus@gmx.de>
12588
12589 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12590 (xd_signature, xd_append_arg): Handle element type detection for
12591 empty arrays.
12592 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12593 SDATA () calls; this must be solved more general.
12594 (Fdbus_register_signal): Use SBYTES instead of strlen.
12595
125962008-01-03 Magnus Henoch <magnus@zemdatav>
12597
12598 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12599 unsigned int for byte values (necessary for big-endian platform).
12600 (Fdbus_call_method): Handle the case of no returned arguments.
12601
126022007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12603
12604 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12605
126062007-12-31 Magnus Henoch <mange@freemail.hu>
12607
12608 * dbusbind.c (xd_signature): Signature of variant is just "v".
12609
126102007-12-30 Michael Albinus <michael.albinus@gmx.de>
12611
12612 * dbusbind.c: Fix several errors and compiler warnings.
12613 Reported by Tom Tromey <tromey@redhat.com>.
12614 (XD_ERROR, XD_DEBUG_MESSAGE)
12615 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12616 (xd_append_arg): Part for basic D-Bus types rewritten.
12617 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12618 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12619 appropriate.
12620 (xd_read_message): Return Qnil. Don't signal an error; it is not
12621 useful during event reading.
12622 (Fdbus_register_signal): Signal an error if the check for
12623 FUNCTIONP fails.
12624 (Fdbus_register_method): New function. The implementation is not
12625 complete, the call of the function signals an error therefore.
12626 (Fdbus_unregister_object): New function, renamed from
12627 Fdbus_unregister_signal. The initial check signals an error, if
12628 the object is not well formed.
12629
126302007-12-30 Richard Stallman <rms@gnu.org>
12631
12632 * textprop.c (get_char_property_and_overlay):
12633 Signal error if POSITION is out of range in a buffer.
12634
126352007-12-29 Martin Rudalics <rudalics@gmx.at>
12636
12637 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12638 because the original parameters are in pure storage now.
12639
126402007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12641
12642 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12643
126442007-12-22 Eli Zaretskii <eliz@gnu.org>
12645
12646 * callint.c (syms_of_callint) <command-history>: Add reference to
12647 history-length in the doc string.
12648
126492007-12-17 Jason Rumney <jasonr@gnu.org>
12650
12651 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12652 before passing as wParam.
12653
126542007-12-22 Michael Albinus <michael.albinus@gmx.de>
12655
12656 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12657 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12658 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12659 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12660 as number.
12661 (Fdbus_call_method): Fix docstring.
12662
126632007-12-21 Michael Albinus <michael.albinus@gmx.de>
12664
12665 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12666 New macros.
12667 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12668 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12669 Simplify.
12670 (xd_signature): New function.
12671 (xd_append_arg): Compute also signatures. Major rewrite.
12672 (xd_retrieve_arg): Make debug messages friendly.
12673 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12674 Check for signatures of arguments.
12675
126762007-12-19 Michael Albinus <michael.albinus@gmx.de>
12677
12678 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12679 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12680 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12681 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12682 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12683 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12684 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12685 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12686 (xd_retrieve_value): Remove. Functionality included in ...
12687 (xd_append_arg): New function.
12688 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12689
126902007-12-16 Michael Albinus <michael.albinus@gmx.de>
12691
12692 * dbusbind.c (top): Include <stdio.h>.
12693 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12694 dbus_message_new_method_call and dbus_message_new_signal.
12695 (Fdbus_register_signal): Rename unique_name to uname.
12696 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12697 non-existing unique name. Fix typos in matching rule. Return an
12698 object which is useful in Fdbus_unregister_signal.
12699 (Fdbus_unregister_signal): Reimplementation, in order to remove
12700 only the corresponding entry.
12701 (Vdbus_registered_functions_table): Change the order of entries.
12702 Apply these changes in xd_read_message and Fdbus_register_signal.
12703
127042007-12-16 Andreas Schwab <schwab@suse.de>
12705
12706 * fileio.c (Finsert_file_contents): Fix overflow check to not
12707 depend on undefined integer overflow.
12708
127092007-12-14 Jason Rumney <jasonr@gnu.org>
12710
12711 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12712 for characters above 127.
12713
127142007-12-13 Jason Rumney <jasonr@gnu.org>
12715
12716 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12717 before dereferencing array.
12718 (lookup_vk_code): Remove zero comparison.
12719
127202007-12-14 Michael Albinus <michael.albinus@gmx.de>
12721
12722 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12723 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12724 Use `unsigned int' instead of `uint'.
12725 (xd_read_message, Fdbus_register_signal): Split expressions into
12726 multiple lines before operators "&&" and "||", according to the
12727 GNU Coding Standards.
12728
127292007-12-14 Eli Zaretskii <eliz@gnu.org>
12730
12731 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12732
127332007-12-12 Juri Linkov <juri@jurta.org>
12734
12735 * buffer.c (Frename_buffer): In interactive spec replace
12736 `read-buffer' with `read-string' that uses `buffer-name-history'
12737 as history, and the current buffer's name as default.
12738
127392007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12740
12741 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12742 manipulating the backtrace manually.
12743 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12744 (struct backtrace, backtrace_list): Remove.
12745 (command_loop_1): Remove dead var `no_direct'.
12746
12747 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12748 preserve non-built-in buffer-local variables.
12749 (Fkill_all_local_variables): Don't re-create&re-set permanent
12750 buffer-local variables.
12751
127522007-12-09 Juri Linkov <juri@jurta.org>
12753
12754 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12755 Lisp code that uses `read-buffer' with current buffer as default.
12756
127572007-12-08 Michael Albinus <michael.albinus@gmx.de>
12758
12759 * dbusbind.c (xd_read_message): Generate an event for every
12760 registered handler. There might be several handlers registered
12761 for the same signal.
12762 (Fdbus_register_signal): Don't overwrite a registration for the
12763 same signal. Add a new registration if handlers are different.
12764 (Vdbus_registered_functions_table): Rework doc string.
12765
127662007-12-07 Michael Albinus <michael.albinus@gmx.de>
12767
12768 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12769 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12770 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12771 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12772 Unify argument lists.
12773 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12774 arguments and hash table keys. Use unique name for service.
12775 (Fdbus_unregister_signal): Remove checks.
12776 (Vdbus_registered_functions_table): Fix doc string.
12777
127782007-12-05 Magnus Henoch <mange@freemail.hu>
12779
12780 * process.c (make_process): Initialize pty_flag to 0.
12781
127822007-12-05 Jason Rumney <jasonr@gnu.org>
12783
12784 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12785 specified XBMs.
12786
127872007-12-05 Richard Stallman <rms@gnu.org>
12788
12789 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12790
127912007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12792
12793 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12794 New variable.
12795 (mac_try_close_socket) [MAC_OSX]: New function.
12796 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12797 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12798
12799 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12800 Use mac_try_close_socket.
12801
128022007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12803
12804 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12805 reloc_base.
12806 (copy_dysymtab): Compute relocation base here.
12807 (rebase_reloc_address) [__ppc64__]: New function.
12808 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12809 changed.
12810
128112007-12-05 Jason Rumney <jasonr@gnu.org>
12812
12813 * w32proc.c (sys_spawnve): Quote args with wildcards.
12814
128152007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12816
12817 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12818 __objc_* sections.
12819 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12820
128212007-12-05 Michael Albinus <michael.albinus@gmx.de>
12822
12823 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12824 Move check for Vdbus_registered_functions_table to
12825 xd_read_queued_messages.
12826 (xd_read_queued_messages): Protect xd_read_message calls by
12827 internal_condition_case_1.
12828
128292007-12-04 Michael Albinus <michael.albinus@gmx.de>
12830
12831 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12832 Qdbus_system_bus and Qdbus_session_bus, respectively.
12833 (Vdbus_intern_symbols): Remove.
12834 (Vdbus_registered_functions_table): New hash table.
12835 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12836 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12837 Rewrite in order to manage registered functions by hash table
12838 Vdbus_registered_functions_table.
12839
128402007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12841
12842 * xterm.c: Update URL to Window Manager Specification in comment.
12843
128442007-12-02 Michael Albinus <michael.albinus@gmx.de>
12845
12846 * config.in (HAVE_DBUS): Add.
12847
12848 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12849 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12850 (obj): Add $(DBUS_OBJ).
12851 (LIBES): Add $(DBUS_LIBS).
12852 (dbusbind.o): New target.
12853
12854 * dbusbind.c: New file.
12855
12856 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12857
12858 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12859 (Qdbus_event): New Lisp symbol.
12860 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12861 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12862 (keys_of_keyboard ): Define dbus-event.
12863
12864 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12865
128662007-12-01 Richard Stallman <rms@gnu.org>
12867
12868 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12869
128702007-11-30 Jason Rumney <jasonr@gnu.org>
12871
12872 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12873 (w32con_reset_terminal_modes): Clear screen buffer.
12874 (w32_face_attributes): Don't use color indexes that are out of range.
12875 Only reverse the default colors.
12876
12877 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12878 WINDOWSNT.
12879
12880 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12881
128822007-11-29 Jason Rumney <jasonr@gnu.org>
12883
12884 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12885 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12886 if the terminal colors are initialized.
12887 (unspecified_fg, unspecified_bg): Remove unused declarations.
12888
128892007-11-29 Andreas Schwab <schwab@suse.de>
12890
12891 * keyboard.c (apply_modifiers): Fix typo.
12892
128932007-11-29 Richard Stallman <rms@gnu.org>
12894
12895 * keymap.c (Fcurrent_local_map): Doc fix.
12896
128972007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12898
12899 * s/gnu-kfreebsd.h: New file.
12900
129012007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12902
12903 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12904 Don't cast redundantly.
12905
12906 * keyboard.c (KEY_TO_CHAR): New macro.
12907 (parse_modifiers, apply_modifiers): Accept integer arguments.
12908 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12909 for chars and symbol keys.
12910 After doing such remapping, apply function-key-map again.
12911
129122007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12913
12914 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12915 compiled anymore.
12916
129172007-11-26 Andreas Schwab <schwab@suse.de>
12918
12919 * process.c (list_processes_1): Fix indentation level of the
12920 command column.
12921
129222007-11-23 Andreas Schwab <schwab@suse.de>
12923
12924 * editfns.c (Fformat): Handle %c specially since it requires the
12925 argument to be of type int.
12926
129272007-11-23 Markus Triska <markus.triska@gmx.at>
12928
12929 * emacs.c (main): Call init_editfns before init_process, since
12930 init_process sets Vprocess_connection_type depending on OS release.
12931
129322007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12933
12934 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12935 (find_symbol_value): Use do_symval_forwarding.
12936
12937 * data.c (set_internal): Set the value in the `cons-cell' (for
12938 Buffer_Local_values) not only for frame-local variables.
12939
129402007-11-22 Andreas Schwab <schwab@suse.de>
12941
12942 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12943 values to sprintf.
12944 * keymap.c (Fsingle_key_description): Likewise.
12945 * print.c (print_object): Likewise.
12946
129472007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12948
12949 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12950 file for image is nil.
12951
129522007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12953
12954 * term.c: Include stdarg.h.
12955 (fatal): Implement using varargs.
12956 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12957
129582007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12959
12960 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12961 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12962 Update call to buffer_slot_type_mismatch.
12963 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12964 (buffer_slot_type_mismatch): Update.
12965 * buffer.c (buffer_local_types): Remove.
12966 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12967 (defvar_per_buffer): Set the type in the buffer_objfwd.
12968
129692007-11-21 Jason Rumney <jasonr@gnu.org>
12970
12971 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12972 CreateFileMapping returns NULL on failure.
12973
129742007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12975
12976 * search.c (Fset_match_data): Remove the `evaporate' feature.
12977 (unwind_set_match_data): Don't use the `evaporate' feature.
12978
129792007-11-21 Jason Rumney <jasonr@gnu.org>
12980
12981 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12982
12983 * w32console.c (w32con_write_glyphs): Remove unused variables.
12984
129852007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12986
12987 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12988
12989 * s/darwin.h (MULTI_KBOARD): Remove.
12990
12991 * macfns.c (x_create_tip_frame, Fx_create_frame)
12992 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12993
129942007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12995
12996 * buffer.c (Fbuffer_local_value): Remove redundant test.
12997 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12998 than in `current-buffer' to match the comment.
12999 Do the swap using swap_in_global_binding.
13000
13001 * data.c (store_symval_forwarding, set_internal):
13002 * eval.c (specbind): Remove dead code.
13003
13004 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13005 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13006 Since we do not want to see internal Lisp_*fwd objects here.
13007
130082007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13009
13010 * sysdep.c (init_system_name): Use getaddrinfo if available.
13011
13012 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13013 (x_scroll_bar_note_movement): start, end, with, height in struct
13014 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13015
130162007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13017
13018 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13019
130202007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13021
13022 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13023 This undoes Richard's change of 14-Oct-2002.
13024
13025 * alloc.c (allocate_other_vector):
13026 * lisp.h (allocate_other_vector): Remove.
13027
13028 * window.c (struct save_window_data): Move non-lisp data to the end
13029 and make it `int' rather than Lisp_Object.
13030 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13031 Done wrap/unwrap integer values.
13032 (Fset_window_configuration, compare_window_configurations):
13033 Update use of fields to their new types.
13034
13035 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13036 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13037 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13038 (SET_SCROLL_BAR_X_WINDOW): Remove.
13039 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13040 Access the new x_window field directly.
13041 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13042 Don't wrap/unwrap integers into Lisp_Objects.
13043 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13044 (x_scroll_bar_report_motion):
13045 Don't wrap/unwrap integers into Lisp_Objects.
13046 (x_term_init): Use SDATA.
13047 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13048 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13049 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13050 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13051 * xfns.c (x_set_background_color):
13052 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13053 Access the new x_window field directly.
13054
13055 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13056 (allocate_pseudovector): Make non-static.
13057
13058 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13059 (allocate_pseudovector): Declare.
13060 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13061
130622007-11-15 Andreas Schwab <schwab@suse.de>
13063
13064 * editfns.c (Fformat): Correctly format EMACS_INT values.
13065 Also take precision into account when formatting an integer.
13066
13067 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13068
130692007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13070
13071 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13072 (syms_of_keyboard): Defsubr it.
13073
13074 * data.c (swap_in_global_binding): Fix longstanding bug where
13075 store_symval_forwarding was not called with the right second argument,
13076 thus causing objfwd-ing from being dropped.
13077
130782007-11-14 Juanma Barranquero <lekktu@gmail.com>
13079
13080 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13081 (Fx_display_pixel_height, Fx_display_planes)
13082 (Fx_display_color_cells, Fx_server_max_request_size)
13083 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13084 (Fx_display_visual_class, Fx_display_save_under):
13085 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13086 (Fx_display_pixel_height, Fx_display_planes)
13087 (Fx_display_color_cells, Fx_server_max_request_size)
13088 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13089 (Fx_display_mm_height, Fx_display_mm_width)
13090 (Fx_display_backing_store, Fx_display_visual_class)
13091 (Fw32_select_font, Fx_display_save_under):
13092 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13093 (Fx_display_pixel_height, Fx_display_planes)
13094 (Fx_display_color_cells, Fx_server_max_request_size)
13095 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13096 (Fx_display_save_under): Fix typos in docstrings.
13097
130982007-11-14 Juanma Barranquero <lekktu@gmail.com>
13099
13100 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13101 corresponding to deleted entries; they are an implementation detail.
13102 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13103 Remove variables.
13104 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13105 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13106 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13107 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13108 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13109 (Fw32_define_rgb_color, Fw32_load_color_file)
13110 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13111 Fix typos in docstrings.
13112 (Fx_server_version): Reflow docstring.
13113 (Fw32_shell_execute): Doc fixes.
13114
131152007-11-13 Juanma Barranquero <lekktu@gmail.com>
13116
13117 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13118 if w32_parse_hot_key returned nil.
13119
131202007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13121
13122 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13123
131242007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13125
aac0c6e3
MR
13126 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13127
13128 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13129
13130 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13131 Remove W32_SCROLL_BAR_CLICK_EVENT.
13132
13133 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13134 Add MULTIMEDIA_KEY_EVENT.
13135
13136 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13137 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13138 (make_lispy_event) [WINDOWSNT]: Use it to translate
13139 MULTIMEDIA_KEY_EVENT.
13140
13141 * w32term.h (WM_APPCOMMAND): Define if not already.
13142 (GET_APPCOMMAND_LPARAM): Likewise.
13143
13144 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13145 WM_APPCOMMAND.
13146
13147 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13148 (syms_of_w32fns): Export and initialize it.
13149 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13150
131512007-11-09 Chong Yidong <cyd@stupidchicken.com>
13152
13153 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13154 twice.
13155
13156 * xdisp.c (handle_face_prop): Fix last change.
13157
131582007-11-09 Richard Stallman <rms@gnu.org>
13159
13160 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13161 not just for after-strings and before-strings.
13162 Call face_for_overlay_string and pass the overlay to it.
13163 (handle_display_prop): Determine whether property came from an overlay.
13164 Pass OVERLAY arg to handle_single_display_spec.
13165 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13166 (load_overlay_strings): Fill in it->string_overlays.
13167 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13168
13169 * xfaces.c (face_for_overlay_string): Function renamed from
13170 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13171
13172 * dispextern.h (struct it): New elt string_overlays.
13173 New elt from_overlay, also in stack.
13174 Rearrange a few elements.
13175 (face_for_overlay_string): Decl renamed from
13176 face_at_buffer_position_no_overlays, and add argument.
13177
131782007-11-09 Richard Stallman <rms@gnu.org>
13179
13180 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13181 to get the base face for an overlay string.
13182
13183 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13184
13185 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13186
13187 * xdisp.c (handle_stop): Move some code out of loop.
13188
131892007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13190
13191 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13192 Fix conversion from Lisp object to ATSUFontID.
13193
131942007-11-09 Jason Rumney <jasonr@gnu.org>
13195
13196 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13197
131982007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13199
13200 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13201 Don't assume regions are aligned to page boundary.
13202 (print_load_command_name): Add LC_UUID if defined.
13203
132042007-11-09 Richard Stallman <rms@gnu.org>
13205
13206 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13207
132082007-11-07 Jason Rumney <jasonr@gnu.org>
13209
13210 * s/windows95.h: Remove.
13211
132122007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13213
13214 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13215 abort with a message on unhandled store_type values.
13216
132172007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13218
13219 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13220 Remove HAVE_X11R5 and HAVE_X11R4.
13221
132222007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13223
13224 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13225
132262007-11-01 Johan Bockgård <bojohan@gnu.org>
13227
13228 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13229 Don't set s->stippled_p here, since it has already been set by
13230 x_set_glyph_string_gc from x_draw_glyph_string.
13231
132322007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13233
13234 * sunfns.c: Remove file.
13235
13236 * m/sun386.h:
13237 * m/sun2.h:
13238 * m/sparc.h: Remove Sun windows code.
13239
132402007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13241
13242 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13243 (init_keyboard): Set current_kboard's window-system to nil.
13244 (tty_read_avail_input): Typo.
13245 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13246
132472007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13248
13249 * s/usg5-4.h:
13250 * s/usg5-3.h:
13251 * s/ptx.h:
13252 * m/is386.h:
13253 * m/ibmps2-aix.h:
13254 * Makefile.in: Remove all mentions of X10.
13255
13256 * dispnew.c (syms_of_display): Don't mention version 10.
13257
132582007-10-28 Juanma Barranquero <lekktu@gmail.com>
13259
13260 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13261 ($(BLD)/abbrev.$(O)): Remove.
13262
132632007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13264
13265 Rewrite abbrev.c in Elisp.
13266 * image.c (Qcount): Don't declare as extern.
13267 (syms_of_image): Initialize and staticpro `Qcount'.
13268 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13269 * emacs.c (main): Don't call syms_of_abbrev.
13270 * Makefile.in (obj): Remove abbrev.o.
13271 (abbrev.o): Remove.
13272 * abbrev.c: Remove.
13273
132742007-10-26 Martin Rudalics <rudalics@gmx.at>
13275
13276 * window.c (window_min_size_2): Don't count header-line.
13277
132782007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13279
13280 * frame.h (struct frame): Move all bit fields after the first bit
13281 field to take advantage of the available space. Group all the
13282 chars together to reduce wasted space due to padding.
13283
132842007-10-26 Juanma Barranquero <lekktu@gmail.com>
13285
13286 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13287
13288 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13289 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13290 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13291 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13292 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13293 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13294 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13295 (last_marked, mark_object_loop_halt): Make static.
13296
13297 * frame.c (syms_of_frame) <delete-frame-functions>:
13298 Fix typo in docstring.
13299
133002007-10-25 Juanma Barranquero <lekktu@gmail.com>
13301
13302 * w32.c (init_environment): Fix tiny memory leak.
13303 (w32_get_resource): Remove unused variable `ok'.
13304
133052007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13306
13307 Make `window-system' into a keyboard-local variable (rather than
13308 frame-local as done originally by multi-tty).
13309
13310 * keyboard.h (struct kboard): Add Vwindow_system.
13311 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13312 (mark_kboards): Mark Vwindow_system.
13313
13314 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13315 (init_display): Don't set the obsolete `window-system' frame-param.
13316
13317 * xterm.c (x_term_init):
13318 * w32term.c (w32_create_terminal):
13319 * term.c (init_tty): Set Vwindow_system.
13320 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13321 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13322
13323 * xfns.c (Fx_create_frame, x_create_tip_frame):
13324 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13325 * macfns.c (Fx_create_frame):
13326 Don't set the obsolete `window-system' frame-param.
13327
13328 * frame.h (Qwindow_system): Remove.
13329 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13330 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13331
133322007-10-24 Richard Stallman <rms@gnu.org>
13333
13334 * frame.c (x_figure_window_size): For fullscreen case,
13335 set USPosition | PPosition without clobbering rest of window_prompting.
13336
13337 * keyboard.c (Fcurrent_idle_time): Doc fix.
13338
13339 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13340
133412007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13342
13343 * process.c (unwind_request_sigio): Only define if __ultrix__.
13344
13345 * callproc.c (child_setup): Remove spurious *.
13346
13347 * lisp.h (Fget_text_property): Declare.
13348 (have_menus_p): Declare it here rather than in sys-dep header files.
13349 * macterm.h (have_menus_p):
13350 * msdos.h (have_menus_p):
13351 * xterm.h (have_menus_p): Remove.
13352
13353 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13354 (Fmake_variable_frame_local): Just check the variable's const-ness
13355 rather than checking nil or t.
13356
133572007-10-22 Jason Rumney <jasonr@gnu.org>
13358
13359 * w32fns.c: Include math.h.
13360 (w32_abort): Declaration moved to nt/config.nt.
13361
13362 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13363 (abort): Redefinition moved to nt/config.nt.
13364
13365 * m/windowsnt.h: Remove.
13366
133672007-10-22 Juanma Barranquero <lekktu@gmail.com>
13368
13369 * emacs.c (Fdump_emacs): Fix typo in message.
13370 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13371 <installation-directory>: Reflow docstring.
13372
133732007-10-22 Juri Linkov <juri@jurta.org>
13374
13375 * minibuf.c: Allow minibuffer default to be a list of default values.
13376 With empty input use the first element of this list as returned default.
13377 (string_to_object)
13378 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13379 (read_minibuf): If defalt is cons, set histstring to its car.
13380 (Fread_string): If default_value is cons, set val to its car.
13381 (Fread_buffer): If def is cons, use its car.
13382 (Fcompleting_read): If defalt is cons, set val to its car.
13383
133842007-10-21 Michael Albinus <michael.albinus@gmx.de>
13385
13386 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13387
133882007-10-20 Juanma Barranquero <lekktu@gmail.com>
13389
13390 * doc.c (Fdocumentation): Check for advice in all cases.
13391
133922007-10-19 Chong Yidong <cyd@stupidchicken.com>
13393
13394 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13395
133962007-10-19 Richard Stallman <rms@gnu.org>
13397
13398 * doc.c (Fdocumentation): Check for and handle an advised function.
13399
134002007-10-19 Juanma Barranquero <lekktu@gmail.com>
13401
13402 * process.c (Fset_process_filter): Doc fix.
13403
134042007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13405
13406 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13407 which caused key-translation-map to applied repeatedly (thus breaking
13408 double-mode).
13409
134102007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13411
13412 * xselect.c (x_own_selection, x_handle_selection_clear)
13413 (x_clear_frame_selections):
13414 * w32menu.c (list_of_panes, list_of_items):
13415 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13416 * textprop.c (validate_plist, interval_has_all_properties)
13417 (interval_has_some_properties, interval_has_some_properties_list)
13418 (add_properties, text_property_list):
13419 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13420 * minibuf.c (Fassoc_string):
13421 * macselect.c (x_own_selection, x_clear_frame_selections)
13422 (Fx_disown_selection_internal):
13423 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13424 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13425
134262007-10-17 Chong Yidong <cyd@stupidchicken.com>
13427
13428 * process.c: Link to libs for calling res_init() if available.
13429 (Fmake_network_process): Call res_init() before getaddrinfo or
13430 gethostbyname, if possible.
13431
134322007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13433
13434 * lread.c (read1): Set pvectype for char_tables.
13435
13436 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13437 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13438 Add type checks.
13439 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13440
13441 * alloc.c (free_misc): Use XMISCTYPE.
13442 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13443
134442007-10-17 Glenn Morris <rgm@gnu.org>
13445
13446 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13447 (syms_of_minibuf): Add Qcompletion_ignore_case.
13448 * dired.c (Qcompletion_ignore_case): Change to external.
13449 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13450 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13451 (Fread_file_name): Use it rather than intern'ing.
13452
13453 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13454 (Fread_coding_system): Ignore case of user input.
13455
134562007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13457
13458 * xdisp.c (handle_display_prop): Ignore display specs after
13459 replacing one when string text is being replaced.
13460 (handle_single_display_spec): Pretend as if characters with display
13461 property haven't been consumed only when buffer text is being replaced.
13462
134632007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13464
13465 * xfns.c (Fx_create_frame, Fx_display_list):
13466 * window.c (window_fixed_size_p, enlarge_window)
13467 (shrink_window_lowest_first):
13468 * macterm.c (init_font_name_table):
13469 * macfns.c (Fx_create_frame, Fx_display_list):
13470 * lread.c (close_load_descs):
13471 * keyboard.c (read_char_x_menu_prompt):
13472 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13473 * coding.c (code_convert_region_unwind): Test the type of an object
13474 rather than just !NILP before extracting data from it.
13475
13476 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13477
13478 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13479 (XMISCANY): New macro.
13480 (XMISCTYPE): Use it.
13481 (struct Lisp_Misc_Any): New type.
13482 (union Lisp_Misc): Use it.
13483 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13484 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13485 (find_symbol_value, set_internal, default_value, Fset_default)
13486 (Fmake_variable_buffer_local, Fmake_local_variable)
13487 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13488 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13489 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13490 * alloc.c (allocate_buffer): Set the size and tag.
13491 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13492 Use XMISCANY.
13493 (die): Follow the GNU convention for error messages.
13494 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13495 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13496 tag any more.
13497 (set_buffer_internal_1):
13498 * frame.c (store_frame_param):
13499 * eval.c (specbind):
13500 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13501
13502 * doc.c (Fsnarf_documentation): Simplify.
13503
135042007-10-14 Juanma Barranquero <lekktu@gmail.com>
13505
13506 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13507 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13508
135092007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13510
13511 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13512
135132007-10-14 Juanma Barranquero <lekktu@gmail.com>
13514
13515 * eval.c (do_autoload): Don't save autoloads.
13516
13517 * data.c (Ffset): Save autoload of the function being set.
13518
135192007-10-07 John Paul Wallington <jpw@pobox.com>
13520
13521 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13522 parameter before setting up faces.
13523
135242007-10-13 Eli Zaretskii <eliz@gnu.org>
13525
13526 * ccl.c (Fregister_code_conversion_map):
13527 * keyboard.c (append_tool_bar_item): Reformat last change.
13528
13529 * lisp.h (eabs): Rename from `abs'. All callers changed.
13530
135312007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13532
13533 * buffer.c (add_overlay_mod_hooklist):
13534 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13535 * fontset.c (make_fontset):
13536 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13537 (append_tool_bar_item):
13538 * macmenu.c (grow_menu_items):
13539 * w32menu.c (grow_menu_items):
13540 * xmenu.c (grow_menu_items): Use larger_vector.
13541
135422007-10-13 Eli Zaretskii <eliz@gnu.org>
13543
13544 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13545 selected frame'' on MSDOS).
13546
135472007-10-12 Martin Rudalics <rudalics@gmx.at>
13548
13549 * frame.c (Qexplicit_name): New variable.
13550 (x_report_frame_params): Report it in parameter alist.
13551 (syms_of_frame): Intern and staticpro it.
13552
135532007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13554
13555 * macfns.c (x_create_tip_frame): Set terminal for frame.
13556
135572007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13558
13559 * frame.c (Qenvironment): Remove.
13560 (syms_of_frame) <Qenvironment>: Don't initialize.
13561 (Fdelete_frame): Don't treat the `environment' param specially.
13562 * frame.h (Qenvironment): Don't declare.
13563 * callproc.c (set_initial_environment): Don't set unused frame param.
13564
13565 * frame.c (Fframe_with_environment): Remove.
13566 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13567
13568 * lisp.h (Fframe_with_environment): Don't declare.
13569
135702007-10-10 Juanma Barranquero <lekktu@gmail.com>
13571
13572 * indent.c (indent_tabs_mode, last_known_column)
13573 (last_known_column_modified): Make static.
13574 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13575
135762007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13577
13578 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13579
135802007-10-09 Jason Rumney <jasonr@gnu.org>
13581
13582 * w32term.c (x_set_window_size): Disable code that attempts to tell
13583 Lisp code about a size change before it actually happens.
13584
135852007-10-09 Richard Stallman <rms@gnu.org>
13586
13587 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13588 return HANDLED_RETURN.
13589
135902007-10-08 Martin Rudalics <rudalics@gmx.at>
13591
13592 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13593 when there's an unread command event.
13594
13595 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13596 window autoselection act appropriately when leaving selected frame.
13597 (syms_of_frame): Initialize focus_follows_mouse.
13598 * frame.h (focus_follows_mouse): Extern it.
13599 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13600 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13601 * msdos.c (dos_rawgetc): Likewise.
13602 * w32term.c (w32_read_socket): Likewise.
13603 * xterm.c (handle_one_xevent): Likewise.
13604 * xdisp.c (syms_of_xdisp): In doc-string of
13605 mouse-autoselect-window mention focus-follows-mouse.
13606
136072007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13608
13609 * macterm.c (mac_load_query_font): Fix missing return value.
13610 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13611 Add BLOCK_INPUT.
13612
136132007-10-08 Richard Stallman <rms@gnu.org>
13614
13615 * xdisp.c (get_window_cursor_type): Implement documented behavior
13616 for cursor-in-non-selected-windows = t.
13617
136182007-10-08 Jason Rumney <jasonr@gnu.org>
13619
13620 * w32.c (w32_get_resource): Always close registry keys.
13621
136222007-10-08 Jason Rumney <jasonr@gnu.org>
13623
13624 * makefile.w32-in (LIBS): Add COMCTL32.
13625
13626 * w32fns.c (globals_of_w32fns): Init common controls.
13627
136282007-10-08 Richard Stallman <rms@gnu.org>
13629
13630 * image.c (our_memory_buffer): Rename from omfib_buffer.
13631
136322007-10-08 Richard Stallman <rms@gnu.org>
13633
13634 * buffer.c (Foverlays_at): Doc fix.
13635
136362007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13637
13638 * fns.c (Fplist_put): Preserve uneven tail data.
13639
136402007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13641
13642 * termhooks.h (enum event_kind): Remove trailing comma.
13643
13644 * frame.h (enum): Remove trailing comma.
13645
136462007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13647
13648 * w32proc.c (delete_child): Don't terminate threads of zombies.
13649
136502007-10-08 Martin Rudalics <rudalics@gmx.at>
13651
13652 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13653
13654 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13655 last-repeatable-command.
13656 (init_kboard): Initialize Vlast_repeatable_command.
13657 (command_loop_1): Set it to real_this_command unless that was
13658 bound to an input event.
13659 (mark_kboards): Mark it.
13660
136612007-10-08 Richard Stallman <rms@gnu.org>
13662
13663 * eval.c (condition-case): Doc fix.
13664
136652007-10-08 Masatake YAMATO <jet@gyve.org>
13666
13667 * xfaces.c (tty_supports_face_attributes_p): Fix code
13668 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13669 was copied and not edited.
13670
136712007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13672
13673 Add new `input-decode-map' keymap and use it for terminal
13674 escape sequences.
13675 * keyboard.h (struct kboard): Add Vinput_decode_map.
13676 Remove Vlocal_key_translation_map.
13677 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13678 (init_kboard): Init input-decode-map.
13679 Replace local-key-translation-map back with key-translation-map.
13680 (syms_of_keyboard): Declare input-decode-map.
13681 Remove local-key-translation-map. Update docstrings.
13682 (mark_kboards): Mark Vinput_decode_map.
13683 Don't mark Vlocal_key_translation_map.
13684 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13685 Replace local-key-translation-map back with key-translation-map.
13686 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13687 Bind in input-decode-map rather than function-key-map.
13688
13689 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13690 This was made redundant by the previous introduction of XSETPVECTYPE.
13691
136922007-10-09 Richard Stallman <rms@gnu.org>
13693
13694 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13695
136962007-09-29 Richard Stallman <rms@gnu.org>
13697
13698 * eval.c (internal_condition_case_2, internal_condition_case_1)
13699 (internal_condition_case): Reenable abort if x_catching_errors ()
13700 to see if that really happens and why.
13701
137022007-10-06 Andreas Schwab <schwab@suse.de>
13703
13704 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13705
137062007-10-04 Juanma Barranquero <lekktu@gmail.com>
13707
13708 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13709
137102007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13711
13712 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13713
137142007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13715
13716 * window.h (struct window):
13717 * window.c (struct save_window_data, struct saved_window):
13718 * termhooks.h (struct terminal):
13719 * process.h (struct Lisp_Process):
13720 * frame.h (struct frame):
13721 * buffer.h (struct buffer):
13722 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13723 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13724 The size field of (pseudo)vectors is now unsigned.
13725 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13726
13727 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13728 Turn `count' into an integer.
13729
13730 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13731 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13732 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13733 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13734 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13735
13736 * alloc.c (allocate_pseudovector): New fun.
13737 (ALLOCATE_PSEUDOVECTOR): New macro.
13738 (allocate_window, allocate_terminal, allocate_frame)
13739 (allocate_process): Use it.
13740 (mark_vectorlike): New function.
13741 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13742 (mark_terminals): Use it.
13743 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13744 (Fmake_byte_code): Use XSETPVECTYPE.
13745
13746 * frame.c (Fframe_parameters): Minor simplification.
13747
13748 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13749
13750 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13751
13752 * buffer.c (Fget_buffer_create, init_buffer_once):
13753 * lread.c (defsubr):
13754 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13755
13756 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13757 defined differently in the m/*.h files.
13758 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13759 (XSETPVECTYPE): New macro.
13760 (XSETPSEUDOVECTOR): Use it.
13761
13762 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13763 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13764
13765 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13766 * lread.c (defvar_per_buffer):
13767 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13768
13769 * window.c (candidate_window_p): Only consider as visible frames that
13770 are on the same terminal.
13771
13772 * m/ibms390x.h (MARKBIT): Remove unused macro.
13773
137742007-10-01 Juanma Barranquero <lekktu@gmail.com>
13775
13776 * lread.c (Fload): Fix typo in docstring.
13777
137782007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13779
13780 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13781 of a non-zero value can't yield zero.
13782
137832007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13784
13785 * term.c (term_clear_mouse_face, term_mouse_highlight)
13786 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13787
13788 * print.c (safe_debug_print): Use XHASH.
13789
13790 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13791 Lisp elements such as tags.
13792 (XHASH): New macro.
13793 (EQ): Use it.
13794 (SREF, SSET, STRING_COPYIN): Use SDATA.
13795 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13796
13797 * alloc.c (mark_terminal): Remove left-over declaration.
13798 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13799 (allocate_vectorlike): Remove type argument. Adjust callers.
13800 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13801 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13802
13803 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13804 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13805 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13806 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13807 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13808 Use them.
13809
13810 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13811 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13812 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13813
138142007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13815
13816 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13817 loaded by default.
13818
138192007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13820
13821 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13822 on this tty.
13823 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13824
13825 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13826 Update all users.
13827 (handle_one_term_event): Use Gpm_DrawPointer.
13828 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13829 Signal errors instead of returning nil. Always return nil.
13830 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13831 Make it a noop if gpm-mouse was not activated.
13832 (syms_of_term): Update names.
13833
138342007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13835
13836 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13837 (init_sys_modes): Check that gpm_tty is the current tty.
13838
13839 * alloc.c (allocate_terminal): Set the vector size to only count the
13840 lisp fields. Initialize those to nil.
13841 (mark_object): Don't treat terminals specially.
13842 (mark_terminal): Remove.
13843 (mark_terminals): Use mark_object instead.
13844
13845 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13846 the GC to the beginning.
13847
13848 * indent.h:
13849 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13850
13851 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13852
138532007-09-25 Jason Rumney <jasonr@gnu.org>
13854
13855 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13856
13857 * w32console.c (create_w32cons_output): Remove.
13858
13859 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13860
13861 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13862 (reset_sys_modes): Use reset_terminal_modes_hook.
13863
138642007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13865
13866 * eval.c (do_autoload): Don't output any message.
13867
138682007-09-24 Juri Linkov <juri@jurta.org>
13869
13870 * emacs.c (standard_args): Change priority of "--no-splash"
13871 from 40 to 3. Add "--no-desktop" with the same priority.
13872
138732007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13874
13875 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13876 and optimize the case where they are all 1.
13877
138782007-09-23 Johannes Weiner <hannes@saeurebad.de>
13879
13880 * lisp.h (abs): Define if not defined.
13881 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13882 Don't define `abs', since it's defined in lisp.h.
13883
138842007-09-22 Eli Zaretskii <eliz@gnu.org>
13885
13886 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13887 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13888 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13889 (init_tty): Use DEV_TTY instead of "/dev/tty".
13890 [WINDOWSNT]: No need to protect from NAME arg being null.
13891
138922007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13893
13894 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13895 up the tty state.
13896
138972007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13898
13899 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13900 (gpm_tty): Change its type.
13901 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13902 (gpm_tty): Change its type and initialize it.
13903 (Fterm_open_connection): Check the frame is indeed a tty.
13904 Use the new gpm_tty.
13905 (Fterm_close_connection): Use the new gpm_tty.
13906 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13907 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13908
139092007-09-21 Juanma Barranquero <lekktu@gmail.com>
13910
13911 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13912 underline_color, to draw strike-through.
13913
139142007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13915
13916 * lisp.h (allocate_terminal): Declare.
13917
13918 * window.c (candidate_window_p): Consider frames that are being placed
13919 by the user as somewhere between visible and iconified.
13920 (window_loop): Prefer windows on the current frame.
13921 (Fselect_window): Move the use of select-frame to the beginning so we
13922 can just delegate all the work (it'll call us back anyway).
13923
13924 * frame.c (Qdisplay_environment_variable):
13925 * frame.h (Qdisplay_environment_variable): Delete.
13926
13927 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13928 of the first arg, since that value may be a union.
13929
13930 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13931 parameter rather than Qdisplay_environment_variable. If all else
13932 fails, look for DISPLAY in initial-environment.
13933
139342007-09-21 Glenn Morris <rgm@gnu.org>
13935
13936 * Makefile.in (emacstool): Remove target.
13937 (lisp, shortlisp): Remove termdev.elc.
13938
139392007-09-21 Markus Triska <markus.triska@gmx.at>
13940
13941 * xterm.c (x_delete_display): Compile session management conditionally.
13942
139432007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13944
13945 * callproc.c (getenv_internal_1): New function.
13946 (getenv_internal): Use it.
13947 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13948
13949 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13950 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13951 (Fset_terminal_parameter): Work with dead terminals as well.
13952 (Fmodify_terminal_parameters): Remove.
13953
13954 * terminal.c (get_terminal): Handle terminals.
13955 Make sure the terminal returned is live.
13956 (create_terminal): Use allocate_terminal.
13957 (mark_terminals): Move to alloc.c.
13958 (delete_terminal): Use terminal->name as liveness status.
13959 NULL out fields after freeing their contents.
13960 Don't deallocate the object.
13961 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13962 rather than an int.
13963 (Fterminal_live_p): Accept non-integer arguments.
13964 (Fterminal_list): Return terminal objects rather than an ints.
13965
13966 * alloc.c (enum mem_type): New member for `terminal' objects.
13967 (allocate_terminal): New function.
13968 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13969 Handle terminals.
13970 (mark_terminal): New fun.
13971 (mark_terminals): Move from terminal.c.
13972
13973 * term.c (get_tty_terminal): Don't treat output_initial specially.
13974 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13975 (delete_tty): Use terminal->name as liveness status.
13976
13977 * termhooks.h (struct terminal): Make it into a pseudovector.
13978 Remove `deleted' replaced by checking `name's nullness.
13979
13980 * print.c (print_object): Handle terminals.
13981
13982 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13983 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13984
13985 * frame.c (make_terminal_frame):
13986 * keyboard.c (tty_read_avail_input):
13987 * w32term.c (x_delete_terminal):
13988 * xfns.c (Fx_create_frame, x_create_tip_frame):
13989 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13990
139912007-09-20 Glenn Morris <rgm@gnu.org>
13992
13993 * process.c (Fmake_network_process): Doc fix.
13994
139952007-09-19 Jason Rumney <jasonr@gnu.org>
13996
13997 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13998
139992007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14000
14001 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14002 Fix a C warning regarding variable constness.
14003
14004 * xterm.c (handle_one_xevent): Fix a C warning.
14005
140062007-09-18 Jason Rumney <jasonr@gnu.org>
14007
14008 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14009
140102007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14011
14012 * gtkutil.c (gdpy_def): New variable.
14013 (xg_initialize): Initialize gdpy_def.
14014 (xg_display_close): If no other display exists, set gdpy_def to a
14015 new connection.
14016
140172007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14018
14019 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14020 when we have no file name for the icon.
14021 (xg_tool_bar_expose_callback): Remove.
14022 (xg_create_tool_bar): Don't connect expose signal to
14023 xg_tool_bar_expose_callback.
14024 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14025
140262007-09-16 Andreas Schwab <schwab@suse.de>
14027
14028 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14029 values instead of zapping them.
14030
140312007-09-14 Glenn Morris <rgm@gnu.org>
14032
14033 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14034 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14035 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14036 scope and rename to omfib_buffer for clarity.
14037 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14038
140392007-09-14 Kenichi Handa <handa@m17n.org>
14040
14041 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14042
140432007-09-13 Jason Rumney <jasonr@gnu.org>
14044
14045 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14046
14047 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14048
14049 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14050 (mac_term_init): Call here instead, passing rif.
14051
140522007-09-13 Glenn Morris <rgm@gnu.org>
14053
14054 * s/hpux.h: No longer define `static' as nothing.
14055
140562007-09-13 Johan Bockgård <bojohan@gnu.org>
14057
14058 * callint.c (Fcall_interactively): Remove unused var `fun'.
14059
140602007-09-12 Romain Francoise <romain@orebokech.com>
14061
14062 * window.c (prefer_window_split_horizontally, display_buffer):
14063 Revert 2007-09-08 change.
14064
140652007-09-12 Glenn Morris <rgm@gnu.org>
14066
14067 * alloca.c: Remove file.
14068 * Makefile.in (alloca): Do not undef.
14069 (allocaobj, alloca.o): Remove.
14070 (otherobj): Remove allocaobj.
14071 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14072 * regex.c (C_ALLOCA): Remove all references and code that was only
14073 used when this was defined.
14074 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14075 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14076 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14077
14078 * Makefile.in (SOURCES, unlock, relock): Delete.
14079
14080 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14081 (menu_grab_callback): All uses changed.
14082
14083 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14084 (x_reply_selection_request): All uses changed.
14085
140862007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14087
14088 * lread.c (load_warn_old_style_backquotes): Change message to look
14089 better when it appears in the middle of byte-compiler messages.
14090
140912007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14092
14093 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14094
14095 * xterm.c (x_create_terminal): Add comment.
14096
14097 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14098
140992007-09-10 Richard Stallman <rms@gnu.org>
14100
14101 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14102
141032007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14104
14105 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14106 (DEFUN): Document `intspec', use it instead of `prompt'.
14107
14108 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14109
14110 * data.c (Finteractive_form): If the interactive specification starts
14111 with a `(', use it as a Lisp form.
14112
14113 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14114 name and file modes.
14115
14116 * callint.c (Fcall_interactively): Comment fixes.
14117
141182007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14119
14120 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14121 and compiled functions.
14122
141232007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14124
14125 * window.c (prefer_window_split_horizontally): New variable.
14126 (display_buffer): Consider splitting window horizontally depending
14127 on prefer_window_split_horizontally.
14128
141292007-09-08 Eli Zaretskii <eliz@gnu.org>
14130
14131 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14132
141332007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14134
14135 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14136
14137 * frame.c (x_set_frame_parameters): Check number is positive before
14138 using XFASTINT.
14139
14140 * window.c (freeze_window_start): Don't presume selected_window holds
14141 a window object.
14142 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14143
141442007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14145
14146 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14147
141482007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14149
14150 * window.c (Vsplit_window_preferred_function): New var.
14151 (Fdisplay_buffer): Use it.
14152 (syms_of_window): Export, and initialize it.
14153
141542007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14155
14156 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14157
141582007-09-06 Glenn Morris <rgm@gnu.org>
14159
14160 * gtkutil.c (menu_grab_callback) <cnt>:
14161 * xselect.c (x_reply_selection_request) <cnt>: Move static
14162 variable to file scope.
14163
141642007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14165
14166 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14167 consistent values of selected_frame and selected_window.
14168
141692007-09-04 Jason Rumney <jasonr@gnu.org>
14170
14171 * w32console.c (initialize_w32_display): Zero unused hooks.
14172
141732007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14174
14175 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14176 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14177
141782007-09-04 Jason Rumney <jasonr@gnu.org>
14179
14180 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14181 in w32console.c. Set up input. Remove XXX comments that have been
14182 confirmed as correct.
14183
14184 * s/ms-w32.h (MULTI_KBOARD): Define.
14185
14186 * w32console.c (one_and_only_w32cons): Remove.
14187 (initialize_w32_display): Take terminal argument.
14188
14189 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14190 initialize_w32_display.
14191 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14192
14193 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14194
14195 * keyboard.c (discard_mouse_events): Discard it.
14196 (make_lispy_event): Translate it to a lisp event.
14197 (lispy_wheel_names): Add wheel-left and right events.
14198 (syms_of_keyboard): Enlarge wheel_syms.
14199
14200 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14201 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14202
14203 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14204
14205 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14206 from WM_MOUSEHWHEEL.
14207 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14208
14209 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14210 terminal.
14211
14212 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14213 keyboard for the terminal.
14214
142152007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14216
14217 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14218 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14219 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14220 and resume-tty-function to resume-tty-hook.
14221 (Fsuspend_tty, Fresume_tty): Use new names.
14222
142232007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14224
14225 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14226 if it starts with "n:".
14227
142282007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14229
14230 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14231
142322007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14233
14234 * frame.h:
14235 * frame.c (Qterm_environment_variable): Remove.
14236 (syms_of_frame): Don't init and staticpro it.
14237
14238 * callproc.c (getenv_internal): Remove special case for $TERM.
14239
14240 * callproc.c (Vinitial_environment): New variable.
14241 (set_initial_environment): Initialize it.
14242 (syms_of_callproc): Declare it.
14243 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14244 TERM under which a process runs is never related to the TERM in which
14245 Emacs is running.
14246
142472007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14248
14249 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14250 * s/darwin.h: ... do it here.
14251
142522007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14253
14254 * lisp.h (set_initial_environment): Rename from set_global_environment.
14255
14256 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14257 removed by mistake on the multi-tty branch.
14258
14259 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14260 (Fmodify_frame_parameters): Return a value.
14261
14262 * image.c (png_load): Comment-out var only used in commented-out code.
14263
14264 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14265 before passing it to mark_object.
14266
14267 * xfaces.c (internal_resolve_face_name): Return a value.
14268 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14269
14270 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14271 (x_icon): Comment-out var only used in commented-out code.
14272
142732007-08-29 Romain Francoise <romain@orebokech.com>
14274
14275 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14276 QUIT hasn't been provided.
14277
142782007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14279
14280 * callproc.c (child_setup, getenv_internal): Use the
14281 display-environment-variable and term-environment-variable frame params.
14282 (set_initial_environment): Initialise Vprocess_environment.
14283
14284 * config.in: Disable multi-keyboard support on a mac.
14285
14286 * frame.c (Qterm_environment_variable)
14287 (Qdisplay_environment_variable): New variables.
14288 (syms_of_frame): Intern and staticpro them.
14289 (Fmake_terminal_frame): Disable output method test.
14290
14291 * frame.h: Declare them here.
14292
14293 * macfns.c (x_set_mouse_color): Get rif from the frame.
14294 (x_set_tool_bar_lines): Don't use updating_frame.
14295 (mac_window): Add 2 new parameters for consistency with other systems.
14296 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14297 frame parameters following what is done in X11 and w32. Don't use
14298 FRAME_MAC_DISPLAY_INFO.
14299 (Fx_open_connection, start_hourglass): Remove window-system check.
14300 (x_create_tip_frame): Get the keyboard from the terminal.
14301
14302 * macmenu.c: Reorder includes.
14303 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14304
14305 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14306 terminal parameter.
14307 (x_clear_frame): Add a frame parameter.
14308 (note_mouse_movement): Get rif from the frame.
14309 (mac_term_init): Initialize the terminal.
14310 (mac_initialize): Make static and move terminal initialization ...
14311 (mac_create_terminal): ... to this new function.
14312
14313 * macterm.h (struct mac_display_info): Add terminal.
14314 (mac_initialize): Delete declaration.
14315
14316 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14317
14318 * sysdep.c: Comment out text after #endif.
14319
14320 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14321 is defined. Better initialize ttys in windows. Use terminal
14322 specific mouse_position_hook.
14323
14324 * termhooks.h (union display_info): Add mac_display_info.
14325
14326 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14327 Set the default minibuffer frame, window_system and the rest of the
14328 frame parameters following what is done in X11.
14329
14330 * w32term.c (w32_initialize): Make static.
14331
14332 * xselect.c (x_handle_selection_clear): Only access
14333 terminal->kboard when MULTI_KBOARD is defined.
14334
14335 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14336 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14337
143382007-08-29 Jason Rumney <jasonr@gnu.org>
14339
14340 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14341 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14342
14343 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14344 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14345
14346 * keyboard.c (restore_kboard_configuration): Only define when
14347 MULTI_KBOARD defined.
14348
14349 * makefile.w32-in: Update dependancies from Makefile.in.
14350 (OBJ1): Add terminal.$(O)
14351
14352 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14353 Don't define function body.
14354 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14355
14356 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14357
14358 * w32.c (request_sigio, unrequest_sigio): Remove.
14359
14360 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14361 (w32con_clear_frame, w32con_clear_end_of_line)
14362 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14363 (w32con_delete_glyphs, w32con_set_terminal_window)
14364 (scroll_line, w32_sys_ring_bell): Add frame arg.
14365 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14366 Add terminal arg.
14367 (PICK_FRAME): Remove.
14368 (w32con_write_glyphs): Use frame specific terminal coding.
14369 (one_and_only_w32cons): New global variable.
14370 (initialize_w32_display): Use it for storing hooks.
14371 (create_w32cons_output): New function.
14372
14373 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14374 arg a frame.
14375
14376 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14377 Set window_system.
14378 (x_set_tool_bar_lines): Don't use updating_frame.
14379 (Fx_create_frame): Set terminal and ref count.
14380 (Fx_open_connection): Remove window-system check.
14381
14382 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14383
14384 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14385 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14386 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14387 Add frame arg.
14388 (x_delete_terminal, w32_create_terminal): New functions.
14389 (w32_term_init): Create a terminal.
14390 (w32_initialize): Move terminal specific initialization to
14391 w32_create_terminal.
14392
14393 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14394 (w32_clear_rect, w32_clear_area): Use background from frame.
14395 (w32_display_info): Add terminal.
14396 (w32_sys_ring_bell, x_delete_display): Declare here.
14397
14398 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14399
14400 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14401
144022007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14403
14404 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14405 Fix get_named_tty calls for the controlling tty.
14406
144072007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14408
14409 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14410
144112007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14412
14413 * term.c (tty_insert_glyphs): Add missing first parameter.
14414
144152007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14416
14417 * buffer.c (Fbuffer_list, Fbury_buffer):
14418 Take frame->buried_buffer_list into account.
14419
14420 * cm.c (current_tty): New variable, for cmputc().
14421 (cmputc): Use it.
14422 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14423 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14424 (cmgoto): Add tty parameter. Pass it on to calccost().
14425 Use emacs_tputs() instead of tputs().
14426
14427 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14428 tputs().
14429 (current_tty): New variable, for cmputc().
14430 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14431
14432 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14433 (internal_condition_case, internal_condition_case_1)
14434 (internal_condition_case_2): Don't abort when x_catching_errors.
14435
14436 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14437 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14438 prevent crashes caused by bogus longjmps in read_char.
14439
14440 * keymap.h (Fset_keymap_parent): Add EXFUN.
14441
14442 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14443 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14444 Remove redundant definition.
14445
14446 * macfns.c (x_set_mouse_color, x_make_gc):
14447 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14448
14449 * w32term.c (x_free_frame_resources):
14450 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14451 (w32_initialize): Use the accessor macros for terminal characteristics.
14452
14453 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14454 Use the accessor macros for terminal characteristics.
14455 * msdos.c (internal_terminal_init): Use the accessor macros for
14456 terminal characteristics.
14457 (ScreenVisualBell, internal_terminal_init):
14458 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14459
14460 * termopts.h (no_redraw_on_reenter): Declare.
14461
14462 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14463 (mark_terminals, mark_ttys): Declare.
14464 (Fgarbage_collect): Call them.
14465 (mark_object): Mark buried_buffer_list.
14466
14467 * prefix-args.c: Include stdlib.h for exit.
14468
14469 * syssignal.h: Add comment.
14470
14471 * indent.c: Include stdio.h.
14472
14473 * window.h (Vinitial_window_system): Declare.
14474 (Vwindow_system): Delete declaration.
14475
14476 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14477
14478 * image.c (lookup_image): Don't initialize `c' until the xasserts
14479 have been run.
14480
14481 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14482 FRAME_FOREGROUND_PIXEL.
14483
14484 * print.c (print_preprocess): Don't lose print_depth levels while
14485 iterating.
14486
14487 * widget.c (update_from_various_frame_slots):
14488 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14489
14490 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14491 frames.
14492 (window_internal_height): Remove bogus make_number call.
14493 (init_window_once): Call make_terminal_frame with two zero parameters.
14494
14495 * fileio.c (Fread_file_name): Update comment.
14496
14497 * callint.c (Fcall_interactively):
14498 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14499 Make sure it is correctly unwound.
14500
14501 * xsmfns.c (x_session_close): New function.
14502
14503 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14504 Delete declarations.
14505
14506 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14507 (x_output): Remove background_pixel and foreground_pixel fields.
14508 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14509 (x_delete_device, x_session_close): Declare.
14510
14511 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14512 (read_filtered_event): Call `read_char' with a local
14513 `wrong_kboard_jmpbuf'.
14514
14515 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14516 Don't call single_kboard_state. Use FRAME_RIF.
14517
14518 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14519 systems.
14520
14521 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14522 (Fframe_with_environment, Fset_input_meta_mode)
14523 (Fset_quit_char): EXFUN.
14524 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14525 (init_sys_modes, reset_sys_modes): Update prototypes.
14526 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14527
14528 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14529 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14530 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14531 Delete declarations.
14532 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14533 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14534 New declarations.
14535
14536 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14537 already does that during init_display(). Call syms_of_keymap
14538 before syms_of_keyboard. Call `syms_of_terminal'.
14539 Call set_initial_environment, not set_process_environment.
14540 (shut_down_emacs): Call reset_all_sys_modes() instead of
14541 reset_sys_modes().
14542
14543 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14544 (internal_resolve_face_name, resolve_face_name_error): New functions.
14545 (resolve_face_name): Protect against loops and errors thrown by Fget.
14546 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14547 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14548
14549 * scroll.c: Replace CURTTY() with local variables throughout the
14550 file (where applicable).
14551 (calculate_scrolling, calculate_direct_scrolling)
14552 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14553 characteristics.
14554
14555 * keymap.c (Vfunction_key_map): Remove.
14556 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14557 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14558 (Vkey_translation_map): Remove.
14559 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14560 (Fdescribe_buffer_bindings)
14561 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14562 Update for terminal-local key-translation-map.
14563
14564 * Makefile.in (callproc.o): Update dependencies.
14565 (lisp, shortlisp): Add termdev.elc.
14566 (obj): Add terminal.o.
14567 (terminal.o): Add dependencies.
14568 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14569 (data.o, fns.o): Add termhooks.h dependency.
14570 (SOME_MACHINE_LISP): Add dnd.elc.
14571 (minibuf.o): Fix typo.
14572 Update dependencies.
14573
14574 * data.c (do_symval_forwarding, store_symval_forwarding)
14575 (find_symbol_value): Use the selected frame's keyboard, not
14576 current_kboard.
14577
14578 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14579 Vwindow_system.
14580
14581 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14582 Fmenu_bar_open.
14583 (syms_of_xmenu): Update defsubr.
14584 (mouse_position_for_popup, Fx_popup_menu)
14585 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14586 (set_frame_menubar, free_frame_menubar)
14587 (create_and_show_popup_menu, xmenu_show, )
14588 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14589 an X frame.
14590
14591 * xselect.c (x_own_selection): Abort if not an X frame.
14592 (some_frame_on_display): Check if it is an X frame.
14593 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14594
14595 * coding.c: Include frame.h and termhooks.h.
14596 (terminal_coding, keyboard_coding): Delete.
14597 (Fset_terminal_coding_system_internal)
14598 (Fset_keyboard_coding_system_internal)
14599 (Fkeyboard_coding_system)
14600 (Fterminal_coding_system): Add a terminal parameter.
14601 Get terminal_coding from the terminal.
14602 (init_coding_once): Don't call setup_coding_system here.
14603
14604 * dispextern.h (set_scroll_region, turn_off_insert)
14605 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14606 (tty_clear_end_of_line, tty_setup_colors)
14607 (delete_tty, updating_frame)
14608 (produce_special_glyphs, produce_glyphs, write_glyphs)
14609 (insert_glyphs): Remove.
14610 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14611 (tty_turn_off_highlight, get_tty_size): Add declaration.
14612 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14613
14614 * frame.h (enum output_method): Add output_initial.
14615 (struct x_output): Delete.
14616 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14617 Access foreground_pixel and background_pixel directly from the frame.
14618 (tty_display): Delete.
14619 (struct frame): Add buried_buffer_list, foreground_pixel,
14620 background_pixel and terminal. Delete kboard.
14621 (union output_data): Add tty.
14622 (FRAME_KBOARD): Get the kboard from the terminal.
14623 (FRAME_INITIAL_P): New macro.
14624 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14625 (Qterm_environment_variable, Qdisplay_environment_variable)
14626 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14627 New declarations.
14628
14629 * termchar.h (tty_output, tty_display_info): New structures.
14630 (tty_list): Declare.
14631 (FRAME_TTY, CURTTY): New macros.
14632 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14633 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14634 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14635 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14636
14637 * callproc.c: Include frame.h and termhooks.h, for terminal
14638 parameters.
14639 (add_env): New function.
14640 (child_setup): Use it.
14641 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14642 (getenv_internal): Fix get_terminal_param call.
14643 (Fgetenv_internal, egetenv): Update doc.
14644 (syms_of_callproc): Initialize Vprocess_environment to nil.
14645 Register and initialize them. Remove obsolete defvars. Update doc
14646 strings.
14647 (child_setup): Handle Vlocal_environment_variables.
14648 (getenv_internal): Add terminal parameter.
14649 Handle Vlocal_environment_variables.
14650 (Fgetenv_internal): Add terminal parameter.
14651 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14652 environment in a frame (not terminal) parameter. Update doc strings.
14653 (set_initial_environment): Rename from set_global_environment.
14654 Store Emacs environment in initial frame parameter.
14655
14656 * xdisp.c (redisplay_internal): Update references to
14657 `previous_terminal_frame'.
14658 (display_mode_line, Fformat_mode_line): Replace calls to
14659 `push_frame_kboard' with `push_kboard'.
14660 (get_glyph_string_clip_rects): Add extra parentheses and
14661 braces to prevent compiler warnings.
14662 (calc_pixel_width_or_height): Add xassert to check that the
14663 frame is alive. Don't call `lookup_image' on a termcap frame.
14664 (message2_nolog, message3_nolog, redisplay_internal)
14665 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14666 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14667 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14668 (Fx_display_pixel_width, Fx_display_pixel_height)
14669 (Fx_display_planes, Fx_display_color_cells)
14670 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14671 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14672 (Fx_display_backing_store, Fx_display_visual_class)
14673 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14674 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14675
14676 * xfns.c (x_set_foreground_color x_set_background_color)
14677 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14678 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14679 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14680 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14681 terminal that is being deleted.
14682 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14683 frame parameter, and make sure it overrides any user-supplied setting.
14684 (Fx_close_connection, Fx_synchronize): Unify argument names with
14685 the rest of the DEFUNs.
14686
14687 * dispnew.c (Fsend_string_to_terminal): Update call to
14688 `get_tty_terminal'.
14689 (Fredraw_frame, Fsend_string_to_terminal)
14690 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14691 FRAME_TERMCAP_P and FRAME_TTY.
14692 (window_change_signal): Don't believe width/height values that are
14693 impossibly small.
14694 (Vinitial_window_system): Rename from Vwindow_system.
14695 (termscript, Wcm, rif): Delete.
14696
14697 * termhooks.h (struct terminal): New struct containing the
14698 previously global text display hooks and new members NAME,
14699 DELETED and PARAM_ALIST.
14700 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14701 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14702 (FRAME_RIF): New macros.
14703 (get_terminal_param, get_device): New declarations.
14704 (termscript): Delete declaration.
14705
14706 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14707 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14708 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14709 FRAME_FOREGROUND_PIXEL.
14710 (x_fully_uncatch_errors): Disable definition.
14711 (x_scroll_bar_expose): Fix reference to foreground pixel.
14712 (XTread_socket): Disable loop on all X displays.
14713 (x_delete_terminal): Don't set terminal->deleted and let
14714 delete_terminal delete the frames on the terminal.
14715 (x_delete_display): Doc update to reflect changes in
14716 delete_terminal.
14717 (x_display_info) <terminal>: Move member earlier in the struct.
14718 (deleting_tty): Remove old variable.
14719 (Fsuspend_tty): Call clear_tty_hooks.
14720 (Fresume_tty, init_tty): Call set_tty_hooks.
14721 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14722 errors on X frames.
14723 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14724 (handle_one_xevent): Initialize `f' to NULL.
14725 (x_delete_terminal, x_create_terminal): New functions.
14726 (XTset_terminal_modes, XTreset_terminal_modes)
14727 (XTread_socket, x_connection_closed, x_term_init)
14728 (x_term_init, x_delete_display): Add terminal parameter.
14729 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14730 X connections.
14731
14732 * frame.c: Include termchar.h.
14733 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14734 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14735 (Qdisplay_environment_variable): New vars.
14736 (Fframep): Deal with output_initial.
14737 (Fframe-live-p): Doc fix.
14738 (Fwindow-system): New function.
14739 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14740 (make_terminal_frame): Don't create frames on a terminal that is
14741 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14742 (store_frame_param): Check for found_for_frame before calling XFRAME.
14743 (Fmake_terminal_frame): Handle NULL tty names correctly.
14744 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14745 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14746 frames to refer to a deleted frame in their 'environment parameter.
14747 (Fframe_with_environment): New function.
14748 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14749 (get_future_frame_param): New function.
14750 (Fmake_terminal_frame): Use it.
14751 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14752
14753 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14754 * sysdep.c (reset_sys_modes): Update for renames.
14755
14756 * keyboard.c (tty_read_avail_input): New function.
14757 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14758 (syms_of_keyboard): Defsubr them.
14759 (Fset_input_meta_mode, Fset_quit_char): New functions.
14760 (Fset_input_mode): Split to above functions.
14761 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14762 parameter. Use it in call to `read_char'.
14763 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14764 Set wrong_kboard_jmpbuf correctly in recursive calls.
14765 Use current_kboard to access Vkeyboard_translate_table.
14766 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14767 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14768 Update longjmp invocations. Remember the original current_kboard,
14769 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14770 changes it. Comment out unnecessary calls to
14771 `record_single_kboard_state' and `any_kboard_state'.
14772 Update recursive calls.
14773 (wrong_kboard_jmpbuf): Remove global variable.
14774 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14775 Handle deleted interrupted_kboards correctly; that is a legal
14776 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14777 and read_char calls. Abort if interrupted_kboard died in read_char.
14778 (any_kboard_state, single_kboard_state)
14779 (push_frame_kboard): Remove function.
14780 (pop_kboard): Switch out of single_kboard mode if the kboard has
14781 been deleted. Remove unused variable. Help debugging by not
14782 changing current_kboard unnecessarily. Set current_kboard to the
14783 kboard of the selected frame when the stored kboard object has
14784 been deleted before pop_kboard.
14785 (temporarily_switch_to_single_kboard): Change first parameter to a
14786 frame pointer. Throw an error when caller wants to change kboards
14787 while in single_kboard mode. Don't push_kboard if we weren't in
14788 single kboard state. Don't pop_kboard if we popped into any
14789 kboard state.
14790 (restore_kboard_configuration): Abort if pop_kboard changed the
14791 kboard in single_kboard mode. Call pop_kboard only after setting
14792 up single_kboard mode.
14793 (Frecursive_edit): Switch to single_kboard mode only in nested
14794 command loops.
14795 (cmd_error, command_loop, command_loop_1, timer_check):
14796 Comment out unnecessary call to `any_kboard_state' and
14797 `record_single_kboard_state'.
14798 (delete_kboard): Exit single_kboard mode if we have just deleted
14799 that kboard. Use FRAME_KBOARD.
14800 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14801 `fatal_error_signal'.
14802 (record_single_kboard_state): Don't push_kboard if we weren't in
14803 single kboard state. Don't pop_kboard if we popped into any
14804 kboard state.
14805 (push_frame_kboard): Rename to push_kboard.
14806 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14807 (read_avail_input): Read input from all terminals.
14808 (mark_kboards): Also mark Vkeyboard_translate_table.
14809 (kbd_buffer_store_event_hold): Simplify condition.
14810 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14811 (Vkeyboard_translate_table): Move to struct kboard.
14812 (init_kboard): Initialize Vkeyboard_translate_table.
14813 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14814 Vkeyboard_translate_table. Update doc strings. Update docs of
14815 local-function-key-map and function-key-map.
14816
14817 * terminal.c: New file.
14818
14819 * term.c: Include errno.h.
14820 (Vring_bell_function, device_list, initial_device)
14821 (next_device_id, ring_bell, update_begin, update_end)
14822 (set_terminal_window, cursor_to, raw_cursor_to)
14823 (clear_to_end, clear_frame, clear_end_of_line)
14824 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14825 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14826 (syms_of_term): Move their initialization to terminal.c.
14827 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14828 (Ftty_display_color_cells)
14829 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14830 (clear_tty_hooks, set_tty_hooks)
14831 (init_tty, maybe_fatal): New functions.
14832 (Ftty_type): Return nil if terminal is not on a tty instead of
14833 throwing an error. Doc update.
14834 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14835 Doc update. Initialize new subrs and variables.
14836 (delete_tty): Use terminal->deleted.
14837 (tty_set_terminal_modes): Rename from set_terminal_modes.
14838 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14839 (set_scroll_region): Rename to `tty_set_scroll_region'.
14840 (turn_on_insert): Rename to `tty_turn_on_insert'.
14841 (turn_off_insert): Rename to `tty_turn_off_insert'.
14842 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14843 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14844 (toggle_highligh): Rename to `tty_toggle_highlight'.
14845 (background_highlight): Rename to `tty_background_highlight'.
14846 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14847 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14848 (tty_set_scroll_region, tty_background_highlight)
14849 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14850 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14851 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14852 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14853 Add static modifier.
14854 (tty_reset_terminal_modes, tty_set_terminal_window)
14855 (tty_set_scroll_region, tty_background_highlight)
14856 (tty_highlight_if_desired, tty_cursor_to)
14857 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14858 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14859 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14860 renames.
14861
148622007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14863
14864 * keyboard.c: Qrtl is new.
14865 (parse_tool_bar_item): Handle :rtl keyword.
14866 (syms_of_keyboard): Intern :rtl keyword.
14867
14868 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14869
14870 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14871 so no Lisp code is executed.
14872 (file_for_image, find_rtl_image): New functions.
14873 (xg_get_image_for_pixmap): Use file_for_image.
14874 (update_frame_tool_bar): If direction is RTL, use RTL image if
14875 defined. Use Gtk stock images if defined.
14876
148772007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14878
14879 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14880 for nonexistent or zero-width glyph in composition glyph.
14881
148822007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14883
14884 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14885
14886 * xdisp.c (Finvisible_p): New function.
14887 (syms_of_xdisp): defsubr it.
14888
148892007-08-24 Juanma Barranquero <lekktu@gmail.com>
14890
14891 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14892 Doc fixes.
14893
148942007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14895
14896 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14897
148982007-08-24 Martin Rudalics <rudalics@gmx.at>
14899
14900 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14901 whether decoding has modified buffer contents.
14902
149032007-08-24 Jason Rumney <jasonr@gnu.org>
14904
14905 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14906 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14907 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14908 (init_svg_functions) [HAVE_NTGUI]: New function.
14909 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14910 (svg_load_image): Use them.
14911 (svg_load_image) [HAVE_NTGUI]: Implement background.
14912
149132007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14914
14915 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14916 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14917 (LIBX): Remove @RSVG_LIBS@.
14918 (LIBES): Add $(RSVG_LIBS).
14919
14920 * image.c (svg_load_image): Blend with specified background if exists.
14921 Use IMAGE_BACKGROUND. Add Mac OS Support.
14922
14923 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14924 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14925 Remove macros.
14926 [MAC_OSX] (socket_callback): Do nothing.
14927 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14928 ReceiveNextEvent.
14929 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14930 socket_callback.
14931 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14932
149332007-08-22 Glenn Morris <rgm@gnu.org>
14934
14935 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14936
149372007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14938
14939 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14940
14941 * image.c: Add support for SVG images. Some additional comments
14942 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14943 (svg_image_p): New function to test for SVG image.
14944 (svg_load): New function to load SVG image.
14945 (svg_load_image): New function, helper for svg_load.
14946 (Qsvg): New Lisp_object.
14947 (svg_keyword_index): New enum.
14948 (svg_format): New static `image_keyword' struct.
14949 (svg_type): New static `image_type' struct.
14950 (librsvg/rsvg.h): Include it.
14951
149522007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14953
14954 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14955
149562007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14957
14958 * lread.c (Qold_style_backquotes): New var.
14959 (syms_of_lread): Init and staticpro it.
14960 (load_warn_old_style_backquotes): New fun.
14961 (Fload): Use them to warn about old style backquotes.
14962 (end_of_file_error, Fload): Remove unused vars.
14963
14964 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14965
14966 * lread.c (Vold_style_backquotes): New var.
14967 (syms_of_lread): Init and export it to Elisp.
14968 (read1): Set it when we find an old-style (back)quote.
14969
149702007-08-22 Jason Rumney <jasonr@gnu.org>
14971
14972 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14973
149742007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14975
14976 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14977
149782007-08-19 Richard Stallman <rms@gnu.org>
14979
14980 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14981
149822007-08-19 Andreas Schwab <schwab@suse.de>
14983
14984 * alloc.c (pure): Round PURESIZE up.
14985
149862007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14987
14988 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14989 active frame.
14990
149912007-08-16 Richard Stallman <rms@gnu.org>
14992
14993 * eval.c (Fcommandp): Add parens to clarify.
14994
14995 * minibuf.c (Fall_completions): Use enum for type of table.
14996
14997 * emacs.c (USAGE2): Improve text.
14998
149992007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15000
15001 * term.c (tty_default_color_capabilities): Declare static
15002 variables in file scope, to avoid HPUX compiler problem.
15003
150042007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15005
15006 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15007 to gtk_toolbar_insert.
15008
150092007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15010
15011 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15012
15013 * insdel.c (reset_var_on_error): New fun.
15014 (signal_before_change, signal_after_change):
15015 Use it to reset (after|before)-change-functions to nil in case of error.
15016 Bind inhibit-modification-hooks to t.
15017 Don't bind (after|before)-change-functions to nil while they run.
15018
150192007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15020
15021 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15022 filling pixmap with stippled background.
15023
150242007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15025
15026 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15027 Don't use invisible frame as parent window for repositioning.
15028
150292007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15030
15031 * print.c (new_backquote_output): Rename from old_backquote_output.
15032 (print): Inverse its logic (according to its name) so as to match the
15033 behavior of new_backquote_flag in lread.c.
15034
150352007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15036
15037 * gmalloc.c (posix_memalign): New function.
15038
15039 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15040 ActivateControl/DeactivateControl here.
15041 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15042 frame-notice-user-settings is non-nil.
15043 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15044 for kEventParamFMFontStyle.
15045 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15046 mac_pass_command_to_system and mac_pass_control_to_system here.
15047 (XTread_socket): Call ActivateControl/DeactivateControl here.
15048 (XTread_socket) [TARGET_API_MAC_CARBON]:
15049 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15050 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15051 for window repositioning.
15052
150532007-08-08 Glenn Morris <rgm@gnu.org>
15054
15055 * Replace `iff' in doc-strings and comments.
15056
150572007-08-07 Chong Yidong <cyd@stupidchicken.com>
15058
15059 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15060
150612007-08-07 Martin Rudalics <rudalics@gmx.at>
15062
15063 * fileio.c (Finsert_file_contents): Run format-decode and
15064 after_insert_file_functions on entire buffer when REPLACE is
15065 non-nil and inhibit modification_hooks and point_motion_hooks.
15066 For consistency, run after_insert_file_functions iff something
15067 got inserted. Move signal_after_change and update_compositions
15068 after code running after_insert_file_functions. Make sure that
15069 undo_list doesn't record intermediate steps of the decoding process.
15070
150712007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15072
15073 * emacs.c (main)
15074 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15075 Call malloc_enable_thread on interactive startup.
15076
15077 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15078 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15079 [USE_PTHREAD]: Conditionalize with it.
15080 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15081 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15082 New functions.
15083
150842007-08-06 Chong Yidong <cyd@stupidchicken.com>
15085
15086 * xdisp.c (redisplay_window): When restoring original buffer
15087 position, make sure it is still valid.
15088
15089 * image.c (png_load): Ignore png-supplied background color.
15090
150912007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15092
15093 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15094 Use kCFAbsoluteTimeIntervalSince1970.
15095
15096 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15097 New variable.
15098 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15099 event loop should be quit.
15100 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15101 Quit dialog event loop if quit_dialog_event_loop is set.
15102
15103 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15104 (Selection): New typedef. Use instead of ScrapRef.
15105 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15106 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15107 (mac_clear_selection): Rename from clear_scrap.
15108 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15109 scrap_has_target_type. All uses changed.
15110 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15111 (mac_selection_has_target_p): New functions.
15112 (mac_put_selection_value): Rename from put_scrap_string.
15113 (mac_get_selection_value): Rename from get_scrap_string.
15114 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15115 (put_scrap_private_timestamp, scrap_has_target_type)
15116 (get_scrap_private_timestamp): Remove functions.
15117 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15118 (x_own_selection, x_get_local_selection):
15119 Use mac_valid_selection_value_p.
15120 (x_own_selection): Don't use put_scrap_private_timestamp.
15121 Record OWNERSHIP-INFO into Vselection_alist instead.
15122 (x_get_local_selection): Don't check type if request is local.
15123 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15124 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15125
151262007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15127
15128 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15129 add comment explaining why.
15130
151312007-08-03 Richard Stallman <rms@gnu.org>
15132
15133 * fileio.c (Fvisited_file_modtime): Use make_time.
15134
151352007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15136
15137 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15138 build.
15139
151402007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15141
15142 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15143
151442007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15145
15146 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15147
151482007-07-30 Richard Stallman <rms@gnu.org>
15149
15150 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15151
151522007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15153
15154 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15155
151562007-07-28 Nick Roberts <nickrob@snap.net.nz>
15157
15158 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15159 remote default-directory.
15160
15161 * buffer.c (mode-line-format): Update doc string.
15162
151632007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15164
15165 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15166 scroll bar gap.
15167 (x_scroll_bar_create): Set bar->fringe_extended_p.
15168 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15169 on frame edge. Check fringe background extension. Don't clear
15170 extended fringe background area.
15171
15172 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15173 (w32_fill_area): Enclose multiple statements with do ... while (0).
15174
15175 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15176 Extend fringe background to scroll bar gap.
15177 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15178 Set bar->fringe_extended_p.
15179 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15180 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15181 background extension. Don't clear extended fringe background area.
15182
15183 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15184 New member fringe_extended_p.
15185
151862007-07-25 Glenn Morris <rgm@gnu.org>
15187
15188 * Relicense all FSF files to GPLv3 or later.
15189
15190 * COPYING: Switch to GPLv3.
15191
151922007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15193
15194 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15195
15196 * data.c (Finteractive_form): Check for the presence of an
15197 `interactive-form' symbol property more thoroughly.
15198
15199 * data.c (Finteractive_form): Use an `interactive-form' property if
15200 present, analogous to the function-documentation property.
15201
152022007-07-24 Jason Rumney <jasonr@gnu.org>
15203
15204 * w32fns.c (x_real_positions): Get real position from OS instead of
15205 calculating it.
15206
152072007-07-23 Jason Rumney <jasonr@gnu.org>
15208
15209 * filelock.c (current_lock_owner): Allow for @ sign in username.
15210
152112007-07-22 Nick Roberts <nickrob@snap.net.nz>
15212
15213 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15214 remote default-directory.
15215
15216 * buffer.c (mode-line-format): Describe above case in doc string.
15217
152182007-07-20 Eli Zaretskii <eliz@gnu.org>
15219
15220 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15221 Define if not defined.
15222
152232007-07-18 Jason Rumney <jasonr@gnu.org>
15224
15225 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15226
152272007-07-18 Richard Stallman <rms@gnu.org>
15228
15229 * data.c (Fsetq_default): Doc fix.
15230
15231 * eval.c (Fsetq): Doc fix.
15232
152332007-07-18 Juanma Barranquero <lekktu@gmail.com>
15234
15235 * coding.c (Ffind_operation_coding_system):
15236 * eval.c (For, Fand): Doc fixes.
15237 Reported by Johan Bockgård.
15238
152392007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15240
15241 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15242
15243 * xterm.h: Declare x_ewmh_activate_frame.
15244
15245 * xterm.c (x_ewmh_activate_frame): New function.
15246 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15247
152482007-07-17 Martin Rudalics <rudalics@gmx.at>
15249
15250 * window.c (Fdisplay_buffer): If largest or LRU window is the
15251 only window, split it even if it is not eligible for splitting.
15252 This restores the original behavior broken by the 2007-07-15
15253 change.
15254
152552007-07-17 Glenn Morris <rgm@gnu.org>
15256
15257 * abbrev.c (abbrev_check_chars): New function.
15258 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15259 Call abbrev_check_chars to check abbrev characters are word
15260 constituents. Doc fix.
15261
152622007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15263
15264 * process.c (Fstart_process, Fmake_network_process)
15265 (read_process_output): Fix up last changes.
15266
152672007-07-16 Eli Zaretskii <eliz@gnu.org>
15268
15269 * makefile.w32-in (clean): Don't delete *~.
15270
152712007-07-16 Andreas Schwab <schwab@suse.de>
15272
15273 * window.c (Fdisplay_buffer): Use NILP.
15274 (Fset_window_scroll_bars): Likewise.
15275
152762007-07-15 Martin Rudalics <rudalics@gmx.at>
15277
15278 * window.c (window_min_size_2): New function.
15279 (window_min_size_1, size_window, Fdisplay_buffer)
15280 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15281 windows without mode- or header-lines when window-min-height is
15282 too small.
15283 (size_window): Reset nodelete_p after testing it, following an
15284 earlier note by Kim F. Storm.
15285 (display_buffer): Do not set split_height_threshold to twice the
15286 value of window_min_height to avoid changing the value of a
15287 customizable variable. Rather explicitly check whether the
15288 height of the window that shall be splitted is at least as large
15289 as split_height_threshold.
15290 (Fwindow_full_width_p): New defun.
15291 (syms_of_window): Defsubr it.
15292
15293 * window.h: Add EXFUN for Fwindow_full_width_p.
15294
152952007-07-14 Jason Rumney <jasonr@gnu.org>
15296
15297 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15298
152992007-07-14 Richard Stallman <rms@gnu.org>
15300
15301 * eval.c (maybe_call_debugger): New function.
15302 (find_handler_clause): Use maybe_call_debugger.
15303 Call it when the handler says `debug'.
15304 Eliminate DEBUGGER_VALUE_PTR.
15305 (Fsignal): Eliminate debugger_value.
15306 (Qdebug): New variable.
15307 (syms_of_eval): Initialize it.
15308
153092007-07-14 Juanma Barranquero <lekktu@gmail.com>
15310
15311 * eval.c (Fprogn):
15312 * keyboard.c (Ftrack_mouse):
15313 * print.c (Fwith_output_to_temp_buffer):
15314 * window.c (Fsave_window_excursion): Doc fix.
15315
153162007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15317
15318 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15319
153202007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15321
15322 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15323 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15324 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15325 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15326 Remove unused encoding_carryover.
15327 * process.c: Adjust all functions accordingly.
15328
153292007-07-12 Richard Stallman <rms@gnu.org>
15330
15331 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15332
153332007-07-11 Jason Rumney <jasonr@gnu.org>
15334
15335 * makefile.w32-in (LIBS): Include OLE32.
15336
15337 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15338 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15339
153402007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15341
15342 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15343 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15344 from a Lisp_Object into a bare pointer.
15345 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15346 Adjust the code correspondingly.
15347
15348 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15349
15350 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15351 (term_show_mouse_face): Remove unused var `j'.
15352 (handle_one_term_event): Remove unused vars `i' and `j'.
15353 Don't cast return value of ttyname since it's not necessary.
15354
153552007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15356
15357 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15358 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15359
15360 * fns.c (map_char_table): Use an array of int for `indices' rather than
15361 an array of Lisp_Objects (which are only ever integers anyway).
15362 (Fmap_char_table): Update caller.
15363 * lisp.h: Update prototype.
15364 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15365 * fontset.c (Ffontset_info):
15366 * casetab.c (set_case_table): Update callers.
15367
15368 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15369
15370 * keymap.c (struct accessible_keymaps_data)
15371 (struct where_is_internal_data): New structures.
15372 (accessible_keymaps_1, where_is_internal_1): Use them to change
15373 interface to adhere to the one used by map_keymap.
15374 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15375 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15376
15377 * keymap.h (map_keymap_function_t): More informative prototype.
15378
153792007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15380
15381 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15382 (looking_at_1): Don't change search_regs and last_thing_searched
15383 if `inhibit-changing-match-data' is non-nil.
15384 (string_match_1, search_buffer, set_search_regs): Likewise.
15385 (syms_of_search): Add Lisp level definition for
15386 `inhibit-changing-match-data' and set it to nil.
15387 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15388 start and end of the match, instead of using values in search_regs.
15389
153902007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15391
15392 * minibuf.c (Fcompleting_read): New value `confirm-only'
15393 for `require-match'.
15394
153952007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15396
15397 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15398 part of the 2007-06-27 change to syms_of_fileio.
15399
154002007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15401
15402 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15403 Check WINDOWP before using XWINDOW. Consolidate return statements.
15404
154052007-06-27 Richard Stallman <rms@gnu.org>
15406
15407 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15408
154092007-06-27 Juanma Barranquero <lekktu@gmail.com>
15410
15411 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15412
154132007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15414
15415 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15416 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15417 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15418 (_free_internal, memalign): Use them.
15419 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15420 Initialize to PTHREAD_MUTEX_INITIALIZER.
15421 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15422 (morecore_nolock): Rename from morecore. All uses changed.
15423 Use only nolock versions of internal allocation functions.
15424 (_malloc_internal_nolock, _realloc_internal_nolock)
15425 (_free_internal_nolock): New functions created from
15426 _malloc_internal, _realloc_internal, and _free_internal.
15427 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15428 Copy hook value to automatic variable before its use.
15429 (memalign): Copy hook value to automatic variable before its use.
15430
154312007-06-26 Kenichi Handa <handa@m17n.org>
15432
15433 * coding.c (Ffind_operation_coding_system): Docstring improved.
15434 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15435
154362007-06-25 David Kastrup <dak@gnu.org>
15437
15438 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15439 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15440 cater for additional parameter.
15441
15442 * keymap.h: Adjust number of parameters to `current-active-maps'.
15443
15444 * doc.c (Fsubstitute_command_keys): Adjust call of
15445 `current-active-maps'.
15446
154472007-06-25 David Kastrup <dak@gnu.org>
15448
15449 * callint.c (Fcall_interactively): Make the parsing of interactive
15450 specs somewhat more readable.
15451
154522007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15453
15454 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15455 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15456 if extended background has already been filled.
15457
154582007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15459
15460 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15461 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15462
15463 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15464 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15465 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15466 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15467 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15468 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15469 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15470 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15471 Run timers during dialog popup.
15472 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15473
154742007-06-21 Jason Rumney <jasonr@gnu.org>
15475
15476 * image.c (convert_mono_to_color_image): Swap fore and background.
15477
154782007-06-20 Jason Rumney <jasonr@gnu.org>
15479
15480 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15481 (w32_free_bdf_font): Unmap memory not handle.
15482
154832007-06-20 Sam Steingold <sds@gnu.org>
15484
15485 * gmalloc.c (__morecore): Fix the declaration to comply with the
15486 definition.
15487
154882007-06-20 Juanma Barranquero <lekktu@gmail.com>
15489
15490 * w32term.c (w32_delete_display): Remove leftover declaration.
15491 (w32_define_cursor, w32_initialize): Make static.
15492
15493 * w32.c (_wsa_errlist): Fix typo in error message.
15494 (init_environment): Ignore any environment variable from the
15495 registry having a null value.
15496
154972007-06-20 Glenn Morris <rgm@gnu.org>
15498
15499 * Makefile.in (LIBGIF): Default to -lgif.
15500
155012007-06-17 Jason Rumney <jasonr@gnu.org>
15502
15503 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15504 unicode strings.
15505
155062007-06-16 Juanma Barranquero <lekktu@gmail.com>
15507
15508 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15509 Fix typo in docstring.
15510
155112007-06-16 Eli Zaretskii <eliz@gnu.org>
15512
15513 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15514 and their keybindings.
15515
155162007-06-15 Chong Yidong <cyd@stupidchicken.com>
15517
15518 * composite.c (update_compositions): Fix last fix.
15519
155202007-06-14 Jason Rumney <jasonr@gnu.org>
15521
15522 * w32.c (get_process_times_fn): New function pointer.
15523 (globals_of_w32): Intialize it if present in kernel32.dll.
15524 (w32_get_internal_run_time): New function.
15525
15526 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15527
155282007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15529
15530 * composite.c (update_compositions): Check the validness of
15531 compositions.
15532
155332007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15534
15535 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15536 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15537
15538 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15539 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15540
15541 * macgui.h (USE_MAC_TOOLBAR): New define.
15542
15543 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15544 Return immediately unless popup is activated.
15545
15546 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15547 background to scroll bar gap.
15548 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15549 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15550 scroll bars on frame edge. Check fringe background extension.
15551 Don't clear extended fringe background area.
15552 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15553 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15554 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15555 [USE_MAC_TOOLBAR]: New macros.
15556 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15557 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15558 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15559 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15560 [USE_MAC_TOOLBAR]: New functions.
15561 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15562 manually if previous repositioning has failed.
15563 (mac_handle_keyboard_event): Use precomputed event kind.
15564 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15565 as tool bar item click. Handle mouse movement over tool bar items.
15566
15567 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15568 toolbar_win_gravity.
15569 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15570 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15571 Add externs.
15572
15573 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15574 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15575
155762007-06-14 Chong Yidong <cyd@stupidchicken.com>
15577
15578 * image.c (search_image_cache): Remove unused variable.
15579
155802007-06-13 Chong Yidong <cyd@stupidchicken.com>
15581
15582 * xfns.c, xmenu.c: Link to xaw3d if available.
15583
155842007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15585
15586 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15587 frame_foreground and frame_background.
15588
15589 * image.c (lookup_image): Save frame foreground and background colors.
15590 (search_image_cache): Check if saved and current frame colors match.
15591
155922007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15593
15594 * regex.c (regex_compile): Remove the `regnum' counter.
15595 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15596
155972007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15598
15599 * term.c: Include intervals.h to declare Fget_text_property.
15600
156012007-06-10 Jason Rumney <jasonr@gnu.org>
15602
15603 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15604
156052007-06-08 Juanma Barranquero <lekktu@gmail.com>
15606
15607 * callint.c (Fcall_interactively):
15608 * editfns.c (Fdelete_and_extract_region):
15609 * fileio.c (Fread_file_name):
15610 * fns.c (Fmapconcat):
15611 * keyboard.c (cmd_error_internal):
15612 * keymap.c (Fkey_description):
15613 * lread.c (openp):
15614 * minibuf.c (read_minibuf):
15615 * search.c (wordify):
15616 * sunfns.c (sel_read):
15617 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15618 * xfns.c (x_default_scroll_bar_color_parameter):
15619 * xmenu.c (menu_help_callback):
15620 * xselect.c (Fx_get_atom_name):
15621 * xterm.c (x_term_init): Use empty_unibyte_string.
15622
156232007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15624
15625 * alloc.c (init_strings): Initialize canonical empty strings.
15626 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15627 canonical empty string when the requested size is 0.
15628
15629 * emacs.c (empty_unibyte_string): Rename from empty_string.
15630 (empty_multibyte_string): New canonical empty string.
15631 (syms_of_emacs): Don't initialize empty_string.
15632
15633 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15634 string, if appropriate.
15635 (empty_unibyte_string, empty_multibyte_string): New externs.
15636 (empty_string): Remove extern.
15637
15638 * lread.c (syms_of_lread): Use empty_unibyte_string.
15639
156402007-06-07 Jason Rumney <jasonr@gnu.org>
15641
15642 * s/ms-w32.h: Don't define HAVE_TZNAME.
15643
15644 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15645
156462007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15647
15648 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15649
15650 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15651 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15652
15653 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15654 Don't call next handler.
15655 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15656 Remove argument. Install handler to application.
15657 (set_frame_menubar): Don't change deep_p.
15658 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15659 FRAME_OUTER_TO_INNER_DIFF_Y.
15660 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15661 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15662 [HAVE_DIALOGS]: New macros.
15663 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15664 Use them.
15665 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15666
15667 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15668 init_service_handler. All callers changed. Return OSStatus value.
15669
15670 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15671 All callers changed so as not to call SetPortWindowPort.
15672 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15673 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15674 mac_draw_string_common.
15675 (mac_draw_image_string_qd): Likewise.
15676 (mac_draw_string_common): Use them. Add INLINE.
15677 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15678 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15679 GetGlobalMouse.
15680 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15681 and FRAME_OUTER_TO_INNER_DIFF_Y.
15682 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15683 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15684 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15685 repositioning window to mac_handle_window_event.
15686 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15687 saving window location to mac_handle_window_event
15688 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15689 (install_menu_target_item_handler): Remove argument in extern.
15690 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15691 Also accept command events.
15692 (do_keystroke): New function created from XTread_socket.
15693 (init_command_handler): Remove functions.
15694 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15695 and save window location by kEventWindowShowing and kEventWindowHiding
15696 handlers here. Don't call next handler for window state change and
15697 focus events.
15698 (mac_handle_application_event, mac_handle_keyboard_event)
15699 [TARGET_API_MAC_CARBON]: New functions.
15700 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15701 kEventWindowShowing and kEventWindowHiding events. Move installation
15702 of mouse, font, text input and menu target item handlers to
15703 install_application_handler.
15704 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15705 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15706 New function.
15707 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15708 Register it.
15709 (XTread_socket) [TARGET_API_MAC_CARBON]:
15710 Consolidate SendEventToEventTarget calls.
15711 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15712 Move application activation handler to mac_handle_application_event.
15713 Move keyboard handler to mac_handle_keyboard_event.
15714 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15715 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15716 init_command_handler. Call install_application_handler.
15717
15718 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15719 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15720
157212007-06-07 Glenn Morris <rgm@gnu.org>
15722
15723 * emacs.c (main): Use `emacs-copyright' in --version output.
15724
157252007-06-06 Chong Yidong <cyd@stupidchicken.com>
15726
15727 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15728
157292007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15730
15731 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15732
15733 * macgui.h: Replace WindowPtr with WindowRef.
15734
15735 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15736 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15737 Replace ControlHandle with ControlRef.
15738 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15739
15740 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15741 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15742 Replace ControlHandle with ControlRef.
15743 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15744 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15745
15746 * macterm.h (struct scroll_bar): Rename member control_handle_low
15747 and control_handle_high to control_ref_low and control_ref_high.
15748 All uses changed.
15749 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15750 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15751 respectively. All uses changed.
15752 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15753 (install_window_handler, remove_window_handler): Replace WindowPtr
15754 with WindowRef in externs.
15755
157562007-06-05 Juanma Barranquero <lekktu@gmail.com>
15757
15758 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15759
157602007-06-03 Nick Roberts <nickrob@snap.net.nz>
15761
15762 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15763
15764 * frame.c (Fmouse_position, Fmouse_pixel_position):
15765 Condition on HAVE_GPM too.
15766
15767 * term.c (term_mouse_highlight): Remove unused variables.
15768 (Fterm_open_connection): Set gpm_zerobased to 1.
15769 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15770 Use zero based co-ordinates.
15771 (handle_one_term_event): Report a drag as mouse movement too.
15772
15773 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15774
157752007-06-03 Chong Yidong <cyd@stupidchicken.com>
15776
15777 * image.c (search_image_cache): New function. Require background
15778 color match if background color is unspecified in the image spec.
15779 (uncache_image, lookup_image): Use it.
15780
157812007-06-01 Juanma Barranquero <lekktu@gmail.com>
15782
15783 * window.c (Fshrink_window): Reflow docstring.
15784
157852007-06-02 Chong Yidong <cyd@stupidchicken.com>
15786
15787 * Version 22.1 released.
15788
157892007-06-01 Richard Stallman <rms@gnu.org>
15790
15791 * xfns.c (x_encode_text): Add GCPRO.
15792
157932007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15794
15795 * xfns.c (x_set_name_internal): Save encoded name before
15796 x_encode_text in case string data is relocated.
15797
157982007-05-31 Richard Stallman <rms@gnu.org>
15799
15800 * buffer.c (syms_of_buffer): Doc fix.
15801
158022007-05-30 Nick Roberts <nickrob@snap.net.nz>
15803
15804 * sysdep.c (init_sys_modes): Add rather than replace with
15805 O_NONBLOCK.
15806
15807 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15808 term_mouse_moveto.
15809
15810 * termhooks.h (term_mouse_moveto): New extern.
15811
15812 * term.c (mouse_face_window): Rename...
15813 (Qmouse_face_window): ...to this.
15814 (term_show_mouse_face, term_clear_mouse_face)
15815 (term_mouse_highlight): Use Qmouse_face_window.
15816 (term_mouse_moveto): New function.
15817 (term_mouse_position): Make it work.
15818 (syms_of_term): Uncomment assignment to mouse_position_hook.
15819 Staticpro Qmouse_face_window.
15820
158212007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15822
15823 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15824 around current_column call.
15825
158262007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15827
15828 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15829 * xdisp.c (next_element_from_buffer):
15830 * window.c (delete_window):
15831 * term.c (term_mouse_highlight):
15832 * msdos.c (getdefdir):
15833 * macterm.c (mac_create_bitmap_from_bitmap_data)
15834 (init_font_name_table):
15835 * fns.c (Fsxhash):
15836 * data.c (Fmake_local_variable):
15837 * ccl.c (ccl_driver): Likewise.
15838
158392007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15840
15841 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15842 Call mac_wakeup_from_rne on window size change.
15843
158442007-05-25 Chong Yidong <cyd@stupidchicken.com>
15845
15846 * image.c (uncache_image): Fix typo.
15847
158482007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15849
15850 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15851
158522007-05-22 Richard Stallman <rms@gnu.org>
15853
15854 * xterm.c (x_connection_closed): Remove NO_RETURN.
15855
158562007-05-22 Martin Rudalics <rudalics@gmx.at>
15857
15858 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15859
158602007-05-21 Chong Yidong <cyd@stupidchicken.com>
15861
15862 * image.c (uncache_image): New function.
15863 (Fimage_refresh): New function.
15864
158652007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15866
15867 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15868
158692007-05-20 Nick Roberts <nickrob@snap.net.nz>
15870
15871 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15872 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15873
158742007-05-20 Nick Roberts <nickrob@snap.net.nz>
15875
15876 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15877 conditional on [HAVE_GPM_H].
15878
158792007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15880
15881 * syntax.c (skip_chars): Update syntax-table only after we checked that
15882 the new location is valid.
15883
158842007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15885
15886 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15887 mac_get_window_bounds.
15888
158892007-05-20 Nick Roberts <nickrob@snap.net.nz>
15890
15891 * Makefile.in (LIBGPM): Allow it to be set from configure.
15892 If set then link Emacs with it.
15893
15894 * config.in: Regenerate.
15895
15896 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15897 New externs.
15898
15899 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15900 Include gpm.h.
15901 (handle_one_term_event, term_gpm): New externs.
15902
15903 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15904 and allow it to be interrupted by SIGIO.
15905
15906 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15907 (wait_reading_process_output): Wait on gpm_fd too.
15908 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15909 (add_gpm_wait_descriptor_called_flag): New variable.
15910 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15911
15912 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15913 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15914 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15915 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15916 (make_lispy_event): Add case GPM_CLICK_EVENT.
15917 (read_avail_input): Handle mouse input.
15918
15919 * term.c (write_glyphs_with_face): New function.
15920 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15921 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15922 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15923 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15924 (last_mouse_x, last_mouse_y): New variables.
15925 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15926 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15927 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15928 (Fterm_close_connection): New functions.
15929 (term_init): Initialise mouse_face_window.
15930
159312007-05-19 Chong Yidong <cyd@stupidchicken.com>
15932
15933 * xdisp.c (redisplay_window): If first window line is a
15934 continuation line, recompute the new window start instead of
15935 recentering.
15936
159372007-05-18 Glenn Morris <rgm@gnu.org>
15938
15939 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15940 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15941
159422007-05-17 Glenn Morris <rgm@gnu.org>
15943
15944 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15945
159462007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15947
15948 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15949 dead key repeat and up events.
15950
159512007-05-14 Chong Yidong <cyd@stupidchicken.com>
15952
15953 * image.c (pbm_load): Check image size for monochrome pbm.
15954
159552007-05-13 Chong Yidong <cyd@stupidchicken.com>
15956
15957 * xterm.c (XTread_socket): Revert last change.
15958
159592007-05-12 Chong Yidong <cyd@stupidchicken.com>
15960
15961 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15962
15963 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15964
159652007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15966
15967 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15968 mixup (YAILOM).
15969
159702007-05-07 Andreas Schwab <schwab@suse.de>
15971
15972 * keymap.c (Flookup_key): Fix typo in last change.
15973
159742007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15975
15976 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15977 mapping for unibyte strings.
15978
159792007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15980
15981 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15982 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15983
159842007-04-29 Richard Stallman <rms@gnu.org>
15985
15986 * insdel.c (replace_range): For undo, record insertion first.
15987
159882007-04-29 Andreas Schwab <schwab@suse.de>
15989
15990 * lisp.h (VECSIZE): Use OFFSETOF.
15991
159922007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15993
15994 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15995 disabled lines.
15996
159972007-04-28 Richard Stallman <rms@gnu.org>
15998
15999 * lread.c (read_escape): In a string, \s is always space.
16000
160012007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16002
16003 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16004
16005 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16006 submenu for menu bar items.
16007
16008See ChangeLog.10 for earlier changes.
16009
16010;; Local Variables:
16011;; coding: utf-8
16012;; add-log-time-zone-rule: t
16013;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16014;; End:
16015
16016 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16017
16018 This file is part of GNU Emacs.
16019
16020 GNU Emacs is free software: you can redistribute it and/or modify
16021 it under the terms of the GNU General Public License as published by
16022 the Free Software Foundation, either version 3 of the License, or
16023 (at your option) any later version.
16024
16025 GNU Emacs is distributed in the hope that it will be useful,
16026 but WITHOUT ANY WARRANTY; without even the implied warranty of
16027 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16028 GNU General Public License for more details.
16029
16030 You should have received a copy of the GNU General Public License
16031 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16032
16033;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40