(word_boundary_p): Check scripts instead of charset.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1560f91a
EZ
12008-10-21 Eli Zaretskii <eliz@gnu.org>
2
3 * coding.c (Fencode_coding_region, Fdecode_coding_region)
4 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
5
f4668441
MR
62008-10-21 Martin Rudalics <rudalics@gmx.at>
7
8 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
9 Rename arg "buffer" to "buffer_or_name".
10 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
11 it optional.
12 (no_switch_window): Remove since the return value is not used.
13 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
14 Consider window as dedicated when Fwindow_dedicated_p returns a
15 non-nil value.
16 * lisp.h: Remove prototype for no_switch_window.
17
fd75ddb2
JD
182008-10-21 Jan Djärv <jan.h.d@swipnet.se>
19
20 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
21 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
22
07295713
KH
232008-10-21 Kenichi Handa <handa@m17n.org>
24
25 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
26 check Vlatin_extra_code_table.
27
712adc82
EZ
282008-10-20 Eli Zaretskii <eliz@gnu.org>
29
30 * fileio.c (Fset_file_modes): Doc fix.
31
f549eb0b
MA
322008-10-19 Michael Albinus <michael.albinus@gmx.de>
33
34 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
35 in arrays.
36
aac0c6e3
MR
372008-10-19 Martin Rudalics <rudalics@gmx.at>
38
39 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
40 Mention kill-buffer in doc-string.
41 (Fset_window_buffer): Reinsert tem check removed in last commit.
42 (Fenlarge_window, Fshrink_window): Have argument names and
43 doc-string follow Elisp manual more closely.
44
452008-10-18 Eli Zaretskii <eliz@gnu.org>
46
47 * fileio.c (Fset_file_modes): Doc fix.
48
492008-10-18 Martin Rudalics <rudalics@gmx.at>
50
51 * window.c (Fwindow_width, Fset_window_start)
52 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
53 (Fdelete_windows_on, Freplace_buffer_in_windows): Make
54 doc-strings follow code and Elisp manual more closely.
55 (Fwindow_dedicated_p): Make window argument optional.
56 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
57 (Fset_window_buffer): Respect any non-nil dedicated value for
58 window. Rename "buffer" argument to "buffer_or_name".
59
602008-10-18 Ulrich Mueller <ulm@gentoo.org>
61
62 * m/sh3.h: New file, machine description for SuperH.
63
642008-10-17 Martin Rudalics <rudalics@gmx.at>
65
66 * window.c (Fsplit_window): Rename arg horflag to horizontal.
67
682008-10-17 Kenichi Handa <handa@m17n.org>
69
70 * ftfont.c (ftfont_otf_features): Fix indexing
71 gsub_gpos->FeatureList.Feature. Check the validity of indices.
72
732008-10-16 Magnus Henoch <mange@freemail.hu>
74
75 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
76 (Fdbus_call_method_asynchronously): Ditto.
77 This change makes C-h f display the argument list.
78
792008-10-16 Chong Yidong <cyd@stupidchicken.com>
80
81 * fileio.c (Fexpand_file_name): Doc fix.
82
83 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
84 of :foreground and :background equivalent to unspecified (20.x
85 compatibility).
86
872008-10-15 Eli Zaretskii <eliz@gnu.org>
88
89 * buffer.c (syms_of_buffer): Doc fix.
90
912008-10-14 Kenichi Handa <handa@m17n.org>
92
93 * font.c (font_clear_prop): When clearing font width, clear the
94 average width field too.
95
962008-10-12 Andreas Schwab <schwab@suse.de>
97
98 * ftfont.c (ftfont_shape_by_flt): Make static.
99 * ftfont.h (ftfont_shape_by_flt): Don't declare.
100
101 * font.c: Don't include <m17n-flt.h>.
102
1032008-10-10 Eli Zaretskii <eliz@gnu.org>
104
105 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
106
1072008-10-09 Eli Zaretskii <eliz@gnu.org>
108
109 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
110 away code.
111
1122008-10-09 Chong Yidong <cyd@stupidchicken.com>
113
114 * dispnew.c (update_text_area): Avoid looping due to large glyph
115 overhangs (bug#1070).
116
1172008-10-09 Kenichi Handa <handa@m17n.org>
118
119 * fontset.c (face_for_char): If face->fontset is negative, just
120 return ascii_face.
121
122 * font.c (font_delete_unmatched): Fix previous change. Don't
123 reject an entity if DPI and AVGWIDTH of an entity are 0.
124
1252008-10-09 Martin Rudalics <rudalics@gmx.at>
126
127 * frame.c (Fraise_frame): On text-only terminals select frame in
128 order to make it visible. (Bug#1061)
129
1302008-10-08 Chong Yidong <cyd@stupidchicken.com>
131
132 * fontset.c (fontset_find_font): Check frame validity.
133
1342008-10-07 Chong Yidong <cyd@stupidchicken.com>
135
136 * gtkutil.c (xg_display_open): Reset default display if none
137 exists.
138 (xg_display_close): Allow Emacs to close all displays (bug#985).
139
1402008-10-06 Andreas Schwab <schwab@suse.de>
141
142 * sysdep.c (sys_signal): Always set SA_RESTART when
143 noninteractively.
144
1452008-10-06 Chong Yidong <cyd@stupidchicken.com>
146
147 * emacs.c (Vbefore_init_time, Vafter_init_time): Moved from
148 startup.el.
149
150 * lisp.h: (Vbefore_init_time, Vafter_init_time): Declare.
151
152 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
153 during initialization.
154
1552008-10-04 Eli Zaretskii <eliz@gnu.org>
156
157 * xdisp.c (redisplay_internal): If frame switched, redisplay the
158 whole thing on MSDOS frames as well as on a TTY.
159
160 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
161 well as for TTY.
162 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
163 well as on a TTY.
164
165 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
166 as well as for TTY.
167
168 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
169
170 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
171 MSDOS frames as well.
172
1732008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
174
175 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
176 correct arguments.
177 * menu.c (find_and_return_menu_selection) Add cast.
178
1792008-10-03 Glenn Morris <rgm@gnu.org>
180
181 * emacs.c (USAGE1): Add --daemon.
182
1832008-10-02 Eli Zaretskii <eliz@gnu.org>
184
185 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
186 100, so it's in percents as advertised.
187
1882008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
189
190 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
191 (ns_output.current_cursor, ns_output.desired_cursor)
192 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
193 (FRAME_NEW_CURSOR_COLOR): Remove.
194
195 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
196 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core emacs
197 enumeration (HOLLOW_BOX_CURSOR, etc.).
198
199 * nsterm.m (ns_frame_rehighlight): Remove commented code.
200 (draw_window_cursor): Simplify code.
201 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): Don't
202 change cursor type. In latter, call rehighlight instead of doing
203 updates manually.
204 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): Use
205 core emacs cursor types.
206
207 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
208 NS.
209
2102008-10-02 Martin Rudalics <rudalics@gmx.at>
211
212 * process.c (Faccept_process_output): Fix doc-string.
213
2142008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
215
216 * gmalloc.c (__sbrk): Also define for uClibc.
217
218 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
219 for uClibc.
220
2212008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
222
223 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
224 styles.
225 (nsfont_open): Reenable the cache.
226
2272008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
228
229 * font.c (font_matching_entity): Reflect ATTRS in font selection.
230 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
231
2322008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
233
234 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
235 a suspended terminal.
236
2372008-09-30 Michael Albinus <michael.albinus@gmx.de>
238
239 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
240
2412008-09-30 Eli Zaretskii <eliz@gnu.org>
242
243 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
244
2452008-09-30 Chong Yidong <cyd@stupidchicken.com>
246
247 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
248 in a continued line coincides with a line beginning.
249
2502008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
251
252 * nsfont.m (nsfont_trait_distance): Fix bug.
253 (nsfont_list): Return a list rather than a vector (syncs with Handa
254 changes of 2008-05-14).
255 (nsfont_open): Improve logging.
256
2572008-09-29 Andreas Schwab <schwab@suse.de>
258
259 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
260
2612008-09-28 Martin Rudalics <rudalics@gmx.at>
262
263 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
264 name as char-resolve-modifiers.
265 Reported by: Markus Triska <markus.triska@gmx.at>
266
2672008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
268
269 * dispnew.c (init_display): Return earlier when running as a daemon.
270
2712008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
272
273 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
274
2752008-09-27 Eli Zaretskii <eliz@gnu.org>
276
277 * composite.c (Fcomposition_get_gstring)
278 (Fcompose_region_internal, Fcompose_string_internal)
279 (Ffind_composition_internal): Doc fix.
280 (syms_of_composite) <compose-chars-after-function>: Doc fix.
281 (syms_of_composite) <auto-composition-function>: Doc fix.
282 (syms_of_composite) <composition-function-table>: Doc fix.
283
2842008-09-25 Chong Yidong <cyd@stupidchicken.com>
285
286 * search.c (wordify): New argument for lax word-ends.
287 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
288
2892008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
290
291 * lisp.h (is_daemon): Declare.
292 * dispnew.c (init_display): Do not try to initialize the terminal
293 when running as a daemon.
294
2952008-09-22 Chong Yidong <cyd@stupidchicken.com>
296
297 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
298 x_display_pixel_height.
299
3002008-09-22 Martin Rudalics <rudalics@gmx.at>
301
302 * undo.c (record_point): Don't call Fundo_boundary for first
303 change. (Bug#731)
304
3052008-09-22 Juanma Barranquero <lekktu@gmail.com>
306
307 * emacs.c (Fdaemonp): Doc fix.
308
3092008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
310
311 * emacs.c (main): Place #ifdef in the proper place.
312
3132008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
314
315 * emacs.c (standard_args): Add --daemon.
316 (main): Disconnect from the terminal when --daemon is passed.
317 (is_daemon): New variable.
318 (Fdaemonp): New function.
319 (syms_of_emacs): Defsubr it.
320
3212008-09-20 Chong Yidong <cyd@stupidchicken.com>
322
323 * xdisp.c (get_next_display_element): Handle string display
324 correctly when checking for the end of a box run.
325
3262008-09-20 Glenn Morris <rgm@gnu.org>
327
328 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
329 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
330 (Frename_file): Avoid copying to trash if a rename involves
331 a delete. (Bug#964).
332
3332008-09-20 Eli Zaretskii <eliz@gnu.org>
334
335 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
336 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
337 frames as well as termcap frames.
338 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
339 get_named_tty.
340
3412008-09-19 Eli Zaretskii <eliz@gnu.org>
342
343 * process.c (procfs_system_process_attributes): Fix cmdline in
344 case /proc/PID/cmdline is empty.
345
346 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
347 x_display_pixel_height.
348
3492008-09-19 Juanma Barranquero <lekktu@gmail.com>
350
351 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
352
353 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
354 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
355
3562008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
357
358 * dispextern.h (struct it): Move line_wrap away from the middle of
359 bitfields. Move voffset in struct iterator_stack_entry after the
360 bitfields. Move tab_width near after another short.
361
3622008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
363
364 * frame.h (struct frame): Move alpha from the middle of bitfields.
365
366 * window.h (struct window): Move frozen_window_start_p after the
367 rest of the bitfields to reduce padding.
368
3692008-09-18 Chong Yidong <cyd@stupidchicken.com>
370
371 * xterm.h (x_display_info): Remove `height' and `width' members.
372
373 * nsterm.h (ns_display_info): Remove `height' and `width' members.
374
375 * w32term.h (w32_display_info): Remove `height', `width',
376 `height_in', and `width_in' members.
377
378 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
379 functions.
380 (x_calc_absolute_position): Use them.
381 (x_term_init): Omit removed `height' and `width' members.
382
383 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
384 functions.
385 (w32_read_socket, x_calc_absolute_position): Use them.
386 (w32_initialize_display_info, w32_term_init): Omit removed members
387 of w32_display_info.
388
389 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
390 functions.
391 (ns_initialize_display_info): Omit removed members of
392 ns_display_info.
393
394 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
395 functions.
396 (x_calc_absolute_position): Use them.
397 (x_term_init): Omit removed `height' and `width' members.
398
399 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
400 (compute_tip_xy): Use x_display_pixel_height and
401 x_display_pixel_width.
402
403 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
404 x_display_pixel_width.
405
406 * xmenu.c (menu_position_func): Use x_display_pixel_height and
407 x_display_pixel_width.
408
4092008-09-18 Kenichi Handa <handa@m17n.org>
410
411 * composite.c (fill_gstring_header): Don't check FROM and TO here.
412 (composition_compute_stop_pos): Fix handling of static composition.
413 (Fcomposition_get_gstring): Check FROM and TO at first.
414
4152008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
416
417 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
418 mixup (YAILOM).
419
4202008-09-17 Chong Yidong <cyd@stupidchicken.com>
421
422 * indent.c (Fvertical_motion): Use position reported by iterator
423 instead of PT for determining screen motion (bug#943).
424
4252008-09-17 Romain Francoise <romain@orebokech.com>
426
427 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
428
4292008-09-17 Kenichi Handa <handa@m17n.org>
430
431 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
432
433 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
434 if necessary.
435
4362008-09-16 Kenichi Handa <handa@m17n.org>
437
438 * coding.c (make_conversion_work_buffer): Avoid calling
439 Fget_buffer_create if it is not necessary.
440
4412008-09-15 Martin Rudalics <rudalics@gmx.at>
442
443 * window.c (Fselect_window): Don't update window_select_count and
444 use_time when norecord is not nil.
445
4462008-09-14 Kenichi Handa <handa@m17n.org>
447
448 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
449 specpdl_ptr.
450
4512008-09-12 Kenichi Handa <handa@m17n.org>
452
453 * indent.c (scan_for_column): Don't handle automatic composition
454 if the current buffer is not associated with a window.
455
456 * composite.c (composition_reseat_it): If the current buffer is
457 not associated with a window, ignore the automatic composition.
458 (find_automatic_composition): Likewise.
459
4602008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
461
462 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
463 (Fgpm_mouse_stop): Use it.
464 * termhooks.h (close_gpm): Declare.
465 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
466 connection if Gpm_GetEvent fails.
467
468 * window.c (set_window_buffer): Always preserve current-buffer.
469
4702008-09-12 Glenn Morris <rgm@gnu.org>
471
472 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
473
4742008-09-11 Glenn Morris <rgm@gnu.org>
475
476 * charset.c (charset-map-path): Doc fix.
477
4782008-09-10 Kenichi Handa <handa@m17n.org>
479
480 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
481
482 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
483 compose a grapheme cluster with the preceding base glyph.
484
485 * composite.c (composition_compute_stop_pos): Fix previous change.
486 Reset cmp_it->id to -1 at first.
487
4882008-09-10 Glenn Morris <rgm@gnu.org>
489
490 * Makefile.in (character.o, chartab.o): Fix config.h typo.
491
4922008-09-09 Chong Yidong <cyd@stupidchicken.com>
493
494 * keyboard.c (read_key_sequence): Reapply translation maps when
495 switching keyboards.
496
4972008-09-09 Kenichi Handa <handa@m17n.org>
498
499 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
500 characters.
501
502 * composite.c (FORWARD_CHAR): Fix calculation
503 of (POSITION).pos_byte.
504 (composition_compute_stop_pos): Limit the search of composition to
505 at most 500 characters ahead. If we reach the limit or find a
506 newline, set cmp_it->ch to -2 and return 0.
507 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
508
5092008-09-08 Kenichi Handa <handa@m17n.org>
510
511 * indent.c (Fvertical_motion): Be sure to set
512 it_overshoot_expected if it.cmp_it.id is non-negative.
513
5142008-09-07 Andreas Schwab <schwab@suse.de>
515
516 * callproc.c (Fcall_process): Don't hold references to string data
517 across garbage collection. Move initialisation of new_argv down
518 to avoid compiler bug.
519
5202008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
521
522 * process.c (Fsystem_process_attributes): Doc fix.
523
5242008-09-07 Chong Yidong <cyd@stupidchicken.com>
525
526 * callproc.c (Fcall_process): Canonicalize current directory name.
527
528 * xdisp.c (move_it_to): When moving by vpos, ensure that the
529 iterator advances to the next line if the current line ends in a
530 continued tab.
531
5322008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
533
534 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
535 member to point to cmp_from.
536
537 * xdisp.c: Doc fix for references to gidx data member.
538
5392008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
540
541 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
542
5432008-09-07 Kenichi Handa <handa@m17n.org>
544
545 * composite.c (FORWARD_CHAR): Check STOP after
546 incrementing (POSITION).pos.
547
5482008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
549
550 * process.c (Fsystem_process_attributes): Doc fix.
551
5522008-09-06 Chong Yidong <cyd@stupidchicken.com>
553
554 * keyboard.c (Ftop_level): Doc fix.
555
5562008-09-06 Eli Zaretskii <eliz@gnu.org>
557
558 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
559 minibuffer, don't let lower part of menu invade the echo area.
560
561 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
562 "char *q" to access menu text and advance through it. Revert the
563 change that displayed ">" instead of ASCII character 0x10.
564
5652008-09-05 Eli Zaretskii <eliz@gnu.org>
566
567 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
568 toggle boxes and radio buttons on MS-DOS as well.
569
5702008-09-05 Kenichi Handa <handa@m17n.org>
571
572 * composite.c (autocmp_chars): Check lookback count.
573 (composition_compute_stop_pos): Set cmp_it->lookback.
574 (composition_reseat_it): Check lookback count.
575 (struct position_record): New struct.
576 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
577 (find_automatic_composition): New function.
578 (composition_adjust_point): Use find_automatic_composition.
579
580 * dispextern.h (struct composition_it): New member lookback.
581
5822008-09-02 Chong Yidong <cyd@stupidchicken.com>
583
584 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
585 if moving by a single line.
586
5872008-09-02 Andreas Schwab <schwab@suse.de>
588
589 * xterm.c (x_delete_display): Fix merge error.
590
591 * fileio.c (Fexpand_file_name): Remove unused variables.
592
5932008-09-02 Eli Zaretskii <eliz@gnu.org>
594
595 * fileio.c (Fexpand_file_name): Copy argument `name' into local
596 storage on all platforms, not just on DOS_NT.
597
5982008-09-02 Jason Rumney <jasonr@gnu.org>
599
600 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
601 mouse is not grabbed after menu is finished.
602
6032008-09-01 Chong Yidong <cyd@stupidchicken.com>
604
605 * xfaces.c (Finternal_set_alternative_font_family_alist)
606 (Finternal_set_alternative_font_registry_alist): Properly copy
607 entire alist structure.
608
6092008-09-01 Kenichi Handa <handa@m17n.org>
610
611 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
612 representative chars of the script is a vector.
613 (ftfont_list): Handle the case the representative chars of the
614 script is a vector.
615
616 * character.c (syms_of_character): Docstring of
617 script-representative-chars fixed.
618
6192008-08-31 Eli Zaretskii <eliz@gnu.org>
620
621 * msdos.c (BUILD_CHAR_GLYPH): New macro.
622 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
623 the menu. Allocate larger buffer for `text', to account for
624 possible ^C characters.
625
6262008-08-31 Martin Rudalics <rudalics@gmx.at>
627
628 * xdisp.c (prepare_menu_bars): Don't call
629 Vwindow_size_change_functions with arg Qt.
630
6312008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
632
633 * font.h (font_range):
634 * fileio.c (report_file_error):
635 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
636
6372008-08-30 Glenn Morris <rgm@gnu.org>
638
639 * data.c (Fmake_variable_frame_local): Doc fix.
640
641 * frame.c (Fmodify_frame_parameters): Doc fix.
642
6432008-08-30 Eli Zaretskii <eliz@gnu.org>
644
645 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
646 needed by GetTokenInformation.
647 (w32_system_process_attributes): Check return values of all system
648 APIs.
649
650 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
651 only when the state changes.
652 (IT_update_begin, IT_update_end): Add termscript trace.
653
654 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
655 clipboard is unavailable. Set dst to NULL if it doesn't point to
656 malloc'ed data.
657 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
658 passing random values to xfree.
659
660 * dispnew.c (init_display): Set `tty's association in frame's
661 parameters alist to the name of the terminal device, if that is
662 known.
663
6642008-08-29 Jason Rumney <jasonr@gnu.org>
665
666 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
667
6682008-08-29 Eli Zaretskii <eliz@gnu.org>
669
670 * composite.c (fill_gstring_body): Avoid compiler warnings.
671
672 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
673 LGLYPH_SET_CODE to avoid compiler warnings.
674
675 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
676
677 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
678
679 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
680 LGLYPH_SET_CODE.
681
6822008-08-29 Kenichi Handa <handa@m17n.org>
683
684 * fileio.c (report_file_error): Don't downcase the first character
685 of errstring if it is still unibyte.
686
6872008-08-29 Kenichi Handa <handa@m17n.org>
688
689 These changes are to re-implement the automatic composition so
690 that it doesn't use text properties.
691
692 * Makefile.in (ftfont.o): Depend on composite.h.
693 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
694
695 * character.h (Vunicode_category_table): Extern it.
696
697 * character.c (Vunicode_category_table): New variable.
698 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
699
700 * chartab.c (optimize_sub_char_table): Perform more greedy
701 optimization.
702
703 * composite.h (enum composition_method): Delete
704 COMPOSITION_WITH_GLYPH_STRING.
705 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
706 (Vcomposition_function_table): Extern it.
707 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
708 (composition_gstring_put_cache, composition_gstring_from_id)
709 (composition_gstring_p, composition_gstring_width)
710 (composition_compute_stop_pos, composition_reseat_it)
711 (composition_update_it, composition_adjust_point): Extern them.
712 (Fcomposition_get_gstring): EXFUN it.
713
714 * composite.c: Include window.h, frame.h, dispextern.h font.h.
715 (Vcomposition_function_table)
716 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
717 (gstring_hash_table, gstring_work, gstring_work_headers): New
718 variables.
719 (gstring_lookup_cache, composition_gstring_put_cache)
720 (composition_gstring_from_id, composition_gstring_p)
721 (composition_gstring_width, fill_gstring_header)
722 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
723 (composition_reseat_it, composition_update_it)
724 (composition_adjust_point, Fcomposition_get_gstring): New
725 functions.
726 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
727 and gstring_work_headers. DEFVAR_LISP composition-function-table.
728 Defsubr compostion_get_gstring.
729
730 * dispextern.h (struct glyph): New union u.cmp. Delete the member
731 cmp_id.
732 (struct glyph_string): Delete the member gidx. New members
733 cmp_id, cmp_from, and cmp_to.
734 (enum it_method): Delete GET_FROM_COMPOSITION.
735 (struct composition_it): New struct.
736 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
737 Delete c, len, cmp_id, cmp_len in u.comp.
738
739 * font.h (enum lgstring_indices): Delete it.
740 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
741 (enum lglyph_indices): Likewise.
742 (font_range): Extern adjusted.
743 (font_fill_lglyph_metrics): Extern it.
744
745 * font.c (QCf): New variable.
746 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
747 (font_prepare_composition): Delete this function.
748 (font_range): Type and arguments changed.
749 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
750 (font_fill_lglyph_metrics): New function.
751 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
752 changed.
753 (syms_of_font): DEFSYM QCf. Delete defsubr for
754 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
755 Sfont_shape_gstring.
756
757 * fontset.h (font_for_char): Extern it.
758
759 * fontset.c (font_for_char): New function.
760
761 * ftfont.c: Include composite.h.
762 (ftfont_resolve_generic_family): Add langset "en" to pattern.
763 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
764 LGSTRING_LENGTH.
765
766 * indent.c: Include composite.h and dispextern.h.
767 (check_composition): Delete this function.
768 (scan_for_column): Handle composition by
769 composition_compute_stop_pos, composition_reseat_it, and
770 composition_update_it.
771 (compute_motion): Likewise.
772 (Fvertical_motion): Fix checking of composition.
773
774 * keyboard.c (adjust_point_for_property): Check composition by
775 composition_adjust_point.
776
777 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
778 struct glyph_string.
779
780 * term.c (encode_terminal_code): Adjusted for the change of struct
781 glyph.
782 (append_composite_glyph): Adjusted for the change of struct it and
783 struct glyph.
784 (produce_composite_glyph): Likewise.
785
786 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
787 for the change of struct glyph_string.
788 (x_draw_glyph_string): Likewise.
789
790 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
791 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
792
793 * xdisp.c: Include font.h.
794 (it_props): Delete the entry for Qauto_composed.
795 (init_iterator): Initialize it->cmp_it.id to -1.
796 (compute_stop_pos): Call composition_compute_stop_pos.
797 (face_before_or_after_it_pos): Adjusted for the change of struct
798 it.
799 (handle_auto_composed_prop): Delete it.
800 (handle_composition_prop): Handle only static composition.
801 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
802 from xassert. Initialize it->cmp_it.stop_pos.
803 (push_it): Adjusted for the change of struct it.
804 (pop_it): Likewise.
805 (get_next_element): Delete next_element_from_composition.
806 (CHAR_COMPOSED_P): New macro.
807 (get_next_display_element): For automatic composition, get a face
808 from the font in the glyph-string.
809 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
810 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
811 case.
812 (next_element_from_string): Check if the character at the current
813 position is composed by CHAR_COMPOSED_P.
814 (next_element_from_buffer): Likewise.
815 (next_element_from_composition): Adjusted for the change of struct
816 it. Update it->cmp_it.
817 (dump_glyph): Adjusted for the change of struct glyph.
818 (fill_composite_glyph_string): Adjusted for the change of struct
819 it and struct glyph. Don't handle automatic composition here.
820 (fill_gstring_glyph_string): New function.
821 (x_get_glyph_overhangs): Handle automatic composition.
822 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
823 glyph.
824 (BUILD_GSTRING_GLYPH_STRING): New macro.
825 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
826 automatic composition.
827 (append_composite_glyph): Adjusted for the change of struct it and
828 struct glyph.
829 (x_produce_glyphs): Adjusted for the change of struct it.
830
831 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
832 the change of struct glyph_string.
833 (x_draw_glyph_string): Likewise.
834
8352008-08-29 Glenn Morris <rgm@gnu.org>
836
837 * buffer.c (word-wrap): Doc fix.
838 * xdisp.c (truncate-partial-width-windows): Doc fix.
839 Increase default to 50.
840
8412008-08-29 Chong Yidong <cyd@stupidchicken.com>
842
843 * xdisp.c (update_tool_bar_unwind): New function.
844 (update_tool_bar): Temporarily set selected frame before building
845 tool-bar items.
846
8472008-08-28 Michael Albinus <michael.albinus@gmx.de>
848
849 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
850 snprintf, respectively.
851 (xd_append_arg): Convert strings with Fstring_make_unibyte.
852
8532008-08-28 Chong Yidong <cyd@stupidchicken.com>
854
855 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
856 LDFLAGS to GNUstep CC invocation.
857
8582008-08-27 Chong Yidong <cyd@stupidchicken.com>
859
860 * indent.c (Fvertical_motion): Revert last change. Handle the
861 general case where we are moving forward, and PT spans multiple
862 screen lines.
863
864 * eval.c (find_handler_clause): Temporarily increase
865 max-lisp-eval-depth while printing the backtrace buffer, to
866 guarantee that help-mode code can run.
867
8682008-08-27 Eli Zaretskii <eliz@gnu.org>
869
870 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
871 colors under -rv.
872 (IT_set_frame_parameters): Don't swap foreground and background
873 colors if `(reverse . t)' is present in the frame properties.
874 (internal_terminal_init): Call init_frame_faces only for the
875 initial frame.
876
8772008-08-27 Andreas Schwab <schwab@suse.de>
878
879 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
880
8812008-08-27 Andreas Schwab <schwab@suse.de>
882
883 * search.c (search_buffer): Set char_base to zero only at the end.
884
8852008-08-27 Kenichi Handa <handa@m17n.org>
886
887 * fileio.c (report_file_error): Fix handling of multibyte error
888 string.
889
8902008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
891
892 * xterm.c (x_term_init): Temporarily hide the partially
893 initialized terminal while calling vendor-specific-keysyms.
894
8952008-08-26 Eli Zaretskii <eliz@gnu.org>
896
897 * msdos.c (internal_terminal_init): Most initializations done only
898 once, especially initial_screen_colors[] and termscript open.
899
9002008-08-26 Chong Yidong <cyd@stupidchicken.com>
901
902 * eval.c (Fcondition_case): Doc fix.
903
904 * widgetprv.h (EmacsFramePart): Change font member to the new font
905 struct.
906
907 * widget.c: Include character.h and font.h for XSETFONT.
908 (setup_frame_gcs): Compute X font id from font struct, just once.
909
9102008-08-26 Eli Zaretskii <eliz@gnu.org>
911
912 * term.c (get_named_tty): Fix last change.
913
9142008-08-26 Chong Yidong <cyd@stupidchicken.com>
915
916 * indent.c (Fvertical_motion): If moving forward starting from a
917 multi-line string, move the iterator to the last line of that
918 string.
919
9202008-08-25 Eli Zaretskii <eliz@gnu.org>
921
922 * frame.c (do_switch_frame): Mark previously displayed frame as
923 obscured for FRAME_MSDOS_P frames as well.
924
9252008-08-24 Eli Zaretskii <eliz@gnu.org>
926
927 * frame.c (make_terminal_frame): Initialize f->terminal,
928 f->terminal->reference_count, and scroll bars on MS-DOS as well.
929 Set the top frame to newly created frame.
930 (Fmake_terminal_frame): Reuse the_only_display_info.
931
932 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
933 estimating available memory.
934
9352008-08-23 David Reitter <david.reitter@gmail.com>
936
937 * nsterm.m (ns_draw_window_cursor): Don't call
938 NSDisableScreenUpdates and NSEnableScreenUpdates on
939 non-NS_IMPL_COCOA systems.
940
9412008-08-23 Andreas Schwab <schwab@suse.de>
942
943 * process.c (procfs_system_process_attributes): Fix use of
944 uninitialized variables.
945
9462008-08-23 Eli Zaretskii <eliz@gnu.org>
947
948 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
949
950 * dispnew.c (init_display): Remove MS-DOS specific conditions for
951 calling tty-set-up-initial-frame-faces.
952
953 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
954 MSDOS frames along with X frames.
955
956 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
957 addition to output_termcap.
958
959 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
960
961 * termchar.h (FRAME_TTY): Support output_msdos_raw.
962 (struct tty_display_info) [MSDOS]: Add fields related to mouse
963 highlight.
964
965 * process.c [!subprocesses]: Define QCname.
966 (syms_of_process): Intern and staticpro it.
967
968 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
969 Adjust for changes in encoding/decoding routines. Use
970 encode_coding_object and decode_coding_object instead of
971 encode_coding and decode_coding.
972
973 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
974 argument.
975
976 * dosfns.c: Include frame.h before termhooks.h.
977 (dos_cleanup): Use CURTTY ()->termscript instead of a global
978 variable termscript.
979
980 * s/msdos.h (USER_FULL_NAME): Define.
981 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
982
983 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
984 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
985 pw->pw_gecos.
986
987 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
988 SELECTED_FRAME as additional (1st) argument.
989 (tty_read_avail_input): Handle output_msdos_raw in
990 addition to output_termcap.
991
992 * msdos.c: Include frame.h before termhooks.h.
993 (mouse_on, mouse_off, mouse_moveto, mouse_init)
994 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
995 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
996 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
997 (IT_set_terminal_modes, IT_reset_terminal_modes)
998 (IT_set_frame_parameters): Use tty->termscript instead of a global
999 variable termscript.
1000 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1001 global variable terminal_coding. Don't refer to
1002 Vnonascii_translation_table.
1003 (internal_terminal_init): Set Vwindow_system in current_kboard.
1004 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1005 Announce date and time of session start, if termscript is open.
1006 Don't zero out the_only_display_info (it is done in
1007 term.c:init_tty). Open termscript only of not already open. Log
1008 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1009 here instead of dos_ttraw. Don't initialize display if this is an
1010 initial tty. Don't set FRAME_FONT.
1011 (Vwindow_system_version): Bump to 23.
1012 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1013 is available, set up mouse_position_hook.
1014 (dos_ttraw, IT_set_terminal_modes): If called with initial
1015 terminal, do nothing.
1016 (IT_set_frame_parameters): Handle the Qtty_type frame
1017 parameter by calling internal_terminal_init.
1018 (dos_set_window_size, show_mouse_face)
1019 (clear_mouse_face, IT_note_mode_line_highlight)
1020 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1021 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1022 (initialize_msdos_display): New function.
1023 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1024 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1025 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1026 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1027 Accept additional argument: a pointer to a frame. All callers
1028 changed.
1029 (request_sigio, unrequest_sigio): Don't define, now defined on
1030 sysdep.c.
1031 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1032
1033 * term.c [MSDOS]: Include msdos.h.
1034 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1035 conditional to DOS_NT. Allow only one call to this function in a
1036 session. Don't allocate a new struct tty_display_info; instead,
1037 reuse the_only_display_info. Call get_tty_size to get screen
1038 dimensions. Call init_baud_rate to set bad_rate.
1039 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1040 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1041 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1042 stdin/stdout.
1043 (get_tty_terminal, get_named_tty, Ftty_type)
1044 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1045 output_termcap.
1046 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1047 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1048 only when subprocesses are supported
1049
1050 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1051 f->output_data.x.
1052 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1053 terminal devices.
1054
1055 * msdos.h Remove definition of struct x_display_info and struct
1056 x_output.
1057 (FRAME_FONT): Use output_data.tty.
1058 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1059 (struct x_display_info): Renamed from display_info. All users in
1060 msdos.c changed.
1061 (struct x_output): Remove background_pixel and foreground_pixel.
1062 (the_only_display_info): Renamed from the_only_x_display.
1063 (dos_ttraw): Update prototype.
1064
1065 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1066 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1067
10682008-08-23 Jason Rumney <jasonr@gnu.org>
1069
1070 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1071 (fn_TIFFSetDirectory): New library function used.
1072 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1073 (tiff_load): Use :index to select among multiple images. Set count
1074 property when multiple images exist.
1075 (gif_format): Use :index, not :image.
1076
10772008-08-23 Chong Yidong <cyd@stupidchicken.com>
1078
1079 * xdisp.c (try_scrolling): Check INT_MAX instead of
1080 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1081 to obtain INT_MAX.
1082
10832008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1084
1085 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1086
10872008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1088
1089 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1090 GNUstep library location.
1091
10922008-08-21 Chong Yidong <cyd@stupidchicken.com>
1093
1094 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1095 before using it.
1096
1097 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1098
10992008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1100
1101 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1102 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1103 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1104 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1105 (EmacsApp-cursor_blink_handler): Remove declaration.
1106 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1107 match 01 Feb 2008 changes in xterm.c.
1108 (ns_read_socket): Add cast to avoid warning.
1109 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1110 GNUstep.
1111
11122008-08-20 Chong Yidong <cyd@stupidchicken.com>
1113
1114 * xselect.c (x_get_foreign_selection): Return nil if desired
1115 selection could not be obtained, instead of signalling an error.
1116
11172008-08-20 David Reitter <david.reitter@gmail.com>
1118
1119 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1120 * nsterm.m: Remove ns-specific code for cursor blinking.
1121 (ns_draw_window_cursor): Clear cursor properly rather than
1122 redrawing the area. Respect width of bar cursors.
1123 These changes enable the use of generic blink-cursor-mode and
1124 generic cursor types in NS and support smooth cursor movements (do
1125 not blink off after command).
1126 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1127 Nextstep, too.
1128
11292008-08-19 Kenichi Handa <handa@m17n.org>
1130
1131 * font.c (Vfont_log_deferred): New variable.
1132 (font_add_log): Check Vfont_log_deferred.
1133 (font_deferred_log): New function.
1134
1135 * font.h (font_deferred_log): Extern it.
1136
1137 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1138 for sorting.
1139 (face_for_char): Use deferred log.
1140
11412008-08-18 Kenichi Handa <handa@m17n.org>
1142
1143 * fontset.c (face_for_char): Add font log.
1144
1145 * font.c (font_add_log): Add the font properties :script, :lang,
1146 and :otf in the log.
1147
11482008-08-17 Chong Yidong <cyd@stupidchicken.com>
1149
1150 * xdisp.c: Remove dead code.
1151 (handle_invisible_prop, next_overlay_string): Defer call to
1152 setup_for_ellipsis.
1153 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1154
11552008-08-15 Chong Yidong <cyd@stupidchicken.com>
1156
1157 * xfaces.c (lookup_derived_face): Properly handle possible zero
1158 return value of get_lface_attributes.
1159 (merge_faces): Don't tell lookup_derived_face to signal an error
1160 if face is not found.
1161
1162 * dired.c (Fdirectory_files): Doc fix.
1163
1164 * process.c (make_process): Initialize kill_without_query struct
1165 member.
1166
11672008-08-15 Eli Zaretskii <eliz@gnu.org>
1168
1169 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1170 Alternative calculation of totphys for Visual Studio 6.
1171
1172 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1173
1174 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1175 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1176 All users changed.
1177 (stat): Only root directory passed to GetDriveType. Allow RAM
1178 disk as well as local fixed disk when w32-get-true-file-attributes
1179 is set to `local'.
1180 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1181 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1182 (w32_cached_id, w32_add_to_cache): New functions.
1183 (get_name_and_id): Look account names in the cache before calling
1184 lookup_account_sid.
1185 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1186 New initialization flags.
1187 (globals_of_w32): Initialize them to zero.
1188 (w32_system_process_attributes): Use w32_cached_id and
1189 w32_add_to_cache.
1190
11912008-08-14 Lawrence Mitchell <wence@gmx.li>
1192
1193 * lread.c (Fread_char, Fread_char_exclusive): If no character
1194 event is read before timeout is reached, return nil, rather than
1195 converting to a number.
1196
11972008-08-14 Chong Yidong <cyd@stupidchicken.com>
1198
1199 * fns.c (use_dialog_box): Doc fix.
1200
1201 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1202 on OS X.
1203
12042008-08-13 Chong Yidong <cyd@stupidchicken.com>
1205
1206 * frame.c (Qns_parse_geometry): New var.
1207 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1208
12092008-08-11 Chong Yidong <cyd@stupidchicken.com>
1210
1211 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1212 space character in calculating tabs.
1213
12142008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1215
1216 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1217
12182008-08-10 Glenn Morris <rgm@gnu.org>
1219
1220 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1221 silence gcc "limited range of data type" warnings in some
1222 make_fixnum_or_float calls.
1223
12242008-08-09 Eli Zaretskii <eliz@gnu.org>
1225
1226 * w32.c (w32_system_process_attributes): If the process does not
1227 exist, return nil.
1228
1229 * w32.c: Include thelp32.h, psapi.h and coding.h.
1230 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1231 declarations.
1232 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1233 (Process32Next_Proc): New typedefs.
1234 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1235 (g_b_init_process32_next, g_b_init_open_thread_token)
1236 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1237 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1238 (g_b_init_get_process_working_set_size)
1239 (g_b_init_global_memory_status_ex): New static variables.
1240 (globals_of_w32): Initialize them.
1241 (create_toolhelp32_snapshot, process32_first, process32_next)
1242 (open_thread_token, impersonate_self, revert_to_self)
1243 (get_process_memory_info, get_process_working_set_size)
1244 (global_memory_status, global_memory_status_ex): New wrapper
1245 functions.
1246 (w32_list_system_processes, w32_system_process_attributes)
1247 (enable_privilege, restore_privilege, ltime, process_times):
1248 New functions.
1249 (convert_time_raw): New function.
1250 (convert_time): Remove conversion of FILETIME into time in 100
1251 nsec units, call convert_time_raw instead.
1252
1253 * process.h (w32_list_system_processes, w32_system_process_attributes):
1254 Add prototypes.
1255 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1256 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1257 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1258 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1259
1260 * process.c (Fsystem_process_attributes): Doc fix.
1261
12622008-08-08 Chong Yidong <cyd@stupidchicken.com>
1263
1264 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1265 a continued multi-char glyph; if so, advance to the actual glyph.
1266
12672008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1268
1269 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1270
1271 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1272 (.m.o): Use it.
1273 * config.in: Regenerate.
1274
12752008-08-07 Chong Yidong <cyd@stupidchicken.com>
1276
1277 * xdisp.c (redisplay_window): Revert last change.
1278 (try_window): Check bottom scroll margin too.
1279
12802008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1281
1282 * config.in: Regenerate.
1283
1284 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1285 -list-load-path-shadows'.
1286 (nsgui.h): Reduce number of things depending on it.
1287
12882008-08-06 Chong Yidong <cyd@stupidchicken.com>
1289
1290 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1291 instead of window-end which does the wrong thing at eob.
1292 (try_cursor_movement): Minor optimization.
1293 (redisplay_window): If scroll margin is defined, don't assume
1294 window doesn't need scrolling.
1295
12962008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1297
1298 * config.in: Regenerate.
1299
1300 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1301 (mostlyclean): Don't delete *.d under NS.
1302
1303 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1304
13052008-08-06 Kenichi Handa <handa@m17n.org>
1306
1307 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1308
13092008-08-06 Andreas Schwab <schwab@suse.de>
1310
1311 * config.in: Regenerate.
1312
13132008-08-05 Chong Yidong <cyd@stupidchicken.com>
1314
1315 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1316 forcing a window start.
1317
1318 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1319 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1320
13212008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1322
1323 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1324 argument.
1325
13262008-08-05 Juanma Barranquero <lekktu@gmail.com>
1327
1328 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1329 <scroll-down-aggressively, before-change-functions>:
1330 <after-change-functions>: Reflow docstrings.
1331
13322008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1333 Ken Raeburn <raeburn@gnu.org>
1334
1335 Dock menu customization, based on a patch by Ken Raeburn, plus some
1336 other fixes.
1337 * nsmenu.m (dockMenu): New variable.
1338 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1339
1340 * nsterm.h (dockMenu): Declare.
1341
1342 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1343 (ns_term_init): Initialize dockMenu.
1344 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1345 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1346 left.
1347
1348 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1349
13502008-08-04 Chong Yidong <cyd@stupidchicken.com>
1351
1352 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1353
1354 * config.in: Regenerate.
1355
13562008-08-04 Seiji Zenitani <zenitani@mac.com>
1357
1358 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1359
13602008-08-04 Chong Yidong <cyd@stupidchicken.com>
1361
1362 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1363
13642008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1365
1366 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1367
1368 * keyboard.h: Comment an #endif.
1369
1370 * lisp.h (have_menus_p): Adjust comment.
1371
1372 * menu.c (find_and_return_menu_selection): Fix comparison with
1373 client_data.
1374
1375 * nsmenu.m (popup_activated_flag): New variable.
1376 (popup_activated): New function.
1377 (menu-or-popup-active-p): New exported lisp definition.
1378 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1379 when popup done.
1380 (ns_popup_dialog): Set popup_activated_flag.
1381
1382 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1383 version for GNUstep (handled by conditional typedef in nsterm.m).
1384 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1385 in rgb.txt).
1386
1387 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1388
1389 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1390
1391 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1392
1393 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1394 shortcircuit if popup_activated like GTK and X toolkit.
1395
1396 * m/inter386.h: Change DARWIN to DARWIN_OS.
1397
1398 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1399 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1400 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1401 comment on NO_SOCK_SIGIO.
1402
14032008-08-03 Chong Yidong <cyd@stupidchicken.com>
1404
1405 * nsterm.m (windowDidResize): Remove stopModal call.
1406
14072008-08-03 Andreas Schwab <schwab@suse.de>
1408
1409 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1410 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1411
14122008-08-02 Chong Yidong <cyd@stupidchicken.com>
1413
1414 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1415 Don't use uninitialized pointer variable when using getrlimit.
1416
14172008-08-02 Jason Rumney <jasonr@gnu.org>
1418
1419 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1420
14212008-08-02 Eli Zaretskii <eliz@gnu.org>
1422
1423 * alloc.c (NSTATICS): Bump to 0x640.
1424
1425 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1426
1427 * lisp.h: Add prototype for directory_files_internal.
1428
1429 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1430 New functions.
1431 (syms_of_process): Defsubr them. Add initializations for various
1432 Q* symbols used in procfs_system_process_attributes.
1433 (procfs_list_system_processes, procfs_system_process_attributes)
1434 [HAVE_PROCFS]: New functions.
1435 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1436 (procfs_get_total_memory): New functions.
1437
14382008-08-01 Juanma Barranquero <lekktu@gmail.com>
1439
1440 * xfaces.c (Fx_load_color_file): Fix previous change;
1441 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1442
14432008-08-01 Michael Albinus <michael.albinus@gmx.de>
1444
1445 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1446
14472008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1448
1449 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1450
14512008-08-01 Chong Yidong <cyd@stupidchicken.com>
1452
1453 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1454
1455 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1456 define NSApplicationDelegateReplySuccess.
1457 (EmacsView -converstationIdentifier): Use long instead of
1458 NSInteger for GNUstep, since it doesn't have NSInteger.
1459
1460 * xmenu.c: Revert last change.
1461
1462 * keyboard.h: Fix last change.
1463
14642008-08-01 Juanma Barranquero <lekktu@gmail.com>
1465
1466 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1467 on Windows.
1468
14692008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1470
1471 Warning clearing and clean-up in NS port.
1472 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1473 Add prototypes.
1474 * nsgui.h (FACE_DEFAULT): Remove, unused.
1475 (XGCValues): Change colors to unsigned long.
1476 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1477 nsterm.m.
1478 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1479 (ns_list_fonts): Remove, unused.
1480 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1481 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1482 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1483 (nsfont_draw): Compare face colors to 0, not nil.
1484 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1485 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1486 (-addSubmenuWithTitle:): Use NSMenuItem class.
1487 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1488 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1489 (ns_clip_to_row): Make gc arg a BOOL.
1490 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1491 ns_clip_to_row() call.
1492 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1493 used). Cast FRAME_FONT assignments.
1494 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1495 (ns_string_to_lispmod): Change arg to const char.
1496 (ns_term_init): Use NSMenuItem class.
1497 (EmacsApp -openFile:): Move to different section of file.
1498 (EmacsApp -application:openFiles:): Don't return a value, call
1499 -replyToOpenOrPrint:.
1500 (EmacsView -keyDown:): Fix up cast.
1501 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1502 (EmacsView -menuDown:): Cast tag in call to
1503 find_and_call_menu_selection().
1504 (ns_list_fonts): Remove, unused.
1505 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1506 (ns_fontname_to_xlfd): Make static.
1507 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1508 Remove prototypes (now in keyboard.h).
1509 (next_menubar_widget_id): Remove, unused.
1510 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1511 Remove prototypes (now in keyboard.h).
1512 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1513
15142008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1515
1516 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1517 (floatfns.o): Depend on syssignal.h.
1518 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1519
1520 * systty.h: Fix previous change that removed BSD_TERMIOS.
1521 Add comments to #ifdefs.
1522
15232008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1524
1525 * w32fns.c (w32-load-color-file): Remove.
1526 (x-open-connection): Use renamed Fx_load_color_file.
1527 * xfaces.c (x-load-color-file): Add.
1528 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1529 Emacs.clr.
1530 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1531
15322008-07-31 Michael Albinus <michael.albinus@gmx.de>
1533
1534 * dbusbind.c (Fdbus_call_method_asynchronously)
1535 (Fdbus_method_error_internal): New defuns.
1536 (xd_read_message): Handle also reply messages.
1537 (Vdbus_registered_functions_table): Extend docstring.
1538
15392008-07-31 Juanma Barranquero <lekktu@gmail.com>
1540
1541 * keyboard.c (gobble_input): Fix previous change.
1542
15432008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1544
1545 * bitmaps/README:
1546 * xfns.c:
1547 * termcap.c:
1548 * term.c:
1549 * syswait.h:
1550 * systty.h:
1551 * systime.h:
1552 * syssignal.h:
1553 * sysdep.c:
1554 * process.h:
1555 * process.c:
1556 * print.c:
1557 * ndir.h:
1558 * lread.c:
1559 * keyboard.c:
1560 * getpagesize.h:
1561 * floatfns.c:
1562 * fileio.c:
1563 * emacs.c:
1564 * doc.c:
1565 * dispnew.c:
1566 * dired.c:
1567 * data.c:
1568 * callproc.c:
1569 * buffer.c:
1570 * README:
1571 * Makefile.in:
1572 * s/template.h:
1573 * s/msdos.h:
1574 * m/vax.h: Remove VMS support.
1575 * s/vms.h:
1576 * vlimit.h:
1577 * uaf.h:
1578 * temacs.opt:
1579 * param.h:
1580 * ioctl.h: Remove file.
1581
15822008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1583
1584 * s/ms-w32.h (MULTI_KBOARD): Remove.
1585 * xterm.c:
1586 * xselect.c:
1587 * xfns.c:
1588 * window.c:
1589 * w32term.c:
1590 * w32fns.c:
1591 * terminal.c:
1592 * termhooks.h:
1593 * term.c:
1594 * sysdep.c:
1595 * keyboard.h:
1596 * keyboard.c:
1597 * frame.h:
1598 * frame.c:
1599 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1600 * config.in: Regenerate.
1601
16022008-07-30 Jason Rumney <jasonr@gnu.org>
1603
1604 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1605
1606 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1607 (w32font_open_internal): Get unicode version of textmetrics.
1608 Don't enable or disable glyph indices here.
1609 (w32font_open): Disable use of glyph indices.
1610
1611 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1612
16132008-07-30 Chong Yidong <cyd@stupidchicken.com>
1614
1615 * minibuf.c (Vread_buffer_function): Doc fix.
1616
16172008-07-30 John Paul Wallington <jpw@pobox.com>
1618
1619 * minibuf.c (read_buffer_completion_ignore_case): New var.
1620 (Fread_buffer): Use it.
1621
16222008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1623
1624 * systty.h (sensemode): Remove empty #if. Remove reference to
1625 BSD_TERMIOS, unused.
1626
1627 * sysdep.c: Remove reference to DGUX.
1628 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1629
1630 * config.in: Regenerate.
1631
16322008-07-30 Jason Rumney <jasonr@gnu.org>
1633
1634 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1635
16362008-07-29 Jason Rumney <jasonr@gnu.org>
1637
1638 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1639 is populated.
1640 (uniscribe_encode_char): Always use uniscribe.
1641 Avoid using context if cache is populated.
1642
16432008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1644
1645 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1646 open menu.
1647
1648 * gtkutil.c (menu_nav_ended): Remove.
1649 (create_menus): Remove signal connect for menu_nav_ended.
1650
16512008-07-28 Chong Yidong <cyd@stupidchicken.com>
1652
1653 * xdisp.c (redisplay_window): Check return value of
1654 compute_window_start_on_continuation_line before forcing a window
1655 start.
1656
16572008-07-28 Jason Rumney <jasonr@gnu.org>
1658
1659 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1660
1661 * w32term.c (w32_enable_unicode_output, cleartype_active):
1662 Remove obsolete display options.
1663 (x_draw_glyph_string_background): Don't use old cleartype_active
1664 workaround.
1665 (w32_initialize): Remove cleartype_active initialization.
1666 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1667
16682008-07-28 Andreas Schwab <schwab@suse.de>
1669
1670 * lisp.h (init_weak_hash_tables, syms_of_font)
1671 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1672 (remove_hash_entry): Don't declare.
1673 * eval.c (maybe_call_debugger): Make static and move before use.
1674 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1675 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1676 * xterm.h (x_set_frame_alpha): Declare.
1677
16782008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1679
1680 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1681 (create_menus): Connect selection-done to menu_nav_ended.
1682
16832008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1684
1685 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1686 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1687 parameter with read of 'alpha' one.
1688 (Qns_frame_parameter): Remove.
1689 * nsselection.m (selection-coding-system)
1690 (next-selection-coding-system, Vselection_coding_system)
1691 (Vnext_selection_coding_system): Drop.
1692
16932008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1694
1695 * nsfns.m (do-applescript, do_applescript): Rename to
1696 ns-do-applescript, ns_do_applescript, and move within file.
1697
16982008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1699
1700 Remove support for Mac Carbon.
1701 * mactoolbox.c:
1702 * macterm.h:
1703 * macterm.c:
1704 * macselect.c:
1705 * macmenu.c:
1706 * macgui.h:
1707 * macfns.c:
1708 * mac.c: Remove file.
1709 * s/darwin.h:
1710 * m/intel386.h:
1711 * xfaces.c:
1712 * xdisp.c:
1713 * window.c:
1714 * tparam.c:
1715 * termhooks.h:
1716 * termcap.c:
1717 * term.c:
1718 * syssignal.h:
1719 * sysselect.h:
1720 * sysdep.c:
1721 * process.c:
1722 * lread.c:
1723 * lisp.h:
1724 * keyboard.c:
1725 * image.c:
1726 * fringe.c:
1727 * frame.h:
1728 * frame.c:
1729 * fontset.c:
1730 * font.h:
1731 * font.c:
1732 * fns.c:
1733 * fileio.c:
1734 * emacs.c:
1735 * dispnew.c:
1736 * dispextern.h:
1737 * config.in:
1738 * atimer.c:
1739 * Makefile.in: Remove code for Carbon
1740
17412008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1742
1743 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1744
17452008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1746
1747 * macterm.h (kCGBitmapByteOrder32Host): New define for
1748 non-universal SDKs.
1749
1750 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1751 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1752
1753 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1754 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1755
17562008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1757
1758 * w32inevt.c: Include dispextern.h.
1759
17602008-07-26 Andreas Schwab <schwab@suse.de>
1761
1762 * print.c (print_object): Fix off-by-one in last change.
1763
17642008-07-25 Juanma Barranquero <lekktu@gmail.com>
1765
1766 * term.c (syms_of_term): Don't initialize default_orig_pair,
1767 default_set_foreground and default_set_background on Windows.
1768
17692008-07-25 Jason Rumney <jasonr@gnu.org>
1770
1771 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1772 ScriptItemize. Clean up return value checking. Remove unused
1773 variables.
1774 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1775 shaping engine.
1776
1777 * w32font.c (w32font_has_char): Handle the case where we can't
1778 determine the script for a character.
1779
17802008-07-25 Chong Yidong <cyd@stupidchicken.com>
1781
1782 * term.c (syms_of_term): Initialize default_orig_pair,
1783 default_set_foreground, and default_set_background.
1784
1785 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1786 clash (bug#86).
1787 (getloadavg): Callers changed.
1788
1789 * image.c (svg_load_image): Fix last change.
1790 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1791 image size is valid. Use g_object_unref instead of deprecated
1792 rsvg_handle_free to free rsvg handle.
1793 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1794
17952008-07-25 Jason Rumney <jasonr@gnu.org>
1796
1797 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1798 surrogates before looking up glyph index.
1799 (w32font_text_extents): Encode as surrogates if falling back to
1800 functions that need UTF-16 wide chars.
1801
1802 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1803 BMP as surrogates before looking up glyph index.
1804
18052008-07-25 Chong Yidong <cyd@stupidchicken.com>
1806
1807 * image.c (svg_load_image): Check for failure in return value of
1808 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1809
18102008-07-25 Jason Rumney <jasonr@gnu.org>
1811
1812 * w32font.c (Fx_select_font): Reverse sense of second arg.
1813
18142008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1815
1816 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1817 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1818
1819 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1820 (PURESIZE): Use it.
1821
18222008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1823
1824 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1825 * m/alpha.h (TEXT_END):
1826 * m/ibmrs6000.h (TEXT_END):
1827 * m/macppc.h (TEXT_END):
1828 * s/darwin.h (TEXT_END):
1829 * s/msdos.h (TEXT_END): Remove, unused.
1830 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1831 * s/cygwin.h: Remove comment.
1832
1833 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1834 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1835 * m/intel386.h (DOT_GLOBAL_START):
1836 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1837 (USG): Remove, file not used on USG platforms.
1838
1839 * Makefile.in (HAVE_X11): Remove empty #else.
1840
18412008-07-24 Andreas Schwab <schwab@suse.de>
1842
1843 * fileio.c (Finsert_file_contents): Properly adjust undo list
1844 after format conversion.
1845
18462008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1847
1848 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1849 (menu_nav_ended): Remove.
1850 (create_menus): Remove signal connect for menu_nav_ended.
1851 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1852 create_menus.
1853 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1854
18552008-07-23 Jason Rumney <jasonr@gnu.org>
1856
1857 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1858 with opened font.
1859 (w32font_open): Set font type to gdi.
1860
1861 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
1862
18632008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1864
1865 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1866 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1867 defines it.
1868 * unexec.c (ADDR_CORRECT): Define unconditionally.
1869
1870 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1871
1872 * unexec.c: Remove code depending on !COFF and USG, the file is
1873 not used for such systems.
1874
1875 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1876 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1877 (LD_SWITCH_SYSTEM_1): Remove, update users.
1878
1879 * s/darwin.h (DATA_END):
1880 * m/intel386.h (DATA_END):
1881 * m/ibmrs6000.h (DATA_END):
1882 * m/alpha.h (DATA_END): Remove, unused.
1883
1884 * config.in: Regenerate.
1885 * s/ms-w32.h (subprocesses): Define unconditionally.
1886 * s/template.h (subprocesses): Update comment.
1887 * s/vms.h (subprocesses):
1888 * s/usg5-4.h (subprocesses):
1889 * s/hpux10-20.h (subprocesses):
1890 * s/gnu-linux.h (subprocesses):
1891 * s/cygwin.h (subprocesses):
1892 * s/bsd-common.h (subprocesses):
1893 * s/aix4-2.h (subprocesses):
1894 * s/darwin.h (subprocesses): Do not define, defined by default now.
1895
1896 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1897 Remove all references.
1898 (temacs): Add GNUstep specific ld flags.
1899
1900 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1901 similarly to what X does.
1902
19032008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1904
1905 * nsfns.m (x-list-fonts): Remove.
1906 (syms_of_nsfns): Drop the x-list-fonts declaration.
1907 * nsterm.m: Get rid of remaining "//" comments.
1908
19092008-07-22 Chong Yidong <cyd@stupidchicken.com>
1910
1911 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1912
1913 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1914 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1915 (Fns_own_selection_internal, Fx_disown_selection_internal)
1916 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1917
1918 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1919 ... */' style of docstrings. Doc fixes.
1920
19212008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1922
1923 * terminfo.c (UP, BC, PC): Undo previous change.
1924
1925 * nsfns.m: Rename ns prefixed functions/variables to the
1926 corresponding x versions. Update references.
1927
19282008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1929
1930 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1931
19322008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1933
1934 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1935 Remove forwarding functions.
1936 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1937 non-static.
1938 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1939 non-static.
1940 (ns_frame_parm_handlers): Use the new names.
1941 (syms_of_nsfns): Move to the end of file.
1942
1943 * nsterm.m (syms_of_nsterm): Move to the end of file.
1944
1945 * dispnew.c (init_display): Remove code for X10.
1946
19472008-07-22 Jason Rumney <jasonr@gnu.org>
1948
1949 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1950 bare drive.
1951
19522008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1953
1954 * nsterm.m (syms_of_nsterm): Remove debugging println.
1955
19562008-07-22 David Reitter <david.reitter@gmail.com>
1957
1958 * nsfns.m (do_applescript, F_do_applescript): NS version of the
1959 Carbon implementation of the same functionality: execute arbitrary
1960 AppleScript code.
1961
19622008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1963
1964 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
1965 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1966 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1967 (Fx_display_mm_height, Fx_display_mm_width)
1968 (Fx_display_backing_store, Fx_display_visual_class)
1969 (Fx_display_save_under, Fx_open_connection)
1970 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1971 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1972 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1973 (Fx_display_pixel_width, Fx_display_pixel_height)
1974 (Fx_display_usable_bounds, Fx_display_planes)
1975 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1976 ... */' style of docstrings.
1977
19782008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1979
1980 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1981 on this platform.
1982 (mips):
1983 * m/iris4d.h (mips): Do not define.
1984 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1985
1986 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1987
1988 * image.c:
1989 * nsfns.m:
1990 * nsselect.m:
1991 * nsterm.h:
1992 * nsterm.m: Rename ns prefixed functions/variables to the
1993 corresponding x versions. Update references.
1994
1995 * m/ibms390x.h (NO_REMAP): Do not undefine.
1996
1997 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1998
19992008-07-21 Chong Yidong <cyd@stupidchicken.com>
2000
2001 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2002 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2003 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2004 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2005 (Fns_display_mm_height, Fns_display_mm_width)
2006 (Fns_display_backing_store, Fns_display_visual_class)
2007 (Fns_display_save_under, Fns_open_connection)
2008 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2009 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2010 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2011 (Fns_display_pixel_width, Fns_display_pixel_height)
2012 (Fns_display_usable_bounds, Fx_display_planes)
2013 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2014
20152008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2016
2017 * print.c (print_object): Check print_depth before searching for
2018 circularities.
2019
20202008-07-21 Michael Albinus <michael.albinus@gmx.de>
2021
2022 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2023 only sprintf.
2024
20252008-07-21 Kenichi Handa <handa@m17n.org>
2026
2027 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2028
20292008-07-20 Andreas Schwab <schwab@suse.de>
2030
2031 * syntax.c (find_start_pos, find_start_value)
2032 (find_start_value_byte, find_start_begv, find_defun_start)
2033 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2034
20352008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2036
2037 * s/sol2-3.h: Insert contents of s/sol2.h.
2038 (LD_SWITCH_SYSTEM): Remove redundant definition.
2039 * s/sol2.h: Remove, unused.
2040
20412008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2042
2043 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2044
20452008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2046
2047 * Makefile.in (ns_appdir): Fix typo in find command.
2048
20492008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2050
2051 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2052
2053 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2054 added not supported anymore.
2055
2056 * s/usg5-4-2.h (LIBS_SYSTEM):
2057 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2058
2059 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2060 * s/lynxos.h (GETPGRP_NO_ARG):
2061 * s/hpux10-20.h (NO_SIOCTL_H):
2062 * s/gnu.h (GETPGRP_NO_ARG):
2063 * s/gnu-linux.h (NO_SIOCTL_H):
2064 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2065 * s/cygwin.h (GETPGRP_NO_ARG):
2066 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2067 (C_DEBUG_SWITCH): Remove duplicate definition.
2068
2069 * m/ibms390.h: Remove boilerplate comments.
2070
2071 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2072
2073 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2074 (wait_reading_process_output): Remove code for SunOS, platform not
2075 supported anymore. Use SOLARIS2 instead of sun.
2076
20772008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2078
2079 * font.c (font_open_by_name): Under NS, default lface height to zero.
2080 (font_open_for_lface): Under NS, set size based on frame fontsize.
2081 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2082 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2083
20842008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2085
2086 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2087 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2088 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2089 YES/NO.
2090 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2091 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2092 * Makefile.in (clean): Clear out build destination dir.
2093
20942008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2095
2096 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2097 xterm, xselect.
2098 * lisp.h: Remove declaration of hash_remove.
2099 * nsgui.h: Remove redefinitions of hash_remove.
2100 * fns.c (hash_remove): Rename to hash_remove_from_table.
2101
21022008-07-19 Seiji Zenitani <zenitani@mac.com>
2103
2104 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2105 strdup() the family UTF8String before modifying it.
2106
21072008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2108
2109 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2110 NS_FACE_BACKGROUND with 0 instead of nil.
2111 * nsfont.m (nsfont_draw): Same.
2112
21132008-07-19 Chong Yidong <cyd@stupidchicken.com>
2114
2115 * nsfns.m (ns_set_background_color): Fix crash.
2116
21172008-07-18 Chong Yidong <cyd@stupidchicken.com>
2118
2119 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2120
21212008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2122
2123 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2124
21252008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2126
2127 * gtkutil.c: Include <config.h> instead of "config.h".
2128
2129 * lisp.h (Foverlay_buffer): Add EXFUN.
2130
2131 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2132 child process to complete child_setup. Undo 2005-09-21 change.
2133
2134 * s/darwin.h: Mention setsid after vfork.
2135
21362008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2137
2138 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2139 Depend on macgui.h.
2140
2141 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2142 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2143
2144 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2145 and f19.
2146 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2147
2148 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2149 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2150 Remove enumerators.
2151
2152 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2153 Check if FACE_FROM_ID returns NULL.
2154
21552008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2156
2157 * w32inevt.c (change_frame_size): Remove extern declaration.
2158 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2159 change_frame_size.
2160
21612008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2162
2163 * getloadavg.c: Revert last change (2008-07-15).
2164
21652008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2166
2167 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2168 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2169 from configure.
2170
21712008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2172
2173 * s/sol2.h:
2174 * s/sol2-4.h: Reorganize conditionals.
2175
2176 * ecrt0.c: Remove code depending on m68000, not used anymore.
2177
2178 * fns.c (hash_remove): Make static.
2179 * lisp.h (hash_remove): Don't prototype.
2180
2181 * m/ibmrs6000.h:
2182 * m/ibms390x.h:
2183 * m/macppc.h: Remove boilerplate comments.
2184
2185 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2186 Solaris, which does not need them.
2187
2188 * m/vax.h: Remove comments about unsupported systems.
2189
2190 * s/darwin.h: Reorganize ifdefs.
2191
21922008-07-17 Andreas Schwab <schwab@suse.de>
2193
2194 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2195
21962008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2197
2198 Use SDATA. Follow coding convention of placing operators at
2199 beginning of next line rather than end of previous line, and placing
2200 spaces around infix operators.
2201
2202 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2203 in case it was defined already.
2204 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2205 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2206 ns_default.
2207 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2208 Lisp_Objects.
2209 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2210 (ns_defined_color, ns_color_to_lisp): Declare.
2211 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2212 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2213 it's accepted even with USE_LISP_UNION_TYPE.
2214 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2215 (update_frame_tool_bar): Remove apparently obsolete tests for
2216 non-integerness of f->tool_bar_lines.
2217 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2218 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2219 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2220 (nsfont_open): Don't confuse NULL for Qnil.
2221 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2222 * menu.h (find_and_call_menu_selection):
2223 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2224 (find_and_return_menu_selection): Always return something.
2225 * frame.h: Include dispextern.h for Display_Info.
2226 (display_x_get_resource): Declare.
2227
22282008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2229
2230 * syntax.c: Remove stdio.h include accidentally introduced in
2231 Emacs.app commit.
2232 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2233 NS_IMPL_COCOA.
2234 * keyboard.c (handle_async_input, input_available_signal): Remove
2235 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2236
22372008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2238
2239 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2240 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2241 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2242 Use SDATA.
2243
2244 * keymap.c: Remove all NS-specific code.
2245 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2246 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2247 where_is_preferred_modifier, return a different value depending on how
2248 preferred is the binding.
2249 (where_is_internal): Adjust accordingly.
2250 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2251 Adjust to new preferred_sequence_p.
2252 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2253 * keyboard.c (parse_solitary_modifier): Not static any more.
2254 * keyboard.h (parse_solitary_modifier): Declare.
2255
22562008-07-16 Andreas Schwab <schwab@suse.de>
2257
2258 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2259 of easymenu.
2260
22612008-07-16 Chong Yidong <cyd@stupidchicken.com>
2262
2263 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2264 that we don't move off the line.
2265
22662008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2267
2268 * keyboard.c (Qsuper): Remove.
2269 (parse_menu_item): Don't call where_is_internal specially for NS.
2270
22712008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2272
2273 * s/gnu-linux.h: Remove boilerplate comments.
2274
2275 * m/alpha.h (__ELF__): Consolidate conditions.
2276
2277 * m/m68k.h (linux): Use GNU_LINUX instead.
2278 Remove boilerplate comments.
2279
2280 * m/intel386.h: Undo refactoring from previous change.
2281 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2282 too, remove dead code.
2283 (linux): Use GNU_LINUX instead.
2284
22852008-07-16 Jason Rumney <jasonr@gnu.org>
2286
2287 * w32gui.h: Repeat 26 June changes lost by last change.
2288
22892008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2290
2291 * systty.h: Remove code for Aix on 386, unsupported platform.
2292
2293 * s/ms-w32.h: Remove boilerplate comments.
2294 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2295
2296 * s/gnu-linux.h (TERM): Remove support.
2297 (HAVE_SYSVIPC): Remove, unused.
2298 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2299 for this system.
2300
2301 * process.c: Remove support for IRIS, unused.
2302 Remove support for TERM, not relevant anymore.
2303
2304 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2305 used with the definition.
2306
2307 * s/aix4-2.h (static): Do not undef.
2308
2309 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2310 only used on Aix.
2311 (HAVE_SYSVIPC): Remove, unused.
2312
2313 * m/hp800.h (CANNOT_DUMP): Do not undef.
2314
2315 * m/alpha.h: Fix comment.
2316
2317 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2318 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2319 used by this configuration.
2320 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2321 * unexec.c: Remove code depending on HPUX and
2322 USG_SHARED_LIBRARIES, not used with this file. Remove code
2323 depending on IRIS, unused. Remove if 0-ed code.
2324
2325 * s/template.h: Remove comments about static.
2326
2327 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2328 Remove if 0-ed code.
2329 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2330 were the same as the default.
2331 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2332 Remove boilerplate comments.
2333 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2334 (HAVE_SYSVIPC): Remove, unused.
2335 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2336
2337 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2338 Remove boilerplate comments.
2339 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2340 Remove boilerplate comments.
2341 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2342 Remove boilerplate comments.
2343 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2344
2345 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2346 USG systems which do not use DATA_SEG_BITS.
2347 Refactor code. Remove boilerplate comments.
2348
2349 * m/ibms390.h:
2350 * m/m68k.h:
2351 * s/bsd-common.h:
2352 * s/cygwin.h:
2353 * s/darwin.h:
2354 * s/freebsd.h:
2355 * s/gnu.h:
2356 * s/msdos.h: Remove boilerplate comments.
2357
2358 * m/iris4d.h: Remove boilerplate comments and code for systems that
2359 do not use this file.
2360 (IRIS_4D): Remove, unused.
2361
2362 * m/mips.h: Remove boilerplate comments and code for systems that
2363 do not use this file.
2364 (SIGN_EXTEND_CHAR):
2365 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2366 * unexmips.c: Remove file, unused.
2367
2368 * editfns.c (Fuser_full_name): Replace the only use of
2369 USER_FULL_NAME with its value.
2370 * config.in: Regenerate.
2371
23722008-07-16 David Reitter <david.reitter@gmail.com>
2373
2374 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2375 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2376
23772008-07-16 Glenn Morris <rgm@gnu.org>
2378
2379 * emacs.c (system-type): Doc fix.
2380
23812008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2382
2383 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2384 If the cache doesn't work, let's fix it, rather than work around it.
2385
23862008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2387
2388 * Makefile.in: Correct additions for nsfont.o in last commit.
2389 * nsfont.m: New file (forgot last commit).
2390
23912008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2392
2393 * callproc.c (set_initial_environment): Initialize
2394 Vprocess_environment under CANNOT_DUMP (fixes crash when
2395 batch-compiling for bootstrap).
2396
23972008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2398 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2399
2400 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2401 fix crash due to different init order.
2402
24032008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2404
2405 Changes and additions for NeXTstep windowing system (Cocoa and
2406 GNUstep) support.
2407
2408 * Makefile.in:
2409 * config.in: Support defines and build commands for NS port.
2410 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2411 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2412 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2413 windowing.
2414 (struct face): Add synth_ital field.
2415 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2416 (init_display): Initialize Vinitial_window_system to "ns" when so
2417 compiled.
2418 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2419 (display_arg): Use under NS.
2420 (main): Under NS, allocate autorelease pool and handle command line
2421 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2422 (standard_args): Add NS-specific args.
2423 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2424 * font.c (DEFAULT_ENCODING): New variable.
2425 (font_find_for_lface): Use it.
2426 (syms_of_font): Load syms_of_nsfont under NS.
2427 * font.h: Declare nsfont_driver when compiled under NS.
2428 * fontset.c: When compiling under NS, include nsterm.h.
2429 (fontset_from_font): Autoconstruct fontset under NS.
2430 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2431 symbol, document and use it.
2432 (do_switch_frame): When for_deletion under Cocoa, add
2433 Fraise_frame(Qnil).
2434 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2435 (x_get_arg): Allow "yes" and "no" as boolean values.
2436 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2437 Qright under Cocoa.
2438 (focus-follows-mouse): Default to 0 under NS.
2439 * frame.h (enum output_method): Add output_ns.
2440 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2441 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2442 (FRAME_WINDOW_P): NS-specific definition.
2443 * fringe.c (max_used_fringe_bitmap): Make public.
2444 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2445 (getloadavg): Use NeXT code under descendant OS's.
2446 * image.c (includes and header section, x_create_bitmap_from_data)
2447 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2448 (image_background_transparent, x_clear_image_1)
2449 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2450 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2451 (x_to_xcolors, x_from_xcolors, x_disable_image)
2452 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2453 other GUIs, including XPM support using code originally written for
2454 Carbon GUI.
2455 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2456 using NS API.
2457 (image_ascent): Use font metrics macros instead of direct struct field
2458 access.
2459 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2460 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2461 Also, handle NS as GTK for menu bar purposes.
2462 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2463 toolkit where they differ.
2464 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2465 use cachelist, still needed under NS.
2466 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2467 (struct widget_value): Define it here for menu.c.
2468 * keymap.c (includes): Include modifier internals.
2469 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2470 NS.
2471 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2472 support for preferring sequences using certain modifiers, specified by
2473 the FIRSTONLY argument.
2474 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2475 under NS GNUstep implementation.
2476 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2477 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2478 * menu.c: Include nsterm.h under NS.
2479 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2480 (free_menubar_widget_tree_value, update_submenu_strings)
2481 (find_and_call_menu_selection): Treat NS as X and NT.
2482 (find_and_return_menu_selection): New function, used for popup menus.
2483 * nsgui.h:
2484 * nsterm.h:
2485 * nsfns.m:
2486 * nsimage.m:
2487 * nsmenu.m:
2488 * nsselect.m:
2489 * nsterm.m: New files.
2490 * process.c (wait_reading_process_output): Under NS, call ns_select()
2491 instead of plain select().
2492 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2493 beginning of buffer.
2494 * sysselect.h (init_process): Rename when compiling under Cocoa to
2495 avoid name conflict.
2496 * termhooks.h (display_info): Add ns_display_info to union.
2497 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2498 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2499 COCOA environment.
2500 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2501 unexec() signature. (Note, this will dump, but the resulting file
2502 crashes; unexosx is used instead; keeping around for reference and
2503 possible aid in getting dump working under GNUstep.)
2504 * w32gui.h (button_type, widget_value): Remove definitions (now in
2505 keyboard.h).
2506 * window.c: Include nsterm.h when compiling under NS.
2507 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2508 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2509 other GUI windowing systems.
2510 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2511 GTK.
2512 (x_consider_frame_title): Under NS, set icon type and frame
2513 modified-state indicator; use ns_set_name_as_filename() when using
2514 formatted title.
2515 (update_window_cursor): Make public when compiling under NS.
2516 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2517 (hourglass_atimer, Vhourglass_delay
2518 * xfaces.c (header section, init_frame_faces, clear_font_table)
2519 (defined_color, unload_color, x_face_list_fonts)
2520 (prepare_face_for_display): Add NS support parallel to other GUIs.
2521 Emulate GCs like other non-X GUIs.
2522 (split_font_name): Don't lowercase font name under NS.
2523 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2524 under NS.
2525 * s/darwin.h: Add support for compilation under NS.
2526
25272008-07-15 Jason Rumney <jasonr@gnu.org>
2528
2529 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2530 (w32_show_hourglass): Rename from show_hourglass.
2531 (w32_hide_hourglass): Rename from hide_hourglass.
2532 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2533 (Vhourglass_delay): Declare extern.
2534 (hourglass_started): Remove.
2535
2536 * xdisp.c (Vhourglass_delay): Remove static.
2537 (hourglass_started, start_hourglass, cancel_hourglass):
2538 Don't include these versions on WINDOWSNT.
2539
25402008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2541
2542 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2543 variables (formerly in xfns.c).
2544 (show_hourglass, hide_hourglass): New prototypes (same).
2545 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2546 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2547 in xfns.c).
2548 (syms_of_xdisp): Declare/initialize display-hourglass,
2549 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2550 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2551 formerly in xfns.c.
2552 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2553 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2554 (start_hourglass, cancel_hourglass): Remove.
2555 (show_hourglass, hide_hourglass): Remove prototypes and static
2556 modifiers.
2557 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2558 hourglass_atimer, hourglass_shown_p declaration/initialization.
2559 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2560 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2561 (start_hourglass, cancel_hourglass): Remove.
2562 (show_hourglass, hide_hourglass): Remove prototypes and static
2563 modifiers.
2564 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2565 hourglass_atimer, hourglass_shown_p declaration/initialization.
2566 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2567 (DEFAULT_HOURGLASS_DELAY): Remove.
2568 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2569 hourglass_shown_p declaration/initialization.
2570
25712008-07-14 Jason Rumney <jasonr@gnu.org>
2572
2573 * w32fns.c (w32_get_arg): Remove wrapper function.
2574 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2575 directly.
2576 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2577
25782008-07-14 Kenichi Handa <handa@m17n.org>
2579
2580 * xfont.c (xfont_open): Add workaround for X's bug.
2581
25822008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2583
2584 * fontset.c: Include <stdio.h> unconditionally.
2585
25862008-07-13 Michael Albinus <michael.albinus@gmx.de>
2587
2588 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2589 for filtering.
2590
25912008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2592
2593 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2594
2595 * m/macppc.h:
2596 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2597
2598 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2599 (SPECIAL_EMACS_INT):
2600 * m/ia64.h (SPECIAL_EMACS_INT):
2601 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2602 * s/gnu.h (NLIST_STRUCT):
2603 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2604 * s/gnu-linux.h (LINUX):
2605 * s/msdos.h (HAVE_FACES):
2606 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2607
2608 * systty.h:
2609 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2610 anymore.
2611
26122008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2613
2614 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2615 always defined as int.
2616
2617 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2618 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2619 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2620 * s/freebsd.h (HAVE_WAIT_HEADER):
2621 * s/bsd-common.h (HAVE_UNION_WAIT):
2622 * s/aix4-2.h (HAVE_WAIT_HEADER):
2623 * m/mips.h (HAVE_UNION_WAIT):
2624 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2625 (COFF, static): Do not define, they are undefined later in the file.
2626
2627 * process.c (update_status): Don't use a union.
2628 (status_convert):
2629 (sigchld_handler): Use int instead of WAITTYPE.
2630
26312008-07-12 Chong Yidong <cyd@stupidchicken.com>
2632
2633 * indent.c (Fvertical_motion): Restore hscroll before moving to
2634 goal column.
2635
26362008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2637
2638 * lisp.h: Remove left over code.
2639
26402008-07-11 Andreas Schwab <schwab@suse.de>
2641
2642 * lisp.h: Fix logic in last change.
2643
2644 * menu.h: New file.
2645 * menu.c: Include it.
2646 * xmenu.c: Likewise.
2647 * Makefile.in: Update dependencies.
2648
26492008-07-11 Kenichi Handa <handa@m17n.org>
2650
2651 * fontset.c (fontset_from_font): Cancel the previous change.
2652
26532008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2654
2655 * lisp.h:
2656 * w32heap.c:
2657 * emacs.c:
2658 * alloc.c: Replace all references of NO_UNION_TYPE with
2659 USE_LISP_UNION_TYPE.
2660
2661 * m/xtensa.h (NO_UNION_TYPE):
2662 * m/vax.h (NO_UNION_TYPE):
2663 * m/template.h (NO_UNION_TYPE):
2664 * m/sparc.h (NO_UNION_TYPE):
2665 * m/mips.h (NO_UNION_TYPE):
2666 * m/macppc.h (NO_UNION_TYPE):
2667 * m/m68k.h (NO_UNION_TYPE):
2668 * m/iris4d.h (NO_UNION_TYPE):
2669 * m/intel386.h (NO_UNION_TYPE):
2670 * m/ibms390x.h (NO_UNION_TYPE):
2671 * m/ibms390.h (NO_UNION_TYPE):
2672 * m/ibmrs6000.h (NO_UNION_TYPE):
2673 * m/ia64.h (NO_UNION_TYPE):
2674 * m/hp800.h (NO_UNION_TYPE):
2675 * m/arm.h (NO_UNION_TYPE):
2676 * m/amdx86-64.h (NO_UNION_TYPE):
2677 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2678 defining it the same.
2679
26802008-07-10 Chong Yidong <cyd@stupidchicken.com>
2681
2682 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2683
26842008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2685
2686 * fileio.c:
2687 * sysdep.c
2688 * systty.h:
2689 * m/ibmrs6000.h:
2690 * m/iris4d.h:
2691 * s/aix4-2.h:
2692 * s/freebsd.h:
2693 * s/gnu-linux.h:
2694 * s/hpux10-20.h:
2695 * s/hpux11.h:
2696 * s/netbsd.h:
2697 * s/sol2-3.h:
2698 * s/sol2-4.h:
2699 * s/sol2.h:
2700 * s/usg5-4.h:
2701 * s/vms.h: Remove references to unused variables.
2702
27032008-07-10 Andreas Schwab <schwab@suse.de>
2704
2705 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2706 pattern before matching the generic family.
2707
27082008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2709
2710 * unexec.c:
2711 * s/vms.h:
2712 * s/usg5-4-2.h:
2713 * s/sol2-5.h:
2714 * s/freebsd.h:
2715 * s/darwin.h: Remove dead code.
2716
2717 * m/template.h:
2718 * m/sparc.h:
2719 * m/mips.h:
2720 * m/m68k.h:
2721 * m/iris4d.h:
2722 * m/intel386.h:
2723 * m/ibms390x.h:
2724 * m/ibms390.h:
2725 * m/ia64.h:
2726 * m/hp800.h:
2727 * m/arm.h:
2728 * m/amdx86-64.h: Remove dead code and references to unused
2729 and compiler defined symbols.
2730
2731 * unexmips.c:
2732 * unexelf.c: Remove references to desupported systems.
2733
2734 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2735
2736 * m/powermac.h: Remove boilerplate comments.
2737 (NO_REMAP): Remove unused definition.
2738
2739 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2740 define them.
2741
27422008-07-10 Kenichi Handa <handa@m17n.org>
2743
2744 * xfont.c (xfont_open): Log the reason of failure.
2745
27462008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2747
2748 * fontset.c (fontset_get_font_group):
2749 * font.c (font_check_otf): Specify argument types.
2750
27512008-07-09 Kenichi Handa <handa@m17n.org>
2752
2753 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2754 non-ASCII char is found.
2755
2756 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2757 (reorder_font_vector): Change the arg preferred_family to font.
2758 Prefer the spec matching with font.
2759 (fontset_get_font_group): New function.
2760 (fontset_find_font): Change the format of an element of a realized
2761 fontset. Use fontset_get_font_group.
2762 (fontset_font): Try the current fontset, the default fontset, the
2763 fallbacks of the current fontset, and the fallbacks of the default
2764 fontset in this order.
2765 (face_for_char): Delete the shortcut to use the current font.
2766 (fontset_from_font): Don't set fonts for Latin in the fontset.
2767
2768 * font.h (font_make_object, font_match_p): Adjust prototypes.
2769
2770 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2771
2772 * font.c (font_make_object): New arg entity and pixelsize.
2773 (font_check_otf_features, font_check_otf): New functions.
2774 (font_match_p): Check :lang, :script, and :otf properties.
2775
2776 * xfont.c (xfont_open): Adjust it for the change of
2777 font_make_object.
2778 (xfont_text_extents): Fix initial setting of metrics.
2779
2780 * ftfont.c (struct ftfont_info): New member index, delete member
2781 fc_charset_idx. Make the member order compatible with struct
2782 xftfont_info.
2783 (fc_charset_table): Change charset names to registry names.
2784 (ftfont_pattern_entity): Delete the args registry and
2785 fc_charset_idx. Change the value of :font-entity property
2786 to (FONTNAME . INDEX). Always set :registry property to
2787 `iso10646-1'.
2788 (struct ftfont_cache_data): New struct.
2789 (ftfont_lookup_cache): New arg for_face.
2790 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2791 (ftfont_driver): Set the member otf_capability.
2792 (ftfont_get_charset): Adjust it for the change of
2793 fc_charset_table.
2794 (OTF_TAG_SYM): New macro.
2795 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2796 for the change of fc_charset_table.
2797 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2798 ftfont_pattern_entity. Add FC_INDEX to objset.
2799 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2800 and ftfont_pattern_entity.
2801 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2802 font_make_object, struct ftfont_info.
2803 (ftfont_has_char): Use ftfont_get_fc_charset.
2804 (ftfont_otf_features, ftfont_otf_capability): New functions.
2805 (ftfont_shape): Use ftfont_get_otf.
2806 (ftfont_text_extents): Fix initial setting of metrics.
2807
2808 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2809 member order compatible with struct ftfont_info.
2810 (xftfont_open): Add FC_CHARSET to the pattern. Set
2811 xftfont_info->ft_size. Don't unlock the face. Check BDF
2812 properties if appropriate.
2813 (xftfont_close): Unlock the face.
2814 (xftfont_anchor_point, xftfont_shape): Deleted.
2815 (syms_of_xftfont): Don't set members anchor_point and shape of
2816 xftfont_driver.
2817
2818 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2819 font_make_object.
2820
2821 * w32font.c (w32font_open): Adjust it for the change of
2822 font_make_object.
2823 (w32font_open_internal): Don't set properties of font_object here.
2824
28252008-07-08 Chong Yidong <cyd@stupidchicken.com>
2826
2827 * macfns.c (x_create_tip_frame):
2828 * w32fns.c (x_create_tip_frame):
2829 * xfns.c (x_create_tip_frame): Pass parameter argument to
2830 face-set-after-frame-default.
2831
2832 * xfaces.c (Finternal_merge_in_global_face): Save merged
2833 attributes for the default face back into the face vector.
2834
28352008-07-08 Andreas Schwab <schwab@suse.de>
2836
2837 * fontset.h: Declare fontset_from_font. Don't declare
2838 new_fontset_from_font and fontset_from_font_name.
2839 * xterm.c: Include "fontset.h".
2840 * Makefile.in (xterm.o): Update dependencies.
2841
28422008-07-08 Glenn Morris <rgm@gnu.org>
2843
2844 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2845 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2846
28472008-07-07 Chong Yidong <cyd@stupidchicken.com>
2848
2849 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2850 (x_set_frame_parameters): Don't bind it.
2851
28522008-07-07 Juanma Barranquero <lekktu@gmail.com>
2853
2854 * w32fns.c (map_w32_filename): Declare extern.
2855
28562008-07-07 Jason Rumney <jasonr@gnu.org>
2857
2858 * w32term.c (WS_EX_LAYERED): Define if not already.
2859
28602008-07-06 Chong Yidong <cyd@stupidchicken.com>
2861
2862 * xfaces.c (set_font_frame_param): Don't try to set the font
2863 parameter if it is still unspecified in the lface.
2864
28652008-07-05 Chong Yidong <cyd@stupidchicken.com>
2866
2867 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2868 face if it didn't already exist.
2869
2870 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2871
28722008-07-05 Andreas Schwab <schwab@suse.de>
2873
2874 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
2875
28762008-07-05 Chong Yidong <cyd@stupidchicken.com>
2877
2878 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2879 word-wrapping.
2880 (IT_DISPLAYING_WHITESPACE): New macro.
2881 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2882 when word-wrapping. Simplify word-wrapping logic. Use correct
2883 pixel positions when saving copies of the iterator.
2884 (display_line): Use proper wrap point if the last character on a
2885 line was preceded by whitespace.
2886
28872008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2888
2889 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2890
28912008-07-04 Kenichi Handa <handa@m17n.org>
2892
2893 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2894
2895 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2896
28972008-07-02 Jason Rumney <jasonr@gnu.org>
2898
2899 * xfns.c (syms_of_xfns): Only define x-select-font when both
2900 HAVE_FREETYPE and USE_GTK
2901
2902 * xdisp.c (next_element_from_display_vector): Move assignment out
2903 of if statement.
2904
29052008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2906
2907 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
2908
2909 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2910 (syms_of_fileio): Initialize and export them.
2911 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
2912
2913 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2914 (Fsystem_move_file_to_trash): New function.
2915 (syms_of_w32fns): Export it to lisp.
2916
29172008-07-01 Jason Rumney <jasonr@gnu.org>
2918
2919 * w32font.c (w32font_text_extents): Don't count overhang as part
2920 of width.
2921
29222008-06-30 Miles Bader <miles@gnu.org>
2923
2924 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2925 Add `avoid_cursor_p' field.
2926
2927 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2928 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2929 (append_glyph, append_composite_glyph, produce_image_glyph)
2930 (append_stretch_glyph): Initialize avoid_cursor_p.
2931 (get_it_property): Rename from `get_line_height_property'.
2932 (x_produce_glyphs): Use get_it_property.
2933 (handle_line_prefix, push_display_prop): New functions.
2934 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
2935 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2936 New variables.
2937 (syms_of_xdisp): Initialize them.
2938
29392008-06-30 Kenichi Handa <handa@m17n.org>
2940
2941 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2942 XftDefaultSubstitute (they are called in XftFontMatch).
2943 (xftfont_open): Fix args to ftfont_font_format.
2944
2945 * ftfont.c (fc_charset_table): New member lang.
2946 (ftfont_resolve_generic_family): New arg pattern.
2947 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2948 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2949 (ftfont_open): Fix args to ftfont_font_format.
2950 (ftfont_font_format): New arg filename.
2951
29522008-06-30 Chong Yidong <cyd@stupidchicken.com>
2953
2954 * xfaces.c (Finternal_merge_in_global_face): If default face was
2955 modified, realize it again. Update the font face attribute.
2956
29572008-06-29 Jason Rumney <jasonr@gnu.org>
2958
2959 * w32term.c (x_set_frame_alpha): Fix logic.
2960
29612008-06-29 Kenichi Handa <handa@m17n.org>
2962
2963 * fontset.c (Finternal_char_font): Return font-object instead of
2964 font-name.
2965
2966 * composite.c (get_composition_id): Fix the width calculation for TAB.
2967
29682008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2969
2970 * indent.c (Fvertical_motion): Properly handle float column arg.
2971
29722008-06-28 Jason Rumney <jasonr@gnu.org>
2973
2974 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2975 (pfnSetLayeredWindowAttributes): New function pointer.
2976 (w32_initialize): Initialize it when supported.
2977 (x_set_frame_alpha): New function.
2978
2979 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2980 (w32_frame_parm_handlers): Set alpha handler.
2981
2982 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
2983
29842008-06-27 Jason Rumney <jasonr@gnu.org>
2985
2986 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2987 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2988 (w32_to_x_charset, x_to_w32_charset)
2989 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2990 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2991 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2992 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2993 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2994 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2995 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2996 (Qw32_charset_unicode): Remove.
2997 (syms_of_w32fns): Update for above changes.
2998
2999 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3000 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3001 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3002 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3003 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3004 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3005 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3006 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3007 (syms_of_w32font): Update for above changes.
3008
30092008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3010
3011 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3012 removed #if.
3013 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3014
30152008-06-26 Juanma Barranquero <lekktu@gmail.com>
3016 Eli Zaretskii <eliz@gnu.org>
3017
3018 * makefile.w32-in (LOCAL_FLAGS):
3019 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3020
3021 * sysdep.c (_spawnlp, _getpid):
3022 Declare with explicit _cdecl instead of _CRTAPI1.
3023
3024 * editfns.c (Fget_internal_run_time):
3025 Check for WINDOWSNT with #ifdef, not #if.
3026
30272008-06-26 Jason Rumney <jasonr@gnu.org>
3028
3029 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3030
3031 * w32term.c (x_draw_glyph_string_foreground)
3032 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3033 Use FONT_HANDLE macro.
3034 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3035
3036 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3037 (uniscribe_encode_char): Use FONT_HANDLE macro.
3038
3039 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3040 (w32font_text_extents): Use precast w32_font.
3041 (w32font_close): Free cached metrics.
3042 (w32font_open_internal): Allocate space for name on stack.
3043
30442008-06-26 Chong Yidong <cyd@stupidchicken.com>
3045
3046 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3047
30482008-06-26 Jason Rumney <jasonr@gnu.org>
3049
3050 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3051 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3052
30532008-06-26 Juanma Barranquero <lekktu@gmail.com>
3054
3055 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3056
30572008-06-26 Jason Rumney <jasonr@gnu.org>
3058
3059 * w32bdf.c, w32bdf.h: Remove obsolete files.
3060
3061 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3062
3063 * w32gui.h: Don't include w32bdf.h.
3064 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3065 Remove obsolete font support.
3066
3067 * w32font.h (struct w32font_info): Remove compat_w32_font.
3068 Add hfont member.
3069 (FONT_COMPAT): Remove obsolete macro.
3070
3071 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3072 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3073 (w32font_open_internal): Remove compat code. Set new hfont member.
3074 (Fx_select_font): Use new hfont member.
3075
3076 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3077 (uniscribe_encode_char): Use new hfont member.
3078
3079 * w32term.c (x_draw_glyph_string_foreground)
3080 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3081 (x_draw_glyph_string): Use metrics in w32font_info.
3082
30832008-06-26 Kenichi Handa <handa@m17n.org>
3084
3085 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3086
30872008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3088
3089 * unexnext.c:
3090 * m/ews4800.h:
3091 * m/hp9000s300.h:
3092 * m/ibm370aix.h:
3093 * m/mips-siemens.h:
3094 * m/ncr386.h:
3095 * m/next.h:
3096 * m/pmax.h:
3097 * m/powerpcle.h:
3098 * m/tandem-s2.h:
3099 * s/386bsd.h:
3100 * s/bsd386.h:
3101 * s/bsd4-1.h:
3102 * s/bsd4-2.h:
3103 * s/bsdos2-1.h:
3104 * s/bsdos2.h:
3105 * s/bsdos3.h:
3106 * s/bsdos4.h:
3107 * s/nextstep.h:
3108 * s/ultrix4-3.h:
3109 * s/usg5-0.h:
3110 * s/usg5-2-2.h:
3111 * s/usg5-2.h:
3112 * s/usg5-4-3.h:
3113 * s/ux4800.h:
3114 * s/uxpds.h:
3115 * s/uxpv.h: Remove support for obsolete systems.
3116 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3117 Remove, insert contents in s/hpux-10.20.h.
3118 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3119 Remove, insert contents in s/aix4-2.h.
3120 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3121 * s/bsd4-3.h: Rename to ...
3122 * s/bsd-common.h: ... this.
3123 * data.c:
3124 * doc.c:
3125 * ecrt0.c:
3126 * emacs.c:
3127 * fileio.c:
3128 * floatfns.c:
3129 * keyboard.c:
3130 * mem-limits.h:
3131 * print.c:
3132 * process.c:
3133 * sysdep.c:
3134 * syssignal.h:
3135 * systty.h:
3136 * syswait.h:
3137 * term.c:
3138 * unexec.c:
3139 * unexelf.c:
3140 * unexhp9k800.c:
3141 * m/hp800.h:
3142 * m/ibmrs6000.h:
3143 * m/mips.h:
3144 * m/vax.h:
3145 * s/darwin.h:
3146 * s/freebsd.h:
3147 * s/gnu.h:
3148 * s/ms-w32.h:
3149 * s/msdos.h:
3150 * s/netbsd.h:
3151 * s/template.h: Remove references to obsolete variables.
3152
3153 * Makefile.in: Add dependencies for all unexec files.
3154 (admindir): Remove unused variable.
3155 (UNEXEC_SRC): Remove references.
3156
31572008-06-25 Chong Yidong <cyd@stupidchicken.com>
3158
3159 * xfns.c (x_default_font_parameter): If Xft is available, first
3160 try Monospace-12 for the default font.
3161
31622008-06-25 Jason Rumney <jasonr@gnu.org>
3163
3164 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3165
31662008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3167
3168 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3169
3170 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3171
31722008-06-25 Juanma Barranquero <lekktu@gmail.com>
3173
3174 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3175 <scroll-conservatively>: Fix typo in docstring.
3176
3177 * xselect.c (Fx_send_client_event): Doc fix.
3178
31792008-06-25 Kenichi Handa <handa@m17n.org>
3180
3181 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3182
3183 * font.c (font_parse_fcname): Remove unused variables.
3184 (font_sort_entites): Delete the arg SPEC. Caller changed.
3185 Fix for the case of ! best_only.
3186 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3187
3188 * lisp.h (Fstring_to_unibyte): EXFUN it.
3189
3190 * character.h (str_to_unibyte): Extern it.
3191
3192 * character.c (str_to_unibyte): New function.
3193
3194 * fns.c (Fstring_to_unibyte): New function.
3195 (syms_of_fns): Defsubr it.
3196
31972008-06-24 Kenichi Handa <handa@m17n.org>
3198
3199 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3200 DPI too.
3201 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3202
32032008-06-24 Andreas Schwab <schwab@suse.de>
3204
3205 * Makefile.in (${lispsource}loaddefs.el): Rename from
3206 ../lisp/loaddefs.el.
3207 (bootstrap-clean): Do what distclean does but don't remove
3208 Makefile.
3209 (distclean): Depend on bootstrap-clean and remove Makefile.
3210
32112008-06-24 Chong Yidong <cyd@stupidchicken.com>
3212
3213 * buffer.h (struct buffer): New member word_wrap.
3214
3215 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3216 word-wrap.
3217 (init_buffer_once): Initialize them.
3218
3219 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3220 line_wrap enum possessing three possible values.
3221
3222 * termopts.h: Replace truncate_partial_width_windows with
3223 Vtruncate_partial_width_windows.
3224
3225 * dispnew.c (direct_output_for_insert): Avoid direct output when
3226 inserting a space with word wrap on.
3227
3228 * indent.c (compute_motion): Obey integer values of
3229 truncate-partial-width-windows.
3230
3231 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3232 replacing truncate_partial_width_windows.
3233 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3234 truncate only if the window width is below that integer.
3235 (start_display, resize_mini_window, produce_stretch_glyph)
3236 (display_string, move_it_in_display_line_to): Use line_wrap.
3237 (back_to_previous_visible_line_start, reseat_1): Reset
3238 string_from_display_prop_p.
3239 (display_line): Extend default face to end of line when wrapping.
3240
32412008-06-24 Kim F. Storm <storm@cua.dk>
3242
3243 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3244 to wrap continued lines at word boundaries.
3245
32462008-06-24 Jason Rumney <jasonr@gnu.org>
3247
3248 * font.c (Ffont_face_attributes): Multiply pixel size before point
3249 conversion to avoid multiplying rounding error.
3250
32512008-06-23 Jason Rumney <jasonr@gnu.org>
3252
3253 * w32term.c (x_draw_glyph_string_background)
3254 (x_draw_glyph_string): Remove old bdf font code.
3255
3256 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3257
32582008-06-22 Kenichi Handa <handa@m17n.org>
3259
3260 * font.c (font_find_for_lface): Try the adstyle specified in
3261 the property of LFACE_FONT of LFACE (if any).
3262
32632008-06-21 Seiji Zenitani <zenitani@mac.com>
3264 Ryo Yoshitake <ryo@shiftmode.net>
3265
3266 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3267
32682008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3269
3270 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3271 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3272 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3273 (witness-emacs): Remove.
3274 (lisp, shortlisp): Move loaddefs.el earlier.
3275 (mostlyclean): Forget about witness-emacs.
3276
32772008-06-22 Glenn Morris <rgm@gnu.org>
3278
3279 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3280 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3281
32822008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3283
3284 * Makefile.in (PRECOMP): Remove.
3285 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3286 (witness-emacs): Run `compile-first'.
3287 (.el.elc): Use the new compile-onefile target.
3288
32892008-06-21 Kenichi Handa <handa@m17n.org>
3290
3291 * xftfont.c (xftfont_open): Handle QCembolden only when
3292 FC_EMBOLDEN is defined.
3293
32942008-06-21 Andreas Schwab <schwab@suse.de>
3295
3296 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3297 (.el.elc): Likewise.
3298
32992008-06-21 Miles Bader <miles@gnu.org>
3300
3301 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3302 build dir, not the lisp source dir.
3303
33042008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3305
3306 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3307 (bootstrapclean): Remove.
3308 (.el.elc): New rule.
3309 (PRECOMP): New var.
3310 (../lisp/subdirs.el): Remove.
3311 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3312 (witness-emacs): New target.
3313 (mostlyclean): Remove witness-emacs as well.
3314 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3315 Add witness-emacs dependency.
3316
33172008-06-20 Chong Yidong <cyd@stupidchicken.com>
3318
3319 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3320 defined by the font.
3321
33222008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3323
3324 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3325 (bootstrap-clean): New target that keeps TAGS around.
3326 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3327 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3328
33292008-06-20 Jason Rumney <jasonr@gnu.org>
3330
3331 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3332 Remove obsolete font code.
3333
3334 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3335 to determine language support.
3336
33372008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3338
3339 * sysdep.c (cfsetspeed): New fun extracted from the code.
3340 (cfmakeraw): Move before first use.
3341
33422008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3343
3344 * sysdep.c (cfmakeraw): Provide fallback implementation.
3345 (serial_configure): Provide fallback implementation of cfsetspeed.
3346
33472008-06-20 Kenichi Handa <handa@m17n.org>
3348
3349 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3350 the pattern.
3351
3352 * fontset.c (fontset_from_font): Copy font_spec before changing
3353 the elements.
3354
3355 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3356
33572008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3358
3359 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3360 for explicit `font' parameters.
3361
3362 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3363
33642008-06-19 Kenichi Handa <handa@m17n.org>
3365
3366 * frame.c: Include <ctype.h>.
3367 (x_set_font_backend): Allow spacing characters in the X resource
3368 for FontBackend.
3369
33702008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3371
3372 * w32fns.c, xfns.c (Qfont_param): New var.
3373 (syms_of_w32fns): Initialize it.
3374 (x_default_font_parameter): Record explicit `font' into
3375 `font-parameter'.
3376
33772008-06-18 Kenichi Handa <handa@m17n.org>
3378
3379 * font.c (font_parse_xlfd): Fix previous change.
3380 (font_parse_fcname): Don't use :fc-unknown-spec.
3381 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3382 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3383 (font_add_log): Prepend the driver name to the resulting fonts.
3384
3385 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3386 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3387 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3388
3389 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3390 (QCembolden): New variables.
3391 (syms_of_xftfont): DEFSYM them.
3392 (xftfont_open): Call XftFontMatch. Don't trust the result of
3393 XftTextExtents8 if the pixel_size is less than 5.
3394
33952008-06-18 Andreas Schwab <schwab@suse.de>
3396
3397 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3398 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3399
34002008-06-18 Jason Rumney <jasonr@gnu.org>
3401
3402 * w32font.c (w32font_list, w32font_match): Add logging.
3403
3404 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3405
34062008-06-17 Chong Yidong <cyd@stupidchicken.com>
3407
3408 * font.c (font_parse_fcname): Store divider characters for
3409 unknown-spec list. For known key symbols, intern using correct
3410 symbol name.
3411
34122008-06-17 Kenichi Handa <handa@m17n.org>
3413
3414 * xfaces.c (realize_default_face): If the frame is not on window
3415 system, set the fontset of face to nil.
3416
34172008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3418
3419 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3420
34212008-06-16 Juanma Barranquero <lekktu@gmail.com>
3422
3423 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3424 (build_font_name_from_vector): Delete externs.
3425
3426 * xfaces.c (struct font_name): Don't declare.
3427
34282008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3429
3430 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3431
34322008-06-16 Chong Yidong <cyd@stupidchicken.com>
3433
3434 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3435
34362008-06-16 Juanma Barranquero <lekktu@gmail.com>
3437
3438 * font.c (Ffont_spec): Fix usage in docstring.
3439 (Ffont_face_attributes): Doc fix.
3440
34412008-06-16 Andreas Schwab <schwab@suse.de>
3442
3443 * font.c (Ffont_face_attributes): Fix definition.
3444
34452008-06-16 Jason Rumney <jasonr@gnu.org>
3446
3447 * font.h (font_style_symbolic_from_value): Remove.
3448
3449 * font.c (font_style_symbolic_from_value): Remove.
3450 (font_style_symbolic): Revert to pre 2008-06-13 version.
3451
3452 * w32font.c (w32_to_fc_weight): New function.
3453 (w32font_full_name, logfont_to_fcname): Use it.
3454
34552008-06-16 Kenichi Handa <handa@m17n.org>
3456
3457 * font.c (font_check_object): Delete it.
3458 (font_clear_cache): Check if a font-object is alive.
3459 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3460 font-object to nil.
3461 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3462 (font_at): Don't call font_check_object.
3463 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3464
34652008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3466
3467 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3468
34692008-06-16 Chong Yidong <cyd@stupidchicken.com>
3470
3471 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3472
34732008-06-15 Chong Yidong <cyd@stupidchicken.com>
3474
3475 * font.c (font_parse_fcname): Only one decimal point.
3476 (font_unparse_fcname): Handle data in family and foundry indices
3477 as symbols, not strings.
3478 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3479
3480 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3481
3482 * font.h (font_unparse_gtkname): Add prototype.
3483
34842008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3485
3486 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3487
34882008-06-15 Andreas Schwab <schwab@suse.de>
3489
3490 * font.c (font_update_drivers): Fix crash when no drivers match.
3491
34922008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3493
3494 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3495 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3496
34972008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3498
3499 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3500
35012008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3502
3503 * process.c (Fserial_process_configure, Fprocess_send_eof):
3504 Use EQ to compare Lisp_Objects.
3505
35062008-06-13 Jason Rumney <jasonr@gnu.org>
3507
3508 * w32fns.c (Fw32_select_font): Remove old font API function.
3509
3510 * w32font.c (logfont_to_fcname): New function.
3511 (Fx_select_font): New font dialog function compatible with
3512 GTK/fontconfig version.
3513
3514 * font.c (font_style_symbolic_from_value): New function.
3515 (font_style_symbolic): Use it.
3516
3517 * font.h (font_style_symbolic_from_value): Declare new function.
3518
35192008-06-13 Juanma Barranquero <lekktu@gmail.com>
3520
3521 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3522 <font-width-table>: Fix typos in docstrings.
3523
35242008-06-13 Daniel Engeler <engeler@gmail.com>
3525
3526 These changes add serial port access.
3527 * process.c: Add HAVE_SERIAL.
3528 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3529 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3530 (list_processes_1, select_wrapper, Fstop_process)
3531 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3532 (status_notify): Modify to handle serial processes.
3533 [HAVE_SERIAL] (Fserial_process_configure)
3534 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3535 New functions.
3536 * process.h (struct Lisp_Process): Add `type'.
3537 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3538 New functions.
3539 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3540 serial ports.
3541 (serial_open, serial_configure) New functions.
3542 * w32.h: Add FILE_SERIAL.
3543 (struct _child_process): Add ovl_read, ovl_write.
3544
35452008-06-13 Kenichi Handa <handa@m17n.org>
3546
3547 * dispextern.h (enum lface_attribute_index): New member
3548 LFACE_FOUNDRY_INDEX.
3549
3550 * font.c (font_score): Delete arg alternate_families. Check only
3551 weight, slant, width, and size. Ignore the difference of alias
3552 style symbols.
3553 (font_sort_entites): Adjust for the above change. Reflect the
3554 order of font-driver to scores.
3555 (font_list_entities): Don't check alternate_familes here.
3556 (font_clear_prop): Handle foundry.
3557 (font_update_lface): Don't parse "foundry-family" form here.
3558 Handle FONT_FOUNDRY_INDEX.
3559 (font_find_for_lface): Likewise. Handle alternate families here.
3560 If registry is nil, try iso8859-1 and ascii-0.
3561 (font_open_for_lface): Pay attention to size in ENTITY.
3562 (font_open_by_name): Simplify by calling font_load_for_lface.
3563 (free_font_driver_list): Delete it.
3564 (font_update_drivers): Preserve the order of backends.
3565 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3566 of font_score and font_sort_entites.
3567 (font_update_sort_order): Likewise.
3568
3569 * xfaces.c (LFACE_FOUNDRY): New macro.
3570 (check_lface_attrs): Check foundry.
3571 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3572 (merge_face_vectors): Check foundry.
3573 (merge_face_ref): Likewise.
3574 (Finternal_set_lisp_face_attribute): Likewise.
3575 (x_update_menu_appearance): Likewise.
3576 (Finternal_get_lisp_face_attribute): Likewise.
3577 (lface_hash): Likewise.
3578 (lface_same_font_attributes_p): Likewise.
3579 (x_supports_face_attributes_p): Likewise.
3580 (tty_supports_face_attributes_p): Likewise.
3581 (Finternal_set_alternative_font_family_alist): Intern strings.
3582 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3583 (realize_default_face): Set LFACE_FOUNDRY (lface).
3584
3585 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3586 font-driver at first.
3587
3588 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3589
35902008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3591
3592 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3593
35942008-06-12 Jim Meyering <meyering@redhat.com>
3595
3596 Make unexec_free handle NULL the same way free does.
3597 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3598
35992008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3600
3601 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3602 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3603 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3604 (WEAK_ALIAS): Simplify.
3605 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3606 when searching a unibyte buffer.
3607
36082008-06-12 Chong Yidong <cyd@stupidchicken.com>
3609
3610 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3611
36122008-06-12 Juanma Barranquero <lekktu@gmail.com>
3613
3614 * w32font.c: Include ctype.h.
3615
36162008-06-11 Jason Rumney <jasonr@gnu.org>
3617
3618 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3619 misreported as space.
3620 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3621 as aliases for registry iso10646-1.
3622
36232008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3624
3625 * buffer.c (clone_per_buffer_values): Skip `name'.
3626
36272008-06-11 Chong Yidong <cyd@stupidchicken.com>
3628
3629 * font.c (font_parse_fcname): Fix last change; accept decimal
3630 points in font size.
3631
36322008-06-10 Jason Rumney <jasonr@gnu.org>
3633
3634 * w32uniscribe.c (add_opentype_font_name_to_list):
3635 Skip non unicode fonts.
3636
36372008-06-10 Chong Yidong <cyd@stupidchicken.com>
3638
3639 * xfns.c (Fx_font_dialog): New function.
3640
3641 * gtkutil.c (xg_dialog_response_cb): Rename from
3642 xg_file_response_callback.
3643 (pop_down_dialog): Rename from pop_down_file_dialog.
3644 (xg_get_file_name): Callers changed.
3645 (xg_get_font_name): New function.
3646
3647 * gtkutil.h (xg_get_font_name): Insert prototype.
3648
36492008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3650
3651 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3652 x_underline_minimum_display_offset.
3653 (syms_of_xdisp): Declare it here rather than in xterm.c.
3654 * dispextern.h (underline_minimum_offset): Declare it.
3655 * w32term.c (x_draw_glyph_string): Use it.
3656 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3657 (syms_of_xterm): Don't declare it any more.
3658 (x_draw_glyph_string): Adjust to the new name.
3659
36602008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3661
3662 * xterm.c (x_underline_minimum_display_offset): New var.
3663 (x_draw_glyph_string): Use it.
3664 (syms_of_xterm): Declare it.
3665
36662008-06-10 Chong Yidong <cyd@stupidchicken.com>
3667
3668 * font.c (font_parse_fcname): Accept GTK-style font names too.
3669
36702008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3671
3672 * dired.c (file_name_completion): Don't return t if the match is exact
3673 but with different capitalization.
3674 * minibuf.c (Ftry_completion): Simplify.
3675
3676 * window.c (Vwindow_point_insertion_type): New var.
3677 (set_window_buffer): Use it.
3678 (syms_of_window): Init and export it to Lisp.
3679
36802008-06-10 Kenichi Handa <handa@m17n.org>
3681
3682 * font.h (font_intern_prop): Prototype adjusted.
3683
3684 * font.c (font_intern_prop): New arg force_symbol.
3685 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3686 Adjust for the change of font_intern_prop.
3687
3688 * ftfont.c (ftfont_pattern_entity):
3689 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3690 (w32_registry):
3691 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3692 the change of font_intern_prop.
3693
36942008-06-09 Juanma Barranquero <lekktu@gmail.com>
3695
3696 * w32menu.c (digest_single_submenu): Declare extern.
3697
36982008-06-09 Jason Rumney <jasonr@gnu.org>
3699
3700 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3701
3702 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3703 (parse_single_submenu): Remove.
3704 (digest_single_submenu): Remove.
3705 (syms_of_w32menu): Don't initialise variables that have moved
3706 to menu.c.
3707 (set_frame_menubar): Sync with version in xmenu.c.
3708 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3709
3710 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3711 Make static again.
3712
37132008-06-09 Jason Rumney <jasonr@gnu.org>
3714
3715 Changes to w32 files related to the move of common menu code
3716 to menu.c on 2008-06-08 by Chong Yidong.
3717
3718 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3719 defs to w32gui.h.
3720 (single_keymap_panes, push_menu_item, push_menu_pane):
3721 Make globally visible.
3722
3723 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3724 (local_free, malloc_widget_value, free_widget_value)
3725 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3726 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3727 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3728 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3729 (menu_items, menu_items_allocated, menu_items_used)
3730 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3731 (init_menu_items, finish_menu_items, discard_menu_items)
3732 (grow_menu_items, push_submenu_start, push_submenu_end)
3733 (push_left_right_boundary, push_menu_pane, push_menu_item)
3734 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3735 (free_menubar_widget_tree_value, parse_single_submenu)
3736 (update_submenu_strings): Remove functions.
3737 (xmalloc_widget_value): Remove and declare extern.
3738
3739 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3740 (OBJ1): Build it.
3741
3742 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3743 (local_heap, local_alloc, local_free, malloc_widget_value)
3744 (free_widget_value): Define here.
3745
37462008-06-09 Kenichi Handa <handa@m17n.org>
3747
3748 * font.h (Qascii_0): Extern it.
3749
3750 * font.c (Qascii_0): New variable.
3751 (syms_of_font): DEFSYM it.
3752 (font_open_by_name): If the registry "iso8859-1" fails, try also
3753 "ascii-0".
3754
3755 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3756
37572008-06-08 Kenichi Handa <handa@m17n.org>
3758
3759 * .gdbinit (xfont): New command.
3760
37612008-06-08 Andreas Schwab <schwab@suse.de>
3762
3763 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3764 * Makefile.in (menu.o): Update dependencies.
3765
3766 * Makefile.in (obj): Always add menu.o.
3767 * emacs.c (main): Always call syms_of_menu.
3768 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3769
37702008-06-08 Chong Yidong <cyd@stupidchicken.com>
3771
3772 * Makefile.in: Compile menu.c.
3773
3774 * lisp.h: Declare syms_of_menu.
3775
3776 * emacs.c (main): Call syms_of_menu.
3777
3778 * keyboard.h: Relocate platform-independent menu definitions from
3779 xmenu.c.
3780
3781 * menu.c: New file. Relocate platform-independent menu
3782 definitions from xmenu.c. Suggested by Adrian Robert.
3783
3784 * xmenu.c: Remove platform-independent menu definitions.
3785 (menu_items menu_items_inuse, menu_items_allocated)
3786 (menu_items_used, menu_items_n_panes)
3787 (menu_items_submenu_depth): Move to keyboard.h.
3788 (init_menu_items, finish_menu_items, unuse_menu_items)
3789 (discard_menu_items, restore_menu_items, save_menu_items)
3790 (grow_menu_items, push_submenu_start, push_submenu_end)
3791 (push_left_right_boundary, push_menu_pane, push_menu_item)
3792 (keymap_panes, single_keymap_panes, single_menu_item)
3793 (list_of_panes, list_of_items, find_and_call_menu_selection)
3794 (xmalloc_widget_value, free_menubar_widget_value_tree)
3795 (parse_single_submenu, digest_single_submenu)
3796 (update_submenu_strings): Move to menu.c.
3797
37982008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3799
3800 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3801
38022008-06-06 Miles Bader <miles@gnu.org>
3803
3804 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3805 face, not frame default.
3806
38072008-06-05 Martin Rudalics <rudalics@gmx.at>
3808
3809 * window.c (pop_up_windows, pop_up_frames)
3810 (display_buffer_reuse_frames, Vpop_up_frame_function)
3811 (Vdisplay_buffer_function, Veven_window_heights)
3812 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3813 (Vspecial_display_function, Vsame_window_buffer_names)
3814 (Vsame_window_regexps, split_height_threshold)
3815 (Vsplit_window_preferred_function): Move those vars to window.el.
3816 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3817 (Fdisplay_buffer): Move those functions to window.el.
3818 (syms_of_window): Remove corresponding declarations.
3819 (display_buffer): New function.
3820 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3821 * dispnew.c (Flast_nonminibuf_frame): New function.
3822 * buffer.c (Fpop_to_buffer): Move to window.el.
3823
38242008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3825
3826 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3827
38282008-06-05 Kenichi Handa <handa@m17n.org>
3829
3830 * coding.c (detect_coding): Fix previous change.
3831 (detect_coding_system): Likewise.
3832
38332008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3834
3835 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3836
3837 * keymap.c (Vminibuffer_local_filename_must_match_map):
3838 Rename from Vminibuffer_local_must_match_filename_map.
3839 (syms_of_keymap):
3840 * minibuf.c (Fcompleting_read): Adjust accordingly.
3841 * commands.h: Rename declaration as well.
3842
38432008-06-05 Kenichi Handa <handa@m17n.org>
3844
3845 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3846 family name.
3847 (Ffont_put): Likewise.
3848
3849 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3850 current font-spec.
3851
3852 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3853 is unspecified.
3854
3855 * xfaces.c (realize_x_face): If the font-related face attributes
3856 are the same as those of default face, realize a new fontset from
3857 default->fontset.
3858 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
3859
38602008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3861
3862 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3863 (move_it_in_display_line): New wrapper.
3864
3865 * window.c (window_scroll_pixel_based_preserve_x)
3866 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3867 (window_scroll_pixel_based, window_scroll_line_based):
3868 Use them to preserve column positions.
3869 (syms_of_window): Initialize them.
3870
3871 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3872 (HPOS . VPOS) pair.
3873
3874 * dispextern.h (move_it_in_display_line): Declare.
3875
38762008-06-05 Juanma Barranquero <lekktu@gmail.com>
3877
3878 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3879 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3880 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3881
38822008-06-04 Juanma Barranquero <lekktu@gmail.com>
3883
3884 * window.c (Fset_window_parameter): Doc fix.
3885 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3886
38872008-06-04 Joakim Verona <joakim@verona.se>
3888
3889 * window.h (struct window): Add new member window_parameters.
3890
3891 * window.c (Fwindow_parameters, Fwindow_parameter)
3892 (Fset_window_parameter): New defuns.
3893 (syms_of_window): Defsubr the new defuns.
3894 (make_window): Initialize window_parameters to nil.
3895
38962008-06-04 John Paul Wallington <jpw@pobox.com>
3897
3898 * eval.c (Fdefmacro): Doc fix.
3899
39002008-06-04 Kenichi Handa <handa@m17n.org>
3901
3902 * coding.c (detect_coding): Fix handling of coding->head_ascii.
3903 Be sure to call setup_coding_system when we find a proper coding system.
3904 (detect_coding_system): Fix handling of coding->head_ascii.
3905
39062008-06-03 Andreas Schwab <schwab@suse.de>
3907
3908 * font.c (font_prop_validate_spacing): Fix last change.
3909
39102008-06-03 Kenichi Handa <handa@m17n.org>
3911
3912 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3913 (font_parse_fcname): Fix handling of unknown key.
3914
3915 * xfont.c (xfont_list): Try an alias.
3916
3917 * charset.c (char_charset): Return NULL if the arg charset_list is
3918 specified and C doesn't belong to any of them.
3919
39202008-06-02 Chip Coldwell <coldwell@redhat.com>
3921
3922 * font.c (font_pixel_size): Don't take cdr of an integer.
3923
39242008-06-02 Jim Meyering <meyering@redhat.com>
3925
3926 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3927 * alloc.c (xfree): Return right away for a NULL arg.
3928 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3929 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3930 * mac.c (create_apple_event_from_event_ref): Likewise.
3931 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3932 Likewise.
3933 * doprnt.c (doprnt1): Likewise.
3934 * frame.c (frame): Likewise.
3935 * keyboard.c (wipe_kboard): Likewise.
3936 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
3937 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3938 * term.c (tty_default_color_capabilities, maybe_fatal)
3939 (delete_tty): Likewise.
3940 * w16select.c (string): Likewise.
3941 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3942 * w32bdf.c (w32_free_bdf_font): Likewise.
3943 * w32fns.c (w32_unload_font): Likewise.
3944 * w32font.c (w32font_close): Likewise.
3945 * window.c (size_window): Likewise.
3946 * xselect.c (receive_incremental_selection): Likewise.
3947 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3948 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3949 * w32.c (stat): Likewise.
3950
3951 Remove useless if-before-free tests.
3952 * editfns.c (Fset_time_zone_rule): Likewise.
3953 * lread.c (nosuffix): Likewise.
3954 * ralloc.c (get_bloc): Likewise.
3955 * regex.c (reg_free): Likewise.
3956 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3957 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3958 * xsmfns.c (smc_save_yourself_CB): Likewise.
3959
39602008-06-02 Kenichi Handa <handa@m17n.org>
3961
3962 * font.c (font_find_for_lface): Handle float font size.
3963 (font_open_for_lface): Likewise.
3964
3965 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3966 comparing the properties.
3967
39682008-06-01 Jason Rumney <jasonr@gnu.org>
3969
3970 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3971 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3972 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3973 Don't add empty script list.
3974 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
3975
39762008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3977
3978 * Makefile.in (dot, dotdot): Remove, update users.
3979 ".." has been used elsewhere in the file for a long time.
3980 (LIBXT_STATIC): Remove conditional based on unused variable.
3981
39822008-06-01 Miles Bader <miles@gnu.org>
3983
3984 * xfaces.c (Vface_remapping_alist): New variable.
3985 (syms_of_xfaces): Initialize it.
3986 (enum named_merge_point_kind): New type.
3987 (struct named_merge_point): Add `named_merge_point_kind' field.
3988 (push_named_merge_point): Make cycle detection respect different
3989 named-merge-point kinds.
3990 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
3991 Remove face-name alias resolution.
3992 (lface_from_face_name): New definition using
3993 `lface_from_face_name_no_resolve'.
3994 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
3995 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3996 (get_lface_attributes): New definition that layers face-remapping on
3997 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3998 (lookup_basic_face): New function.
3999 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4000 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4001 `get_lface_attributes'.
4002 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4003 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4004 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4005
4006 * xdisp.c (init_iterator): Pass base_face_id through
4007 `lookup_basic_face' when we actually use it as a face-id.
4008 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4009 DEFAULT_FACE_ID.
4010
4011 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4012 lookup the initial face-id.
4013
4014 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4015
40162008-06-01 Juanma Barranquero <lekktu@gmail.com>
4017
4018 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4019 (Fremove_text_properties): Fix typos in docstrings.
4020
40212008-05-31 Kenichi Handa <handa@m17n.org>
4022
4023 * font.c (font_list_entities): Fix the car part of data to be
4024 stored in the cache.
4025
4026 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4027
40282008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4029
4030 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4031 Add a `test' argument so another predicate than `equal' can be used.
4032 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4033 (map_char_table): Remove unused vars `c' and `i'.
4034 * lisp.h (Foptimize_char_table): Adjust declaration.
4035 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4036
40372008-05-30 Kenichi Handa <handa@m17n.org>
4038
4039 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4040 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4041 defined.
4042
40432008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4044
4045 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4046 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4047 frame-local settings for the same variable.
4048
40492008-05-30 Kenichi Handa <handa@m17n.org>
4050
4051 * fontset.c (Ffont_info): Move to font.c.
4052 (syms_of_fontset): Delete defsubr of Sfont_info.
4053
4054 * font.c (font_style_to_value, font_score): Delete casting of the
4055 args to xstcasecmp.
4056 (register_font_driver): Increment num_font_drivers only when
4057 registering the driver globally.
4058 (Ffont_info): Move from fontset.c. Handle a font object too.
4059 (syms_of_font): Defsubr Sfont_info.
4060
40612008-05-29 Kenichi Handa <handa@m17n.org>
4062
4063 * coding.h (enum define_coding_utf8_arg_index): New enum.
4064 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4065 coding_attr_utf_bom.
4066 (enum utf_bom_type): Rename from utf_16_bom_type.
4067 (struct utf_16_spec): Adjust for the above change.
4068 (struct coding_system): Add utf_8_bom in `spec' union.
4069
4070 * coding.c (CODING_UTF_8_BOM): New macro.
4071 (enum coding_category): Delete coding_category_utf_8, add
4072 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4073 coding_category_utf_8_sig.
4074 (CATEGORY_MASK_UTF_8): Delete it.
4075 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4076 (CATEGORY_MASK_UTF_8_SIG): New macros.
4077 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4078 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4079 CATEGORY_MASK_UTF_8_SIG.
4080 (CATEGORY_MASK_UTF_8): New macro.
4081 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4082 (detect_coding_utf_8): Check BOM.
4083 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4084 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4085 (encode_coding_utf_16): Likewise.
4086 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4087 (detect_coding, detect_coding_system): Handle utf-8-auto.
4088 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4089 (syms_of_coding): Fix setting up of Vcoding_category_table.
4090
40912008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4092
4093 * process.c (Faccept_process_output): If `millisec' is non-nil,
4094 `seconds' default to 0.
4095 (wait_reading_process_output): Also return non-nil if we read output
4096 from a non-running process.
4097
40982008-05-29 Jason Rumney <jasonr@gnu.org>
4099
4100 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4101 `raster' specified.
4102 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4103 in the uniscribe backend, but disallow any font that has no
4104 unicode subrange support.
4105
41062008-05-29 Juanma Barranquero <lekktu@gmail.com>
4107
4108 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4109 Fix typos in docstrings.
4110
41112008-05-29 Kenichi Handa <handa@m17n.org>
4112
4113 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4114 (Fx_family_fonts): Set frame correctly.
4115
41162008-05-28 Jason Rumney <jasonr@gnu.org>
4117
4118 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4119
41202008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4121
4122 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4123 calling build_annotations.
4124
41252008-05-28 Juanma Barranquero <lekktu@gmail.com>
4126
4127 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4128 (Fencode_coding_string):
4129 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4130 <latin-extra-code-table>: Fix typos in docstrings.
4131 (syms_of_coding) <coding-system-alist>: Doc fix.
4132 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4133
41342008-05-28 Kenichi Handa <handa@m17n.org>
4135
4136 * fontset.c (Ffont_info): Don't call font_close_object.
4137
4138 * font.c (font_parse_family_registry): Use Ffont_put to validate
4139 foundry and family.
4140 (font_delete_unmatched): Don't check spacing.
4141 (font_list_entities): Add spacing to the spec to list fonts.
4142
4143 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4144 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4145
4146 * coding.c (encode_coding_raw_text): Fix previous change.
4147 (encode_coding_object): When the dst_object is a buffer and is
4148 different from src_object, move gap to PT.
4149
41502008-05-27 Chong Yidong <cyd@stupidchicken.com>
4151
4152 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4153
41542008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4155
4156 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4157 all branches. Compute it differently.
4158
4159 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4160
41612008-05-27 Juanma Barranquero <lekktu@gmail.com>
4162
4163 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4164 into "else if () ... else ...".
4165
41662008-05-27 Jason Rumney <jasonr@gnu.org>
4167
4168 * w32font.c (w32font_open_internal): Determine if glyph indices
4169 are likely to work here.
4170
41712008-05-27 Chong Yidong <cyd@stupidchicken.com>
4172
4173 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4174 draw overlap glyphs with appropriate highlighting.
4175
41762008-05-27 Kenichi Handa <handa@m17n.org>
4177
4178 * xfont.c (xfont_open): Fix calculation of font->average_width.
4179
41802008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4181
4182 * casefiddle.c (casify_object): Try to guess better whether the
4183 argument is a byte or a char.
4184
41852008-05-26 Andreas Schwab <schwab@suse.de>
4186
4187 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4188 Always send multiples of format size.
4189
4190 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4191
41922008-05-26 Jason Rumney <jasonr@gnu.org>
4193
4194 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4195 (compute_metrics): Don't set failure if we just cleared the cache.
4196 (w32_weight_table): Remove unused variable.
4197 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4198 backwards compatibility.
4199
42002008-05-25 Kenichi Handa <handa@m17n.org>
4201
4202 * w32term.c (x_draw_glyph_string):
4203 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4204
4205 * xfaces.c: Delete unused function prototypes.
4206 (xstrlwr, font_frame): Delete them.
4207 (clear_face_cache): Delete unused variable.
4208
4209 * xftfont.c (xftfont_open): Delete unused variable.
4210 If underline_thickness is not 1, adjust underline_position.
4211
4212 * ftxfont.c (ftxfont_open): Delete unused variable.
4213
4214 * fontset.c (face_for_char): Optimize for the case of no charset
4215 property.
4216
4217 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4218 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4219 (otf_open, font_otf_capability, generate_otf_features)
4220 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4221 Comment out by surrounding "#if 0" and "#endif" for the moment.
4222 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4223 (syms_of_font): Codes for accessing above commented out.
4224
42252008-05-24 Eli Zaretskii <eliz@gnu.org>
4226
4227 * w32proc.c: Include dispextern.h.
4228
4229 * w32.c: Include dispextern.h.
4230
42312008-05-23 Juanma Barranquero <lekktu@gmail.com>
4232
4233 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4234 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4235 Fix typos in docstrings.
4236
42372008-05-23 Jason Rumney <jasonr@gnu.org>
4238
4239 * xsmfns.c: Remove includes that are already included by config.h.
4240
42412008-05-23 Kenichi Handa <handa@m17n.org>
4242
4243 * charset.c (Qemacs, charset_emacs): New variables.
4244 (char_charset): Fix for non-Unicode characters.
4245 (syms_of_charset): Define charset_emacs.
4246
4247 * w32term.c (x_draw_glyph_string): Be sure to update
4248 s->underline_thickness and s->underline_position. Be sure to draw
4249 underline within the current line area.
4250
4251 * xterm.c (x_draw_glyph_string): Be sure to update
4252 s->underline_thickness and s->underline_position. Be sure to draw
4253 underline within the current line area.
4254
4255 * fontset.c: Delete unused variables and add casting for char *
4256 throughout the file.
4257 (fontset_font): Try the fallback fonts of the current fontset
4258 before consulting the default fontset.
4259
4260 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4261
4262 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4263
42642008-05-22 Jason Rumney <jasonr@gnu.org>
4265
4266 * font.c: Don't include strings.h.
4267
4268 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4269
4270 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4271 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4272 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4273 to call xstrcasecmp.
4274
4275 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4276
4277 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4278
4279 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4280
4281 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4282
42832008-05-22 Kenichi Handa <handa@m17n.org>
4284
4285 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4286
4287 * font.c (font_prop_validate_style): Adjust for the format
4288 change of font_style_table.
4289
4290 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4291 two args.
4292
4293 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4294 two args.
4295
42962008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4297
4298 * minibuf.c (keys_of_minibuf): Delete.
4299 * lisp.h (keys_of_minibuf): Delete.
4300 * emacs.c (main): Don't call keys_of_minibuf.
4301
43022008-05-22 Kenichi Handa <handa@m17n.org>
4303
4304 * ftfont.c (ftfont_resolve_generic_family): Rename from
4305 ftfont_list_generic_family. Return a single family for each
4306 generic family.
4307 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4308 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4309 Call font_add_log.
4310 (ftfont_match): Call font_add_log.
4311
4312 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4313 (FONT_DEBUG): Define it.
4314 (font_add_log): Extern it.
4315 (font_assert): Rename from xassert.
4316
4317 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4318 (xfont_list_family): Call font_add_log.
4319 (xfont_match): Likewise.
4320 (memq_no_quit): Delete.
4321
4322 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4323 call of Ffont_xlfd_name.
4324
4325 * xfaces.c (struct table_entry, slant_table, weight_table)
4326 (swidth_table): Move to font.c.
4327
4328 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4329 xassert are changed to font_assert. Delete many unused variables.
4330 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4331 New variables.
4332 (struct table_entry): Move from xfaces.c and modified.
4333 (weight_table, slant_table, width_table): Move from xfaces.c and
4334 contents adjusted for the change of struct table_entry.
4335 (font_style_to_value, font_style_symbolic): Adjust for the
4336 format change of font_style_table.
4337 (font_parse_family_registry): Don't overwrite existing foundry and
4338 family of font_spec.
4339 (font_score): Fix calculation of diff for sizes.
4340 (font_sort_entites): Call font_add_log.
4341 (font_delete_unmatched): Return a newly created list.
4342 (font_list_entities): Fix previous change. Call font_add_log.
4343 (font_matching_entity, font_open_entity, font_close_entity):
4344 Call font_add_log.
4345 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4346 (Finternal_set_font_style_table): Delete.
4347 (BUILD_STYLE_TABLE): New macro.
4348 (build_style_table): New function.
4349 (Vfont_log, font_log_env_checked): New variables.
4350 (font_add_log): New function.
4351 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4352 Declare Lisp variables "font-weight-table", "font-slant-table",
4353 "font-width-table", and "font-log". Initialize font_style_table.
4354
43552008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4356
4357 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4358
43592008-05-21 Seiji Zenitani <zenitani@mac.com>
4360 Ryo Yoshitake <ryo@shiftmode.net>
4361
4362 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4363 (Vframe_alpha_lower_limit): New variable.
4364 (x_set_alpha): New function.
4365
4366 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4367
4368 * xfns.c (x-create-frame, Qalpha):
4369 Initialize the frame parameter `alpha'.
4370 * xterm.c (OPAQUE, OPACITY): New.
4371 (x_set_frame_alpha): New function.
4372 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4373
4374 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4375 * w32fns.c (w32_frame_parm_handlers): Likewise.
4376
43772008-05-20 Jason Rumney <jasonr@gnu.org>
4378
4379 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4380 truetype fonts to opentype list.
4381
43822008-05-20 Juanma Barranquero <lekktu@gmail.com>
4383
4384 * fontset.c (Ffontset_info): Doc fix.
4385 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4386 <ignore-relative-composition>: Fix typos in docstrings.
4387
4388 * font.c (syms-of-font) <font-encoding-alist>:
4389 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4390 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4391 (Ffont_otf_alternates): Doc fixes.
4392
43932008-05-20 Kenichi Handa <handa@m17n.org>
4394
4395 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4396 font.h through out the file.
4397 (FONT_DRIVERS): Rename from FONTOBJ.
4398 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4399 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4400
4401 * emacs.c (main): Call syms_of_font unconditionally.
4402
4403 * font.h (find_font_encoding): Extern it.
4404
4405 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4406 fontset.c.
4407 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4408 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4409 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4410 only when HAVE_WINDOW_SYSTEM is defined.
4411 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4412 when HAVE_WINDOW_SYSTEM is defined.
4413
4414 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4415 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4416
4417 * xfaces.c: Include font.h unconditionally.
4418 (merge_face_ref, merge_face_vectors)
4419 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4420
44212008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4422
4423 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4424 indirect_variable.
4425 * eval.c (lisp_indirect_variable): New fun.
4426 (Fuser_variable_p): Use it.
4427
44282008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4429
4430 * lisp.h (indirect_variable):
4431 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4432 Use Lisp_Symbol pointers rather than Lisp_Object.
4433 Adjust callers.
4434 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4435 To this end, change calling-convention.
4436
4437 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4438 if some non-hidden buffers are selected by string&pred.
4439
44402008-05-19 Chong Yidong <cyd@stupidchicken.com>
4441
4442 * process.c (wait_reading_process_output): Always check status
4443 when in batch mode.
4444
44452008-05-19 Kenichi Handa <handa@m17n.org>
4446
4447 * font.c (font_list_entities): Fix handling of cache.
4448 (font_matching_entity): Likewise.
4449
4450 * ftfont.c (cs_iso8859_1): Delete.
4451 (ft_face_cache): New variable.
4452 (struct ftfont_info): New member fc_charset_idx.
4453 (ftfont_build_basic_charsets): Delete.
4454 (fc_charset_table): New variable.
4455 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4456 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4457 Callers changed.
4458 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4459 (ftfont_spec_pattern): New argument fc_charset_idx.
4460 Check registry more rigidly. Change callers.
4461 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4462 change of :font-entity property of the font.
4463
4464 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4465 property of the font.
4466
44672008-05-18 Juanma Barranquero <lekktu@gmail.com>
4468
4469 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4470 (Funencodable_char_position, Fcheck_coding_systems_region)
4471 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4472 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4473 (Ffind_operation_coding_system, Fset_coding_system_priority)
4474 (Fcoding_system_eol_type): Doc fixes.
4475
44762008-05-17 Glenn Morris <rgm@gnu.org>
4477
4478 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4479
44802008-05-16 Eli Zaretskii <eliz@gnu.org>
4481
4482 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4483 and st_gid.
4484
4485 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4486 HAVE_WINDOW_SYSTEM is not defined.
4487
4488 * xfaces.c (merge_face_ref, merge_face_vectors)
4489 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4490 HAVE_WINDOW_SYSTEM is defined.
4491 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4492
44932008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4494
4495 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4496
44972008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4498
4499 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4500
45012008-05-15 Kenichi Handa <handa@m17n.org>
4502
4503 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4504 preference.
4505
45062008-05-15 Glenn Morris <rgm@gnu.org>
4507
4508 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4509
45102008-05-15 Chong Yidong <cyd@stupidchicken.com>
4511
4512 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4513 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4514
4515 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4516
45172008-05-15 Kenichi Handa <handa@m17n.org>
4518
4519 * ftfont.c (ftfont_list): Downcase family name to check generic
4520 families.
4521
4522 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4523 font-spec for QCfont value.
4524
4525 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4526 buffer. Check the return value of it.
4527
45282008-05-14 Jason Rumney <jasonr@gnu.org>
4529
4530 * w32term.c (w32_get_glyph_overhangs): Remove.
4531 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4532
45332008-05-14 Kenichi Handa <handa@m17n.org>
4534
4535 * font.c (font_prop_validate): Make nil a valid value.
4536 (font_clear_cache): Check if the cached vector of entities is nil
4537 or not.
4538
45392008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4540
4541 * emacs.c (main_thread): Conditionalize on
4542 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4543 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4544
4545 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4546 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4547 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4548
45492008-05-14 Kenichi Handa <handa@m17n.org>
4550
4551 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4552 has no corresponding coding system.
4553
45542008-05-14 Jason Rumney <jasonr@gnu.org>
4555
4556 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4557
4558 * w32font.h (w32font_open_internal): Update declaration.
4559
4560 * w32font.c (w32font_open_internal): Change last argument from
4561 w32font_info struct to font object. Fill in font object from
4562 font_entity. Get Outline metrics if possible. Use them to
4563 calculate underline position and thickness. Use xlfd name as name
4564 property. Don't set codepage.
4565 (w32font_open): Pass font_object to w32font_open_internal. Don't
4566 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4567 (w32font_draw): Use s->font.
4568 (clear_cached_metrics): Don't clear non-existent blocks.
4569
4570 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4571 font was not found.
4572 (x_draw_glyph_string): Use underline position and thickness from font.
4573
4574 * w32uniscribe.c (uniscribe_open): Pass font_object to
4575 w32font_open_internal.
4576
45772008-05-14 Kenichi Handa <handa@m17n.org>
4578
4579 These changes are to delete all legacy font-handling codes, and
4580 make Emacs use only font-backends.
4581
4582 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4583 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4584
4585 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4586
4587 * charset.h (Vcharset_non_preferred_head)
4588 (Vcurrent_iso639_language): Extern them.
4589
4590 * charset.c (Vcharset_non_preferred_head): New variable.
4591 (Vcurrent_iso639_language): New variable.
4592 (syms_of_charset): Declare it as a Lisp variable.
4593 (char_charset): Don't check non preferred charsets. As a last
4594 resort, return charset_unicode.
4595 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4596
4597 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4598 conditionals. Don't check enable_font_backend. Delete all codes
4599 used only when USE_FONT_BACKEND is not defined.
4600
4601 * dispextern.h (struct glyph_string): Change type of `font' to
4602 `struct font *'.
4603 (struct glyph_string): New member underline_position and
4604 underline_thickness.
4605 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4606 (struct face): Change type of `font' to `struct font *'. Remove
4607 members `font_name', `font_info_id'.
4608 (per_char_metric, encode_char): Delete externs.
4609 (calc_pixel_width_or_height): Adjust the prototype.
4610
4611 * emacs.c (enable_font_backend): Delete extern.
4612 (main): Don't set enable_font_backend. Don't check the command
4613 line argument "-disable-font-backend".
4614
4615 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4616 (enum font_property_index): New members FONT_DPI_INDEX,
4617 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4618 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4619 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4620 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4621 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4622 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4623 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4624 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4625 (struct font_spec, struct font_entity): New structs.
4626 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4627 (struct font): Many members from old "struct font_info" moved to
4628 here. Members font and entity deleted.
4629 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4630 the new font-related objects.
4631 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4632 (CHECK_FONT_GET_OBJECT): Likewise.
4633 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4634 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4635 (struct font_driver): New members case_sensitive anc check. Type
4636 of the member list and open changed.
4637 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4638 (font_symbolic_width, font_find_object, font_get_spec)
4639 (font_set_lface_from_name): Delete extern.
4640 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4641
4642 * font.c: Include <strings.h>.
4643 (enable_font_backend): Delete it.
4644 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4645 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4646 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4647 (null_string): Delete it.
4648 (null_vector): Make it static.
4649 (font_family_alist): Delete it.
4650 (Qnormal): Extern it.
4651 (QCextra, QClanguage): Delete it.
4652 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4653 (font_make_spec, font_make_entity, font_make_object)
4654 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4655 the string. Callers changed.
4656 (font_pixel_size): Adjusted for the format change of font-related
4657 objects.
4658 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4659 (font_style_to_value, font_style_symbolic): New function.
4660 (build_font_family_alist): Delete it.
4661 (font_registry_charsets): Use Fassoc_string instead of
4662 assq_no_quit.
4663 (font_prop_validate_symbol): Don't return null_string.
4664 (font_prop_validate_style): Adjusted for the change of
4665 style-related values in a font vector.
4666 (font_property_table): Delete entries for QClanguage and
4667 QCantialias, add entries for QCavgwidth.
4668 (get_font_prop_index): Delete the 2nd argument FROM.
4669 (font_prop_validate): Arguments changed.
4670 (font_put_extra): Adjusted for the change of font-related objects.
4671 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4672 (font_parse_fcname, font_unparse_fcname)
4673 (font_prepare_composition): Likewise.
4674 (font_parse_family_registry): Renamed from font_merge_old_spec.
4675 (otf_open): Delete the 1st arg entity.
4676 (font_otf_capability): Adjusted for the above change.
4677 (font_score): New arg alternate_families. Adjusted for the change
4678 of font-related objects.
4679 (font_sort_entites): New arg best_only.
4680 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4681 Delete them.
4682 (font_match_p): Check alternate families.
4683 (font_find_object): Delete it.
4684 (font_check_object): New function.
4685 (font_clear_cache): Adjusted for the change of font-related objects.
4686 (font_delete_unmatched): New arg.
4687 (font_list_entities): Call font_driver->list with a spec that
4688 doesn't specify style-related properties.
4689 (font_matching_entity): Arguments changed. Caller changed.
4690 (font_open_entity): Adjusted for the change of font-related objects.
4691 (font_close_object, font_has_char, font_encode_char)
4692 (font_get_name, font_get_spec): Likewise.
4693 (font_spec_from_name, font_clear_prop, font_update_lface):
4694 New functions.
4695 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4696 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4697 (font_at): Adjusted for the change of font-related objects.
4698 (font_range): New function.
4699 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4700 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4701 (Fcopy_font_spec, Fmerge_font_spec): New function.
4702 (Ffont_family_list): Renamed from list-families.
4703 (Finternal_set_font_style_table): Arguments changed.
4704 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4705 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4706 change of font-related objects.
4707 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4708
4709 * fontset.h (struct font_info): Delete it. Most members go to
4710 struct font.
4711 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4712 (enum FONT_SPEC_INDEX): Delete it.
4713 (font_info, list_fonts_func, load_font_func, query_font_func)
4714 (set_frame_fontset_func, find_ccl_program_func)
4715 (get_font_repertory_func, new_fontset_from_font_name): Delete
4716 externs.
4717 (fontset_from_font_name): Extern it.
4718 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4719 (FONT_INFO_FROM_FACE): Deleted.
4720 (face_for_font): Adjust prototype.
4721
4722 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4723 conditionals. Don't check enable_font_backend. Delete all codes
4724 used only when USE_FONT_BACKEND is not defined.
4725 (get_font_info_func, list_font_func, load_font_func)
4726 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4727 (get_font_repertory_func): Delete them.
4728 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4729 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4730 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4731 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4732 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4733 (fontset_compare_rfontdef): New function.
4734 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4735 rfont-defs by qsort. Adjusted for the change of font-group vector.
4736 (load_font_get_repertory): Deleted.
4737 (fontset_find_font): Use new macros to ref/set elements of
4738 font-def and rfont-def.
4739 (fontset_font): Fix the timing of remembering that no font for C.
4740 (free_face_fontset): Do nothing if the face has no fontset.
4741 (face_suitable_for_char_p): Use new macros to ref/set elements of
4742 rfont-def.
4743 (face_for_char): Likewise. Call face_for_char with font_object.
4744 (fs_load_font): Delete. Delete #pragma surrounding it.
4745 (fs_query_fontset): Use strcasecmp instead of strcmp.
4746 (generate_ascii_font_name): Adjusted for the format change of
4747 font-spec.
4748 (Fset_fontset_font): Likewise. Use new macros to set elements of
4749 font-def.
4750 (Fnew_fontset): Use font_unparse_xlfd to generate
4751 FONTSET_ASCII (fontset).
4752 (new_fontset_from_font_name): Deleted.
4753 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4754 a fontset is already created for the font. FIx updating of
4755 Vfontset_alias_alist.
4756 (fontset_ascii_font): Deleted.
4757 (Ffont_info): Adjusted for the format change of font-spec.
4758 (Finternal_char_font): Likewise.
4759 (Ffontset_info): Likewise.
4760 (syms_of_fontset): Don't check load_font_func.
4761
4762 * fns.c (internal_equal): Handle PREV_FONT.
4763
4764 * frame.h: Delete USE_FONT_BACKEND conditional.
4765
4766 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4767 conditionals. Don't check enable_font_backend. Delete all codes
4768 used only when USE_FONT_BACKEND is not defined.
4769 (x_set_font): Call x_new_font, not x_new_fontset2.
4770 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4771 already set for the frame.
4772
4773 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4774 a font-entity by font_make_entity. Use font_intern_prop instead
4775 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4776 font property. If a font is scalable, set avgwidth property to 0.
4777 Set font-entity property by font_put_extra.
4778 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4779 (ffont_driver): Adjusted for the change of struct font_driver.
4780 (ftfont_spec_pattern): New function.
4781 (ftfont_list): Return a list, not vector.
4782 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4783 (ftfont_list_family): Don't downcase names.
4784 (ftfont_free_entity): Deleted.
4785 (ftfont_open): Return a font-object. Adjusted for the change of
4786 struct font. Get underline_thickness and underline_position from
4787 font property. Don't update dpyinfo->smallest_font_height and
4788 dpyinfo->smallest_char_width.
4789 (ftfont_close): Don't free `struct font'.
4790 (ftfont_has_char): Adjusted for the format change of font-entity.
4791 (ftfont_encode_char, ftfont_text_extents): Likewise.
4792
4793 * ftxfont.c (ftxfont_list): Return a list, not vector.
4794 (ftxfont_open): Return a font-object. Adjusted for the change of
4795 struct font. Get underline_thickness and underline_position from
4796 font property. Don't update dpyinfo->smallest_font_height and
4797 dpyinfo->smallest_char_width.
4798 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
4799 (ftxfont_draw): Adjusted for the change of struct font.
4800
4801 * image.c (image_ascent): Don't include "charset.h". Include
4802 "character.h" and "font.h".
4803
4804 * lisp.h (enum pvec_type): New member PREV_FONT.
4805 (Fassoc_string): EXFUN it.
4806
4807 * print.c: Include font.h.
4808 (print_object): Handle font-related objects.
4809
4810 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4811 conditionals. Don't check enable_font_backend. Delete all codes
4812 used only when USE_FONT_BACKEND is not defined.
4813 (handle_auto_composed_prop): Do nothing if it->f is not on a
4814 window system. Check how many following characters can be
4815 displayed by the same font.
4816 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4817 'struct font *'.
4818 (get_char_face_and_encoding): Assign the whole encoding task to
4819 the `encode-char' method of a font driver.
4820 (fill_composite_glyph_string): Adjusted for the change of `struct
4821 face' and `struct glyph_string'.
4822 (fill_glyph_string): Likewise.
4823 (get_per_char_metric): Arguments changed.
4824 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4825 and `struct glyph_string'.
4826 (produce_stretch_glyph, calc_line_height_property)
4827 (x_produce_glyphs): Likewise.
4828
4829 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4830 conditionals. Don't check enable_font_backend. Delete all codes
4831 used only when USE_FONT_BACKEND is not defined. Use
4832 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4833 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4834 (Qp): Extern them.
4835 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4836 Deleted.
4837 (struct font_name): Deleted.
4838 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4839 (compare_fonts_by_sort_order): New function.
4840 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4841 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4842 Deleted.
4843 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4844 compare_fonts_by_sort_order.
4845 (Fx_font_family_list): Call Ffont_family_list.
4846 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4847 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4848 (face_symbolic_slant, face_symbolic_swidth)
4849 (split_font_name_into_vector, build_font_name_from_vector)
4850 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4851 (font_rescale_ratio, split_font_name, build_font_name)
4852 (free_font_names, sort_fonts, x_face_list_fonts)
4853 (face_font_available_p, sorted_font_list, cmp_font_names)
4854 (font_list_1, concat_font_list, font_list, remove_duplicates):
4855 Deleted.
4856 (Fx_list_fonts): Use Ffont_list.
4857 (LFACE_AVGWIDTH): Deleted.
4858 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4859 by FONTP.
4860 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4861 (set_lface_from_font_name): Delete it.
4862 (set_lface_from_font): Renamed from
4863 set_lface_from_font_and_fontset. Caller changed. Don't set
4864 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4865 for face.
4866 (merge_face_vectors): Copy font-spec if necessary.
4867 Clear properties of the font-spec if necessary.
4868 (merge_face_ref): Clear properties of the font-spec if necessary.
4869 (Finternal_set_lisp_face_attribute): Likewise.
4870 (set_font_frame_param): Use font_load_for_lface to load a
4871 font-object, and call Fmodify_frame_parameters with it.
4872 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4873 font name by Ffont_xlfd_name.
4874 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4875 QCslant, and QCwidth.
4876 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4877 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4878 Compare fonts by EQ.
4879 (lookup_non_ascii_face): Deleted.
4880 (face_for_font): The 2nd argument changed.
4881 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4882 Check atomic font properties by case insensitive.
4883 (realize_non_ascii_face): Set face->overstrike correctly.
4884 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4885 (dump_realized_face): Get font name from
4886 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4887
4888 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4889 conditionals. Don't check enable_font_backend. Delete all codes
4890 used only when USE_FONT_BACKEND is not defined.
4891 (xic_create_xfontset): Original code deleted and renamed from
4892 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4893 (x_make_gc): Don't set GCFont in GCs.
4894 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4895 opened by "fixed".
4896 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4897 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4898 get_font_repertory_func.
4899
4900 * xfont.c: Include <stdlib.h> and "ccl.h".
4901 (struct xfont_info): New structure.
4902 (xfont_query_font): Deleted.
4903 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4904 moved from xterm.c.
4905 (xfont_driver): Adjusted for the change of struct font_driver.
4906 (compare_font_names): New function.
4907 (xfont_list_pattern): Sort font names case insensitively. Make
4908 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4909 (xfont_list): Return a list, not vector.
4910 (xfont_match): If the font doesn't have QCname property, generate
4911 a name from the other font properties.
4912 (xfont_open): Return a font-object. Adjusted for the change of
4913 struct font. Get underline_thickness and underline_position from
4914 font property. Don't update dpyinfo->smallest_font_height and
4915 dpyinfo->smallest_char_width.
4916 (xfont_close): Don't free struct font.
4917 (xfont_prepare_face): Adjusted for the change of struct font.
4918 (xfont_done_face): Deleted.
4919 (xfont_has_char): Adjusted for the change of struct font.
4920 (xfont_encode_char, xfont_draw): Likewise.
4921 (xfont_check): New function.
4922
4923 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4924 callback function.
4925 (xftfont_match): Adjusted for the format change of font-entity.
4926 (xftfont_open): Adjusted for the format change of font-entity and
4927 font-object. Adjusted for the change of struct font. Return a
4928 font-object. Don't update dpyinfo->smallest_font_height and
4929 dpyinfo->smallest_char_width.
4930 (xftfont_close): Block input while calling XftFontClose.
4931 (xftfont_prepare_face): Don't block input while calling
4932 xftfont_get_colors. Adjusted for the change of struct font.
4933 (xftfont_shape): Return value of error case fixed.
4934
4935 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4936
4937 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4938 conditionals.
4939 (FONT_WIDTH): Return (f)->max_width.
4940 (struct x_display_info): Delete member `font'.
4941 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4942 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4943 (struct x_output): Change type of `font' to `struct font *'.
4944
4945 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4946 conditionals. Don't check enable_font_backend. Delete all codes
4947 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
4948 (x_per_char_metric, x_encode_char): Deleted.
4949 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4950 (x_compute_glyph_string_overhangs): Adjusted for the change of
4951 `struct face'.
4952 (x_draw_glyph_string_foreground)
4953 (x_draw_composite_glyph_string_foreground): Likewise.
4954 (x_draw_glyph_string): Likewise. Use font->underline_position and
4955 font->underline_thickness.
4956 (x_new_font): Renamed from x_new_fontset2.
4957 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4958 (x_check_font): Call `check' method of a font driver.
4959 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4960 (x_query_font, x_get_font_repertory): Deleted.
4961 (x_find_ccl_program): Renamed and moved to xfont.c.
4962 (x_redisplay_interface): Adjusted for the change of `struct
4963 redisplay_interface'.
4964
4965 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4966 conditionals. Don't check enable_font_backend. Delete all codes
4967 used only when USE_FONT_BACKEND is not defined. Surround non-used
4968 code by "#ifdef OLD_FONT" and "endif".
4969 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4970
4971 * w32font.h (struct w32font_info): New member.
4972 (FONT_COMPAT): New macro.
4973 (w32font_open_internal): Prototype adjusted.
4974
4975 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4976 OLD_FONT" and "endif".
4977
4978 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4979 conditionals. Don't check enable_font_backend. Delete all codes
4980 used only when USE_FONT_BACKEND is not defined.
4981 (w32font_open): Return a font-object. Make a font-object by
4982 font_make_object. Adjusted for the change of struct w32font_info.
4983 (w32font_close): Don't free struct font. Adjusted for the change
4984 of struct w32font_info.
4985 (w32font_encode_char, w32font_text_extents, w32font_draw):
4986 Adjusted for the change of struct w32font_info.
4987 (w32font_draw): Likewise.
4988 (w32font_list_internal): Return a list, not vector.
4989 (w32font_open_internal): Change the 4th arg to font-object.
4990 Adjusted for the change of struct w32font_info and font-object format.
4991 (add_font_name_to_list): Don't downcase names.
4992 (w32_enumfont_pattern_entity): Make a font-entity by
4993 font_make_entity. Adjusted for the format change of font-entity.
4994 Use FONT_SET_STYLE to set a style-related font property. If a
4995 font is scalable, set avgwidth property to 0. Set font-entity
4996 property by font_put_extra.
4997 (font_matches_spec): Adjusted for the format change of font-entity.
4998 (w32_weight_table, w32_decode_weight): New variables.
4999 (w32_encode_weight): New function.
5000 (fill_in_logfont): Adjusted for the format change of font-spec.
5001 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5002 weight value.
5003 (w32font_driver): Adjusted for the change of struct font_driver.
5004
5005 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5006 conditionals. Don't check enable_font_backend. Surround non-used
5007 code by "#ifdef OLD_FONT" and "endif".
5008 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5009 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5010
5011 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5012 conditionals. Don't check enable_font_backend. Delete all codes
5013 used only when USE_FONT_BACKEND is not defined. Surround non-used
5014 code by "#ifdef OLD_FONT" and "endif".
5015
5016 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5017 (uniscribe_open): Return value changed to font-object.
5018 Adjusted for the format change of font-object.
5019 (uniscribe_otf_capability): Adjusted for the change of struct font.
5020 (add_opentype_font_name_to_list): Don't downcase names.
5021 (uniscribe_font_driver): Adjusted for the change of struct
5022 font_driver.
5023
50242008-05-13 Chong Yidong <cyd@stupidchicken.com>
5025
5026 * dispnew.c (update_frame_1): Check if tty output is still valid
5027 before flushing it.
5028
50292008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5030
5031 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5032 to Gtk+ menus.
5033
50342008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5035
5036 * dired.c (file_name_completion): Tweak the code so as to always do it
5037 in a single pass. Tighten the scope of some variables.
5038
5039 * dired.c (Qdefault_directory): New var.
5040 (file_name_completion): Use it instead of Fexpand_file_name.
5041 (syms_of_dired): Initialize it.
5042
50432008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5044
5045 * fileio.c (double_dollars): Remove dead code.
5046
50472008-05-10 Eli Zaretskii <eliz@gnu.org>
5048
5049 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5050 Mention w32-get-true-file-attributes in doc string.
5051
5052 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5053
50542008-05-09 Glenn Morris <rgm@gnu.org>
5055
5056 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5057 2008-04-23.
5058
50592008-05-09 Eli Zaretskii <eliz@gnu.org>
5060
5061 Support for reporting owner and group of each file on MS-Windows:
5062 * dired.c (stat_uname, stat_gname): New functions, with special
5063 implementation for w32.
5064 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5065
5066 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5067 (dflt_group_name): New static variable.
5068 (dflt_group): Rename from the_group.
5069 (init_user_info): Init dflt_group fields. Get user's group name
5070 from LookupAccountSid.
5071 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5072 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5073 New initialization states.
5074 (globals_of_w32): Initialize them to zero. Initialize the default
5075 group name to "None".
5076 (GetFileSecurity_Name): New global var, the name of the function
5077 to call for GetFileSecurity.
5078 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5079 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5080 (get_file_security, get_security_descriptor_owner)
5081 (get_security_descriptor_group, is_valid_sid)
5082 (get_file_security_desc, get_rid, get_name_and_id)
5083 (get_file_owner_and_group): New functions.
5084 (stat): Use get_file_security_desc and get_file_owner_and_group to
5085 report the owner and primary group of each file. Don't ignore the
5086 high 32 bits of file's size, now that st_size is 64-bit wide.
5087 Fix test when to get true file attributes.
5088 (init_user_info): Use get_rid instead of equivalent inline code.
5089 (fstat): Don't ignore the high 32 bits of file's size.
5090
50912008-05-09 Chong Yidong <cyd@stupidchicken.com>
5092
5093 * image.c (png_load): Use correct bit-depth for setting background
5094 color.
5095
50962008-05-08 Eli Zaretskii <eliz@gnu.org>
5097
5098 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5099 epa-hook.elc.
5100
51012008-05-08 Juanma Barranquero <lekktu@gmail.com>
5102
5103 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5104
51052008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5106
5107 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5108 because the original parameters are in pure storage now.
5109 (mac_window): Remove unused params. Update callers.
5110
51112008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5112
5113 * lread.c (substitute_object_recurse): Use lower-level primitives.
5114 Don't signal errors when traversing sub-char-tables.
5115 Don't loop over all the possible characters when traversing char-tables.
5116
5117 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5118 just like we do in print.c.
5119
51202008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5121
5122 * minibuf.c (Ftry_completion): Remove code left over from when we used
5123 scmp instead of Fcompare_strings.
5124
51252008-05-04 Juanma Barranquero <lekktu@gmail.com>
5126
5127 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5128
51292008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5130
5131 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5132 Create bitmap context in native byte order.
5133
5134 * macterm.c (XDrawLine)
5135 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5136 context in native byte order.
5137
51382008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5139
5140 * config.in: Regenerate.
5141
5142 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5143 New definitions for Image I/O support.
5144 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5145 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5146 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5147 (mac_data_provider_release_data, image_load_image_io)
5148 [USE_MAC_IMAGE_IO]: New functions.
5149 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5150 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5151 (init_image_func_pointer) [MAC_OSX]: Remove function.
5152 (image_load_quartz2d) [MAC_OSX]: Check availability of
5153 CGImageCreateWithPNGDataProvider at compile time.
5154 Use lowercase `false' for boolean constant.
5155 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5156 Use image_load_image_io.
5157 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5158 Don't check MyCGImageCreateWithPNGDataProvider.
5159 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5160 Don't call init_image_func_pointer.
5161
5162 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5163
5164 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5165 Make variable non-static.
5166 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5167 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5168
5169 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5170 (RED_FROM_ULONG): Mask off higher bits.
5171 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5172
5173 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5174 Include AvailabilityMacros.h.
5175 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5176 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5177
51782008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5179
5180 * chartab.c (Fset_char_table_range): If range is t, really set all
5181 chars to that value.
5182
51832008-05-03 Eli Zaretskii <eliz@gnu.org>
5184
5185 * dired.c (Ffile_attributes): Don't allow the device number become
5186 negative.
5187
51882008-05-02 Daiki Ueno <ueno@unixuser.org>
5189
5190 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5191
51922008-05-02 Juri Linkov <juri@jurta.org>
5193
5194 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5195 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5196 DEFAULT argument as a list of default values in docstrings.
5197
51982008-05-01 Chong Yidong <cyd@stupidchicken.com>
5199
5200 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5201
52022008-05-01 Martin Rudalics <rudalics@gmx.at>
5203
5204 * dispnew.c (change_frame_size_1): Preserve small windows when
5205 shrinking frames by calling set_window_height|width with third
5206 arg 2.
5207
5208 * window.h (struct window): Replace field too_small_ok by field
5209 resize_proportionally.
5210
5211 * window.c (make_window): Initialize resize_proportionally.
5212 (enlarge_window): Temporarily set resize_proportionally to make
5213 sure that shrink_windows does scale the window proportionally.
5214 (shrink_windows): When window has resize_proportionally set try
5215 to shrink it proportionally by stealing from other windows.
5216 (struct saved_window, Fset_window_configuration)
5217 (compare_window_configurations): Handle resize_proportionally.
5218 (WINDOW_TOTAL_SIZE): New macro.
5219 (window_min_size, shrink_windows, size_window): Use it.
5220 (check_min_window_sizes): Remove. Invalid values of
5221 window-min-height|width are handled by window_min_size_2 now.
5222 (size_window, Fsplit_window, enlarge_window)
5223 (adjust_window_trailing_edge, grow_mini_window): Don't call
5224 check_min_window_sizes.
5225 (window_min_size_2, window_min_size_1, window_min_size):
5226 New argument safe_p for retrieving "safe" minimum sizes.
5227 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5228 (adjust_window_trailing_edge, grow_mini_window):
5229 Adjust arguments of window_min_size... functions.
5230 (shrink_windows): Argument min_size removed. New argument
5231 safe_p allows shrinking windows to their safe minimum sizes.
5232 Calculate minimum size and decide whether a window shall be
5233 deleted for each window individually.
5234 (size_window): When nodelete_p equals 2, tell shrink_windows to
5235 delete windows only if their new minimum size is no more safe.
5236 (shrink_window_lowest_first): Call window_min_size_1 to make
5237 sure to preserve modeline of bottom-most window when resizing
5238 the minibuffer.
5239 (Fset_window_configuration, Fcurrent_window_configuration)
5240 (compare_window_configurations): Do not handle
5241 window-min-height|width any more.
5242 (syms_of_window): Clarify window-min-height|width doc-strings.
5243
52442008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5245
5246 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5247 some more. Copy some of the code from Ftry_completions.
5248 Remove special case code that dates back to initial revision when the
5249 slash was only added when necessary and that can't trigger nowadays.
5250
52512008-04-27 Kenichi Handa <handa@m17n.org>
5252
5253 * font.c (font_prop_validate): Signal `error' instead of `font'.
5254
52552008-04-29 Jason Rumney <jasonr@gnu.org>
5256
5257 * w32fns.c (Fw32_battery_status): New defun.
5258 (syms_of_w32fns): Defsubr it.
5259
52602008-04-28 Andreas Schwab <schwab@suse.de>
5261
5262 * dired.c (file_name_completion): Fix another mixing of encoded
5263 and decoded names.
5264
52652008-04-28 Juanma Barranquero <lekktu@gmail.com>
5266
5267 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5268
52692008-04-27 Juanma Barranquero <lekktu@gmail.com>
5270
5271 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5272
52732008-04-27 Andreas Schwab <schwab@suse.de>
5274
5275 * dired.c (file_name_completion): Fix inappropriate mixing of
5276 encoded and decoded names.
5277
5278 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5279
5280 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5281
52822008-04-26 Eli Zaretskii <eliz@gnu.org>
5283
5284 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5285 2008-03-31, it's not needed anymore with `struct stat' definition
5286 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5287 for the same reasons.
5288
52892008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5290
5291 * m/sparc.h: Additional redefinitions for GNU/Linux.
5292
52932008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5294
5295 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5296 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5297 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5298 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5299 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5300 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5301 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5302 Likewise.
5303
5304 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5305 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5306 (mac_ax_number_of_characters): Add externs.
5307 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5308 [USE_MAC_TSM]: Likewise.
5309 (mac_handle_text_input_event) [MAC_OSX]:
5310 Handle kEventTextInputOffsetToPos for no active input area case.
5311 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5312 (mac_handle_document_access_event)
5313 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5314 (install_application_handler) [MAC_OSX]: Register handlers for
5315 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5316 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5317 Register mac_handle_document_access_event.
5318
5319 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5320 Make functions non-static.
5321
53222008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5323
5324 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5325 (read_file_name_completion_ignore_case, insert_default_directory)
5326 (Qdefault_directory): Move to minibuffer.el.
5327 (Fread_file_name): Call the new `read-file-name' instead.
5328
53292008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5330
5331 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5332 Make function non-static.
5333 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5334 Remove function.
5335 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5336 Move to mactoolbox.c.
5337 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5338
5339 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5340 (mac_rect_make): New macro.
5341
5342 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5343 instead of float.
5344 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5345 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5346 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5347 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5348 CGRectMake.
5349 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5350 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5351 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5352 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5353 instead of WindowRef in argument type.
5354 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5355 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5356 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5357 instead of DISPLAY. All uses changed.
5358 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5359 (x_calc_absolute_position): Simplify so as not to use
5360 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5361
5362 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5363 instead of WindowRef in argument type.
5364 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5365 [TARGET_API_MAC_CARBON]: Remove externs.
5366 (create_apple_event, mac_event_parameters_to_lisp)
5367 [TARGET_API_MAC_CARBON]: Add externs.
5368
5369 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5370 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5371 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5372 is clicked.
5373 (x_activate_menubar): Remove extern for saved_menu_event_location.
5374 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5375 Move from mac.c.
5376
53772008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5378
5379 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5380 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5381
53822008-04-23 Jason Rumney <jasonr@gnu.org>
5383
5384 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5385 attributes only for local files.
5386
5387 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5388 default to Qlocal.
5389
53902008-04-22 Juri Linkov <juri@jurta.org>
5391
5392 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5393 read-buffer-to-switch instead of using the letter "B".
5394
53952008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5396
5397 * fileio.c (Qdefault_directory): New variable.
5398 (Fread_file_name): Use it to pass `dir' to the completion functions.
5399
54002008-04-20 Chong Yidong <cyd@stupidchicken.com>
5401
5402 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5403
54042008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5405
5406 * keyboard.c (Vpre_help_message): Remove.
5407 (show_help_echo): Remove default C code.
5408
5409 * dired.c (directory_files_internal, file_name_completion):
5410 Only call ENCODE_FILE if the string is indeed decoded.
5411
54122008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5413
5414 * Makefile.in (TOOLKIT_DEFINES): Remove.
5415 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5416
54172008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5418
5419 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5420 (mactoolbox.o): New target.
5421
5422 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5423 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5424
5425 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5426 Use mac_set_frame_window_background instead of XSetWindowBackground.
5427 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5428 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5429 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5430 instead of SetWindowTitleWithCFString.
5431 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5432 Move function to mactoolbox.c.
5433 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5434 Use mac_set_window_modified instead of SetWindowModified.
5435 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5436 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5437 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5438 FrontNonFloatingWindow. Use mac_activate_window instead of
5439 ActivateWindow. Use mac_active_non_floating_window instead of
5440 ActiveNonFloatingWindow.
5441 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5442 Use mac_show_hourglass and mac_hide_hourglass.
5443 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5444 instead of GetGlobalMouse.
5445 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5446 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5447 Use mac_bring_window_to_front instead of BringToFront.
5448 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5449 mactoolbox.c.
5450 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5451 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5452 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5453 mactoolbox.c.
5454
5455 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5456 (XtPointer): Move typedef from macmenu.c.
5457 (enum button_type): Move enum from macmenu.c.
5458 (widget_value): Move typedef from macmenu.c.
5459 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5460 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5461 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5462 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5463 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5464 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5465 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5466 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5467 (Selection): Move typedef from macselect.c.
5468 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5469 macterm.c.
5470 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5471 (mac_is_window_collapsed, mac_bring_window_to_front)
5472 (mac_send_window_behind, mac_hide_window, mac_show_window)
5473 (mac_collapse_window, mac_front_non_floating_window)
5474 (mac_active_non_floating_window, mac_activate_window)
5475 (mac_move_window_structure, mac_move_window, mac_size_window)
5476 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5477
5478 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5479 (enum mac_menu_kind): Move enum to mactoolbox.c.
5480 (min_menu_id): Move variable to mactoolbox.c.
5481 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5482 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5483 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5484 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5485 [TARGET_API_MAC_CARBON]: Likewise.
5486 (XtPointer): Move typedef to macgui.h.
5487 (enum button_type): Move enum to macgui.h.
5488 (widget_value): Move typedef to macgui.h.
5489 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5490 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5491 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5492 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5493 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5494 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5495 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5496 (popup_activated_flag): Make variable non-static.
5497 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5498 (add_menu_item, fill_menu, dispose_menus):
5499 Move functions to mactoolbox.c.
5500 (restore_show_help_function, menu_target_item_handler)
5501 (install_menu_target_item_handler, mac_handle_dialog_event)
5502 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5503 [TARGET_API_MAC_CARBON]: Likewise.
5504 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5505 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5506 (find_and_call_menu_selection, name_is_separator): Make function
5507 non-static.
5508 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5509 to mactoolbox.c.
5510 (set_frame_menubar): Don't call install_menu_quit_handler.
5511 (menu_item_selection): New variable.
5512 (mac_menu_show): Use create_and_show_popup_menu.
5513 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5514 selection but set variable menu_item_selection. All uses changed.
5515 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5516 Call install_menu_quit_handler. Move to mactoolbox.c.
5517
5518 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5519 (Selection): Move typedef to macgui.h.
5520 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5521 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5522 Make variables non-static.
5523 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5524 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5525 Make functions non-static.
5526 (Vmac_service_selection) [MAC_OSX]: Likewise.
5527 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5528 (mac_valid_selection_target_p, mac_clear_selection)
5529 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5530 (mac_put_selection_value, mac_selection_has_target_p)
5531 (mac_get_selection_value, mac_get_selection_target_list)
5532 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5533 Move functions to mactoolbox.c.
5534 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5535 Likewise.
5536 (copy_scrap_flavor_data, mac_handle_service_event)
5537 (install_service_handler) [MAC_OSX]: Likewise.
5538 (syms_of_macselect) <Vmac_dnd_known_types>:
5539 Use mac_dnd_default_known_types.
5540
5541 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5542 Move to mactoolbox.c.
5543 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5544 (Fx_selection_owner_p): Add EXFUN.
5545 (install_window_handler, remove_window_handler, XSetWindowBackground):
5546 Remove externs.
5547 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5548 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5549 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5550 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5551 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5552 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5553 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5554 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5555 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5556 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5557 (mac_valid_selection_target_p, mac_clear_selection)
5558 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5559 (mac_put_selection_value, mac_selection_has_target_p)
5560 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5561 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5562 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5563 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5564 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5565 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5566 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5567 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5568 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5569
5570 * mactoolbox.c: New file.
5571
55722008-04-18 Jason Rumney <jasonr@gnu.org>
5573
5574 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5575
55762008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5577
5578 * character.c (Fmultibyte_char_to_unibyte):
5579 Return latin1 chars unchanged.
5580
5581 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5582 relocated if it points to `name'.
5583
55842008-04-17 Kenichi Handa <handa@m17n.org>
5585
5586 * data.c (Faset): Allow setting a multibyte character in an
5587 ASCII-only unibyte string.
5588
5589 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5590
55912008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5592
5593 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5594 done in config.h.
5595
55962008-04-16 Juanma Barranquero <lekktu@gmail.com>
5597
5598 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5599 (Fchar_direction): Add usage in the docstring.
5600
56012008-04-15 Chong Yidong <cyd@stupidchicken.com>
5602
5603 * keyboard.c (read_key_sequence): Remove always-true checks.
5604
56052008-04-14 Jason Rumney <jasonr@gnu.org>
5606
5607 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5608 compatibility struct, for better underline positioning.
5609
56102008-04-13 David Hansen <david.hansen@gmx.net>
5611
5612 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5613 string.
5614
56152008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5616
5617 * m/hp800.h (XUINT, XSET): Remove.
5618
56192008-04-12 Juanma Barranquero <lekktu@gmail.com>
5620
5621 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5622 previous change.
5623
56242008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5625
5626 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5627 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5628
56292008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5630
5631 * keymap.h (map_keymap_canonical): Declare.
5632 * xmenu.c (single_keymap_panes): Use it.
5633
56342008-04-11 Glenn Morris <rgm@gnu.org>
5635
5636 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5637 set the target's value to that of the alias.
5638
56392008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5640
5641 * term.c (set_tty_color_mode): Left over typo.
5642
56432008-04-10 Michael Albinus <michael.albinus@gmx.de>
5644
5645 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5646 only after check for file name handler functions. Signal, when
5647 native functionality is not supported.
5648 (syms_of_fileio): Declare it unconditionally.
5649
56502008-04-10 Jason Rumney <jasonr@gnu.org>
5651
5652 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5653 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5654
5655 * w32.c (logon_network_drive): Also logon to remote drives that
5656 are mapped to drive letters.
5657
56582008-04-10 Glenn Morris <rgm@gnu.org>
5659
5660 * xdisp.c (truncate-partial-width-windows): Doc fix.
5661
56622008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5663
5664 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5665 Move functions to minibuffer.el.
5666 (syms_of_fileio): Don't declare them.
5667
56682008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5669
5670 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5671 (syms_of_minibuf): Remove its initialization.
5672
5673 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5674
56752008-04-09 Juanma Barranquero <lekktu@gmail.com>
5676
5677 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5678
56792008-04-09 Jason Rumney <jasonr@gnu.org>
5680
5681 * makefile.w32-in (distclean): Delete makefile too.
5682 (maintainer-clean): New target.
5683
5684 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5685
5686 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5687 for new font backend and composite cases.
5688
56892008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5690
5691 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5692 Most of the code moved to run_timers.
5693 (do_pending_atimers): Call run_timers.
5694 (run_timers): New function.
5695
5696 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5697 run atimers.
5698
5699 * process.c (wait_reading_process_output): The same as above.
5700
57012008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5702
5703 * minibuf.c (last_exact_completion): Remove variable.
5704 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5705 (complete_and_exit_1, complete_and_exit_2)
5706 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5707 (Fdisplay_completion_list, display_completion_list_1)
5708 (Fminibuffer_completion_help, Fself_insert_and_exit)
5709 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5710 minibuffer.el.
5711 (syms_of_minibuf): Remove corresponding initializations.
5712
5713 * keyboard.c (Qdeactivate_mark): New var.
5714 (command_loop_1): Use it to call `deactivate-mark'.
5715 (syms_of_keyboard): Initialize it.
5716
5717 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5718 to another frame.
5719 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5720 Don't call set_tty_color_mode.
5721 (store_frame_param): Reset previous_frame rather than call
5722 set_tty_color_mode.
5723 * term.c (set_tty_color_mode): Rewrite.
5724 * dispextern.h (set_tty_color_mode): New type.
5725 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5726
57272008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5728
5729 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5730 for generic chars, which do not exist any more in emacs-unicode.
5731
57322008-04-08 Michael Albinus <michael.albinus@gmx.de>
5733
5734 * coding.c (detect_coding_emacs_mule)
5735 (Ffind_operation_coding_system): Fix typo.
5736
57372008-04-08 Jason Rumney <jasonr@gnu.org>
5738
5739 * w32uniscribe.c (SNAME): Extract only symbol name.
5740
5741 * w32font.h (struct w32_metric_cache): New struct.
5742 (w32font_info): Use it.
5743 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5744 (CACHE_BLOCKSIZE): New constants.
5745
5746 * w32font.c (Qja, Qko, Qzh): New symbols.
5747 (syms_of_w32font): Initialise them.
5748 (font_matches_spec): Use them to filter by language.
5749 (recompute_cached_metrics): Remove function.
5750 (compute_metrics, clear_cached_metrics): New functions.
5751 (w32font_encode_char): Use them to manage metric cache.
5752 (w32font_text_extents): Cache metrics for all glyphs on demand.
5753 Delay converting glyph indices to WORD until needed.
5754 (w32font_open_internal): Initialize metric cache to empty.
5755 (registry_to_w32_charset): Charset should always be a symbol.
5756 (fill_in_logfont, list_all_matching_fonts): Family should
5757 always be a symbol.
5758
57592008-04-06 Jason Rumney <jasonr@gnu.org>
5760
5761 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5762 Give up if glyph indices not supported. Use uniscribe obtained
5763 ABC widths for individual metrics. Map glyph clusters back to
5764 characters using fClusterStart flag. Return number of glyphs
5765 produced, not chars processed.
5766 (uniscribe_shape): Map char at FROM to current glyph.
5767
57682008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5769
5770 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5771 Use SetMenuItemHierarchicalMenu.
5772
57732008-04-05 Jason Rumney <jasonr@gnu.org>
5774
5775 * image.c (pbm_load): Allow color values up to 65535.
5776 Throw an error if max_color_idx is outside the supported range.
5777 Report an error when image size is invalid.
5778 Read two bytes at a time when raw images have max_color_idx above 255.
5779
57802008-04-05 Eli Zaretskii <eliz@gnu.org>
5781
5782 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5783 cFileName a file name that includes `?' characters, use the 8+3
5784 alias in cAlternateFileName instead.
5785
57862008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5787
5788 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5789 append "CCL: Quitted" when the CCL program is quitted.
5790 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5791
5792 * ccl.h (struct ccl_program): New member quit_silently.
5793
57942008-04-05 Chong Yidong <cyd@stupidchicken.com>
5795
5796 * search.c (compile_pattern_1): Treat non-nil and non-string of
5797 search-spaces-regexp as nil.
5798
5799 * minibuf.c (Fassoc_string): Tweak docstring.
5800
58012008-04-05 Eli Zaretskii <eliz@gnu.org>
5802
5803 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5804 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5805 2008-03-14 to force inode be positive.
5806
5807 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5808 _S_* ones, since we now use our own sys/stat.h.
5809 (stat, fstat): Don't mangle the inode number.
5810 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5811
58122008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5813
5814 * frame.h (struct frame): Give one more bit to `visible' since we use
5815 values larger than 1 to indicate obscured frames on ttys.
5816
5817 * keymap.c (Qkeymap_canonicalize): New var.
5818 (Fmap_keymap_internal): New fun.
5819 (describe_map): Use keymap-canonicalize.
5820
5821 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5822 (Fundo_boundary): Set them.
5823 (syms_of_undo): Initialize them.
5824 (record_point): Use them instead of last_point_position*.
5825 (last_undo_buffer): Change type.
5826
58272008-04-04 Jason Rumney <jasonr@gnu.org>
5828
5829 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5830 (recompute_cached_metrics): Don't set ascent and descent per char.
5831
5832 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
5833 (uniscribe_check_otf): Add GC protection before consing.
5834 Rearrange loop for counting features.
5835
58362008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5837
5838 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5839 buffer with byte-size of source buffer.
5840
58412008-04-03 Chong Yidong <cyd@stupidchicken.com>
5842
5843 * callint.c (Fcall_interactively): Handle temporary region even
5844 when shift-select-mode is off.
5845
58462008-04-03 Jason Rumney <jasonr@gnu.org>
5847
5848 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5849
58502008-04-03 Kenichi Handa <handa@m17n.org>
5851
5852 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5853 (CATEGORY_MASK_UTF_16): Likewise.
5854 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5855 binary file.
5856 (detect_coding): Add null-byte detection for a binary file.
5857 (detect_coding_system): Likewise.
5858
58592008-04-03 Jason Rumney <jasonr@gnu.org>
5860
5861 * w32uniscribe.c: New file.
5862
5863 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5864
5865 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5866
5867 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5868 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5869 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5870 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5871 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5872 (Qphonetic): New symbols.
5873 (syms_of_w32font): Initialize them.
5874 (font_supported_scripts): Use them.
5875 (w32font_list_family): List all charsets.
5876 (w32font_text_extents, recompute_cached_metrics): Fix metric
5877 calculations.
5878 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5879 Give opentype fonts their own format.
5880 (font_matches_spec): New arguments backend and logfont.
5881 Handle :otf spec for uniscribe backend.
5882 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5883 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
5884
5885 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5886 font backend.
5887 (globals_of_w32fns): Initialize uniscribe font backend.
5888
5889 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
5890 dependencies.
5891 (w32uniscribe.$(O)): New file to build.
5892 (FONT_OBJ): Include w32uniscribe.$(O).
5893 (LIBS): Add uniscribe libraries.
5894
5895 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5896
58972008-04-02 Chong Yidong <cyd@stupidchicken.com>
5898
5899 * callint.c (Vshift_select_mode): New var.
5900 (Finteractive): Document new ^ spec.
5901 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5902 is present.
5903
5904 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5905 (command_loop_1): Avoid running the direct display versions of
5906 forward-char and backward-char if shift-selection may occur.
5907 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5908 shift-translation takes place.
5909
5910 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5911 avoid clobbering by define-minor-mode.
5912
5913 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5914 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5915
5916 * syntax.c (Fforward_word): Add ^ interactive spec.
5917
5918 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5919 (Fscroll_right): Add ^ interactive spec.
5920
59212008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5922
5923 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5924
5925 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5926
5927 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5928
59292008-03-31 Juri Linkov <juri@jurta.org>
5930
5931 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5932
59332008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5934
5935 * gtkutil.c (xg_set_geometry): Fix indentation.
5936 (xg_resize_outer_widget): Remove.
5937 (x_wm_size_hint_off): Fix indentation.
5938 (xg_frame_set_char_size): Call flush_and_sync after
5939 gtk_window_resize.
5940 (x_wm_set_size_hint): Pass NULL as geometry window to
5941 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5942 Add menu bar and tool bar height to base height.
5943 (xg_update_frame_menubar, free_frame_menubar)
5944 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
5945 (update_frame_tool_bar, free_frame_tool_bar):
5946 Change xg_resize_outer_widget to xg_frame_set_char_size.
5947
59482008-03-30 Michael Albinus <michael.albinus@gmx.de>
5949
5950 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5951 (Fdbus_call_method): New parameter TIMEOUT.
5952 (dbus-send-signal): Optimize UNGCPRO call.
5953
59542008-03-29 Juri Linkov <juri@jurta.org>
5955
5956 * window.c (Fdisplay_buffer): Move call to
5957 Vsplit_window_preferred_function out of conditions that check
5958 if window is eligible for vertical splitting.
5959 When Vsplit_window_preferred_function is non-nil, call it and use
5960 its non-nil return value as window. Otherwise, continue doing
5961 vertical splitting using Fsplit_window with arg horflag=nil.
5962 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5963 default value from `split-window' to nil.
5964
59652008-03-29 Juri Linkov <juri@jurta.org>
5966
5967 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5968 for interactive code letters 'b' and 'B'.
5969
59702008-03-29 Eli Zaretskii <eliz@gnu.org>
5971
5972 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5973 multibyte string.
5974
59752008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5976
5977 * keyboard.c (pending_funcalls): New var.
5978 (timer_check): Run it.
5979 (syms_of_keyboard): Initialize it.
5980 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5981 (Vdelete_terminal_functions): New vars.
5982 (syms_of_terminal): Initialize them.
5983 (Fdelete_terminal): Run delete-terminal-functions.
5984 * xdisp.c (safe_eval): Rewrite.
5985 (safe_call2): New fun.
5986 * frame.c (Qdelete_frame_functions): New var.
5987 (syms_of_frame): Initialize it.
5988 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5989 * lisp.h (safe_call2, pending_funcalls): Declare.
5990
59912008-03-28 Andreas Schwab <schwab@suse.de>
5992
5993 * indent.c (Fmove_to_column): Move declaration before statements.
5994
59952008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5996
5997 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5998 (struct frame): Use bit fields for boolean vars.
5999
6000 * process.c (server_accept_connection): Simplify naming.
6001 (emacs_get_tty_pgrp): Use SDATA.
6002
6003 * coding.c (decode_coding_object): Fix last change.
6004
60052008-03-27 Jason Rumney <jasonr@gnu.org>
6006
6007 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6008
60092008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6010
6011 * charset.c (Fdefine_charset_internal): Change the way of
6012 registering charsets in Vcharset_order_list.
6013 (syms_of_charset): Make the charset `eight-bit' supplementary.
6014
60152008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6016
6017 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6018 operations, to avoid having the difference between pointers
6019 overflow.
6020
60212008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6022
6023 * indent.c (check_display_width): New fun.
6024 (scan_for_column): Use it.
6025
6026 * data.c (syms_of_data): Mark most-positive-fixnum and
6027 most-negative-fixnum as constants.
6028
6029 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6030
6031 * indent.c (scan_for_column): Extract from current_column_1.
6032 Merge with the same code from Fmove_to_column.
6033 (current_column_1, Fmove_to_column): Use it.
6034
60352008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6036
6037 * keymap.c (map_keymap_internal): New fun.
6038 (map_keymap): Use it.
6039 (Fmap_keymap_internal): New fun.
6040 (Fmap_keymap): Remove left-out test from before make_save_value.
6041
6042 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6043
6044 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6045 Use XCAR/XCDR.
6046
6047 * process.h (struct Lisp_Process): Remove filter_multibyte.
6048 * process.c (QCfilter_multibyte): Remove.
6049 (setup_process_coding_systems): Don't use filter_multibyte.
6050 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6051 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6052 (Fset_process_filter_multibyte): Change the coding-system to
6053 approximate the previous behavior.
6054 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6055 coding-system.
6056
6057 * coding.c (decode_coding_object): When not decoding into a buffer,
6058 obey the coding system's preference of (uni|multi)byte.
6059
60602008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6061
6062 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6063 every char is changed and has a different byte-length.
6064 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6065 Fix int -> EMACS_INT.
6066
60672008-03-23 David Hansen <david.hansen@gmx.net>
6068
6069 * dbusbind.c (xd_read_message): Remove extra copying of message
6070 strings. Check for NULL `interface' or `member'.
6071
60722008-03-22 Eli Zaretskii <eliz@gnu.org>
6073
6074 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6075 cFileName a file name that includes `?' characters, use the 8+3
6076 alias in cAlternateFileName instead.
6077
60782008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6079
6080 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6081
60822008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6083
6084 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6085 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6086 work on current_buffer only instead (that was already the case
6087 for some of the code anyway).
6088 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6089 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6090 (SET_PT, SET_PT_BOTH): Adjust.
6091 * intervals.h (set_point, temp_set_point, set_point_both)
6092 (temp_set_point_both): Remove redundant declarations.
6093
60942008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6095
6096 * fileio.c (Finsert_file_contents):
6097 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6098 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6099 when buffer != current_buffer anyway.
6100
61012008-03-20 Andreas Schwab <schwab@suse.de>
6102
6103 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6104 as default.
6105
61062008-03-19 Jason Rumney <jasonr@gnu.org>
6107
6108 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6109 (syms_of_w32fns): Initialize them.
6110 (HOURGLASS_ID): New constant.
6111 (x_window_to_frame): Don't check hourglass_window.
6112 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6113 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6114 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6115 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6116 Only change the cursor if hourglass is not active.
6117 (Fx_create_frame): Initialize frame's current_cursor.
6118 (hourglass_atimer): Remove.
6119 (hourglass_started): New function.
6120 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6121 (show_hourglass): Adapt to w32, changing argument to frame.
6122
6123 * w32term.h (struct w32_output): Remove hourglass_window.
6124 Add current_cursor.
6125
6126 * eval.c (call_debugger, Fsignal):
6127 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6128 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6129 (Fexecute_extended_command, cancel_hourglass_unwind):
6130 * minibuf.c (read_minibuf):
6131 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6132
61332008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6134
6135 * window.c (run_funs): New fun.
6136 (run_window_configuration_change_hook): Use it to run the buffer-local
6137 and the global part of the hook.
6138
6139 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6140 (unwind_format_mode_line): Restore selected window.
6141 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6142
61432008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6144
6145 * editfns.c (Fchar_equal): Check they are valid characters.
6146
6147 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6148
61492008-03-17 Andreas Schwab <schwab@suse.de>
6150
6151 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6152 against a charset.
6153
6154 * lisp.h (Fbuffer_list): Declare.
6155
61562008-03-17 Jan Djärv <jan.h.d@swipnet.se>
6157
6158 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6159 handlebox_widget is != 0.
6160
61612008-03-16 Juri Linkov <juri@jurta.org>
6162
6163 * callint.c (Fcall_interactively): For interactive code letters
6164 'b' and 'B' put the buffer list into the list of default "future"
6165 values of the minibuffer.
6166
61672008-03-16 Andreas Schwab <schwab@suse.de>
6168
6169 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6170 modifiers.
6171
6172 * regex.c (re_match_2_internal): Correct matching of a charset
6173 against latin-1 characters.
6174
61752008-03-16 Kenichi Handa <handa@m17n.org>
6176
6177 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6178 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6179 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6180 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6181 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6182 CHAR_STRING_ADVANCE.
6183 (produce_chars): Fix for the case that the source and the
6184 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6185 instead of CHAR_STRING_ADVANCE.
6186 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6187 STRING_CHAR_ADVANCE.
6188
61892008-03-15 Andreas Schwab <schwab@suse.de>
6190
6191 * regex.c (re_match_2_internal): Correct matching of eight bit
6192 characters in unibyte strings.
6193
61942008-03-15 Martin Rudalics <rudalics@gmx.at>
6195
6196 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6197 at end of range when it coincides with the end of the buffer.
6198
61992008-03-14 Eli Zaretskii <eliz@gnu.org>
6200
6201 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6202
6203 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6204
62052008-03-14 Jason Rumney <jasonr@gnu.org>
6206
6207 * editfns.c (initial_tz): New variable.
6208 (syms_of_editfns): Initialize it.
6209 (Fset_time_zone_rule): Set it when first called.
6210 Use it when TZSTRING is nil.
6211
6212 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6213 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6214 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6215 (globals_of_w32fns): Initialize them.
6216 (compute_tip_xy): Use them to position tooltips.
6217
62182008-03-14 Glenn Morris <rgm@gnu.org>
6219
6220 * emacs.c (main): Revert previous change.
6221 (standard_args): Revert -internal-script back to -scriptload,
6222 and remove the long-option form.
6223
62242008-03-13 Glenn Morris <rgm@gnu.org>
6225
6226 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6227 Remove option -enable-font-backend.
6228
62292008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6230
6231 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6232
62332008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6234
6235 * xterm.c (x_connection_closed): For GTK: If this is the last
6236 terminal just exit without closing the display.
6237
62382008-03-11 Jason Rumney <jasonr@gnu.org>
6239
6240 * w32font.c (w32font_full_name): Use floor to round.
6241
62422008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6243
6244 * sound.c (alsa_configure): Declare vol at beginning of block.
6245
6246 * fontset.c (Ffontset_info): Remove extra semicolon.
6247
62482008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6249
6250 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6251 size of resulting string.
6252
62532008-03-10 Jason Rumney <jasonr@gnu.org>
6254
6255 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6256
62572008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6258
6259 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6260 Don't pretend as if characters with display property haven't been
6261 consumed for string-replacing-string case.
6262
62632008-03-08 Kim F. Storm <storm@cua.dk>
6264
6265 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6266 (get_next_display_element, next_element_from_string)
6267 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6268
62692008-03-08 Andreas Schwab <schwab@suse.de>
6270
6271 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6272
62732008-03-06 Jason Rumney <jasonr@gnu.org>
6274
6275 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6276 when charset not specified. Only translate ANSI to unicode when
6277 font_type is truetype.
6278 (w32font_coverage_ok): New function.
6279 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6280
62812008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6282
6283 * lread.c (Fread_char): Resolve modifiers.
6284 (Fread_char_exclusive): Likewise.
6285
6286 * character.c (char_resolve_modifier_mask): New function.
6287 (char_string): Use char_resolve_modifier_mask.
6288 (Fchar_resolve_modifiers): New function.
6289 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6290 function.
6291
62922008-03-04 Jason Rumney <jasonr@gnu.org>
6293
6294 * makefile.w32-in: Always include w32font.c in the build.
6295 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6296
62972008-03-04 Andreas Schwab <schwab@suse.de>
6298
6299 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6300 (versionclean): Likewise.
6301
63022008-03-04 Juanma Barranquero <lekktu@gmail.com>
6303
6304 * .cvsignore: Add oo.
6305
63062008-03-03 Andreas Schwab <schwab@suse.de>
6307
6308 * coding.c (decode_coding_object): Inhibit gap shrinking while
6309 decoding in place.
6310
63112008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6312
6313 * w32term.c: Remove unused include "gnu.h".
6314 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6315
6316 * gnu.h: Rename to ...
6317 * emacs-icon.h: ... this.
6318 * xterm.c: Use emacs-icon.h instead of gnu.h.
6319 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6320
63212008-03-03 Juanma Barranquero <lekktu@gmail.com>
6322
6323 * w32font.c: Include math.h.
6324
63252008-03-03 Jason Rumney <jasonr@gnu.org>
6326
6327 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6328 Compute options separately.
6329 (w32font_open_internal): Set glyph_idx before caching metrics.
6330
6331 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6332 Define if system headers don't.
6333 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6334 (w32font_encode_char): Don't declare here.
6335
6336 * w32font.c (Quniscribe, QCformat): New symbols.
6337 (syms_of_w32font): Define them.
6338 (w32font_has_char): Indicate uncertainty.
6339 (w32font_encode_char): Encode as glyph point. Make static.
6340 (recompute_cached_metrics): New function.
6341 (w32font_open_internal): Use it. Set font to use glyph points
6342 initially. Set format based on type of font.
6343 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6344 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6345 on it. Set format based on information available here.
6346 (add_font_entity_to_list): Identify backend based on opentype_only.
6347
63482008-03-02 Andreas Schwab <schwab@suse.de>
6349
6350 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6351
6352 * coding.c (decode_coding_big5, produce_chars):
6353 Fix typos in last change.
6354
63552008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6356
6357 * gnu.h: New icon.
6358
63592008-03-02 Kenichi Handa <handa@m17n.org>
6360
6361 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6362 `dos', don't decode '\r' if that is the last in the source.
6363 (decode_coding_utf_16, decode_coding_emacs_mule)
6364 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6365 (decode_coding_raw_text, decode_coding_charset): Likewise.
6366 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6367
63682008-03-01 Jason Rumney <jasonr@gnu.org>
6369
6370 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6371
63722008-03-01 Kim F. Storm <storm@cua.dk>
6373
6374 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6375
63762008-03-01 Jason Rumney <jasonr@gnu.org>
6377
6378 * w32font.c (w32font_full_name): New function.
6379 (w32font_open_internal): Use it.
6380
63812008-03-01 Kim F. Storm <storm@cua.dk>
6382
6383 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6384
63852008-03-01 Jason Rumney <jasonr@gnu.org>
6386
6387 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6388
63892008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6390
6391 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6392 xg_frame_resized when the event is for the edit widget.
6393
6394 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6395
6396 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6397 set_char_size.
6398 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6399 operations on widgets here. Just set frame size if needed.
6400 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6401 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6402 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6403 the whole frame.
6404 (xg_create_tool_bar): Move attachment of the tool bar to
6405 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6406 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6407
64082008-03-01 Jason Rumney <jasonr@gnu.org>
6409
6410 * w32fns.c (w32_msg_pump): Disable debug code.
6411
64122008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6413
6414 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6415
64162008-02-29 Chong Yidong <cyd@stupidchicken.com>
6417
6418 * xdisp.c (next_overlay_string): Don't set
6419 overlay_strings_at_end_processed_p if we're currently reading from
6420 a display string.
6421
64222008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6423
6424 * xdisp.c (get_overlay_strings_1): Fix typo.
6425
64262008-02-29 Chong Yidong <cyd@stupidchicken.com>
6427
6428 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6429
64302008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6431
6432 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6433
6434 * xdisp.c (display_mode_element): Cancel the previous change.
6435 (decode_mode_spec): Likewise.
6436 (handle_auto_composed_prop): Don't make composition if it->string
6437 is a string.
6438
64392008-02-27 Kim F. Storm <storm@cua.dk>
6440
6441 * lisp.h (GLYPH): Change type from int to struct with separate char
6442 and face_id members.
6443 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6444 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6445 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6446 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6447 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6448 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6449 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6450 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6451 handle new Lisp glyph code encoding, either an integer or a cons.
6452
6453 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6454 (GLYPH_ALIAS): Delete.
6455 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6456 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6457 (GLYPH_FROM_CHAR): Replace macro by ...
6458 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6459
6460 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6461 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6462 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6463 (GLYPH_INVALID_P): New macro.
6464 (spec_glyph_lookup_face): Update prototype.
6465
6466 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6467 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6468 new glyph code encoding.
6469 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6470 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6471
6472 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6473 Adapt to new glyph type and new glyph code encoding.
6474
6475 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6476
6477 * indent.c (current_column, current_column_1, Fmove_to_column)
6478 (compute_motion): Adapt to new glyph code encoding.
6479
6480 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6481
64822008-02-27 Chong Yidong <cyd@stupidchicken.com>
6483
6484 * process.c (wait_reading_process_output): Check for window
6485 changes caused by timers.
6486 Suggested by Johan Bockgård.
6487
64882008-02-27 Glenn Morris <rgm@gnu.org>
6489
6490 * emacs.c (USAGE1): Add `--disable-font-backend'.
6491
64922008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6493
6494 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6495 is made to the buffer.
6496
64972008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6498
6499 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6500 (face_at_string_position):
6501 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6502 (face_at_string_position):
6503 * xdisp.c (display_string, next_overlay_change):
6504 * buffer.h (overlays_at):
6505 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6506 Update callers.
6507
65082008-02-26 Chong Yidong <cyd@stupidchicken.com>
6509
6510 * editfns.c (Fformat): Doc fix.
6511
65122008-02-26 Juanma Barranquero <lekktu@gmail.com>
6513
6514 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6515 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6516 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6517
65182008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6519
6520 * buffer.c (Fbuffer_swap_text): New function.
6521 (syms_of_buffer): Defsubr it.
6522
65232008-02-25 Chong Yidong <cyd@stupidchicken.com>
6524
6525 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6526
65272008-02-25 Jason Rumney <jasonr@gnu.org>
6528
6529 * w32font.c (w32font_draw): Draw one character at a time when padding.
6530
65312008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6532
6533 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6534 Handle a nil arg. Use run_window_configuration_change_hook.
6535 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6536 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6537 Use run_window_configuration_change_hook.
6538
65392008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6540
6541 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6542 1-pixel width.
6543
65442008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6545
6546 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6547 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6548 if the glyph in the font is zero pixel with.
6549
6550 * dispextern.h (struct glyph_string): New member padding_p.
6551
6552 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6553
6554 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6555
6556 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6557
6558 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6559
6560 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6561
65622008-02-25 Jason Rumney <jasonr@gnu.org>
6563
6564 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6565
65662008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6567
6568 Allow fine-grained image-cache flushing.
6569 * dispextern.h (struct image): Add `dependencies' field.
6570 (clear_image_caches): Change arg to Lisp_Object.
6571 * image.c (make_image): Initialize `dependencies' field.
6572 (clear_image_cache): Change arg to allow fine-grained flushing.
6573 Perform the flush even if image-cache-eviction-delay is nil.
6574 (clear_image_caches): Change arg to Lisp_Object.
6575 (Fclear_image_cache): Expand meaning of the argument.
6576 (mark_image): Mark `dependencies' field.
6577 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6578 (lface_hash): Use XHASH rather than XFASTINT.
6579 (face_at_buffer_position): Fix int -> EMACS_INT position.
6580 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6581 (select_frame_for_redisplay): Remove code duplication.
6582 (redisplay_internal): Adapt arg to call to clear_image_caches.
6583
65842008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6585
6586 * s/vms4-0.h:
6587 * s/vms4-2.h:
6588 * s/vms4-4.h:
6589 * s/vms5-5.h: Remove, unused.
6590
6591 * s/irix5-2.h:
6592 * s/irix6-0.h:
6593 * s/riscos5.h:
6594 * s/mach-bsd4-3.h:
6595 * m/mips4.h: Remove files for obsolete systems.
6596
6597 * Makefile.in:
6598 * filelock.c:
6599 * unexmips.c:
6600 * m/hp9000s300.h:
6601 * m/iris4d.h:
6602 * s/aix3-1.h:
6603 * s/hpux.h:
6604 * s/msdos.h:
6605 * s/usg5-0.h:
6606 * s/usg5-2-2.h:
6607 * s/usg5-2.h:
6608 * s/usg5-3.h: Remove references to obsolete variables.
6609
6610 * s/irix5-0.h: Remove, move all the contents ...
6611 * s/irix6-5.h: ... here. Simplify.
6612 * config.in: Regenerate.
6613
66142008-02-24 Jason Rumney <jasonr@gnu.org>
6615
6616 * w32term.c (x_draw_glyph_string_background): Clear the background
6617 manually when cleartype is in use.
6618 (x_draw_glyph_string_foreground): Draw text transparently when
6619 cleartype is in use.
6620
6621 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6622 a font into it unless we have to.
6623
66242008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6625
6626 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6627 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
6628
66292008-02-18 Jason Rumney <jasonr@gnu.org>
6630
6631 * w32fns.c (Fw32_shell_execute): Encode parameters.
6632
66332008-02-09 Eli Zaretskii <eliz@gnu.org>
6634
6635 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6636
66372008-02-05 Juanma Barranquero <lekktu@gmail.com>
6638
6639 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6640
66412008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6642
6643 * xterm.c (x_set_offset): Don't change the gravity if
6644 CHANGE_GRAVITY is -1.
6645
66462008-02-23 Chong Yidong <cyd@stupidchicken.com>
6647
6648 * fileio.c (auto_save_error_occurred): New var.
6649 (auto_save_error): Set it.
6650 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6651 error occurred.
6652
66532008-02-23 Eli Zaretskii <eliz@gnu.org>
6654
6655 * w32.c (globals_of_w32): Add initializations for
6656 g_b_init_get_sid_sub_authority and
6657 g_b_init_get_sid_sub_authority_count.
6658
66592008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6660
6661 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6662 (font_parse_xlfd): Use them for sanity check.
6663 (Finternal_set_font_style_table): Make sure the table is bijective.
6664
6665 Consolidate the image_cache to the terminal struct.
6666 * termhooks.h (P_): Remove redundant def.
6667 (struct terminal): New field `image_cache'.
6668 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6669 of FRAME_X_IMAGE_CACHE.
6670 * xterm.h (struct x_display_info): Remove image_cache field.
6671 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6672 * w32term.h (struct w32_display_info): Remove image_cache field.
6673 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6674 * macterm.h (struct mac_display_info): Remove image_cache field.
6675 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6676 * xterm.c (x_term_init):
6677 * w32term.c (w32_term_init):
6678 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6679 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6680 Remove declarations.
6681 (clear_image_caches, mark_image_cache): New declarations.
6682 * xfaces.c (clear_face_cache):
6683 * xdisp.c (redisplay_internal): Use clear_image_caches.
6684 * image.c (clear_image_cache): Don't check that a frame is on
6685 a window-system before checking if it shares the same cache.
6686 (clear_image_caches): New function.
6687 (Fclear_image_cache): Use it.
6688 (mark_image): Move from allo.c.
6689 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6690 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6691 (mark_object): Don't call mark_image_cache for frames.
6692 (mark_terminals): Call mark_image_cache.
6693
6694 * lisp.h (Fdelete_terminal): Declare.
6695
6696 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6697 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6698 wrong_type_argument.
6699
67002008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6701
6702 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6703 malayalam.el, and tamil.el. Add sinhala.el.
6704
67052008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6706
6707 * xterm.c (x_connection_closed): Consolidate identical tests.
6708 (x_delete_terminal): Don't crash if called via x_connection_closed.
6709
67102008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6711
6712 * xdisp.c (decode_mode_spec): New arg string.
6713 (display_mode_element): Adjust for the above change.
6714
67152008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6716
6717 * callint.c (Fcall_interactively): Use AREF.
6718
67192008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6720
6721 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6722
67232008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6724
6725 * xfns.c (Fx_show_tip): Set string to " " if empty.
6726
67272008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6728
6729 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6730 with Qt.
6731
67322008-02-17 Kenichi Handa <handa@m17n.org>
6733
6734 * ftfont.c (ftfont_shape): Return Lispy number.
6735
6736 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6737 for GCs.
6738 (Finternal_set_font_selection_order): Call font_update_sort_order
6739 only when enable_font_backend is set.
6740 (realize_x_face): Set face->font_info to that of default face only
6741 when enable_font_backend is set.
6742
6743 * xdisp.c (handle_composition_prop): Set it->c to the fist
6744 character of the composed region.
6745 (fill_composite_glyph_string): Set base_face->font_info to
6746 s->font_info. Get a face for ascii from base_face->ascii_face.
6747 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6748 with a face already decided.
6749 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6750 non-negative.
6751 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6752 call font_prepare_composition unconditionally.
6753
6754 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6755
6756 * xterm.h (struct x_display_info): New member font.
6757
6758 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6759 (x_set_mouse_face_gc, x_new_font): Likewise.
6760 (x_term_init): Setup display_info->font.
6761 (x_delete_terminal): Free display_info->font.
6762
6763 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6764
6765 * ftxfont.c (ftxfont_default_fid): Delete it.
6766 (ftxfont_open): Set xfont->fid to 0.
6767 (ftxfont_end_for_frame): Clear data specific to the frame and the
6768 font-driver.
6769
6770 * xftfont.c (xftfont_default_fid): Delete it.
6771 (xftfont_open): Set xfont->fid to 0.
6772
6773 * fontset.c (FONTSET_OBJLIST): New macro.
6774 (fontset_find_font): Update font-object list of the fontset.
6775 (free_realized_fontset): New function.
6776 (free_face_fontset): Call free_realized_fontset.
6777 (Ffont_info): Call font_close_object only when enable_font_backend
6778 is set.
6779
6780 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6781 [HAVE_NTGUI]: Include w32term.h.
6782 [MAC_OS]: Include macterm.ch.
6783 (font_otf_ValueRecord): Use make_number.
6784 (font_finish_cache): Fix handling of reference count.
6785 (font_clear_cache): Update num_fonts.
6786 (font_open_entity): Update smallest_char_width and
6787 smallest_font_height of the frame.
6788 (font_close_object): Update num_fonts.
6789 (Fclear_font_cache): Fix finding the target cache data.
6790
67912008-02-16 Glenn Morris <rgm@gnu.org>
6792
6793 * fontset.c (Finternal_char_font): Fix compilation warning.
6794
67952008-02-16 Eli Zaretskii <eliz@gnu.org>
6796
6797 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6798 instead of char arrays. Enlarge the size of array passed to
6799 get_token_information.
6800
6801 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6802 warnings.
6803
68042008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6805
6806 * .gdbinit: Don't set `args', it breaks gdb --args.
6807
68082008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6809
6810 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6811 within a narrowed buffer.
6812
68132008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6814
6815 * coding.c (decode_coding_object, encode_coding_object):
6816 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6817
68182008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6819
6820 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6821 hardcoding 1.
6822 (detect_coding_system):
6823 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6824 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6825 * insdel.c (insert_from_gap):
6826 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6827 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6828 (string_to_multibyte):
6829 * character.c (chars_in_text, multibyte_chars_in_text):
6830 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6831
6832 * character.h (FETCH_STRING_CHAR_ADVANCE)
6833 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6834 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6835 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6836
6837 * casefiddle.c (casify_region): Only call after-change and composition
6838 functions on the part of the region that was changed.
6839
6840 * keyboard.c (read_avail_input):
6841 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6842
68432008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6844
6845 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6846 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6847
68482008-02-11 Juanma Barranquero <lekktu@gmail.com>
6849
6850 * w32menu.c (push_submenu_start, push_submenu_end)
6851 (push_left_right_boundary, push_menu_pane, push_menu_item):
6852 * keyboard.c (read_key_sequence): Don't pass args with side effects
6853 to AREF, it fails when compiling with -DENABLE_CHECKING.
6854
68552008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6856
6857 * Makefile.in (${lispsource}international/charprop.el):
6858 Delete this target.
6859
6860 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6861 emacs-unicode-2.
6862
68632008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6864
6865 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6866
68672008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6868
6869 * frame.c (Qnoelisp): New symbol.
6870 (syms_of_frame): Initialize it.
6871 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
6872 harmless Elisp code, from a strong `force' from x_connection_closed.
6873 * frame.h (Qnoelisp): Declare.
6874 * xterm.c (x_connection_closed): Pass `noelisp'.
6875
6876 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6877 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6878 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6879 rather than `int' for the type of `type'.
6880
68812008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6882
6883 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6884
6885 * Makefile.in (GNUC): Remove support for gcc-1.x.
6886
68872008-02-10 Richard Stallman <rms@gnu.org>
6888
6889 * lisp.h (ASET): Use AREF, not ASLOT.
6890
68912008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6892
6893 * lisp.h (ASET): Check bounds.
6894
68952008-02-10 Glenn Morris <rgm@gnu.org>
6896
6897 * buffer.c (mode-name): Doc fix.
6898
68992008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6900
6901 * Makefile.in:
6902 * emacs.c:
6903 * gmalloc.c:
6904 * keyboard.c:
6905 * lisp.h:
6906 * m/ibm370aix.h:
6907 * process.c:
6908 * regex.c:
6909 * s/hpux.h:
6910 * sysdep.c:
6911 * sysselect.h:
6912 * systty.h:
6913 * unexec.c:
6914 * w32term.c:
6915 * xsmfns.c:
6916 * xterm.c: Remove code that deals with obsolete variables.
6917
6918 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6919
6920 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6921 nothing else needs it anymore.
6922
69232008-02-09 Eli Zaretskii <eliz@gnu.org>
6924
6925 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6926 instead of unibyte_char_to_multibyte.
6927
69282008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6929
6930 * s/gnu-linux.h: Remove commented out code.
6931
6932 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
6933
6934 * Makefile.in: Update what RMS says about using autoconf.
6935 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
6936 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
6937 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6938 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6939
69402008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6941
6942 * keymap.c (Fkey_description): Move side effect outside of macro call.
6943
6944 * xfaces.c (Finternal_make_lisp_face):
6945 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6946
6947 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6948 (syms_of_fontset): Use ASET.
6949
6950 * fns.c (concat): Move side effect outside of macro call.
6951 (hash_clear): Use ASET.
6952
69532008-02-08 Richard Stallman <rms@gnu.org>
6954
6955 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6956 If FORCE, and frame has a surrogate minibuffer for another frame,
6957 delete the other frame first.
6958
69592008-02-07 Timo Savola <timo.savola@iki.fi>
6960
6961 * xterm.c (x_detect_focus_change): Handle embed client message.
6962 (handle_one_xevent): Ditto.
6963 (handle_one_xevent): If embedded and we get a button press/release,
6964 request focus.
6965 (xembed_set_info, xembed_send_message): New functions.
6966 (x_make_frame_visible): Call xembed_set_info if embedded.
6967 (x_make_frame_invisible): Call xembed_set_info if embedded.
6968 (x_term_init): Initialize Xatom_XEMBED.
6969 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6970 (x_iconify_frame): Ditto.
6971
6972 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
6973 (enum xembed_info, enum xembed_message, enum xembed_focus)
6974 (enum xembed_modifier, enum xembed_accelerator): New.
6975 (xembed_set_info, xembed_send_message): Declare.
6976 (FRAME_X_EMBEDDED_P): New.
6977
6978 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6979 gtk_plug_new.
6980
6981 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6982 window ID of a frame.
6983 (x_window): Reparent frame if embedded.
6984 (Fx_create_frame): Don't set border width if embedded.
6985
6986 * emacs.c (USAGE3): Add --parent-id.
6987 (standard_args): Ditto.
6988
69892008-02-07 Jan Djärv <jan.h.d@swipnet.se>
6990
6991 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6992
69932008-02-07 Jim Meyering <meyering@redhat.com>
6994
6995 Use "do...while (0)", not "if (1)...else" in macro definitions.
6996 The latter provokes a warning from gcc about the empty else, when
6997 followed by ";". Also, without that trailing semicolon, it would
6998 silently swallow up any following statement.
6999 * syntax.h (SETUP_SYNTAX_TABLE)
7000 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7001 * buffer.h (DECODE_POSITION): Likewise.
7002 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7003 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7004 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7005 (FETCH_CHAR_ADVANCE): Likewise.
7006 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7007
70082008-02-07 Jim Meyering <meyering@redhat.com>
7009
7010 * lread.c [lint]: Don't include <sys/inode.h>.
7011
70122008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7013
7014 * xselect.c (x_handle_dnd_message):
7015 * xmenu.c (digest_single_submenu, xmenu_show):
7016 * xdisp.c (with_echo_area_buffer_unwind_data)
7017 (format_mode_line_unwind_data, unwind_format_mode_line)
7018 (display_menu_bar):
7019 * eval.c (Ffetch_bytecode):
7020 * doc.c (store_function_docstring):
7021 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7022 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7023 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7024
70252008-02-07 Kenichi Handa <handa@m17n.org>
7026
7027 * ftxfont.c (ftxfont_open): Don't set
7028 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7029
7030 * ftfont.c (ftfont_open): Fix previous change.
7031
70322008-02-06 Jason Rumney <jasonr@gnu.org>
7033
7034 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7035 Use cached metrics for ASCII characters.
7036 (w32font_open_internal): Don't set font's owning_frame.
7037 Cache metrics for ASCII characters.
7038
7039 * w32font.h (struct w32font_info): Add ascii_metrics.
7040 Remove owning_frame.
7041
70422008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7043
7044 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7045 to negative value.
7046
7047 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7048
7049 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7050
7051 * charset.c (syms_of_charset): Set QCtest and Qeq.
7052
70532008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7054
7055 * process.c (Fstart_process):
7056 * callproc.c (Fcall_process): Handle the case where
7057 Funhandled_file_name_directory returns nil.
7058
7059 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7060 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7061 * font.c (check_gstring): Use them and AREF to access the vector before
7062 we know it's really a gstring.
7063 (Ffont_shape_text): Fix typo.
7064 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7065
7066 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7067 Declare.
7068
7069 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7070
70712008-02-05 Jason Rumney <jasonr@gnu.org>
7072
7073 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7074 Set smallest_font_height and smallest_char_width in display info.
7075
70762008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7077
7078 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7079
70802008-02-05 Miles Bader <miles@gnu.org>
7081
7082 * xfaces.c (get_lface_attributes, merge_named_face)
7083 (lookup_named_face, lookup_derived_face, realize_named_face):
7084 Revert 2008-02-01 change by cyd@stupidchicken.com.
7085
70862008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7087
7088 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7089 fallback fonts.
7090 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7091
70922008-02-04 Jason Rumney <jasonr@gnu.org>
7093
7094 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7095 set full_name.
7096 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7097
70982008-02-03 Jason Rumney <jasonr@gnu.org>
7099
7100 * makefile.w32-in (OBJ1): Include font.o here.
7101 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7102
71032008-02-02 Jason Rumney <jasonr@gnu.org>
7104
7105 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7106
71072008-02-01 Jason Rumney <jasonr@gnu.org>
7108
7109 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7110
7111 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7112
71132008-02-01 Andreas Schwab <schwab@suse.de>
7114
7115 * Makefile.in (shortlisp, lisp): Update for rename of
7116 ../lisp/language/myanmar.el.
7117
71182008-02-01 Chong Yidong <cyd@stupidchicken.com>
7119
7120 * xfaces.c (get_lface_attributes): Delete function.
7121 (merge_named_face, lookup_named_face, lookup_derived_face)
7122 (realize_named_face): Call lface_from_face_name directly, and use
7123 the fact that merge_face_vectors does not alter its FROM argument.
7124
71252008-02-01 Jason Rumney <jasonr@gnu.org>
7126
7127 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7128 input in the default locale. Handle non-Unicode multibyte input.
7129
71302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7131
7132 * fontset.c (reorder_font_vector): Exclude nil elements from the
7133 font group. Don't try multiple fonts.
7134 (fontset_font): Adjust for the above change.
7135 (Finternal_char_font): Return nil if the found font doesn't
7136 contain the character ch.
7137
7138 * Makefile.in (lisp, shortlisp): Add cham.el.
7139
71402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7141
7142 * font.h (FONTP): Make it return 1 also for a font-object.
7143
7144 * .gdbinit (xfontset): New function.
7145
7146 * font.c (font_find_for_lface): Check if the character C is
7147 supported or not only for the first font.
7148
7149 * fontset.c (reorder_font_vector): Fix typo.
7150 (fontset_find_font): Don't add a font-spec specifying a script.
7151 Use 0 (not Qt) for the indication of empty font-group. Change the
7152 format of RFONT-DEF. Return Qt if no font in the font-group
7153 support the character.
7154 (fontset_font): Adjust for the above change. If no font was
7155 found the character, remember that.
7156 (face_for_char): Adjust for the change of RFONT-DEF.
7157 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7158 no font for the target.
7159 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7160
71612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7162
7163 * font.c (font_load_for_face): Handle the case that the font in
7164 face->lface is a string.
7165
71662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7167
7168 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7169
71702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7171
7172 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7173 Fix previous change. If the frame is not on a window system,
7174 signal an error.
7175
71762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7177
7178 * coding.c (decode_coding_object, encode_coding_object): Adjust
7179 marker positions after conversion.
7180
7181 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7182
71832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7184
7185 * font.c (font_find_for_lface): Fix the handling of the return
7186 value of font_has_char.
7187 (Ffont_shape_text): Fix previous change.
7188
7189 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7190 (fontset_ref_and_range): Delete it.
7191 (fontset_find_font): Call char_table_ref_and_range instead of
7192 FONTSET_REF_AND_RANGE.
7193 (make_fontset): Don't setup font groups of Latin here.
7194 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7195 (new_fontset_from_font): Make the specified font the default for
7196 all Latin characters.
7197
71982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7199
7200 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7201 is on a window system before accessing the fontset of the frame.
7202
72032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7204
7205 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7206
7207 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7208 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7209
7210 * font.c (Ffont_shape_text): If the font driver doesn't have a
7211 shaper function, make zero-width glyphs to have at least one-pixel
7212 width. Fix setting of `to' field of glyphs.
7213
72142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7215
7216 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7217 glyphs.
7218
7219 * font.h (struct font_driver): Improve docstring of member `shape'.
7220
72212008-02-01 Kenichi Handa <handa@m17n.org>
7222
7223 * composite.c (syms_of_composite): Fix docstring of
7224 auto-composition-function.
7225
7226 * font.h (LGLYPH_SIZE): New macro.
7227
7228 * font.c (Ffont_fill_gstring): Stop filling when a character not
7229 supported by the font is found.
7230 (Ffont_shape_text): When a shape callback function returns nil,
7231 try at most two more times with larger gstring.
7232 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7233
7234 * xdisp.c (handle_auto_composed_prop): Change the argument to
7235 auto-composition-function.
7236
7237 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7238 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7239 Lispy glyph and store it in the lgstring.
7240
7241 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7242
7243 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7244
72452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7246
7247 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7248
7249 * fontset.c (Vfont_encoding_charset_alist): New variable.
7250 (syms_of_fontset): DEFVAR it.
7251 (reorder_font_vector, fontset_find_font): Optimize for the case of
7252 no need of reordering.
7253 (face_for_char): Map the charset property by
7254 Vfont_encoding_charset_alist.
7255
72562008-02-01 Jason Rumney <jasonr@gnu.org>
7257
7258 * w32font.c (logfonts_match): Don't check adstyle here.
7259 (font_matches_spec): Check here against physical font instead.
7260 (add_font_entity_to_list): Avoid some substitutions.
7261
7262 * font.c (font_parse_fcname): Default weight and slant to normal.
7263 (font_score): Prefer normal fonts if weight or slant unspecified.
7264 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7265 match freetype scores.
7266
72672008-02-01 Jason Rumney <jasonr@gnu.org>
7268
7269 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7270 font, as it may have been deleted.
7271 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7272 most common hyphenless variation.
7273 (logfonts_match): Check generic family.
7274 (font_matches_spec): Don't check generic family here.
7275 (fill_in_logfont): Set generic family based on adstyle.
7276
7277 * w32font.h (w32font_get_cache): Update declaration.
7278
72792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7280
7281 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7282
7283 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7284 If none of the new drivers are available, call font_update_drivers
7285 with the old drivers.
7286
7287 * w32font.c (w32font_get_cache): Adjust the argument type.
7288
7289 * xfont.c (xfont_get_cache): Adjust the argument type.
7290
7291 * font.h (struct font_driver): Change argument type of get_cache.
7292
7293 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7294
7295 * font.c (Ffont_get): Fix arguments to Fassoc.
7296 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7297 (font_clear_cache): New function.
7298 (font_list_entities, font_matching_entity): Use font_get_cache.
7299 (font_update_drivers): Call font_clear_cache when finishing a driver.
7300
7301 * fontset.c (fontset_find_font): Fix previous change.
7302
73032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7304
7305 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7306 dpyinfo->font_table.
7307 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7308 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7309
7310 * font.c (font_at): Handle the case that the arg C is negative.
7311 Handle the unibyte case.
7312 (Ffont_at): Call font_at with the arg C -1.
7313
7314 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7315 the position here, and call font_at with the arg C -1.
7316 Don't check the range of the existing composition at the point.
7317
73182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7319
7320 * fontset.c (fontset_add): New args charset_id and family.
7321 Change caller.
7322 (load_font_get_repertory, fontset_find_font): Assume that
7323 font_spec is always a font-spec object.
7324 (Fset_fontset_font): Always store a font-spec object in a fontset.
7325
7326 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7327 instead of get_property_and_range.
7328
73292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7330
7331 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7332 (xftfont_open): Don't keep locking face.
7333 (xftfont_close): Don't unlock face.
7334 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7335
7336 * fontset.c (fontset_find_font): Don't prefer a font of
7337 supplementary charset.
7338
73392008-02-01 Kenichi Handa <handa@m17n.org>
7340
7341 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7342 script, langsys_tag to langsys, new member script.
7343 (OTF_TAG_STR): Terminate by '\0'.
7344 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7345 listing to the script specified in that property. Fix arg to
7346 OTF_check_features.
7347
73482008-02-01 Jason Rumney <jasonr@gnu.org>
7349
7350 * w32font.h: New file.
7351
7352 * w32font.c: Include it.
7353 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7354 (w32font_open): Set owning_frame.
7355 (w32font_text_extents): Use owning_frame.
7356 (struct font_callback_data): Add opentype_only field.
7357 (add_font_entity_to_list): Use it to filter fonts.
7358 Don't check against full name.
7359 (w32font_list_internal): New function.
7360 (w32font_list): Use it.
7361 (w32font_match_internal): New function.
7362 (w32font_match): Use it.
7363 (w32font_open_internal): New function.
7364 (w32font_open): Use it.
7365 (w32font_get_cache, w32font_close, w32font_has_char)
7366 (w32font_encode_char, w32font_text_extents, w32font_draw):
7367 Make non-static.
7368
7369 * makefile.w32-in (w32font.o): Depend on w32font.h.
7370
73712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7372
7373 * charset.c (Fdefine_charset_internal): Record a supplementary
7374 charset at the tail of Vcharset_order_list.
7375
7376 * font.c (Ffont_shape_text): Fix the return value.
7377
7378 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7379
7380 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7381
73822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7383
7384 * ftfont.c (struct OpenTypeSpec): New struct.
7385 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7386 (ftfont_get_open_type_spec): New function.
7387 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7388
7389 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7390
73912008-02-01 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32font.c (add_font_entity_to_list): Compare only the beginning
7394 of full name.
7395
73962008-02-01 Kenichi Handa <handa@m17n.org>
7397
7398 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7399 Never return HANDLED_RECOMPUTE_PROPS.
7400
74012008-02-01 Kenichi Handa <handa@m17n.org>
7402
7403 * font.c (font_gstring_produce): Delete it.
7404
7405 * composite.h (COMPOSITION_METHOD):
7406 Handle COMPOSITION_WITH_GLYPH_STRING.
7407
74082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7409
7410 * xfont.c (Qx): Delete.
7411 (syms_of_xfont): Don't initialize Qx.
7412
7413 * composite.h (enum composition_method):
7414 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7415
74162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7417
7418 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7419 (choose_face_font): Accept new form of font-spec.
7420
7421 * frame.h (font_driver_list): Declare it unconditionally.
7422 (struct frame): Define members font_driver_list and font_data_list
7423 unconditionally.
7424
7425 * fontset.c: Include "font.h" unconditionally.
7426 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7427 (Fset_fontset_font): Accept a font-spec object.
7428
7429 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7430 PIXEL_SIZE part a wild card.
7431
7432 * dispextern.h (struct glyph_string): Define members clip and
7433 num_clips unconditionally.
7434 (struct face): Define members font_info and extra unconditionally.
7435
7436 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7437 ftfont_info only when HAVE_LIBOTF is defined.
7438
74392008-02-01 Andreas Schwab <schwab@suse.de>
7440
7441 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7442 and end.
7443
74442008-02-01 Jason Rumney <jasonr@gnu.org>
7445
7446 * w32font.c (w32font_driver): Add new fields.
7447
74482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7449
7450 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7451 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7452 (LIBES): Add @M17N_FLT_CFLAGS@.
7453
7454 * composite.c (compose_text): Don't treat the new style
7455 composition specially.
7456
7457 * emacs.c (main): Call syms_of_font unconditionally.
7458
7459 * font.h (FONT_ENTITY_NOT_LOADABLE)
7460 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7461 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7462 (struct font_driver): New member shape.
7463 (font_registry_charsets): Extern it.
7464 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7465 (font_otf_capability, font_drive_otf): Delete their externs.
7466
7467 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7468 (font_charset_alist, font_registry_charsets): Move from xfont.c
7469 and rename.
7470 (font_prop_validate_otf): New function.
7471 (font_property_table): Register it for QCotf.
7472 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7473 (font_drive_otf): Delete.
7474 (font_prepare_composition): New arg F. Adjust for the change of
7475 lispy gstring.
7476 (font_find_for_lface): New arg C.
7477 (font_load_for_face): Adjust for the change of font_find_for_lface.
7478 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7479 lispy gstring.
7480 (Ffont_shape_text): New function.
7481 (Fopen_font): If the font size is not given, use 12-pixel.
7482 (Ffont_at): New arg STRING.
7483 (syms_of_font): Initalize font_charset_alist.
7484 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7485 conditionally.
7486
7487 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7488 fonts of the same font-spec. Change the format of RFONT-DEF.
7489 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7490 Adjust for the change of RFONT-DEF.
7491 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7492
7493 * ftfont.h: New file.
7494
7495 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7496 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7497 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7498 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7499 font_otf_capability and font_drive_otf, set ftfont_shape.
7500 (ftfont_list): Adjust for the change of :otf property value.
7501 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7502 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7503 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7504 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7505 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7506 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7507
7508 * w32term.c (x_draw_composite_glyph_string_foreground):
7509 Adjust for the change of lispy gstring.
7510
7511 * xdisp.c (handle_composition_prop): Adjust for the change of
7512 lispy gstring. Call a function for auto-composition with the
7513 third arg it->window.
7514 (fill_composite_glyph_string): Adjust for the change of lispy string.
7515 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7516
7517 * xfaces.c (set_font_frame_param): Adjust for the change of
7518 font_find_for_lface.
7519
7520 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7521 (xfont_registry_charsets): Likewise. Change caller.
7522 (syms_of_xfont): Don't handle x_font_charset_alist.
7523
7524 * xftfont.c: Include "ftfont.h".
7525 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7526 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7527 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7528 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7529 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7530 Set xftfont_driver.shape to xftfont_shape.
7531
7532 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7533 the change of lispy gstring.
7534
75352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7536
7537 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7538
75392008-02-01 Jason Rumney <jasonr@gnu.org>
7540
7541 * w32font.c (w32font_draw): Fill background manually.
7542
75432008-02-01 Jason Rumney <jasonr@gnu.org>
7544
7545 * font.c (Qfontp): Remove unused symbol.
7546 (QCantialias): New symbol.
7547 (syms_of_font): Define it.
7548 (font_property_table): Set a validator for QCantialias.
7549
7550 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7551 Define if not already.
7552 (QCfamily): Share with xfaces.c.
7553 (Qstandard, Qsubpixel, Qnatural): New symbols.
7554 (syms_of_w32font): Define them. Don't define QCfamily here.
7555 (w32_antialias_type, lispy_antialias_type): New functions.
7556 (w32_enumfont_pattern_entity): New arg requested_font.
7557 Set antialias parameter if non-default was requested.
7558 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7559
75602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7561
7562 * lread.c (read1): Undo the previous change.
7563
75642008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7565
7566 * frame.c (Fdelete_frame): Call font_update_drivers only when
7567 USE_FONT_BACKEND is defined.
7568
75692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7570
7571 * font.h (struct font_bitmap): New member bits_per_pixel.
7572 (struct font_driver): New members start_for_frame and end_for_frame.
7573 (struct font_data_list): New struct.
7574 (font_put_frame_data, font_get_frame_data): Extern them.
7575
7576 * frame.h (struct frame): New member font_data_list.
7577
7578 * font.c (font_update_drivers): Call driver->start_for_frame and
7579 driver->end_for_frame at proper timings.
7580 (font_put_frame_data, font_get_frame_data): New functions.
7581 (Ffont_spec): Add usage in the docstring.
7582
7583 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7584 (Fdelete_frame): Call font_update_drivers.
7585
7586 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7587 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7588 (xftfont_get_xft_draw): New function.
7589 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7590 (xftfont_end_for_frame): New function.
7591 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7592
7593 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7594 Change argument. Cache GCs in the per-frame data.
7595 (struct ftxfont_frame_data): New struct.
7596 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7597 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7598 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7599 (ftxfont_end_for_frame): New function.
7600 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7601
7602 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7603
76042008-02-01 Kenichi Handa <handa@m17n.org>
7605
7606 * xselect.c (Vselection_coding_system)
7607 (Vnext_selection_coding_system): Delete them.
7608 (syms_of_xselect): Don't declare selection-coding-system and
7609 next-selection-coding-system. They are declared in select.el.
7610
76112008-02-01 Jason Rumney <jasonr@gnu.org>
7612
7613 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7614
7615 * w32fns.c: Include imm.h.
7616 (get_composition_string_fn, get_ime_context_fn): New optional
7617 system functions.
7618 (globals_of_w32fns): Load them from imm32.dll.
7619 (ignore_ime_char): New flag.
7620 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7621 WM_IME_ENDCOMPOSITION messages.
7622
7623 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7624 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7625
76262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7627
7628 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7629 (READCHAR_REPORT_MULTIBYTE): New macro.
7630 (readchar): New 2nd arg MULTIBYTE.
7631 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7632 Make symbol's name multibyte according to the multibyteness of the
7633 source.
7634
76352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7636
7637 * xfaces.c (face_for_overlay_string): Call lookup_face with
7638 correct arguments (fix of synching with the trunk).
7639
76402008-02-01 Kenichi Handa <handa@m17n.org>
7641
7642 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7643 (font_prop_validate_non_neg, font_prop_validate_spacing):
7644 Delete argument prop_index.
7645 (font_property_table): Change arguments to validater. Change Callers.
7646 (font_lispy_object): Delete.
7647 (font_at): Use font_find_object instead fo font_lispy_object.
7648
76492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7650
7651 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7652 and file names.
7653
76542008-02-01 Jason Rumney <jasonr@gnu.org>
7655
7656 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7657 (font_matches_spec): Remove debug output.
7658 (add_font_entity_to_list): Avoid using substituted fonts.
7659
76602008-02-01 Jason Rumney <jasonr@gnu.org>
7661
7662 * doc.c (Fsnarf_documentation):
7663 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7664
76652008-02-01 Miles Bader <miles@gnu.org>
7666
7667 * dispextern.h (struct glyph_row): Only define "clip" field if
7668 HAVE_WINDOW_SYSTEM is defined.
7669
76702008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7671
7672 Fix up multi-tty merge.
7673
7674 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7675 and indentation.
7676
7677 * xfaces.c (free_realized_face, clear_face_gcs):
7678 Include font_done_for_face in the input_blocked section, just in case.
7679
7680 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7681 (get_char_face_and_encoding): Undo last change and remove the *other*
7682 duplicate definition (i.e. keep the one that's better scoped and that
7683 includes code for the font-backend).
7684
7685 * terminal.c (create_terminal): Default keyboard_coding to
7686 `no-conversion' and terminal_coding to `undecided'.
7687
7688 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7689
7690 * fontset.c (free_realized_fontsets): Check that the table entry does
7691 contain a fontset before trying to compare it to `base'.
7692
7693 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7694 syms_of_charset, and syms_of_coding earlier because init_window_once
7695 now needs Vcoding_system_hash_table to be setup.
7696
7697 * coding.h (default_buffer_file_coding): Remove.
7698
7699 * coding.c (default_buffer_file_coding): Remove.
7700 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7701 than ->symbol, and use the terminal-local coding system.
7702 (syms_of_coding): Don't setup the coding-systems that are not
7703 terminal-local.
7704 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7705
7706 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7707 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7708
7709 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7710 in chartab.c and were re-added here by mistake.
7711 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7712
7713 * doc.c (Fsnarf_documentation):
7714 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7715 src to etc.
7716
7717 * ChangeLog.10: Add mistakenly removed entry.
7718
77192008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7720
7721 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7722
77232008-02-01 Miles Bader <miles@gnu.org>
7724
7725 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7726 Add extra args to FACE_FOR_CHAR.
7727
77282008-02-01 Kenichi Handa <handa@m17n.org>
7729
7730 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7731 in sequence.
7732
7733 * chartab.c (map_sub_char_table, map_char_table): If the range
7734 contains just one character, call the function with that character
7735 even if the depth is not 3.
7736
77372008-02-01 Jason Rumney <jasonr@gnu.org>
7738
7739 * w32font.c (w32font_text_extents): Calculate metrics for the
7740 whole string.
7741
77422008-02-01 Jason Rumney <jasonr@gnu.org>
7743
7744 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7745
77462008-02-01 Jason Rumney <jasonr@gnu.org>
7747
7748 * w32term.c (x_set_glyph_string_clipping): Use
7749 get_glyph_string_clip_rects.
7750 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7751 Adjust for the change of struct glyph_string.
7752
7753 * w32font.c (w32font_draw): Do clipping here.
7754
77552008-02-01 Kenichi Handa <handa@m17n.org>
7756
7757 * xftfont.c (xftfont_draw): Adjust for the change of struct
7758 glyph_string.
7759
7760 * xterm.c (x_set_glyph_string_clipping): Use
7761 get_glyph_string_clip_rects.
7762 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7763 Adjust for the change of struct glyph_string.
7764
7765 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7766 the resulting clip(s}.
7767 (expose_overlaps): Add arg r. Change callers. Set it to
7768 row->clip temporarily.
7769 (expose_window): Redraw rows overlapping the exposed area.
7770
7771 * dispextern.h (struct glyph_row): New member clip.
7772 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7773 clip_height, new member clip, and num_clips.
7774
77752008-02-01 Kenichi Handa <handa@m17n.org>
7776
7777 * data.c (Fchar_or_string_p): Fix docstring.
7778
77792008-02-01 Kenichi Handa <handa@m17n.org>
7780
7781 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7782 create a temporary XftDraw object.
7783
77842008-02-01 Kenichi Handa <handa@m17n.org>
7785
7786 * font.c (Ffontp): Fix docstring.
7787
7788 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7789 strong evidence of ISO-2022.
7790
77912008-02-01 Kenichi Handa <handa@m17n.org>
7792
7793 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7794 SYNTAX_ENTRY_FOLLOW_PARENT.
7795
77962008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7797
7798 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7799 its type.
7800 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7801 Update to the new type of weak_hash_tables and next_weak.
7802
7803 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7804 a plain C pointer to Lisp_Hash_Table.
7805
7806 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7807 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7808 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7809 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7810 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7811 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7812 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7813 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7814 (GC_EQ): Remove since they've been identical to their non-GC_
7815 alter-egos ever since the markbit was eradicated.
7816
7817 * alloc.c:
7818 * buffer.c:
7819 * buffer.h:
7820 * data.c:
7821 * fileio.c:
7822 * filelock.c:
7823 * fns.c:
7824 * frame.h:
7825 * lisp.h:
7826 * macterm.c:
7827 * print.c:
7828 * process.c:
7829 * w32fns.c:
7830 * w32menu.c:
7831 * w32term.c:
7832 * xfns.c:
7833 * xmenu.c:
7834 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7835
78362008-02-01 Kenichi Handa <handa@m17n.org>
7837
7838 * chartab.c (map_sub_char_table): Make it work for the top-level
7839 char-table. Fix handling of parent char-table.
7840 (map_char_table): Adjust for the above change.
7841
78422008-02-01 Jason Rumney <jasonr@gnu.org>
7843
7844 * w32font.c (Qgdi): Rename from Qw32.
7845
78462008-02-01 Jason Rumney <jasonr@gnu.org>
7847
7848 * w32bdf.c (get_quoted_string): Make function static.
7849
78502008-02-01 Kenichi Handa <handa@m17n.org>
7851
7852 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7853 bigger ascent and descent than those of the font, use them as
7854 font's ascent and descent.
7855
78562008-02-01 Kenichi Handa <handa@m17n.org>
7857
7858 * Makefile.in (${lispsource}international/charprop.el): Move this
7859 target within "#ifdef HAVE_UNIDATA" and "#endif".
7860
78612008-02-01 Kenichi Handa <handa@m17n.org>
7862
7863 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7864 (shortlisp): Add ../lisp/language/tai-viet.el.
7865
78662008-02-01 Ulrich Mueller <ulm@gentoo.org>
7867
7868 * Makefile.in (${lispsource}international/charprop.el): Depend on
7869 temacs${EXEEXT}.
7870
78712008-02-01 Jason Rumney <jasonr@gnu.org>
7872
7873 * w32font.c (w32font_close): Delete the GDI font object.
7874
7875 * w32menu.c: Include character.h.
7876
7877 * w32proc.c: Likewise.
7878
7879 * w32select.c: Likewise.
7880
7881 * makefile.w32-in (w32proc.o): Depend on character.h.
7882
78832008-02-01 Jason Rumney <jasonr@gnu.org>
7884
7885 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7886
7887 * w32menu.c (syms_of_w32menu): Likewise.
7888
7889 * w32proc.c (syms_of_ntproc): Likewise.
7890
7891 * w32select.c (syms_of_w32select): Likewise.
7892
7893 * w32term.c (syms_of_w32term): Likewise.
7894
78952008-02-01 Jason Rumney <jasonr@gnu.org>
7896
7897 * w32font.c (w32font_draw): Delete brush after using it.
7898
78992008-02-01 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32font.c (w32font_open): Don't set font_idx.
7902 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7903 to font settings.
7904 (w32font_draw): Fill background explicitly.
7905
79062008-02-01 Jason Rumney <jasonr@gnu.org>
7907
7908 * w32term.c (w32_initialize): Don't call w32font_initialize.
7909
7910 * w32font.c (w32font_info): Remove subranges.
7911 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7912 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7913 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7914 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7915 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7916 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7917 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7918 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7919 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7920 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7921 New symbols.
7922 (font_callback_data): New struct.
7923 (w32font_list, w32font_match): Use it.
7924 (w32font_open): Don't populate subranges.
7925 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7926 (w32font_encode_char): Always return unicode code-point as-is.
7927 (w32font_text_extents): Supply a transformation matrix to
7928 GetGlyphOutline. Never look up by glyph index. Avoid looping
7929 twice. Use unicode version of GetTexExtentPoint32 instead of
7930 glyph index version.
7931 (set_fonts_frame): Remove.
7932 (w32_enumfont_pattern_entity): Add frame parameter, use it to
7933 set frame parameter. Use backward compatible fake foundries.
7934 Save generic family in extra slot under QCfamily. Make width slot
7935 constant. Save QCspacing value. Save list of scripts instead of
7936 binary subranges.
7937 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
7938 (add_font_entity_to_list): Use font_callback_data struct. Filter
7939 unwanted fonts.
7940 (add_one_font_entity_to_list): Use font_callback_data struct.
7941 (w32_registry): Default to iso10646_1.
7942 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7943 string font registries. Don't fill in font name if it is a generic
7944 family name, fill family instead. Use spacing, family and script
7945 extra info to fill pitch, family and charset fields.
7946 (list_all_matching_fonts): Use font_callback_data struct.
7947 (unicode_range_for_char): Remove.
7948 (font_supported_scripts): New function.
7949 (w32font_initialize): Remove.
7950 (syms_of_w32font): Update which symbols are defined.
7951
79522008-02-01 Jason Rumney <jasonr@gnu.org>
7953
7954 * font.c (font_pixel_size): Reverse assq_no_quit args.
7955
7956 * w32term.h (FONT_WIDTH): Report max width, not average.
7957 (FONT_MAX_WIDTH): Remove.
7958 (FONT_AVG_WIDTH): New macro.
7959
7960 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7961 redefinition of FONT_WIDTH.
7962
7963 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7964 (w32_cache_char_metrics): Use FONT_WIDTH.
7965
7966 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7967
79682008-02-01 Jason Rumney <jasonr@gnu.org>
7969
7970 * w32font.c (w32font_open): Make lfHeight negative.
7971
7972 * w32fns.c (x_default_font_parameter): Use new style font name.
7973 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7974
79752008-02-01 Jason Rumney <jasonr@gnu.org>
7976
7977 * w32font.c (QCsubranges): New symbol.
7978 (w32font_open, w32font_has_char): Get subranges from subproperty
7979 of extra.
7980 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7981 (syms_of_w32font): Define :subranges symbol.
7982
7983 * font.c (font_put_extra): Expose externally.
7984
7985 * font.h (font_put_extra): Move declaration from font.c.
7986
7987 * font.c (Ffont_get): Use font driver to determine otf capability.
7988 (adjust_anchor): Check if driver defines anchor_point before using.
7989
7990 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7991 (w32font_draw): Use options.
7992 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7993 Fix detection of truetype fonts.
7994 (registry_to_w32_charset): Handle charsets other than iso8859-1
7995 expressed as lisp symbols.
7996 (w32_registry): Express charset as lisp symbol.
7997 (fill_in_logfont): Reverse pixel and point height logic.
7998 Don't set width here. Set quality to default.
7999
8000 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8001 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8002
8003 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8004 Remove redundant loop and allocation.
8005
8006 * makefile.w32-in (font.o, w32font.o): New objects.
8007 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8008 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8009
8010 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8011 STORE_XCHARB a valid l-value.
8012
8013 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8014 calculations for non-Truetype fonts.
8015 (x_draw_glyph_string): Sync with xterm.c.
8016 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8017 Remove redundant code.
8018 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8019
8020 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8021 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8022
8023 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8024 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8025
8026 * w32font.c: New file for w32 font backend.
8027
80282008-02-01 Kenichi Handa <handa@m17n.org>
8029
8030 * term.c: Don't include "buffer.h" twice.
8031
80322008-02-01 Kenichi Handa <handa@m17n.org>
8033
8034 * character.c (Funibyte_string): New function.
8035 (syms_of_character): Defsubr it.
8036
80372008-02-01 Jason Rumney <jasonr@gnu.org>
8038
8039 * w32term.c [USE_FONT_BACKEND]:
8040 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8041 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8042 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8043 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8044 (x_free_frame_resources): Sync with xterm.c.
8045
80462008-02-01 Andreas Schwab <schwab@suse.de>
8047
8048 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8049 char-table size.
8050
80512008-02-01 Kenichi Handa <handa@m17n.org>
8052
8053 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8054
80552008-02-01 Kenichi Handa <handa@m17n.org>
8056
8057 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8058 font_otf_gpos, add font_drive_otf.
8059
8060 * fontset.c (fontset_find_font): Pay attention to font size
8061 specified for a font.
8062 (reorder_font_vector): Check contents of font_def.
8063
8064 * font.c (struct otf_list): Delete it.
8065 (otf_list): Make it a lisp variable.
8066 (otf_open): Use lispy otf_list.
8067 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8068 (check_otf_features): New function.
8069 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8070 New functions.
8071 (font_drive_otf): New function merging font_otf_gsub and
8072 font_otf_gpos.
8073 (font_open_for_lface): New arg spec. Change argument order.
8074 (font_load_for_face): Adjust for the change of font_open_for_lface.
8075 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8076 Ffont_otf_gpos.
8077 (syms_of_font): Staticpro otf_list. Delete defsubr of
8078 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8079
8080 * xfaces.c (set_font_frame_param): Adjust for the change of
8081 font_open_for_lface.
8082
8083 * font.h (font_open_for_lface): Adjust prototype.
8084 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8085 member otf_drive.
8086 (font_otf_gsub, font_otf_gpos): Delete externs.
8087 (font_drive_otf): Extern it.
8088
80892008-02-01 Kenichi Handa <handa@m17n.org>
8090
8091 * font.c (font_at): If the window W is not on a window system,
8092 return Qnil.
8093
8094 * coding.c (produce_chars, encode_coding): Don't call
8095 insert_from_gap if no characters to produce.
8096
80972008-02-01 Kenichi Handa <handa@m17n.org>
8098
8099 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8100 Fclear_face_cache.
8101
8102 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8103
81042008-02-01 Miles Bader <miles@gnu.org>
8105
8106 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8107 Parse "--disable-font-backend" option.
8108 (standard_args): Add "--disable-font-backend" option.
8109
81102008-02-01 Kenichi Handa <handa@m17n.org>
8111
8112 * fontset.c (fontset_find_font): New function.
8113 (fontset_font): Use fontset_find_font.
8114 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8115 Register the specified font for all Latin characters.
8116 (new_fontset_from_font): Register the specified font for all Latin
8117 characters.
8118 (dump_fontset): For a realized fontset, include the base fontset
8119 name in the returned vector.
8120
81212008-02-01 Kenichi Handa <handa@m17n.org>
8122
8123 * character.h (CHAR_STRING): Cast C to unsigned on calling
8124 char_string.
8125
8126 * character.c (char_string): Type of arg C changed to unsigned.
8127 Signal an error if C is an invalid character code.
8128
8129 * editfns.c (general_insert_function, Fchar_to_string):
8130 Use CHARACTERP, not INTEGERP.
8131
81322008-02-01 Kenichi Handa <handa@m17n.org>
8133
8134 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8135 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8136
8137 * regex.c (analyse_first): Fix for multibyte characters in "case
8138 charset:" and "case categoryspec:".
8139
81402008-02-01 Andreas Schwab <schwab@suse.de>
8141
8142 * Makefile.in (LIBES): Move standard libraries to the end.
8143
81442008-02-01 Kenichi Handa <handa@m17n.org>
8145
8146 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8147 nonzero, don't shrink the buffer nextb.
8148
8149 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8150
8151 * coding.c (coding_alloc_by_making_gap): New arg offset.
8152 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8153 offset.
8154 (decode_coding_iso_2022): Update coding->safe_charsets.
8155 (decode_coding_gap): Temporarily set
8156 current_buffer->text->inhibit_shrinking to 1.
8157
81582008-02-01 Kenichi Handa <handa@m17n.org>
8159
8160 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8161 indexing into elements of s->cmp and s->char2b.
8162
81632008-02-01 Juanma Barranquero <lekktu@gmail.com>
8164
8165 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8166
81672008-02-01 Kenichi Handa <handa@m17n.org>
8168
8169 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8170 target_multibyte instead of multibyte.
8171 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8172 (bcmp_translate): Change the argument name from multibyte to
8173 target_multibyte.
8174
81752008-02-01 Kenichi Handa <handa@m17n.org>
8176
8177 These changes are to compile a regexp into a pattern that can be
8178 used both for multibyte and unibyte targets.
8179
8180 * Makefile.in (search.o): Depend on charset.h.
8181
8182 * character.c (multibyte_char_to_unibyte_safe): New function.
8183
8184 * search.c: Include "charset.h".
8185 (compile_pattern_1): Delete argument multibyte. Don't set
8186 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8187 (compile_pattern): Don't compare cp->buf.target_multibyte.
8188 Compare cp->buf.charset_unibyte.
8189 (compile_pattern): Set cp->buf.target_multibyte.
8190
8191 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8192
8193 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8194
8195 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8196 multibyte. Change callers.
8197 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8198 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8199 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8200 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8201 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8202 (regex_compile): Make the compiled pattern usable both for
8203 multibyte and unibyte targets.
8204 (analyse_first): Make the fastmap usable both for multibyte and
8205 unibyte targets.
8206 (TRANSLATE_VIA_MULTIBYTE): Delete.
8207 (re_match_2_internal): Pay attention to the case that the
8208 multibyteness of bufp and target may be different.
8209
82102008-02-01 Kenichi Handa <handa@m17n.org>
8211
8212 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8213 empty box occupy at least one column width.
8214
82152008-02-01 Miles Bader <miles@gnu.org>
8216
8217 * Makefile.in: Remove redundant HAVE_XFT clause.
8218
82192008-02-01 Kenichi Handa <handa@m17n.org>
8220
8221 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8222
82232008-02-01 Kenichi Handa <handa@m17n.org>
8224
8225 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8226 being nil.
8227
82282008-02-01 Kenichi Handa <handa@m17n.org>
8229
8230 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8231
82322008-02-01 Kenichi Handa <handa@m17n.org>
8233
8234 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8235
82362008-02-01 Kenichi Handa <handa@m17n.org>
8237
8238 * search.c (simple_search): Fix previous change.
8239
82402008-02-01 Kenichi Handa <handa@m17n.org>
8241
8242 * xftfont.c (ftfont_font_format): Extern declaration.
8243
8244 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8245
8246 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8247 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8248
8249 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8250 (ftfont_font_format): Fix previous change.
8251
8252 * font.h (Ffont_xlfd_name): EXFUN it.
8253
8254 * font.c (font_parse_xlfd): Fix the array size of `f'.
8255 (register_font_driver): Use EQ to compare driver->type.
8256
8257 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8258 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8259 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8260
82612008-02-01 Kenichi Handa <handa@m17n.org>
8262
8263 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8264 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8265
82662008-02-01 Kenichi Handa <handa@m17n.org>
8267
8268 * xfont.c (xfont_open): Set font->format.
8269
8270 * xftfont.c (xftfont_open): Set font->format.
8271
8272 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8273 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8274 (ftfont_open): Set font->format.
8275 (ftfont_font_format): New function.
8276
8277 * font.h (struct font): New member format.
8278
8279 * font.c (Qopentype): New variable.
8280 (syms_of_font): Defsym it.
8281 (Fquery_font): Change the format of the last element of the return
8282 value.
8283
82842008-02-01 Kenichi Handa <handa@m17n.org>
8285
8286 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8287 last resort.
8288
82892008-02-01 Kenichi Handa <handa@m17n.org>
8290
8291 * coding.c (detect_coding_charset): Fix detection of multi-byte
8292 charset.
8293
82942008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8295
8296 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8297
82982008-02-01 Kenichi Handa <handa@m17n.org>
8299
8300 * xdisp.c (get_next_display_element): Set it->face_id for the
8301 first component of a composition.
8302 (x_produce_glyphs): Check if the font is changed or not for composition.
8303
83042008-02-01 Kenichi Handa <handa@m17n.org>
8305
8306 * fontset.c (Qlatin): New variable.
8307 (syms_of_fontset): Define it as a lisp symbol.
8308 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8309
83102008-02-01 Kenichi Handa <handa@m17n.org>
8311
8312 * font.c (font_unparse_fcname): Pay attention to the case that
8313 some of font property is a null string.
8314
83152008-02-01 Kenichi Handa <handa@m17n.org>
8316
8317 * term.c: Include "composite.h".
8318 (encode_terminal_code): Output all components of composition.
8319 Check the size of encode_terminal_src.
8320 (produce_glyphs): For composition, call produce_composite_glyph.
8321 (append_composite_glyph, produce_composite_glyph): New functions.
8322
8323 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8324 is not found, get font_info from the current ascii face.
8325
83262008-02-01 Kenichi Handa <handa@m17n.org>
8327
8328 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8329 buffer-file-name to Qnil before calling insert_from_buffer.
8330
8331 * font.c (font_unparse_fcname): Pay attention to the case that
8332 foundry is a null string.
8333
83342008-02-01 Kenichi Handa <handa@m17n.org>
8335
8336 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8337
8338 * font.c (Qunicode_sip): New variable.
8339 (syms_of_font): Declare it as a Lisp symbol.
8340
8341 * font.h (Qunicode_sip): Extern it.
8342
83432008-02-01 Kenichi Handa <handa@m17n.org>
8344
8345 * composite.c (get_composition_id): Pay attention to TAB component.
8346
8347 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8348 TAB. Adjust for the change of s->char2b which always points to
8349 the first element of allocated memory.
8350
8351 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8352
8353 * xdisp.c (handle_composition_prop): Set it->c to the first
8354 non-TAB component.
8355 (fill_composite_glyph_string): Change argument.
8356 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8357 (x_produce_glyphs): Fix handling of left/right padding.
8358
83592008-02-01 Kenichi Handa <handa@m17n.org>
8360
8361 * coding.c (detect_coding_system): Fix for handling off
8362 inhibit_iso_escape_detection. Fix for the case that no coding
8363 system is defined for a specific coding category.
8364
83652008-02-01 Kenichi Handa <handa@m17n.org>
8366
8367 * font.c (font_matching_entity): Delete unused local var.
8368
8369 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8370 opening a font.
8371
8372 * fileio.c (Finsert_file_contents): On recovering a file, assume
8373 Unix-like eol.
8374 (choose_write_coding_system): On auto-saving a file, force
8375 Unix-like eol.
8376
8377 * coding.c (setup_coding_system): Fix setting of
8378 coding->common_flags based on eol_type.
8379 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8380 inherit from it.
8381
83822008-02-01 Kenichi Handa <handa@m17n.org>
8383
8384 * alloc.c (NSTATICS): Increas to 0x600.
8385
83862008-02-01 Kenichi Handa <handa@m17n.org>
8387
8388 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8389 (ftfont_list): Don't check :name property.
8390 (ftfont_match): New function.
8391 (ftfont_pattern_entity): If the pattern doesn't contain
8392 FC_SPACING, don't assume FC_MONO.
8393
8394 * font.h (struct font_driver): New member `match'.
8395 (font_update_drivers): Adjust prototype.
8396
8397 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8398 property of FONT.
8399 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8400 them unconditionally.
8401 (font_matching_entity): New function.
8402 (font_open_by_name): Try font_matching_entity if exact match is
8403 not found.
8404 (font_update_drivers): Delete the arg FONT. Return a list of
8405 actually used backends. Don't free faces, font caches here.
8406 Don't store data in frame parameters. Don't call x_set_font.
8407 (Ffont_spec): Store :name property as is.
8408 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8409 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8410 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8411 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8412 Call font->driver->otf_gsub instead of font_otf_gsub.
8413
8414 * frame.c (x_set_font_backend): Do more works that were done in
8415 font_update_drivers before.
8416
8417 * xfont.c (xfont_match): New function.
8418 (xfont_driver): Set xfont_driver.match to xfont_match.
8419 (xfont_draw): Set font in GC if necessary.
8420
8421 * ftxfont.c (ftxfont_match): New function.
8422 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8423
8424 * xftfont.c (xftfont_match): New function.
8425 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8426
84272008-02-01 Kenichi Handa <handa@m17n.org>
8428
8429 * font.h (struct font): New member scalable.
8430 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8431 (font_otf_gsub): Adjust prototype.
8432
8433 * font.c (font_otf_capability): Fix handling of the default langsys.
8434 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8435 Check the contents of SPEC.
8436 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8437 (check_gstring): New function.
8438 (REPLACEMENT_CHARACTER): New macro.
8439 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8440 glyph codes of GSTRING.
8441 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8442 (font_prepare_composition): Set cmp->glyph_len.
8443 (font_open_entity): Set font->scalable.
8444 (Ffont_get): Handle :otf property.
8445 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8446 functions.
8447 (Fquery_font): Use font->font.full_name.
8448 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8449 Sfont_otf_alternates.
8450
8451 * ftfont.c (ftfont_open): Set font->font.full_name and
8452 font->font.name properly. Fix calculation of font->font.height
8453 and font->min_width.
8454
8455 * ftxfont.c (ftxfont_create_gcs): New function.
8456 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8457 (ftxfont_draw_backgrond): Fix filling region.
8458 (ftxfont_default_fid): New function.
8459 (ftxfont_open): Set xfont->fid to the return value of
8460 ftxfont_default_fid.
8461 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8462 (ftxfont_done_face): Free only GCs that are created by
8463 ftxfont_create_gcs.
8464 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8465
8466 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8467 Clip to src->width, etc (not src->clip_XXX).
8468
8469 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8470 FontBackend frame parameter.
8471
84722008-02-01 Kenichi Handa <handa@m17n.org>
8473
8474 * font.h (struct font_driver_list): New member `on'.
8475 (Fclear_font_cache): EXFUN it.
8476 (font_update_drivers): Extern it.
8477
8478 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8479 (font_list_entities): Check driver_list->on.
8480 (register_font_driver): Initalize `on' member to 0.
8481 (font_update_drivers): New function.
8482 (Fclear_font_cache): Check driver_list->on.
8483
8484 * frame.h (Qfont_backend): Extern it.
8485 (x_set_font_backend): Extern it.
8486
8487 * frame.c (Qfont_backend): New variable.
8488 (frame_parms): New element for font-backend.
8489 (x_set_font_backend): New function.
8490
8491 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8492 FontBackend frame parameter.
8493 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8494 x_set_font_backend.
8495
8496 * xfont.c (xfont_list): Don't try listing by :name property if the
8497 name is not for XLFD.
8498
84992008-02-01 Kenichi Handa <handa@m17n.org>
8500
8501 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8502 (LGLYPH_SET_TO): New macros.
8503 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8504 element of G is vector or not.
8505 (font_at): Extern it.
8506
8507 * font.c: Include window.h.
8508 (font_lispy_object): New function.
8509 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8510 end of valid glyph.
8511 (font_close_object): Fix getting (struct font *).
8512 (font_at): New function.
8513 (Ffont_get): If FONT is a font-object, get entity from it.
8514 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8515 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8516 range check.
8517 (Ffont_at): New function.
8518 (syms_of_font): Defsubr Sfont_at.
8519
8520 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8521 before the entry for Qcomposition.
8522 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8523 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8524 the font in gstring.
8525 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8526 LGLYPH_FORM (g) to detect the end of valid glyph.
8527 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8528 we are composing with gstring.
8529
8530 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8531 Check if adjustment is vector or not.
8532
8533 * Makefile.in (font.o): Make it depends on window.h.
8534
85352008-02-01 Kenichi Handa <handa@m17n.org>
8536
8537 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8538 adjustment is vector or not.
8539
85402008-02-01 Miles Bader <miles@gnu.org>
8541
8542 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8543
85442008-02-01 Kenichi Handa <handa@m17n.org>
8545
8546 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8547 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8548 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8549
8550 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8551 (DEVICE_DELTA): Fix typo.
8552 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8553 LGLYPH format.
8554
8555 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8556 the change of LGLYPH format.
8557
85582008-02-01 Kenichi Handa <handa@m17n.org>
8559
8560 * ftfont.c (ftfont_list): Fix typo.
8561 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8562
85632008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8564
8565 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8566
8567 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8568 xftface_info is non-NULL.
8569
85702008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8571
8572 * ftfont.c (ftfont_list): Move misplaced #endif.
8573
85742008-02-01 Kenichi Handa <handa@m17n.org>
8575
8576 * ftfont.c (ftfont_list): Pay attention to the case that
8577 FC_CAPABILITY is not defined.
8578
85792008-02-01 Kenichi Handa <handa@m17n.org>
8580
8581 * xftfont.c (xftfont_open): Set charset related members to -1.
8582
8583 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8584 QCname.
8585 (ftfont_open): Set charset related members to -1.
8586
8587 * fontset.c (Votf_script_alist): New variable.
8588 (syms_of_fontset): Initialize it.
8589 (fontset_font): Delete unused variable.
8590
8591 * fontset.h (Votf_script_alist): Extern it.
8592
8593 * font.c (font_find_for_lface): Optimize code.
8594
8595 * font.h (font_close_object, font_merge_old_spec): Extern them.
8596
85972008-02-01 Kenichi Handa <handa@m17n.org>
8598
8599 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8600 (syms_of_font): Initialize them.
8601 (font_pixel_size): Allow float value in dpi.
8602 (font_prop_validate_type): Delete.
8603 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8604 Change caller.
8605 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8606 (font_prop_validate_extra): Delete.
8607 (font_prop_validate_spacing): New function.
8608 (font_property_table): Add elements for all known properties.
8609 (get_font_prop_index): Rename from check_font_prop_name. New
8610 argument FROM. Change caller.
8611 (font_prop_validate): Validate all known properties.
8612 (font_put_extra): Delete argument force. Change caller.
8613 (font_expand_wildcards): Make it static. Fix the way of shrinking
8614 the possible range.
8615 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8616 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8617 Change caller.
8618 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8619 (font_parse_fcname): Delete argument merge. Fix parsing of point
8620 size. Don't validate properties values here. Change caller.
8621 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8622 (font_open_by_name): Delete unused variable.
8623 (Ffont_spec): Likewise. Validate property values.
8624 (Ffont_match_p): New function.
8625
8626 * font.h (QCscalable): Extern it.
8627 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8628
8629 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8630
8631 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8632 (xfont_list_pattern): New function.
8633 (xfont_list): Use xfont_list_pattern.
8634
86352008-02-01 Kenichi Handa <handa@m17n.org>
8636
8637 * font.h (Flist_fonts): EXFUN it.
8638
86392008-02-01 Jason Rumney <jasonr@gnu.org>
8640
8641 * w32term.c (w32_initialize): Add back smoothing_type and
8642 smoothing_enabled definitions.
8643
86442008-02-01 Kenichi Handa <handa@m17n.org>
8645
8646 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8647 s->face->font on determining underline position.
8648
86492008-02-01 Kenichi Handa <handa@m17n.org>
8650
8651 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8652 (font_has_char): Accept font-object too.
8653 (font_find_for_lface): Try at first with a size specified in face.
8654
86552008-02-01 Kenichi Handa <handa@m17n.org>
8656
8657 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8658 font_open_by_name.
8659
86602008-02-01 Kenichi Handa <handa@m17n.org>
8661
8662 * font.h (QCspacing, QCdpi): Extern them.
8663 (enum font_spacing): New enum.
8664 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8665
8666 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
8667 (QCspacing, QCdpi): New variables.
8668 (syms_of_font): Initialize them.
8669 (font_pixel_size): New function.
8670 (font_put_extra): New function.
8671 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8672 in FONT_EXTRA.
8673 (font_parse_fcname): Handle enumerated values (e.g. bold).
8674 Fix handling font size. Add QCname property that contains only
8675 unknown properties.
8676 (font_score): Change argument. Change caller. Pay attention to
8677 FONT_PIXEL_SIZE_QUANTUM.
8678 (font_sort_entites, font_list_entities, font_find_for_lface)
8679 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8680 (Ffont_spec): Add QCname property that contains only unknown properties.
8681
8682 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8683 include weight in listing pattern, instead check weight of each
8684 listed font. Don't include scalable in pattern. Pay attention to
8685 FONT_PIXEL_SIZE_QUANTUM.
8686
86872008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * font.c (font_parse_fcname): Fix parsing of point-size.
8690 (font_unparse_fcname): Produce symbolic names for style properties.
8691 (font_list_entities): Handle float size correctly.
8692 (font_open_by_name): Prefer `normal' property values if the name
8693 doesn't specify them.
8694
8695 * fontset.c (Finternal_char_font): Use font_get_name, not
8696 Ffont_xlfd_name.
8697
8698 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8699 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8700 pattern. Don't force scalable.
8701
8702 * xftfont.c (xftfont_open): For generating a name, start from
8703 96-byte buffer.
8704
87052008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8706
8707 * frame.h (x_new_fontset2): Fix prototype.
8708
87092008-02-01 Kenichi Handa <handa@m17n.org>
8710
8711 * font.h (struct font_driver): Delete member parse_name.
8712 (font_match_p, font_get_spec, font_parse_fcname)
8713 (font_unparse_fcname): Extern them.
8714 (font_get_name): Adjust prototype.
8715
8716 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8717 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8718 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8719 unnecessary checks for weight, slant, and swidth.
8720 (font_parse_fcname): New function.
8721 (font_unparse_fcname): New function.
8722 (font_parse_name): New function.
8723 (font_match_p): New function.
8724 (font_get_name): Change return value to Lisp string.
8725 (font_get_spec): New function.
8726 (Qunspecified, Qignore_defface): Don't extern them.
8727 (font_find_for_lface): Assume that LFACE is fully specified.
8728 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8729 object, use it for FACE.
8730 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8731 driver->parse_name.
8732 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8733
8734 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8735 prototype.
8736
8737 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8738 argument F. Don't call Fnew_fontset. Instead, directly call
8739 make_fontset.
8740
8741 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8742
8743 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8744 of x_new_fontset2.
8745
8746 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8747 (Qsans__serif): New variables.
8748 (ftfont_generic_family_list): New variable.
8749 (syms_of_ftfont): Initialize the above variables.
8750 (ftfont_pattern_entity): Delete argument NAME.
8751 (ftfont_list_generic_family): New function.
8752 (ftfont_parse_name): Delete this function.
8753 (ftfont_list): Try generic family only when FcFontList found no font.
8754 (ftfont_list_family): Fix args to FcObjectSetBuild.
8755
8756 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8757 object in attrs[LFACE_FONT_INDEX].
8758 (set_lface_from_font_name): Cancel all changes for font-backend.
8759 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8760 function.
8761 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8762 font object in QCfont attribute.
8763 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8764 (realize_default_face) [USE_FONT_BACKEND]: Call
8765 set_lface_from_font_and_fontset.
8766
8767 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8768 "fixed", and signal error here if no suitable font was found.
8769
8770 * xfont.c (xfont_parse_name): Delete this function.
8771
8772 * xftfont.c (xftfont_open): Change coding style of error
8773 handling. Generate fontconfig's fontname pattern.
8774
8775 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8776 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8777
8778 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8779 Both args FONTSET and FONT_OBJECT must be existing ones.
8780
87812008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8782
8783 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8784
87852008-02-01 Kenichi Handa <handa@m17n.org>
8786
8787 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8788
8789 * font.h (struct font): Fix typo.
8790
8791 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8792 XLFD_XXX_INDEX.
8793 (enum xlfd_field_mask): New enum.
8794 (intern_font_field): Changed argument. Change caller. If digits
8795 are followed by non-digits, return a symbol.
8796 (font_expand_wildcards): New function.
8797 (font_parse_xlfd): Fix wildcard handling.
8798 (Ffont_spec): If :name is specified, reflect the info in the other
8799 properties.
8800
8801 * ftfont.c (ftfont_pattern_entity): Fix typo.
8802 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8803 locale.
8804
88052008-02-01 Kenichi Handa <handa@m17n.org>
8806
8807 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8808
8809 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8810 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8811 registry doesn't specify encoding part.
8812 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8813 (font_open_by_name): At first try parsing the name.
8814 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8815 as Lisp symbols.
8816
8817 * fontset.c (reorder_font_vector): Pay attention to the case that
8818 the 3rd element of font_def is nil.
8819 (fontset_font): For the default fontset, append one more fontset
8820 elements for a script-based font specification. Don't add script
8821 attribute on finding a font.
8822 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8823 font name.
8824 (fontset_ascii_font): If a font can't be opened, return nil.
8825
8826 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8827 (ftfont_pattern_entity): New function.
8828 (ftfont_get_cache): Assume that freetype_font_cache is already
8829 initialized.
8830 (ftfont_list): Handle the case that a file is specified in font
8831 name. Use ftfont_pattern_entity to generate entities.
8832 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8833 (syms_of_ftfont): Initialize freetype_font_cache.
8834
8835 * xftfont.c (xftfont_open): Make the font name fontconfig's
8836 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8837 (xftfont_close): Free font->font.name if not NULL.
8838
8839 * xfont.c (xfont_list): If script is specified for a font, return
8840 null_vector.
8841 (xfont_list_family): Declare argument type.
8842
8843 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8844 name, set LFACE_FONT (lface) to nil.
8845
8846 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8847 return Qnil.
8848
88492008-02-01 Kenichi Handa <handa@m17n.org>
8850
8851 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8852 (standard_args): Add "-enable-font-backend".
8853
88542008-02-01 Kenichi Handa <handa@m17n.org>
8855
8856 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8857 (struct xftdraw_list, xftdraw_list): Delete them.
8858 (register_xftdraw, check_xftdraw): Delete them.
8859 (xftfont_prepare_face): Don't call register_xftdraw.
8860 (xftfont_done_face): Don't call check_xftdraw.
8861 (xftfont_draw): Get background color only when with_background is
8862 nonzero.
8863
8864 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8865
88662008-02-01 Kenichi Handa <handa@m17n.org>
8867
8868 These changes are for the new font handling codes.
8869
8870 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8871 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8872 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8873 (FONTSRC, FONTOBJ): New variables.
8874 (obj): Add $(FONTOBJ).
8875 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8876 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8877 @LIBOTF_LIBS@.
8878 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
8879 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
8880
8881 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
8882
8883 * character.h (Vscript_representative_chars): Extern it.
8884
8885 * character.c (Vscript_representative_chars): New variable.
8886 (syms_of_character): Declare it as a Lisp variable.
8887
8888 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8889 enable_font_backend is nonzero, accept the composition method
8890 COMPOSITION_WITH_GLYPH_STRING.
8891
8892 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8893 enumeration COMPOSITION_WITH_GLYPH_STRING.
8894
8895 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8896 members clip_x, clip_y, clip_width, and clip_height.
8897 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8898
8899 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8900 --enable-font-backend. Call syms_of_font.
8901
8902 * fns.c (assoc_no_quit): New function.
8903
8904 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8905 (face_for_font, new_fontset_from_font)
8906 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8907
8908 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8909 (fontset_font, fontset_ascii, face_for_char)
8910 (make_fontset_for_ascii_face, Ffont_info)
8911 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8912 is nonzero, use font-backend mechanism.
8913 (find_font_encoding): Make it non-static.
8914 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8915 New functions.
8916
8917 * frame.h (struct frame): New members resx and resy.
8918 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8919 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8920
8921 * frame.c [USE_FONT_BACKEND]: Include "font.h".
8922 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
8923
8924 * lisp.h (assoc_no_quit): Extern it.
8925
8926 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8927 Through out the file, use FONT_INFO_FROM_FACE instead of
8928 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8929 rif->per_char_metric.
8930 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8931 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8932 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8933 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8934 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8935 nonzero, use font-backend mechanism.
8936 (get_per_char_metric): New function.
8937
8938 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8939 (set_lface_from_font_name)
8940 (set_font_frame_param, free_realized_face)
8941 (prepare_face_for_display, clear_face_gcs)
8942 (Finternal_set_font_selection_order, realize_x_face)
8943 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8944 font-backend mechanism.
8945 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
8946 (load_face_font) [USE_FONT_BACKEND]: Abort.
8947 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
8948 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
8949
8950 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8951 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8952 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8953 nonzero, register all available font drivers. Call
8954 x_default_font_parameter for deciding a font.
8955 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8956
8957 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8958 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8959 (x_set_glyph_string_clipping_exactly)
8960 (x_compute_glyph_string_overhangs)
8961 (x_draw_glyph_string_foreground)
8962 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8963 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8964 enable_font_backend is nonzero, use font-backend mechanism.
8965 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8966
89672008-02-01 Kenichi Handa <handa@m17n.org>
8968
8969 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
8970 system_eol_type.
8971 (syms_of_coding): Initialize system_eol_type.
8972
8973 * process.c (Fset_process_coding_system): Inherit system's eol
8974 format if necessary.
8975
89762008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8977
8978 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8979
89802008-02-01 Kenichi Handa <handa@m17n.org>
8981
8982 * coding.c (decode_eol): Pay attention to buffer relocation in
8983 del_range_2.
8984 (decode_coding): Call decode_eol before restoring undo_list.
8985
89862008-02-01 Kenichi Handa <handa@m17n.org>
8987
8988 * charset.c (Fdefine_charset_internal): Fix setting of
8989 emacs_mule_bytes.
8990
89912008-02-01 Kenichi Handa <handa@m17n.org>
8992
8993 * keyboard.c (read_char): Check if C is a character or not before
8994 looking up Vkeyboard_translate_table.
8995
89962008-02-01 Kenichi Handa <handa@m17n.org>
8997
8998 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8999 condition to terminate the loop.
9000
90012008-02-01 Kenichi Handa <handa@m17n.org>
9002
9003 * coding.c (produce_composition): Compare charbuf[i] instead of
9004 args[i] against 0.
9005 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9006
90072008-02-01 Kenichi Handa <handa@m17n.org>
9008
9009 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9010 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9011 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9012 detect_coding.
9013 (emacs_mule_char): Handle old style (Emacs 20) component character
9014 of a composition.
9015 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9016 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9017 composition rule.
9018 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9019
90202008-02-01 Kenichi Handa <handa@m17n.org>
9021
9022 * coding.c (encode_coding_ccl): Allocate destination dynamically
9023 when necessary.
9024
90252008-02-01 Kenichi Handa <handa@m17n.org>
9026
9027 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9028 the loop. When quitted, show a proper error message.
9029
90302008-02-01 Kenichi Handa <handa@m17n.org>
9031
9032 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9033 src->clip_head and src->clip_tail temporarily instead of src->hl.
9034
9035 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9036 character sequence.
9037 (Fccl_execute_on_string): Use ASET, not XSET.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9042
90432008-02-01 Kenichi Handa <handa@m17n.org>
9044
9045 * coding.c (decode_coding): Fix the condition of terminating the
9046 decoding loop.
9047
90482008-02-01 Kenichi Handa <handa@m17n.org>
9049
9050 * data.c (Faset): On setting a character bigger than 255 in a
9051 unibyte string, signal an error instead of make the string multibyte.
9052
90532008-02-01 Kenichi Handa <handa@m17n.org>
9054
9055 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9056 made by a mapping table.
9057
90582008-02-01 Kenichi Handa <handa@m17n.org>
9059
9060 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9061 not.
9062 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9063 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9064
9065 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9066 s->face is NULL or not.
9067
90682008-02-01 Kenichi Handa <handa@m17n.org>
9069
9070 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9071 (x_draw_glyph_string): Fix drawing of right_overhang and
9072 left_overhang around/on cursor.
9073
9074 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9075
90762008-02-01 Kenichi Handa <handa@m17n.org>
9077
9078 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9079
90802008-02-01 Kenichi Handa <handa@m17n.org>
9081
9082 * coding.c (Fdefine_coding_system_internal)
9083 (Fdefine_coding_system_alias): Avoid a duplicated element in
9084 Vcoding_system_alist.
9085
90862008-02-01 Kenichi Handa <handa@m17n.org>
9087
9088 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9089
9090 * coding.c (Qcoding_system_define_form): New variable.
9091 (syms_of_coding): Intern and staticpro it.
9092 (Fcoding_system_p): Check Qcoding_system_define_form.
9093 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9094
9095 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9096 Fcoding_system_p.
9097 (CHECK_CODING_SYSTEM): If ID is not available, call
9098 Fcheck_coding_system.
9099 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9100 Try also Fcheck_coding_system.
9101
91022008-02-01 Kenichi Handa <handa@m17n.org>
9103
9104 * coding.c (code_conversion_restore): GCPRO arg.
9105
91062008-02-01 Kenichi Handa <handa@m17n.org>
9107
9108 * character.c (lisp_string_width): Check multibyteness of STRING.
9109
91102008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9111
9112 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9113 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9114 (decode_mac_font_name): Use decode_coding_c_string instead of
9115 decode_coding.
9116 (x_load_font): Initialize fontp->fontset to -1. Set
9117 fontp->encoding_type.
9118
91192008-02-01 Kenichi Handa <handa@m17n.org>
9120
9121 * search.c (search_buffer): Give up BM search on case-fold-search
9122 if one of a target character has a case-equivalence of different
9123 byte length even if that target charcter is an ASCII.
9124 (simple_search): Fix calculation of byte length of matched text.
9125 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9126
91272008-02-01 Kenichi Handa <handa@m17n.org>
9128
9129 * coding.c (decode_coding): Fix handling of invalid bytes.
9130
91312008-02-01 Kenichi Handa <handa@m17n.org>
9132
9133 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9134 Unicode characters.
9135
91362008-02-01 Kenichi Handa <handa@m17n.org>
9137
9138 * coding.c (encode_coding_object): If a pre-write-conversion
9139 function makes a new buffer, kill it.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * coding.c (QCascii_compatible_p): New variable.
9144 (syms_of_coding): Initialize it.
9145 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9146 calling string_char.
9147 (record_conversion_result): Add `default:' case.
9148 (coding_charset_list): Delete unused variable `coding_type'.
9149 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9150 property in the plist of the coding system.
9151 (Fcoding_system_put): Check QCascii_compatible_p.
9152
91532008-02-01 Miles Bader <miles@gnu.org>
9154
9155 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9156 removed calculation of frame `f', as it's now used.
9157
91582008-02-01 Kenichi Handa <handa@m17n.org>
9159
9160 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9161 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9162 (UNIDATA): New variable.
9163 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9164 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9165 $(RUN_TEMACS) unconditionally.
9166
91672008-02-01 Kenichi Handa <handa@m17n.org>
9168
9169 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9170 (admindir): New variable.
9171 ($(lispsource)international/charprop.el): New target.
9172
91732008-02-01 Miles Bader <miles@gnu.org>
9174
9175 * character.c (chars-in-region): Remove obsolete function.
9176 (syms_of_character): Remove its initialization.
9177
91782008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9179
9180 * w32select.c (validate_coding_system)
9181 (setup_windows_coding_system): New functions.
9182 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9183 setup_windows_coding_system.
9184 (setup_config, Fw32_get_clipboard_data): Use
9185 validate_coding_system.
9186 (Fx_selection_exists): Move call to setup_config to a place
9187 where signals are allowed.
9188
9189 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9190 (Fcheck_coding_system): Add declarations.
9191
91922008-02-01 Kenichi Handa <handa@m17n.org>
9193
9194 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9195
91962008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9197
9198 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9199 string as the second argument for x_new_fontset.
9200
92012008-02-01 Kenichi Handa <handa@m17n.org>
9202
9203 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9204 (encode_coding_object): Use safe_call instead of call2.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9209
9210 * Makefile.in (lisp): Include charprop.el.
9211
92122008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9213
9214 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9215 Not sure if it's unnecessary.
9216
92172008-02-01 Steven Tamm <steventamm@mac.com>
9218
9219 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9220 some possibly unnecessary fontset checking code that crashed
9221 when creating a new frame.
9222
92232008-02-01 Kenichi Handa <handa@m17n.org>
9224
9225 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9226 lookup_face.
9227
9228 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9229
9230 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9231
92322008-02-01 Kenichi Handa <handa@m17n.org>
9233
9234 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9235 (coding_charset_list): New function.
9236
9237 * coding.h (coding_charset_list): Extern it.
9238
92392008-02-01 Kenichi Handa <handa@m17n.org>
9240
9241 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9242 concatenation of family and registry.
9243
92442008-02-01 Kenichi Handa <handa@m17n.org>
9245
9246 * character.h (BYTE8_STRING): Fix typo.
9247
9248 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9249 string to multibyte (sync to HEAD).
9250
9251 * casefiddle.c (casify_region): Handle changes in byte-length
9252 using replace_range_2 (sync to HEAD).
9253
92542008-02-01 Andreas Schwab <schwab@suse.de>
9255
9256 * chartab.c (map_char_table): GCPRO table and arg.
9257
92582008-02-01 Kenichi Handa <handa@m17n.org>
9259
9260 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9261 already at limit.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9266 instead of fast_c_string_match_ignore_case.
9267 (find_font_encoding): Change argument to Lisp_Object. Use
9268 fast_string_match_ignore_case instead of
9269 fast_c_string_match_ignore_case. Change caller.
9270
92712008-02-01 Kenichi Handa <handa@m17n.org>
9272
9273 * xdisp.c (get_next_display_element): In unibyte case, decide to
9274 display in octal form by checking a character by
9275 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9276
9277 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9278
9279 * character.c (unibyte_has_multibyte_table): New variable.
9280
9281 * character.h (unibyte_has_multibyte_table): Extern it.
9282 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9283
92842008-02-01 Kenichi Handa <handa@m17n.org>
9285
9286 * coding.c (encode_coding_iso_2022): Fix handling of charset
9287 annotation.
9288
92892008-02-01 Kenichi Handa <handa@m17n.org>
9290
9291 * coding.c (setup_coding_system): If coding_system is nil, use
9292 Qundecided.
9293 (Fterminal_coding_system): Return nil if terminal coding system is
9294 `undecided'.
9295 (syms_of_coding): Define coding-system `undecided' here. Setup
9296 terminal_coding as `undecided'.
9297
92982008-02-01 Kenichi Handa <handa@m17n.org>
9299
9300 * xdisp.c (message_dolog, set_message_1): Call
9301 unibyte_char_to_multibyte with arg type int.
9302
9303 * lread.c (read1): Fix reading of a char-table.
9304
9305 * print.c (print_object): Include sub char-table in circularities
9306 detection.
9307
93082008-02-01 Kenichi Handa <handa@m17n.org>
9309
9310 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9311 Append the found sequences in car of ARGS instead of prepending.
9312
93132008-02-01 Kenichi Handa <handa@m17n.org>
9314
9315 * fileio.c (report_file_error): Make a unibyte string from
9316 strerror (errorno).
9317 (Fsubstitute_in_file_name): Fix the arg to
9318 unibyte_char_to_multibyte. It is evaluated twice.
9319
93202008-02-01 Kenichi Handa <handa@m17n.org>
9321
9322 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9323
93242008-02-01 Kenichi Handa <handa@m17n.org>
9325
9326 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9327 BOM is not found.
9328 (detect_coding, detect_coding_system): Optimization for ISO-2022
9329 when no 8-bit data is found.
9330
93312008-02-01 Jason Rumney <jasonr@gnu.org>
9332
9333 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9334
93352008-02-01 Kenichi Handa <handa@m17n.org>
9336
9337 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9338 CHARS.
9339
93402008-02-01 Steven Tamm <steventamm@mac.com>
9341
9342 * macterm.c (mac_encode_char): Add charset argument and update
9343 to use encoding_type.
9344 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9345 switch to pure fontset.
9346 (decode_mac_font_name): Temporarily remove decoding.
9347 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9348 (x_load_font): Temporarily remove encoding.
9349
93502008-02-01 Kenichi Handa <handa@m17n.org>
9351
9352 * xfaces.c (Fface_font): If frame is not on a window system,
9353 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9354 refer to face->font.
9355 (split_font_name_into_vector, build_font_name_from_vector)
9356 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9357 when HAVE_WINDOW_SYSTEM is defined.
9358
93592008-02-01 Kenichi Handa <handa@m17n.org>
9360
9361 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9362 (x_produce_glyphs): Fix setting of members of cmp in case
9363 cmp->glyph_len is zero.
9364
9365 * fontset.c (Fset_fontset_font): Fix docstring.
9366 (Ffontset_info): Make it backward compatible. New arg ALL.
9367
93682008-02-01 Kim F. Storm <storm@cua.dk>
9369
9370 * process.c (read_process_output): Grow decoding_buf when needed;
9371 this could cause a crash in allocate_string and compact_small_strings.
9372
93732008-02-01 Kenichi Handa <handa@m17n.org>
9374
9375 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9376
93772008-02-01 Kenichi Handa <handa@m17n.org>
9378
9379 * coding.c (setup_coding_system): Set coding->common_flags
9380 correctly for raw-text.
9381 (consume_chars): On encoding unibyte text by raw-text, don't check
9382 multibyte form.
9383 (encode_coding): On encoding by raw-text, never use translation tables.
9384
9385 * fileio.c (e_write): Short cut for the case of no encoding.
9386
93872008-02-01 Kenichi Handa <handa@m17n.org>
9388
9389 * coding.c (detect_coding, detect_coding_system): Delete unused
9390 variables.
9391
93922008-02-01 Kenichi Handa <handa@m17n.org>
9393
9394 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9395 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9396
93972008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * coding.c (Ffind_coding_systems_region_internal): Include
9400 raw-text and no-conversion in the result.
9401
94022008-02-01 Kenichi Handa <handa@m17n.org>
9403
9404 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9405 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9406 FONT_DEF.
9407 (font_def_arg, add_arg, from_arg, to_arg): New args.
9408 (set_fontset_font): Change argument.
9409 (Fset_fontset_font): Fix for the case that TARGET is a script
9410 name and charset name.
9411 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9412
94132008-02-01 Kenichi Handa <handa@m17n.org>
9414
9415 * fontset.c (fontset_font): Rename from fontset_face. Change return
9416 value.
9417 (face_suitable_for_char_p, face_for_char): Adjust for the change
9418 of fontset_font.
9419 (make_fontset_for_ascii_face): Fix setting of the fontset element
9420 for ASCII.
9421 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9422 to get a font name.
9423 (Ffontset_info): Adjust for the change of fontset_font.
9424
9425 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9426
9427 * character.h (LEADING_CODE_LATIN_1_MIN)
9428 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9429
94302008-02-01 Kenichi Handa <handa@m17n.org>
9431
9432 * editfns.c (check_translation): New function.
9433 (Ftranslate_region_internal): Handle M:N mapping.
9434
94352008-02-01 Kenichi Handa <handa@m17n.org>
9436
9437 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9438
94392008-02-01 Kenichi Handa <handa@m17n.org>
9440
9441 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9442 goto invalid_code.
9443 (decode_coding_iso_2022): Fix handling of invalid designation.
9444
9445 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9446 after calling code_conversion_save.
9447
94482008-02-01 Kenichi Handa <handa@m17n.org>
9449
9450 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9451
9452 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9453
9454 * fontset.c: Include "intervals.h".
9455 (fontset_face): Fix comparing of Lisp_Objects.
9456 (free_face_fontset, new_fontset_from_font_name): Fix
9457 Lisp_Object/int mixup.
9458
9459 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9460
9461 * coding.c: Add many prototypes for static functions.
9462 (get_translation_table): Allow max_lookup to be NULL.
9463 (decode_coding, Ffind_coding_systems_region_internal)
9464 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9465 get_translation_table with max_lookup NULL.
9466
94672008-02-01 Kenichi Handa <handa@m17n.org>
9468
9469 * coding.c (get_translation_table): Declare it as Lisp_Object.
9470 (LOOKUP_TRANSLATION_TABLE): New macro.
9471 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9472 instead of CHAR_TABLE_REF.
9473
94742008-02-01 Kenichi Handa <handa@m17n.org>
9475
9476 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9477 annotation data format.
9478 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9479 Change arguments FROM and TO to single argument NCHARS. Change caller.
9480 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9481 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9482 (decode_coding_ccl, decode_coding_charset): Pay attention to
9483 coding->charbuf_used.
9484 (get_translation): New function.
9485 (produce_chars): New arguments translation_table and last_block.
9486 Translate characters here. Return number of carryover chars.
9487 Change caller.
9488 (produce_composition): New argument pos. Change caller.
9489 Adjust for the change of annotation data format.
9490 (produce_charset, produce_annotation): Likewise.
9491 (decode_coding, encode_coding): Don't call translate_chars.
9492 (consume_chars): New arg translation_table. Change caller.
9493 (translate_chars): Delete.
9494 (syms_of_coding): Make translation-table's number of extra slots 2.
9495
94962008-02-01 Kenichi Handa <handa@m17n.org>
9497
9498 * search.c (simple_search): Fix setting this_pos_byte in backward
9499 search.
9500
9501 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9502 byte sequence.
9503 (detect_coding_ccl): Fix setting of the variable valids.
9504
95052008-02-01 Kenichi Handa <handa@m17n.org>
9506
9507 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9508
9509 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9510
9511 * editfns.c (Ftranslate_region_internal): Rename from
9512 Ftranslate_region. Accept a char-table in TABLE.
9513 (syms_of_editfns): Defsubr Stranslate_region_internal.
9514
9515 * xfaces.c (set_lface_from_font_name): If a font is specified for
9516 a frame, generate a fontset from the font.
9517 (build_scalable_font_name): If the scalable font is requested for
9518 a specific size, don't change that size.
9519 (try_font_list): Try a scalable font also in the case that a
9520 pattern string is specified.
9521
95222008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * xfaces.c (Fface_font): New optional arg CHARACTER.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * charset.h (CHARSET_OFFSET): New macro.
9529
95302008-02-01 Kenichi Handa <handa@m17n.org>
9531
9532 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9533
9534 * fontset.c (fontset_face): Handle the case that repertory is a
9535 char-table.
9536 (find_font_encoding): Return nil for unknown encoding.
9537 (Fset_fontset_font): Ignore a font of unknown encoding.
9538
95392008-02-01 Kenichi Handa <handa@m17n.org>
9540
9541 * keymap.c (describe_vector): Handle default value of a char table.
9542
9543 * fontset.c (fontset_face): Handle fallback fonts correctly.
9544 (Ffontset_info): Return infomation about fallback fonts.
9545
95462008-02-01 Kenichi Handa <handa@m17n.org>
9547
9548 * fontset.c (FONTSET_DEFAULT): New macro.
9549 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9550 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9551 the case that it is nil.
9552 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9553 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9554
9555 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9556 subset or superset.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * emacs.c (main): Call init_charset after syms_of_XXX.
9561
9562 * charset.c (Vcharset_map_directory): Delete.
9563 (Vcharset_map_path): New variable.
9564 (load_charset_map_from_file): Use Vcharset_map_path instead.
9565 (init_charset): Initialize Vcharset_map_path.
9566 (syms_of_charset): Delete declaration of "charset-map-directory",
9567 add declaration of "charset-map-path".
9568
95692008-02-01 Kenichi Handa <handa@m17n.org>
9570
9571 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9572 ASCII only string.
9573
9574 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9575
9576 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9577 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9578
95792008-02-01 Kenichi Handa <handa@m17n.org>
9580
9581 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9582
9583 * coding.c (QCmnemonic, QCdefalut_char)
9584 (QCdecode_translation_table, QCencode_translation_table)
9585 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9586 (get_translation_table): Return a list of translation tables if
9587 necessary.
9588 (decode_coding): Call get_translation_table with ENCODEP 0.
9589 (char_encodable_p): If translation_table is non-nil, always call
9590 translate_char.
9591 (Fdefine_coding_system_internal): Accept list of translation
9592 tables as :encode-translation-table and :decode-translation-table.
9593 (Fcoding_system_put): New function.
9594 (syms_of_coding): Declare new symbols. Defsubr
9595 Scoding_system_put.
9596 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9597 typically JISX0212.
9598
9599 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9600 when the charset is superset type.
9601
9602 * character.c (translate_char): Accept list of translation tables.
9603
96042008-02-01 Kenichi Handa <handa@m17n.org>
9605
9606 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9607 (CODING_ATTR_TRANS_TBL): New macro.
9608
9609 * coding.c (get_translation_table): New function.
9610 (translate_chars): Fix the bug of skipping annotation data.
9611 (decode_coding, encode_coding): Utilize get_translation_table.
9612 (char_encodable_p, Funencodable_char_position): Translate char if
9613 necessary.
9614 (Ffind_coding_systems_region_internal)
9615 (Fcheck_coding_systems_region): Setup translation table for encode
9616 in a coding system attribute vector in advance.
9617 (Fdefine_coding_system_internal): Allow a symbol as translation
9618 table. For shift-jis type coding system, allow 4th charset.
9619
96202008-02-01 Kenichi Handa <handa@m17n.org>
9621
9622 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9623
9624 * xdisp.c (get_next_display_element): Pass -1 as POS to
9625 FACE_FOR_CHAR if displaying a C-string.
9626
96272008-02-01 Kenichi Handa <handa@m17n.org>
9628
9629 * composite.c (get_composition_id): Handle xoff and yoff in a
9630 composition rule.
9631
9632 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9633 (struct composition): New member lbearing and rbearing.
9634
9635 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9636 (x_get_glyph_overhangs): Handle a composition glyph.
9637 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9638
9639 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9640 composition glyph.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * print.c: Include charset.h.
9645 (Vprint_charset_text_property): New variable.
9646 (Qdefault): Extern it.
9647 (PRINT_STRING_NON_CHARSET_FOUND)
9648 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9649 (print_check_string_result): New variable.
9650 (print_check_string_charset_prop): New function.
9651 (print_prune_charset_plist): New variable.
9652 (print_prune_string_charset): New function.
9653 (print_object): Call print_prune_string_charset if
9654 Vprint_charset_text_property is not t.
9655 (print_interval): Print nothing if interval->plist is nil.
9656 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9657 variable. Init and staticpro print_prune_charset_plist.
9658
96592008-02-01 Kenichi Handa <handa@m17n.org>
9660
9661 * fontset.c (new_fontset_from_font_name): Use the specified font
9662 for all characters in the new fontset.
9663
9664 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9665 OBJECT args.
9666
9667 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9668 OBJECT args for composition too.
9669
9670 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9671 OBJECT args.
9672
96732008-02-01 Kenichi Handa <handa@m17n.org>
9674
9675 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9676
9677 * fontset.c (reorder_font_vector): Adjust for the change of
9678 FONT_DEF format.
9679 (fontset_face): New arg id. Change caller.
9680 (face_for_char): New args pos and object.
9681 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9682 (fs_query_fontset): Check NAME by Fassoc too.
9683 (Fset_fontset_font): Allow non-XLFD font name.
9684 (Ffontset_info): Adjust for the change of FONT_DEF format.
9685
9686 * fontset.h (face_for_char): Adjust prototype.
9687
9688 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9689 (append_space, extend_face_to_end_of_line)
9690 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9691 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9692
9693 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9694 POS and OBJECT args.
9695
9696 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9697 POS and OBJECT args.
9698
96992008-02-01 Jason Rumney <jasonr@gnu.org>
9700
9701 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9702 of GlobalAlloc'ed memory.
9703
97042008-02-01 Kenichi Handa <handa@m17n.org>
9705
9706 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9707
9708 * charset.h (charset_table_used): Delete extern.
9709
9710 * charset.c (charset_table_used): Make it static.
9711 (map_charset_chars): Fix args to c_function with.
9712
9713 * chartab.c (map_sub_char_table_for_charset): Fix args to
9714 c_function with.
9715
9716 * coding.h (enum coding_result_code): Delete
9717 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9718
9719 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9720 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9721 (Vlast_code_conversion_error): New variables.
9722 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9723 (ONE_MORE_BYTE): Record error if any instead of signaling an
9724 error. If non-ASCII multibyte char is found, return the negative
9725 value of the code. All callers changed to check it.
9726 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9727 (record_conversion_result): New function. Change all codes setting
9728 coding->result to call this function.
9729 (detect_coding_utf_8, decode_coding_utf_8)
9730 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9731 Don't use the local variable incomplete.
9732 (emacs_mule_char): Change the second arg to `const'.
9733 (decode_coding): Fix of flushing out unprocessed data.
9734 (make_conversion_work_buffer): Fix making of a work buffer.
9735 (decode_coding_object): Return coding->dst_object.
9736
9737 * fontset.c (set_fontset_font): Fix args.
9738
9739 * lisp.h (CHARACTERBITS): Define as 22.
9740
9741 * process.c (send_process): Be sure to set coding->src_multibyte.
9742
9743 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9744
97452008-02-01 Kenichi Handa <handa@m17n.org>
9746
9747 * xdisp.c (handle_auto_composed_prop): Give limit to
9748 Fnext_single_char_property_change.
9749
97502008-02-01 Kenichi Handa <handa@m17n.org>
9751
9752 * composite.c (syms_of_composite): Don't make the composition hash
9753 table weak.
9754
9755 * fontset.c (Fset_fontset_font): Fix docstring.
9756
9757 * lisp.h (detect_coding_system): Adjust prototype.
9758
9759 * fileio.c (kill_workbuf_unwind): Delete this function.
9760 (Finsert_file_contents): Adjust the call of detect_coding_system.
9761 Get conversion_buffer by code_conversion_save. Use the macro
9762 CODING_MAY_REQUIRE_DECODING. After decoding, update
9763 coding_system.
9764
9765 * coding.h (make_conversion_work_buffer): Delete extern.
9766 (code_conversion_save): Extern it.
9767
9768 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9769 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9770 (decode_coding_utf_8): Don't do eol converion.
9771 (detect_coding_utf_16): Check coding->src_chars, not
9772 coding->src_bytes. Add heuristics for those that have no signature.
9773 (decode_coding_emacs_mule, decode_coding_iso_2022)
9774 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9775 Don't do eol converion.
9776 (adjust_coding_eol_type): Return a new coding system.
9777 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9778 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9779 each change.
9780 (decode_coding): Pay attention to undo_list. Do eol conversion for
9781 all types of coding-systems (if necessary).
9782 (Vcode_conversion_work_buf_list): Delete it.
9783 (Vcode_conversion_reused_workbuf): Rename from
9784 Vcode_conversion_reused_work_buf.
9785 (Vcode_conversion_workbuf_name): New variable.
9786 (reused_workbuf_in_use): New variable.
9787 (make_conversion_work_buffer): Delete the arg DEPTH.
9788 (code_conversion_restore): Change argument to cons.
9789 (code_conversion_save): Delete the argument BUFFER. Change callers.
9790 (detect_coding_system): New argument src_chars. Change callers.
9791 Fix for utf-16 detection.
9792 (init_coding_once): Don't use ISO_carriage_return.
9793 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9794 reused_workbuf_in_use.
9795
97962008-02-01 Kenichi Handa <handa@m17n.org>
9797
9798 * keymap.c (store_in_keymap): Pay attention to the case that idx
9799 is a cons specifying a character range.
9800
98012008-02-01 Kenichi Handa <handa@m17n.org>
9802
9803 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9804 HANDLED_RECOMPUTE_PROPS.
9805
9806 * coding.c (Fdefine_coding_system_internal): Fix checking of
9807 ascii compatibility.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * charset.c (find_charsets_in_text): Delete unused locale variable.
9812 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9813
9814 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9815 Resync charset_list to Vemacs_mule_charset_list.
9816
9817 * keymap.c (store_in_keymap): Pay attention to the case that idx
9818 is a cons specifying a character range.
9819
98202008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * composite.c (update_compositions): Bind inhibit-read-only, etc
9823 to t before calling remove-list-of-text-properties.
9824
9825 * print.c (print_object): Always print ASCII chars as is.
9826
98272008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9830
9831 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9832 is a char table.
9833
98342008-02-01 Kenichi Handa <handa@m17n.org>
9835
9836 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9837
98382008-02-01 Kenichi Handa <handa@m17n.org>
9839
9840 * xfaces.c (set_lface_from_font_name): Fix for the case that
9841 FONTNAME is not fontset name.
9842
98432008-02-01 Kenichi Handa <handa@m17n.org>
9844
9845 * fns.c (base64_encode_1): Fix previous change.
9846
98472008-02-01 Kenichi Handa <handa@m17n.org>
9848
9849 * fontset.c (set_fontset_font): New function.
9850 (Fset_fontset_font): If a font is specified for a charset, use
9851 map_charset_chars to store the font spec in a fontset.
9852
98532008-02-01 Kenichi Handa <handa@m17n.org>
9854
9855 * fontset.c (fontset_face): Create a fallback fontset on demand.
9856 (make_fontset): Don't create a fallback fontset here.
9857 (free_face_fontset): Free a fallback fontset (if any) too.
9858 (n_auto_fontsets): Delete this variable.
9859 (auto_fontset_alist): New variable.
9860 (new_fontset_from_font_name): Check auto_fontset_alist.
9861 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9862 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9863 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9864 Defsubr Sfontset_list_all.
9865
98662008-02-01 Kenichi Handa <handa@m17n.org>
9867
9868 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9869
98702008-02-01 Kenichi Handa <handa@m17n.org>
9871
9872 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9873
98742008-02-01 Kenichi Handa <handa@m17n.org>
9875
9876 * editfns.c (Fgoto_char): Fix docstring.
9877
98782008-02-01 Kenichi Handa <handa@m17n.org>
9879
9880 * insdel.c (insert_from_gap): Adjust intervals correctly.
9881
98822008-02-01 Jason Rumney <jasonr@gnu.org>
9883
9884 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9885 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9886 (w32_initialize): Try to load it.
9887 (x_get_font_repertory): Use it if available.
9888 (w32_encode_char): Add shortcut for unicode output.
9889
9890 * w32fns.c (w32_load_system_font): Default charset to -1.
9891 (x_to_w32_charset): Match all fonts for unicode.
9892 (w32_to_x_charset): New parameter matching. Don't return partial
9893 or wildcard charsets.
9894 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9895 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9896 (w32_to_x_font): Match charset to real charset.
9897 (enum_font_cb2): Always list unicode versions.
9898
9899 * makefile.w32-in (temacs): Increase EMHEAP.
9900
99012008-02-01 Jason Rumney <jasonr@gnu.org>
9902
9903 * w32term.c (w32_encode_char): New charset parameter.
9904 font_info.encoding becomes encoding_type.
9905 (x_get_font_repertory): New function. Warning: stub only!
9906 (x_new_font): Return quickly if font already set.
9907 (x_new_fontset): fontsetname parameter is Lisp_Object.
9908 Use new fs_query_fontset. Try new_fontset_from_font_name.
9909 Use fontset_name for return value.
9910
9911 * w32term.h: Declare x_get_font_repertory.
9912
9913 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
9914 place of find_charset_in_text. Use encode_coding_object in place
9915 of encode_coding.
9916 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9917 decode_coding.
9918
9919 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9920 of x_new_fontset.
9921 (w32_load_system_font): Initialize charset as unicode.
9922 font_info.encoding becomes encoding_type.
9923 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9924 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
9925 (syms_of_w32fns): Set get_font_repertory_func.
9926
9927 * w32console.c: Include character.h. Use terminal_encode_buffer
9928 from term.c.
9929 (write_glyphs): Use new version of encode_terminal_code. Use
9930 encode_coding_object in place of encode_coding.
9931
9932 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9933 encoding becomes encoding_type.
9934
9935 * term.c (terminal_encode_buffer): Make externally visible.
9936
9937 * makefile.w32-in: Add character.h dependancies.
9938 (character.o, chartab.o): New targets.
9939
99402008-02-01 Kenichi Handa <handa@m17n.org>
9941
9942 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
9943 CODING_ID_EOL_TYPE.
9944
99452008-02-01 Andreas Schwab <schwab@suse.de>
9946
9947 * coding.c (produce_chars): Revert last change.
9948
99492008-02-01 Kenichi Handa <handa@m17n.org>
9950
9951 * charset.h (charset_unicode): Extern it.
9952
9953 * charset.c (string_xstring_p): Check by (C >= 0x100).
9954 (find_charsets_in_text): Change format of the arc CHARSETS. New
9955 arg MULTIBYTE.
9956 (Ffind_charset_region, Ffind_charset_string): Adjust for the
9957 change of find_charsets_in_text.
9958 (Fsplit_char): Fix doc. Never return unknown.
9959
9960 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
9961
9962 * coding.c (Fdefine_coding_system_alias): Update
9963 Vcoding_system_list.
9964
9965 * fontset.c (load_font_get_repertory): Pay attention to the case
9966 that ENCODING of a font is specified by a char-table.
9967
9968 * xterm.c (x_get_font_repertory): Handle the case that the
9969 encoding of font is other than Unicode.
9970
99712008-02-01 Kenichi Handa <handa@m17n.org>
9972
9973 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9974 if a character is encodable by the terminal coding system. If
9975 not, produces proper number of `?'s. Update
9976 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9977 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9978
99792008-02-01 Kenichi Handa <handa@m17n.org>
9980
9981 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9982 variables.
9983 (encode_terminal_code): Change argument. Encode multiple
9984 characters at once. Store the result of encoding in
9985 terminal_encode_buffer.
9986 (write_glyphs, insert_glyphs): Adjust for the change of
9987 encode_terminal_code.
9988 (term_init): Initialize terminal_encode_buffer and
9989 terminal_encode_buf_size.
9990
9991 * coding.c (consume_chars): If coding->src_object is nil, don't
9992 check annotation.
9993
99942008-02-01 Kenichi Handa <handa@m17n.org>
9995
9996 * character.c (char_string): Use ASCII_CHAR_P instead of
9997 SINGLE_BYTE_CHAR_P.
9998
99992008-02-01 Kenichi Handa <handa@m17n.org>
10000
10001 * xdisp.c (handle_auto_composed_prop): Check if the last
10002 characters of auto-composed region is newly composed with the
10003 following characters.
10004 (handle_composition_prop): Fix checking of point being inside
10005 composition.
10006
100072008-02-01 Kenichi Handa <handa@m17n.org>
10008
10009 * fns.c (concat): Don't change multibyteness of the result by
10010 concatenating an 8-bit character.
10011
10012 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10013 multibyteness of the result when newelt is an 8-bit character.
10014
100152008-02-01 Dave Love <fx@gnu.org>
10016
10017 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10018 EMACS_INT.
10019
10020 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10021
10022 * xfaces.c (face_numeric_value): Declare dim size_t.
10023 (Finternal_lisp_face_equal_p): Remove unused f.
10024
10025 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10026 (MATRIX_ROW): Remove unused vars.
10027 (draw_glyphs, x_insert_glyphs, fast_find_position)
10028 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10029 byte/char counts.
10030
10031 * regex.c (regex_compile): Remove unused var.
10032
10033 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10034
10035 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10036 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10037
10038 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10039
10040 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10041
10042 * fileio.c (Fwrite_region): Remove unused var.
10043
10044 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10045 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10046
10047 * composite.c (Fremove_list_of_text_properties): Declare.
10048
10049 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10050 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10051 (coding_inherit_eol_type): Remove unused attrs.
10052 (detect_coding): Cast arg of detect_eol.
10053
10054 * charset.c (syms_of_charset): Remove unused var p.
10055 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10056 byte/char counts.
10057
10058 * casetab.c (set_case_table): Remove unused var.
10059
10060 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10061 unused vars.
10062
100632008-02-01 Dave Love <fx@gnu.org>
10064
10065 * xterm.c (x_bitmap_mask): Declare.
10066
100672008-02-01 Dave Love <fx@gnu.org>
10068
10069 * xterm.c (x_term_init): Fix type error.
10070
10071 * lisp.h: Add Funibyte_char_to_multibyte.
10072
10073 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10074 (Fset_coding_system_priority): Doc fix.
10075
10076 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10077
10078 * indent.c (check_composition): Make start and end EMACS_INT.
10079
10080 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10081
10082 * xdisp.c (handle_composition_prop, check_point_in_composition):
10083 Make buffer positions EMACS_INT.
10084
10085 * composite.c (find_composition, run_composition_function)
10086 (update_compositions, Ffind_composition_internal): Make buffer
10087 positions EMACS_INT.
10088
10089 * composite.h (find_composition, update_compositions): Make
10090 position args EMACS_INT.
10091
10092 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10093
10094 * intervals.c (get_property_and_range):
10095 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10096
10097 * unexalpha.c: Don't include varargs.h.
10098
100992008-02-01 Dave Love <fx@gnu.org>
10100
10101 * coding.h (ENCODE_UTF_8): New.
10102
10103 * Makefile.in (gtkutil.o): Depend on coding.h.
10104
10105 * coding.c (Fset_coding_system_priority): Doc fix.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10110 the case of auto saving.
10111
101122008-02-01 Andreas Schwab <schwab@suse.de>
10113
10114 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10115 `range' from GC.
10116
101172008-02-01 Kenichi Handa <handa@m17n.org>
10118
10119 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10120
101212008-02-01 Kenichi Handa <handa@m17n.org>
10122
10123 * fileio.c (choose_write_coding_system): Return a decided coding system.
10124 (Fwrite_region): Set Vlast_coding_system_used to the return value
10125 of choose_write_coding_system.
10126
101272008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * charset.c (Fset_charset_priority): Pay attention to duplicated
10130 arguments.
10131
10132 * coding.c (QCcategory): New variable.
10133 (syms_of_coding): Defsym it. Set all elements of
10134 Vcoding_category_table and their symbol values.
10135 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10136 coding-category-XXX, and coding-category-list.
10137 (Fdefine_coding_system_internal): Add category in the plist.
10138
101392008-02-01 Kenichi Handa <handa@m17n.org>
10140
10141 * callproc.c (Fcall_process): Handle carryover correctly.
10142
10143 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10144 (raw_text_coding_system): Check NILP (coding_system).
10145 (coding_inherit_eol_type): Check NILP (coding_system) and
10146 NILP (parent).
10147 (consume_chars): Fix for the case of raw-text.
10148
10149 * process.c (read_process_output): Handle carryover correctly.
10150
101512008-02-01 Dave Love <fx@gnu.org>
10152
10153 * regex.c (re_search_2): Fix last change.
10154
101552008-02-01 Kenichi Handa <handa@m17n.org>
10156
10157 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10158 target_multibyte. Even in a unibyte case, return a converted
10159 multibyte char.
10160 (GET_CHAR_AFTER): New macro.
10161 (PATFETCH): Translate via multibyte char.
10162 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10163 (SETUP_MULTIBYTE_RANGE): New macro.
10164 (regex_compile): Setup compiled code so that its multibyteness
10165 matches that of a target. Fix the handling of "[X-YZ]" using
10166 SETUP_MULTIBYTE_RANGE.
10167 (analyse_first) <charset>: For filling fastmap for all multibyte
10168 characters, don't check by BASE_LEADING_CODE_P.
10169 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10170 the same as RE_MULTIBYTE_P (bufp) now.
10171 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10172 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10173 (TRANSLATE_VIA_MULTIBYTE): New macro.
10174 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10175 It is the same as RE_MULTIBYTE_P (bufp) now.
10176 <exactn>: Translate via multibyte.
10177 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10178 translate it.
10179 <charset, charset_not>: Fetch a character by
10180 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10181 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10182 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10183 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10184 by GET_CHAR_AFTER.
10185 (bcmp_translate): Likewise.
10186
10187 * search.c (compile_pattern): Check the member target_multibyte,
10188 not the member multibyte of buf.
10189
10190 * lread.c (read1): While reading a string, set force_singlebyte
10191 and force_multibyte correctly.
10192
10193 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10194 up of unibyte_to_multibyte_table.
10195
101962008-02-01 Kenichi Handa <handa@m17n.org>
10197
10198 * coding.c (setup_coding_system): If coding has
10199 post-read-conversion or pre-write-conversion, set
10200 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10201 respectively.
10202 (decode_coding_gap): Run post-read-conversion if any.
10203
10204 * fileio.c (Finsert_file_contents): Even if we read into a
10205 unibyte buffer, check if we must decode the result or not.
10206
102072008-02-01 Kenichi Handa <handa@m17n.org>
10208
10209 * coding.c (make_conversion_work_buffer): Change the work buffer
10210 name to the same one as that of Emacs 21.
10211
102122008-02-01 Kenichi Handa <handa@m17n.org>
10213
10214 * coding.h (make_conversion_work_buffer): Adjust prototype.
10215 (code_conversion_restore): Don't extern it.
10216
10217 * coding.c (detected_mask): Delete unused variable.
10218 (decode_coding_iso_2022): Pay attention to the byte sequence of
10219 CTEXT extended segment, and retain those bytes as is.
10220 (decode_coding_ccl): Delete unused variable `valids'.
10221 (setup_coding_system): Delete unused variable `category'.
10222 (consume_chars): Delete unused variable `category'. Make it work
10223 for non-multibyte case.
10224 (make_conversion_work_buffer): Change argument.
10225 (saved_coding): Delete unused variable.
10226 (code_conversion_restore): Don't check saved_coding->destination.
10227 (code_conversion_save): New function.
10228 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10229 instead of record_unwind_protect.
10230 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10231 (detect_coding_system): Delete unused variable `mask'.
10232 (Fdefine_coding_system_internal): Delete unused variable id.
10233
10234 * fileio.c (kill_workbuf_unwind): New function.
10235 (Finsert_file_contents): On replacing, call
10236 make_conversion_work_buffer with correct args, and call
10237 record_unwind_protect with the first arg kill_workbuf_unwind.
10238
10239 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10240
102412008-02-01 Kenichi Handa <handa@m17n.org>
10242
10243 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10244 (fontset_add): Fix for the case that TO is less than TO1.
10245 (Ffontset_info): Don't use fallback fontset on checking the
10246 default fontset.
10247 (dump_fontset): New function for debugging.
10248
10249 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10250 coding_type is Qcharset.
10251
102522008-02-01 Kenichi Handa <handa@m17n.org>
10253
10254 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10255 (map_char_table): Don't inherit the value from the parent on
10256 initializing VAL. Adjust for the above change.
10257
102582008-02-01 Kenichi Handa <handa@m17n.org>
10259
10260 * coding.c (Qsignature, Qendian): Delete these variables.
10261 (syms_of_coding): Don't initialize them.
10262 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10263 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10264 detect_info->found.
10265 (decode_coding_utf_16): Don't detect BOM here.
10266 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10267 is NOT utf_16_without_bom.
10268 (setup_coding_system): For a coding system of type utf-16, check
10269 if the attribute :endian is Qbig or not (not nil or not), and set
10270 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10271 (detect_coding): If coding type is utf-16 and BOM detection is
10272 required, detect it.
10273 (Fdefine_coding_system_internal): For a coding system of type
10274 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10275
102762008-02-01 Kenichi Handa <handa@m17n.org>
10277
10278 * coding.c (coding_set_source): Fix for the case that the current
10279 buffer is different from coding->src_object.
10280 (decode_coding_object): Don't use the conversion work buffer if
10281 DST_OBJECT is a buffer.
10282
102832008-02-01 Dave Love <fx@gnu.org>
10284
10285 * lread.c (read_emacs_mule_char) [len==2]: Index
10286 emacs_mule_charset correctly.
10287
102882008-02-01 Dave Love <fx@gnu.org>
10289
10290 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10291 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10292 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10293 treated specially.)
10294 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10295 (detected_mask): Remove Big5 bits.
10296
102972008-02-01 Kenichi Handa <handa@m17n.org>
10298
10299 The following changes are to make the font rescaling facility
10300 compatible with Emacs 21.
10301
10302 * xfaces.c (Vface_font_rescale_alist): Rename from
10303 Vface_resizing_fonts.
10304 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10305 (font_rescale_ratio): Rename from font_resizing_ratio.
10306 (split_font_name): Set font->rescale_ratio.
10307 (better_font_p): Pay attention to font->rescale_ratio.
10308 (build_scalable_font_name): Likewise. Change RESX, and RESY
10309 fields.
10310 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10311
103122008-02-01 Kenichi Handa <handa@m17n.org>
10313
10314 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10315 (Qutf_16_le): Remove these variables.
10316 (syms_of_coding): Don't DEFSYM them.
10317 (decode_coding_utf_16): Fix handling of BOM.
10318 (encode_coding_utf_16): Fix handling of BOM.
10319
103202008-02-01 Kenichi Handa <handa@m17n.org>
10321
10322 * fileio.c (Finsert_file_contents): On replacing, before decoding
10323 the file into the work buffer, set point of the work buffer to the end.
10324
103252008-02-01 Dave Love <fx@gnu.org>
10326
10327 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10328
103292008-02-01 Dave Love <fx@gnu.org>
10330
10331 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10332 and fix C types.
10333
103342008-02-01 Kenichi Handa <handa@m17n.org>
10335
10336 * xdisp.c (SKIP_GLYPHS): New macro.
10337 (set_cursor_from_row): Pay attention to string display properties.
10338
10339 * category.c (copy_category_entry): Fix for the case that RANGE
10340 is an integer.
10341
10342 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10343
10344 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10345
103462008-02-01 Kenichi Handa <handa@m17n.org>
10347
10348 * charset.c (Fcharset_id_internal): New function.
10349 (syms_of_charset): Defsubr it.
10350
10351 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10352 with the last arg charset_list acquired from coding.
10353 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10354 the attribute coding_attr_ccl_valids.
10355
10356 * coding.h (enum define_coding_ccl_arg_index): Set the first
10357 member coding_arg_ccl_decoder to coding_arg_max.
10358
10359 * ccl.h (ccl_driver): Adjust prototype.
10360
10361 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10362 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10363 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
10364 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10365 last arg Qnil.
10366
103672008-02-01 Kenichi Handa <handa@m17n.org>
10368
10369 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10370 call encode_char.
10371
10372 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10373
103742008-02-01 Dave Love <fx@gnu.org>
10375
10376 * composite.c (syms_of_composite): Make composition_hash_table weak.
10377
103782008-02-01 Kenichi Handa <handa@m17n.org>
10379
10380 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10381 (font_name_registry): Don't extern them.
10382 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10383
10384 * fontset.h (Qfontset): Don't extern it.
10385 (new_fontset_from_font_name): Extern it.
10386
10387 * fontset.c: Give 8 extra slots to fontset objects.
10388 (Qfontset_info): New variable.
10389 (syms_of_fontset): Defsym it.
10390 (FONTSET_FALLBACK): New macro.
10391 (fontset_face): Try also the default fontset.
10392 (make_fontset): Realize a fallback fontset from the default fontset.
10393 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10394 using split_font_name_into_vector and build_font_name_from_vector.
10395 (Fset_fontset_font): Access the elements of font_spec by enum
10396 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10397 name by using split_font_name_into_vector.
10398 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10399 generate a proper font name from the fontset name. Update
10400 Vfontset_alias_alist.
10401 (n_auto_fontsets): New variable.
10402 (new_fontset_from_font_name): New function.
10403 (Ffont_info): Store the information about fonts generated from the
10404 default fontset in the first extra slot of the returned char-table.
10405
10406 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10407 (font_name_registry): Delete function.
10408 (split_font_name_into_vector): New function.
10409 (build_font_name_from_vector): New function.
10410 (font_list): The argument REGISTRY is now a list of registry names.
10411 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10412 specifies an explicit font name, return the name as is. Make a
10413 list of registy names.
10414
10415 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10416 of x_new_fontset.
10417 (Fx_create_frame): Don't call x_new_fontset here. Just use
10418 x_list_fonts to check the existence of fonts.
10419
10420 * xterm.h (x_new_fontset): Adjust prototype.
10421
10422 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10423 string. Use new_fontset_from_font_name to create a fontset from a
10424 font name.
10425
104262008-02-01 Kenichi Handa <handa@m17n.org>
10427
10428 * syntax.c (Vfind_word_boundary_function_table): New name for
10429 Vnext_word_boundary_function_table.
10430 (find-word-boundary-function-table): New name for
10431 next-word-boundary-function-table.
10432
104332008-02-01 Dave Love <fx@gnu.org>
10434
10435 * Makefile.in: Fix some dependencies.
10436
10437 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10438 set it to nil before returning.
10439
10440 * composite.c (update_compositions): Fix type error.
10441
10442 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * xterm.c (x_new_font): Optimize for the case that the font is
10447 already set for the frame.
10448
104492008-02-01 Kenichi Handa <handa@m17n.org>
10450
10451 * chartab.c (char_table_ascii): Check if the char table contents
10452 is sub-char-table or not.
10453 (char_table_set, char_table_set_range): Fix argument to
10454 char_table_ascii.
10455
10456 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10457 (detect_coding_utf_8, detect_coding_utf_16)
10458 (detect_coding_emacs_mule, detect_coding_iso_2022)
10459 (detect_coding_sjis, detect_coding_big5)
10460 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10461 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10462 sequence is valid in this coding system. Change callers.
10463 (MAX_ANNOTATION_LENGTH): New macro.
10464 (ADD_ANNOTATION_DATA): New macro.
10465 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10466 ADD_ANNOTATION_DATA. Change the format of annotation data.
10467 (ADD_CHARSET_DATA): New macro.
10468 (emacs_mule_char): New argument ID. Change callers.
10469 (decode_coding_emacs_mule, decode_coding_iso_2022)
10470 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10471 Produce charset annotation data in coding->charbuf.
10472 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10473 to charset annotation data in coding->charbuf.
10474 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10475 coding->common_flags if the coding system is iso-2022 based and
10476 uses designation.
10477 (produce_composition): Adjust for the new annotation data format.
10478 (produce_charset): New function.
10479 (produce_annotation): Handle charset annotation.
10480 (handle_composition_annotation, handle_charset_annotation): New
10481 functions.
10482 (consume_chars): Handle charset annotation. Utilize the above two
10483 functions.
10484 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10485 buffer, get the deleted text as a string and set
10486 coding->src_object to that string.
10487 (detect_coding, detect_coding_system): Use the new struct
10488 coding_detection_info.
10489
10490 * coding.h (struct coding_detection_info): New structure.
10491 (struct coding_system): Adjust prototype of the member `detector'.
10492 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10493
104942008-02-01 Kenichi Handa <handa@m17n.org>
10495
10496 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10497
104982008-02-01 Dave Love <fx@gnu.org>
10499
10500 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10501 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10502 to new local and nullify apropos_accumulate before returning.
10503 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10504
105052008-02-01 Kenichi Handa <handa@m17n.org>
10506
10507 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10508 correctly.
10509
105102008-02-01 Dave Love <fx@gnu.org>
10511
10512 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10513
105142008-02-01 Kenichi Handa <handa@m17n.org>
10515
10516 The following changes are to make character composition happen
10517 automatically on displaying.
10518
10519 * Makefile.in (lisp, shortlisp): Add composite.elc.
10520
10521 * composite.h (Qauto_composed, Vauto_composition_function)
10522 (Qauto_composition_function): Extern them.
10523
10524 * composite.c (Vcomposition_function_table)
10525 (Qcomposition_function_table): Delete variables.
10526 (Qauto_composed, Vauto_composition_function)
10527 (Qauto_composition_function): New variables.
10528 (run_composition_function): Don't call
10529 compose-chars-after-function.
10530 (update_compositions): Clear `auto-composed' text property.
10531 (compose_chars_in_text): Delete this function.
10532 (syms_of_composite): Staticpro Qauto_composed and
10533 Qauto_composition_function. Declare Vauto_composition_function as
10534 a Lisp variable.
10535
10536 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10537
10538 * xdisp.c (it_props): Add an entry for Qauto_composed.
10539 (handle_auto_composed_prop): New function.
10540
10541 * xselect.c (selection_data_to_lisp_data): Don't call
10542 compose_chars_in_text.
10543
105442008-02-01 Dave Love <fx@gnu.org>
10545
10546 * keyboard.c (read_char): Modify checking around use of
10547 Vkeyboard_translate_table.
10548
10549 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10550 and fix C types.
10551
105522008-02-01 Kenichi Handa <handa@m17n.org>
10553
10554 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10555 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10556 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10557 the case that the last byte is '\r' correctly.
10558 (decode_coding): Flush out the unprocessed data correctly.
10559 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10560
105612008-02-01 Dave Love <fx@gnu.org>
10562
10563 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10564 Add XK_ISO... case.
10565 (xaw_scroll_callback): Revert last change.
10566
105672008-02-01 Kenichi Handa <handa@m17n.org>
10568
10569 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * xfaces.c (Vface_resizing_fonts): New variable.
10574 (struct font_name): New member `resizing_ratio'.
10575 (font_resizing_ratio): New function.
10576 (split_font_name): Set font->resizing_ratio.
10577 (better_font_p): Pay attention to font->resizing_ratio.
10578 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10579 RESX, and RESY fields.
10580 (try_alternative_families): Try scalable fonts if
10581 Vscalable_fonts_allowed is not Qt.
10582 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10583
105842008-02-01 Dave Love <fx@gnu.org>
10585
10586 * xterm.c (xaw_scroll_callback): Cast correctly.
10587
105882008-02-01 Dave Love <fx@gnu.org>
10589
10590 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10591 (lispy_kana_keys): Comment out.
10592 (make_lispy_event) [XK_kana_A]: Comment out.
10593
10594 * xterm.c (xaw_scroll_callback): Cast call_data.
10595 (XTread_socket): Deal with ASCII keysyms.
10596 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10597
105982008-02-01 Dave Love <fx@gnu.org>
10599
10600 * xterm.c (Vx_keysym_table): New.
10601 (syms_of_xterm): Initialize it.
10602 (XTread_socket): Use it.
10603 From head: Eliminate incorrect optimization that tried to avoid
10604 decoding the output of X*LookupString.
10605 (x_get_font_repertory): Delete charset declaration.
10606
106072008-02-01 Kenichi Handa <handa@m17n.org>
10608
10609 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10610 return 0.
10611 (Fdefine_coding_system_internal): Setup
10612 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10613
106142008-02-01 Dave Love <fx@gnu.org>
10615
10616 * coding.c (Fcheck_coding_system): Doc fix.
10617
10618 * editfns.c (Finsert_byte): Return a proper value.
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * coding.c (decode_coding): Fix args to translate_chars. Pay
10623 attention to Vstandard_translation_table_for_decode.
10624 (encode_coding): Fix args to translate_chars. Pay attention to
10625 Vstandard_translation_table_for_encode.
10626
10627 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10628 SINGLE_BYTE_CHAR_P.
10629
10630 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10631 not by SINGLE_BYTE_CHAR_P.
10632
10633 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10634 SINGLE_BYTE_CHAR_P.
10635
10636 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10637 SINGLE_BYTE_CHAR_P.
10638
10639 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10640 by SINGLE_BYTE_CHAR_P.
10641
10642 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10643 SINGLE_BYTE_CHAR_P.
10644
106452008-02-01 Dave Love <fx@gnu.org>
10646
10647 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10648
106492008-02-01 Dave Love <fx@gnu.org>
10650
10651 * fns.c (Flanginfo): Fix typo.
10652
10653 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10654
106552008-02-01 Kenichi Handa <handa@m17n.org>
10656
10657 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10658 (detect_coding_emacs_mule, detect_coding_iso_2022)
10659 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10660 incomplete byte sequence. Don't update *mask when correctly detected.
10661 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10662 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10663 (detect_coding, detect_coding_system): Adjust for the changes above.
10664
106652008-02-01 Kenichi Handa <handa@m17n.org>
10666
10667 * character.c (char_string): Rename from
10668 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10669 (string_char): Rename from string_char.
10670
10671 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10672 if C is greater than MAX_3_BYTE_CHAR.
10673 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10674 string_char instead of string_char_with_unification.
10675
106762008-02-01 Dave Love <fx@gnu.org>
10677
10678 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10679
106802008-02-01 Kenichi Handa <handa@m17n.org>
10681
10682 * keymap.c (push_key_description): Pay attention to force_multibyte.
10683
10684 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10685
106862008-02-01 Dave Love <fx@gnu.org>
10687
10688 * charset.c (define_charset_internal): Rename `supprementary'.
10689
10690 * Makefile.in (lisp, shortlisp): Remove latin-N.
10691
106922008-02-01 Dave Love <fx@gnu.org>
10693
10694 * xfns.c (x_window, x_window): Use use_xim.
10695
10696 * xterm.c (use_xim): Initialize.
10697 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10698 (x_term_init): Maybe set use_xim.
10699
10700 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10701
107022008-02-01 Kenichi Handa <handa@m17n.org>
10703
10704 * search.c (search_buffer): Fix case-fold-search of multibyte
10705 characters.
10706 (boyer_moore): Rename the last argument to char_high_bits.
10707
107082008-02-01 Kenichi Handa <handa@m17n.org>
10709
10710 * xdisp.c (display_string): Fix for the case of zero width glyph.
10711
10712 * xfns.c (x_set_font): Change the error message of the case that
10713 x_new_fontset returns Qt.
10714
10715 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10716 (Finternal_set_lisp_face_attribute): Use signal_error for the
10717 error of invalid fontset.
10718
10719 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10720 fontset, return Qt.
10721
107222008-02-01 Dave Love <fx@gnu.org>
10723
10724 * unexelf.c (unexec): Make .got handling not SGI-specific.
10725
10726 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10727
10728 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10729
10730 * keyboard.c (read_key_sequence): Fix type error.
10731
10732 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10733 type error.
10734
10735 * fontset.c (fontset_add): Return Lisp_Object.
10736
107372008-02-01 Dave Love <fx@gnu.org>
10738
10739 * charset.h (charset_ordered_list_tick): Declare extern.
10740
107412008-02-01 Kenichi Handa <handa@m17n.org>
10742
10743 The following changes (and some of 2008-02-01 changes of mine) are
10744 for handling syntax, category, and case conversion for unibyte
10745 characters by converting them to multibyte on the fly. With these
10746 changes, we don't have to setup syntax and case tables for unibyte
10747 characters in each language environment.
10748
10749 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10750 multibyte if necessary.
10751
10752 * bytecode.c (Fbyte_code): Likewise.
10753
10754 * character.h (LEADING_CODE_LATIN_1_MIN)
10755 (LEADING_CODE_LATIN_1_MAX): New macros.
10756 (unibyte_to_multibyte_table): Extern it.
10757 (unibyte_char_to_multibyte): New macro.
10758 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10759 (CHAR_LEADING_CODE): New macro.
10760 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10761
10762 * character.c (unibyte_to_multibyte_table): New variable.
10763 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10764 (multibyte_char_to_unibyte): If C is an eight-bit character,
10765 convert it to the corresponding byte value.
10766
10767 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10768 not 1, signals an error. Update the elements of
10769 unibyte_to_multibyte_table.
10770 (init_charset_once): Initialize unibyte_to_multibyte_table.
10771 (syms_of_charset): Define the charset `iso-8859-1'.
10772
10773 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10774 as is without converting it to unibyte. In a unibyte buffer,
10775 convert C to multibyte before checking the syntax.
10776
10777 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10778
10779 * minibuf.c (Fminibuffer_complete_word): Use the macro
10780 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10781
10782 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10783
10784 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10785 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10786 that is zero, convert an eight-bit char to multibyte.
10787 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10788 non-emacs case.
10789 (PATFETCH): Convert an eight-bit char to multibyte.
10790 (HANDLE_UNIBYTE_RANGE): New macro.
10791 (regex_compile): Setup the compiled pattern for multibyte chars
10792 even if the given regex string is unibyte. Use PATFETCH_RAW
10793 instead of PATFETCH in many places. To handle `charset'
10794 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10795 only for ASCII chars.
10796 (analyse_first) <exactn>: Simplify because the compiled pattern
10797 is multibyte.
10798 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10799 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10800 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10801 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10802 multibyte always 1.
10803 (re_search_2): In emacs, set the locale variable multibyte to 1,
10804 otherwise to 0. New local variable target_multibyte. Check it
10805 to decide the multibyteness of STR1 and STR2. If
10806 target_multibyte is zero, convert unibyte chars to multibyte
10807 before translating and checking fastmap.
10808 (TARGET_CHAR_AND_LENGTH): New macro.
10809 (re_match_2_internal): In emacs, set the locale variable multibyte
10810 to 1, otherwise to 0. New local variable target_multibyte. Check
10811 it to decide the multibyteness of STR1 and STR2. Use
10812 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10813 <charset, charset_not>: If multibyte is nonzero, check fastmap
10814 only for ASCII chars. Call bcmp_translate with
10815 target_multibyte, not with multibyte.
10816 <begline>: Declare the local variable C as `unsigned'.
10817 (bcmp_translate): Change the last arg name to target_multibyte.
10818
10819 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10820 the regexp pattern and the matching target. Set cp->buf.multibyte
10821 to the multibyteness of the regexp pattern. Set
10822 cp->but.target_multibyte to the multibyteness of the matching target.
10823 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10824 FETCH_STRING_CHAR_ADVANCE.
10825 (Freplace_match): Convert unibyte chars to multibyte.
10826
10827 * syntax.c (char_quoted, back_comment, scan_words)
10828 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10829 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10830 unibyte chars to multibyte.
10831 (skip_chars): Delete the arg syntaxp, and move the code for
10832 handling syntaxes to skip_syntaxes. Change callers.
10833 Fix the case that the multibyteness of STRING and the current
10834 buffer doesn't match.
10835 (skip_syntaxes): New function.
10836 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10837 SINGLE_BYTE_CHAR_P.
10838
108392008-02-01 Kenichi Handa <handa@m17n.org>
10840
10841 * xfaces.c (QCfontset): New variable.
10842 (LFACE_FONTSET): New macro.
10843 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10844 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10845 (Finternal_set_lisp_face_attribute)
10846 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10847 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10848 check also LFACE_FONTSET_INDEX.
10849 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10850 attrs[LFACE_FONT_INDEX].
10851 (syms_of_xfaces): Intern and staticpro QCfontset.
10852
10853 * dispextern.h (enum lface_attribute_index): New member
10854 LFACE_FONTSET_INDEX.
10855
10856 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * coding.c (coding_set_destination): Fix coding->destination for
10861 the case converting a region.
10862 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10863 (encode_coding_object): Fix coding->dst_pos and
10864 coding->dst_pos_byte for the case converting a region.
10865
10866 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10867
10868 * character.h (BYTE8_STRING): New macro.
10869
10870 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10871
108722008-02-01 Kenichi Handa <handa@m17n.org>
10873
10874 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10875 characters by octal form.
10876
10877 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10878
10879 * buffer.h (_fetch_multibyte_char_len): Delete extern.
10880 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10881 _fetch_multibyte_char_len.
10882 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10883
10884 * casetab.c (set_canon, set_identity, shuffle): Simplify.
10885
10886 * casefiddle.c (casify_object): Simplify. Handle the case that
10887 the case conversion change the byte length.
10888 (casify_region): Likewise.
10889
10890 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
10891
10892 * character.c (_fetch_multibyte_char_len): Delete this variable.
10893 (syms_of_character): Setup Vprintable_chars.
10894
10895 * editfns.c (Fchar_equal): Fix for the unibyte case.
10896 (Finsert_byte): New function.
10897 (syms_of_editfns): Defsubr it.
10898
10899 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10900 of direct code 0x3ffff.
10901
10902 * search.c (Freplace_match): Fix for the unibyte case.
10903
109042008-02-01 Kenichi Handa <handa@m17n.org>
10905
10906 * lread.c (safe_to_load_p): Fix the logic.
10907
10908 * syntax.c (scan_words): Don't treat characters belonging to
10909 different scripts as constituting a word.
10910
10911 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10912
10913 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
10914
10915 * emacs.c (main): In the case of --unibyte, instead of aborting on
10916 finding non-empty buffer, make it unibyte.
10917
109182008-02-01 Kenichi Handa <handa@m17n.org>
10919
10920 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10921 to create a fontset.
10922
109232008-02-01 Dave Love <fx@gnu.org>
10924
10925 * character.c (Funibyte_char_to_multibyte): Doc fix.
10926
10927 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10928
109292008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * fontset.c (fontset_add): Make the type `int'.
10932 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10933
10934 * character.c (unibyte_char_to_multibyte)
10935 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
10936 charset_unibyte, not charset_primary.
10937
10938 * charset.h (charset_unibyte): Extern it instead of charset_primary.
10939
10940 * charset.c (charset_unibyte): Rename from charset_primary.
10941 (Funibyte_charset): Rename from Fprimary_charset.
10942 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10943 (syms_of_charset): Adjust for the above changes.
10944
10945 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10946 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10947 it->multibyte_p is zero.
10948
10949 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
10950 Delete extern.
10951
109522008-02-01 Kenichi Handa <handa@m17n.org>
10953
10954 * coding.c (Fdefine_coding_system_internal): Fix category setting
10955 for a coding system of type iso-2022.
10956
109572008-02-01 Kenichi Handa <handa@m17n.org>
10958
10959 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
10960
109612008-02-01 Kenichi Handa <handa@m17n.org>
10962
10963 * syntax.c (Vnext_word_boundary_function_table): New variable.
10964 (next-word-boundary-function-table): Declare it as a Lisp variable
10965 in syms_of_syntax.
10966 (scan_words): Call functions in Vnext_word_boundary_function_table
10967 if any.
10968
10969 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10970
10971 * fontset.c (fs_load_font): If fontp->charset is not negative,
10972 return fontp without setting its members.
10973
109742008-02-01 Dave Love <fx@gnu.org>
10975
10976 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10977
10978 * m/sparc.h (HAVE_ALLOCA): Delete.
10979
10980 * s/irix6-5.h: Don't include strings.h.
10981 (bcopy, bzero, bcmp): Don't undef.
10982
10983 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10984
10985 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10986 (TIOCSIGSEND): Don't test IRIX6.
10987 (bcopy, bzero, bcmp): Define conditionally.
10988
109892008-02-01 Kenichi Handa <handa@m17n.org>
10990
10991 * buffer.c (Qas, Qmake, Qto): New variables.
10992 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
10993 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10994
10995 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10996 we are inserting a process output into a multibyte buffer.
10997
10998 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10999 multibyte_char_to_unibyte.
11000
11001 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11002 by the primary charset, make it eight-bit char.
11003 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11004
11005 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11006 (charset_8_bit__control, charset_8_bit_graphic)
11007 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11008 (define_charset_internal): New function.
11009 (syms_of_charset): Call define_charset_internal for pre-defined
11010 charsets.
11011
11012 * charset.h (charset_8_bit): Extern it.
11013
11014 * coding.c (make_conversion_work_buffer): Adjust for the change
11015 of Fset_buffer_multibyte.
11016 (encode_coding_raw_text): Increment p0 in the loop.
11017
11018 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11019
11020 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11021 for the change of Fset_buffer_multibyte.
11022
11023 * fns.c (Fstring_to_multibyte): New function.
11024 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11025
110262008-02-01 Dave Love <fx@gnu.org>
11027
11028 * xfns.c (x_put_x_image): Declare args.
11029
11030 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11031 (try_font_list): Declare an arg.
11032
11033 * xdisp.c (message2_nolog, set_message): Declare an arg.
11034
11035 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11036
11037 * syntax.c (scan_sexps_forward): Declare an arg.
11038
11039 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11040 Declare an arg.
11041
11042 * lisp.h (Fnew_fontset): Declare.
11043
11044 * keymap.c (push_key_description): Call CHARACTERP correctly.
11045
11046 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11047 (face_for_char): Delete unused vars.
11048 (Fset_fontset_font): Doc fix. Delete unused vars.
11049
11050 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11051
11052 * composite.c (update_compositions): Declare arg.
11053
11054 * cm.c (calccost, cmgoto): Declare args.
11055
11056 * charset.c: Remove `emacs' conditional. Doc fixes.
11057 (map_char_table_for_charset): Declare.
11058
11059 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11060
11061 * ccl.c: Remove `emacs' conditional.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 The following changes are to allow specifying multiple font
11066 patterns for a character range (specified by script or charset).
11067
11068 * Makefile.in (abbrev.o): Depend on syntax.h.
11069 (xfaces.o): Depend on charset.h.
11070
11071 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11072 SINGLE_BYTE_CHAR_P.
11073
11074 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11075
11076 * character.h (Vchar_script_table): Extern it.
11077
11078 * character.c (Vscript_alist): Delete.
11079 (Vchar_script_table, Qchar_script_table): New variable.
11080 (syms_of_character): Declare Vchar_script_table as a lisp variable
11081 and initialize it.
11082
11083 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11084 have property char-table-extra-slots, make no extra slot.
11085
11086 * dispextern.h (struct face): Delete member `charset'.
11087 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11088 SINGLE_BYTE_CHAR_P.
11089 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11090 Add prototypes.
11091 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11092 (generate_ascii_font_name): Rename from generate_ascii_font.
11093
11094 * fontset.h (get_font_repertory_func): New prototype.
11095 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11096 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11097
11098 * fontset.c (Qprepend, Qappend): New variables.
11099 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11100 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11101 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11102 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11103 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11104 (load_font_get_repertory): New functions.
11105 (fontset_set): Delete.
11106 (fontset_face): New arg FACE. Return face ID, not face.
11107 Complete re-write to handle new fontset structure. Change caller.
11108 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11109 (face_for_char): Don't call lookup_face.
11110 (make_fontset_for_ascii_face): New arg FACE.
11111 (fs_load_font): New arg CHARSET_ID. Don't check
11112 Vfont_encoding_alist here.
11113 (find_font_encoding): New function.
11114 (list_fontsets): Use STRINGP, not ! NILP.
11115 (accumulate_script_ranges): New function.
11116 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11117 re-written to handle new fontset structure.
11118 (Ffontset_font): Return a copy of element.
11119 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11120 docstring of font-encoding-alist.
11121
11122 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11123 (Fset_fotset_font): Fix arguments to 5.
11124
11125 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11126
11127 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11128 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11129 (highlight_trailing_whitespace): Adjust for the change of
11130 lookup_named_face.
11131
11132 * xfaces.c: Include charset.h.
11133 (load_face_font): Delete argument C. Change caller.
11134 (generate_ascii_font_name): Rename from generate_ascii_font.
11135 (font_name_registry): New function.
11136 (cache_face): Store ascii faces before non-ascii faces in buckets.
11137 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11138 Lookup only ascii faces.
11139 (lookup_non_ascii_face): New function.
11140 (lookup_named_face): Delete argument C. Change caller.
11141 (lookup_derived_face): Delete argument C. Change caller.
11142 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11143 a string, just call font_list with it.
11144 (choose_face_font): Delete arguments FACE and C. New arg
11145 FONT_SPEC. Change caller.
11146 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11147 Change caller.
11148 (realize_non_ascii_face): New function.
11149 (realize_x_face): Call load_face_font here.
11150 (realize_tty_face): Delete argument C. Change caller.
11151 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11152 get a face ID.
11153 (dump_realized_face): Don't print charset of FACE.
11154
11155 * xfns.c (x_set_font): Always call x_new_fontset and
11156 store_frame_parameter.
11157 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11158 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11159
11160 * xterm.h (x_get_font_repertory): Extern it.
11161
11162 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11163 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11164 it->multibyte_p is zero.
11165 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11166 (x_new_fontset): If FONTSETNAME doesn't match any existing
11167 fontsets, create a new one.
11168 (x_get_font_repertory): New function.
11169
111702008-02-01 Kenichi Handa <handa@m17n.org>
11171
11172 * coding.c (Ffind_coding_systems_region_internal): Detect an
11173 ASCII only string correctly.
11174
11175 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11176 version is 0.
11177
111782008-02-01 Kenichi Handa <handa@m17n.org>
11179
11180 * lread.c: Include "coding.h".
11181 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11182 (load_each_byte, unread_char): New variables.
11183 (readchar_backlog): Delete.
11184 (readchar): Return a character unless load_each_byte is nonzero.
11185 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11186 cons. If unread_char is not -1, simply return it.
11187 (unreadchar): Handle the case that readcharfun is
11188 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11189 (read_multibyte): Delete.
11190 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11191 (read_emacs_mule_char): New functions.
11192 (Fload): Even if the file doesn't have the extension ".elc", if
11193 safe_to_load_p returns a positive version number, assume that the
11194 file contains bytecompiled code. If the version is less than 22,
11195 load the file while decoding multibyte sequences by emacs-mule.
11196 (readevalloop): Don't use readchar_backlog.
11197 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11198 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11199 (read_escape): Delete the arg BYTEREP.
11200 (read1): Set load_each_byte to 1 temporarily while handling
11201 #@NUMBER. Don't call read_multibyte.
11202 (read_vector): Call Fread with a cons. If readcharfun is
11203 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11204 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11205 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11206 and Qload_force_doc_strings.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * xdisp.c (face_before_or_after_it_pos): Call
11211 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11212
112132008-02-01 Kenichi Handa <handa@m17n.org>
11214
11215 * character.h (TRAILING_CODE_P): New macro.
11216 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11217 (string_char_with_unification): Fix prototype.
11218 (Vscript_alist): Extern it.
11219
11220 * character.c (Vscript_alist): New variable.
11221 (string_char_with_unification, str_as_unibyte)
11222 (string_escape_byte8): Add `const' to local variables.
11223 (syms_of_character): Declare script-alist as a Lisp variable.
11224
11225 * charset.h (Vcharset_ordered_list): Extern it.
11226 (charset_ordered_list_tick): Extern it.
11227 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11228 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11229 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11230 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11231 (Funify_charset): Adjust for the change of Funify_charset.
11232
11233 * charset.c (charset_ordered_list_tick): New variable.
11234 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11235 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11236 deunify intead of unify a charset.
11237 (string_xstring_p): Add `const' to local variables.
11238 (find_charsets_in_text): Add `const' to arguments and local variables.
11239 (encode_char): Adjust for the change of Funify_charset. Fix
11240 detecting of invalid code.
11241 (Fset_charset_priority): Increment charset_ordered_list_tick.
11242 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11243 and TO_CODE.
11244
11245 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11246 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11247 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11248 (decode_coding_ccl, consume_chars)
11249 (Ffind_coding_systems_region_internal)
11250 (Fcheck_coding_systems_region): Add `const' to local variables.
11251
11252 * print.c (print_object): Use octal form for printing the
11253 contents of a bool vector.
11254
112552008-02-01 Dave Love <fx@gnu.org>
11256
11257 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11258 <version == 20>: Refuse to load.
11259
112602008-02-01 Dave Love <fx@gnu.org>
11261
11262 * fns.c: Move coding.h.
11263 (Qcodeset, Qdays, Qmonths): New.
11264 (concat): Use CHARACTERP instead of INTEGERP.
11265 (Flocale_codeset): Delete.
11266 (Flanginfo): New function.
11267 (syms_of_fns): Change accordingly.
11268
11269 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11270
112712008-02-01 Dave Love <fx@gnu.org>
11272
11273 * casetab.c (init_casetab_once, init_casetab_once): Fix
11274 CHAR_TABLE_SET call.
11275
11276 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11277
11278 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11279
11280 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11281 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11282 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11283
11284 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11285
11286 * coding.c (ENCODE_DESIGNATION, decode_eol)
11287 (make_conversion_work_buffer, code_conversion_restore)
11288 (Fdefine_coding_system_internal): Convert Lisp types.
11289 (code_conversion_restore): Use EQ, not ==.
11290 (Fencode_coding_string): Fix code_convert_string call.
11291
11292 * coding.h (code_convert_region): Fix prototype.
11293
11294 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11295
11296 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11297 (Ffontset_info): Convert Lisp types.
11298
11299 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11300
11301 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11302
11303 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11304
11305 * chartab.c: Include "...h", not <...h> in some cases.
11306
11307 * callproc.c (Fcall_process): Remove unused variables.
11308
113092008-02-01 Dave Love <fx@gnu.org>
11310
11311 * coding.c (Fset_coding_system_priority): Allow null arg list.
11312
113132008-02-01 Dave Love <fx@gnu.org>
11314
11315 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11316 (Fself_insert_and_exit): Use CHARACTERP.
11317
11318 * callproc.c (Fcall_process): Remove unused vars.
11319
11320 * xterm.c (XTread_socket): Add extra dead keysyms.
11321
11322 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11323
11324 * dispextern.h: Remove prototypes for redraw_frame,
11325 redraw_garbaged_frames.
11326
11327 * cmds.c (Fself_insert_command): Use CHARACTERP.
11328
11329 * chartab.c (make_sub_char_table): Remove unused var.
11330 (Fset_char_table_default, Fmap_char_table): Doc fix.
11331
11332 * keymap.c (access_keymap): Remove generic char code.
11333 (push_key_description): Use CHARACTERP.
11334
113352008-02-01 Dave Love <fx@gnu.org>
11336
11337 * charset.c: Doc fixes.
11338 (Funify_charset): Extra checking.
11339
113402008-02-01 Dave Love <fx@gnu.org>
11341
11342 * lread.c: Remove some unused variables.
11343 (safe_to_load_p): If safe, return the magic number version byte.
11344 (Fload): Maybe use load-with-code-conversion.
11345
113462008-02-01 Kenichi Handa <handa@m17n.org>
11347
11348 * category.c (Fmodify_category_entry): Don't modify the contents
11349 of category_set for characters out of the range. Avoid
11350 unnecessary modification.
11351
11352 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11353 Vchar_unify_table. The default value of the table is now nil.
11354
11355 * character.c (syms_of_character): Setup Vchar_width_table for
11356 eight-bit-control and raw-byte chars.
11357
11358 * charset.h (enum define_charset_arg_index): Delete
11359 charset_arg_parents and add charset_arg_subset and
11360 charset_arg_superset.
11361 (enum charset_attr_index): Delete charset_parents and add
11362 charset_subset and charset_superset.
11363 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11364 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11365 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11366 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11367 (CHARSET_SUPERSET): New macros.
11368 (charset_work): Extern it.
11369 (ENCODE_CHAR): Use charset_work.
11370 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11371 (map_charset_chars): Extern it.
11372
11373 * charset.c (load_charset_map): Set the default value of encoder
11374 and deunifier char-tables to nil.
11375 (map_charset_chars): Change argument. Change callers. Use
11376 map_char_table_for_charset instead of map_char_table.
11377 (Fmap_charset_chars): New optional args from_code and to_code.
11378 (Fdefine_charset_internal): Adjust for the change of
11379 `define-charset' (:parents -> :subset or :superset).
11380 (charset_work): New variable.
11381 (encode_char, syms_of_charset): Adjust for the change of
11382 Fdefine_charset_internal.
11383 (Ffind_charset_string): Setup the vector `charsets' correctly.
11384
11385 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11386 the previous change.
11387 (char_table_ref_and_range): Adjust for the above change.
11388 (map_sub_char_table_for_charset): New function.
11389 (map_char_table_for_charset): New function.
11390
11391 * keymap.c (describe_vector): Handle a char-table directly here.
11392 (describe_char_table): Delete.
11393
11394 * lisp.h (map_charset_chars): Delete.
11395
113962008-02-01 Dave Love <fx@gnu.org>
11397
11398 * fns.c (count_combining): Comment out (unused).
11399 (Flocale_codeset): New.
11400 (syms_of_fns): Defsubr it.
11401
11402 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11403 (size_t): Remove.
11404
114052008-02-01 Dave Love <fx@gnu.org>
11406
11407 * Makefile.in (chartab.o): Depend on charset.h.
11408
114092008-02-01 Kenichi Handa <handa@m17n.org>
11410
11411 * character.c (syms_of_character): Set the default value of
11412 Vprintable_chars to Qnil.
11413
114142008-02-01 Dave Love <fx@gnu.org>
11415
11416 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11417
114182008-02-01 Kenichi Handa <handa@m17n.org>
11419
11420 * charset.c (load_charset_map): Handle the case that from < to
11421 correctly.
11422
11423 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11424 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11425 Pay attention to raw-8-bit chars.
11426
114272008-02-01 Kenichi Handa <handa@m17n.org>
11428
11429 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11430 It is not bytecompiled now.
11431
11432 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11433 (charset_jisx0208): New variables.
11434 (Fdefine_charset_internal): Setup them if appropriate.
11435 (init_charset_once): Initialize them to -1.
11436
11437 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11438 (charset_jisx0208): Extern them.
11439
11440 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11441 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11442 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11443 (setup_iso_safe_charsets): Fix arguments to Fassq.
11444 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11445 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11446 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11447 (encode_coding_iso_2022): Change the 1st arg to
11448 ENCODE_ISO_CHARACTER to a variable.
11449
114502008-02-01 Kenichi Handa <handa@m17n.org>
11451
11452 * charset.h (enum define_charset_arg_index): New enums
11453 charset_arg_min_code and charset_arg_max_code.
11454 (struct charset): New member char_index_offset.
11455
11456 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11457 Take charset->char_index_offset into account.
11458 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11459 args[charset_arg_max_code]. Setup charset.char_index_offset.
11460 (syms_of_charset): Fix args to Fdefine_charset_internal.
11461
114622008-02-01 Dave Love <fx@gnu.org>
11463
11464 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11465
114662008-02-01 Dave Love <fx@gnu.org>
11467
11468 * coding.c: Doc fixes.
11469 (Fcoding_system_aliases): Fix return value.
11470 (Qmac): Remove (duplicated) definition.
11471
114722008-02-01 Dave Love <fx@gnu.org>
11473
11474 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11475 functions.
11476
11477 * character.c (Fstring): Doc fix.
11478
11479 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11480
11481 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11482 ids.
11483 (font-encoding-alist): Doc fix.
11484
114852008-02-01 Dave Love <fx@gnu.org>
11486
11487 * term.c (costs_set): Declare static, non-initialized for pcc.
11488 (encode_terminal_code): Remove unused var.
11489
11490 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11491 for K&R.
11492
11493 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11494
11495 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11496 (suffixes): Move out of make_subsidiaries for K&R.
11497
11498 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11499
11500 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11501
115022008-02-01 Dave Love <fx@gnu.org>
11503
11504 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11505
11506 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11507
115082008-02-01 Yong Lu <lyongu@asia-infonet.com>
11509
11510 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11511
11512 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11513
115142008-02-01 Kenichi Handa <handa@m17n.org>
11515
11516 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11517 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11518
115192008-02-01 Kenichi Handa <handa@m17n.org>
11520
11521 * coding.c (decode_coding_charset): Adjust for the change of
11522 Fdefine_coding_system_internal.
11523 (Fdefine_coding_system_internal): For a coding system of
11524 `charset' type, store a list of charset IDs in
11525 `charset_attr_charset_valids' element of coding attributes.
11526
115272008-02-01 Kenichi Handa <handa@m17n.org>
11528
11529 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11530 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11531 caller. Handle 2-byte and 3-byte charsets correctly.
11532 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11533 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11534 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11535 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11536 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11537 sequence.
11538 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11539 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11540 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11541 and alt&rule composition.
11542 (decode_coding_iso_2022): Handle composition correctly.
11543 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11544
11545 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11546 re-defining a charset. If the charset has :emacs-mule-id, setup
11547 emacs_mule_bytes.
11548 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11549
115502008-02-01 Kenichi Handa <handa@m17n.org>
11551
11552 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11553 (encode_coding_big5, encode_coding_charset): If coding requires safe
11554 encoding, produce a character specified by
11555 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11556
115572008-02-01 Dave Love <fx@gnu.org>
11558
11559 * xterm.c (XSetIMValues): Declare.
11560
11561 * process.c: Conditionally include sys/wait.h, pty.h.
11562
11563 * print.c (print_object): Fix print format for 64-bit systems.
11564
11565 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11566
11567 * buffer.c (emacs_strerror): Declare.
11568
11569 * fontset.c (Fclear_face_cache): Declare.
11570 (accumulate_font_info): Comment-out (unused).
11571 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11572 variables.
11573
11574 * character.h (string_escape_byte8): Declare.
11575
11576 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11577 unused vars.
11578 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11579 (Fmap_charset_chars): Doc fix.
11580
11581 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11582 (Fset_coding_system_priority, Fset_coding_system_priority)
11583 (Fdefine_coding_system_internal): Doc fix.
11584
115852008-02-01 Dave Love <fx@gnu.org>
11586
11587 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11588
115892008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * character.c (string_escape_byte8): Make multibyte string with
11592 correct size.
11593
11594 * charset.c (Fmake_char): Delete unnecessary code.
11595
115962008-02-01 Kenichi Handa <handa@m17n.org>
11597
11598 * xfns.c (x_encode_text): Allocate coding.destination here, and
11599 call encode_coding_object with dst_object Qnil.
11600
11601 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11602 multibyte form correctly.
11603
11604 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11605 against Vfont_encoding_alist.
11606
11607 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11608 handling of charset list.
11609 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11610 (decode_coding_object): Move point to coding->dst_pos before
11611 calling post-read-conversion function.
11612 (encode_coding_object): Give correct arguments to
11613 pre-write-conversion. Ignore the return value of
11614 pre-write-conversion function. Pay attention to the case that
11615 pre-write-conversion changes the current buffer. If dst_object is
11616 Qt, even if coding->src_bytes is zero, allocate at least one byte
11617 to coding->destination.
11618
11619 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11620
11621 * charset.c (Fmake_char): Make it more backward compatible.
11622 (Fmap_charset_chars): Fix docstring.
11623
116242008-02-01 Dave Love <fx@gnu.org>
11625
11626 * coding.c: Doc fixes.
11627 (Fdefine_coding_system_alias): Use names, not symbols, in
11628 coding-system-alist.
11629
116302008-02-01 Kenichi Handa <handa@m17n.org>
11631
11632 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11633 of calling free_realized_face.
11634
116352008-02-01 Yong Lu <lyongu@asia-infonet.com>
11636
11637 * charset.c (read_hex): Don't treat SPC as a comment starter.
11638 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11639 (Fdecode_char): Fix typo.
11640
116412008-02-01 Kenichi Handa <handa@m17n.org>
11642
11643 * charset.h (struct charset): New member `code_space_mask'.
11644
11645 * coding.c (coding_set_source): Delete the local variable beg_byte.
11646 (encode_coding_charset, Fdefine_coding_system_internal):
11647 Delete the local variable charset.
11648 (Fdefine_coding_system_internal): Setup
11649 attrs[coding_attr_charset_valids] correctly.
11650
11651 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11652 member to check if CODE is valid or not.
11653 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11654 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11655 is within the range of charset->min_code and carset->max_code.
11656
116572008-02-01 Dave Love <fx@gnu.org>
11658
11659 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11660
11661 * dispextern.h (generate_ascii_font): Fix return type.
11662
11663 * xfaces.c (generate_ascii_font): Fix arg declaration.
11664
11665 * coding.c (coding_inherit_eol_type)
11666 (Fset_terminal_coding_system_internal)
11667 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11668
116692008-02-01 Kenichi Handa <handa@m17n.org>
11670
11671 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11672 multiple charsets correctly.
11673
116742008-02-01 Kenichi Handa <handa@m17n.org>
11675
11676 * search.c (boyer_moore): Fix handling of multibyte character
11677 translation.
11678
11679 * xdisp.c (display_mode_element): When the variable `elt' is
11680 changed, update `this' and `lisp_string'.
11681
116822008-02-01 Kenichi Handa <handa@m17n.org>
11683
11684 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11685
11686 * callproc.c (Fcall_process): Be sure to give the current buffer
11687 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11688
11689 * charset.c (struct charset_map_entries): New struct.
11690 (load_charset_map): Rename from parse_charset_map. New args
11691 entries and n_entries. Change caller.
11692 (load_charset_map_from_file): Rename from load_charset_map.
11693 Change caller. New arg control_flag. Call load_charset_map at
11694 the tail.
11695 (load_charset_map_from_vector): New function.
11696 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11697 (encode_char): If the charset is compact, change a character index
11698 to a code point.
11699
11700 * coding.c (coding_alloc_by_making_gap): Check the case that the
11701 source and destination are the same correctly.
11702 (decode_coding_raw_text): Set coding->consumed_char and
11703 coding->consumed to 0.
11704 (produce_chars): If coding->chars_at_source is nonzero, update
11705 coding->consumed_char and coding->consumed before calling
11706 alloc_destination.
11707 (Fdefine_coding_system_alias): Register ALIAS in
11708 Vcoding_system_alist.
11709 (syms_of_coding): Define `no-conversion' coding system at the tail.
11710
11711 * fileio.c (Finsert_file_contents): Set coding_system instead of
11712 val. If the current buffer is multibyte, always call
11713 decode_coding_gap.
11714
11715 * xfaces.c (try_font_list): Give higher priority to fontset's
11716 family than face's family.
11717
117182008-02-01 Kenichi Handa <handa@m17n.org>
11719
11720 * callproc.c (Fcall_process): Be sure to give the current buffer
11721 to decode_coding_c_string.
11722
11723 * xfaces.c (try_font_list): Give a family specified in a fontset
11724 higher priority than a family specified in a face.
11725
117262008-02-01 Kenichi Handa <handa@m17n.org>
11727
11728 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11729 Fix arguments to insert_from_buffer.
11730
11731 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11736 (decode_coding_gap): Set coding->dst_multibyte correctly.
11737
117382008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11741 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11742 (encode_coding_utf_16): Substitute coding->default_char for
11743 non-Unicode characters.
11744 (decode_coding): Don't call record_insert here.
11745 (setup_coding_system): Initialize `surrogate' of
11746 coding->spec.utf_16 to 0.
11747 (EMIT_ONE_BYTE): Fix for multibyte case.
11748
11749 * insdel.c (insert_from_gap): Call record_insert.
11750
117512008-02-01 Kenichi Handa <handa@m17n.org>
11752
11753 * casefiddle.c (casify_region): Fix multibyte case.
11754
11755 * character.c (c_string_width): Add return type `int'.
11756 (char_string_with_unification): Delete arg ADVANCED.
11757
11758 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11759 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11760 (CHAR_STRING_ADVANCE): Make it do-while statement.
11761
11762 * chartab.c (sub_char_table_set_range): Optimize for the case
11763 DEPTH == 3. Add workaround code for a GCC optimization bug.
11764
11765 * charset.c (parse_charset_map): Remove an unused variable.
11766
11767 * coding.c: Delete unused variables.
11768
11769 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11770 earlier. If inserted is zero and the coding system doesn't
11771 require flushing, don't call decode_coding_gap.
11772
11773 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11774
117752008-02-01 Kenichi Handa <handa@m17n.org>
11776
11777 The following changes are for using Unicode as an internal
11778 character model, and use UTF-8 format for buffer/string
11779 representation.
11780
11781 * .gdbinit (xchartable): Adjust for the change of char table structure.
11782 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11783
11784 * Makefile.in (obj): Add character.o and chartab.o.
11785 (lisp, shortlisp): Remove utf-8.elc.
11786 (*.o): For many files, change dependency on charset.h to
11787 character.h, and add dependency on character.h.
11788 (character.o, chartab.o): New targets.
11789
11790 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11791 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11792 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11793 of "charset.h".
11794
11795 * dired.c, filelock.c: Include "character.h".
11796
11797 * alloc.c: Include "character.h" instead of "charset.h".
11798 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11799 (syms_of_alloc): Remove defsubr for Smake_char_table.
11800
11801 * buffer.c: Include "character.h" instead of "charset.h", don't
11802 include "coding.h".
11803 (Fset_buffer_multibyte): Adjust for UTF-8.
11804
11805 * buffer.h: EXFUN Fbuffer_live_p.
11806
11807 * callproc.c: Include "character.h" instead of "charset.h".
11808 (Fcall_process): Big change for the new code-conversion APIs.
11809
11810 * casetab.c: Include "character.h" instead of "charset.h".
11811 (set_canon, set_identity, shuffle): Adjust for the new
11812 map_char_table spec.
11813 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11814 accessing the char table structure.
11815
11816 * chartab.c: New file that implements char table.
11817
11818 * category.c: Include "character.h".
11819 (copy_category_entry): New function.
11820 (copy_category_table): Call map_char_table and copy_category_entry.
11821 (Fmake_category_table): Initialize all top-level slots.
11822 (char_category_set): New function.
11823 (modify_lower_category_set): Delete.
11824 (Fmodify_category_entry): Call char_table_ref_and_range.
11825
11826 * category.h (CATEGORY_SET): Just call char_category_set.
11827
11828 * ccl.c: Include "character.h".
11829 (Qccl, Qcclp): New variables.
11830 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11831 it's less than 256.
11832 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11833 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11834 and DST type.
11835 (ccl_driver): Change types of argument, adjust code accordingly.
11836 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11837 ccl_driver.
11838 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11839
11840 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11841 New members src_multibyte, dst_multibyte, consumed, and produced.
11842 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11843 (CODING_SPEC_CCL_PROGRAM): New macro.
11844 (ccl_driver): Update prototype.
11845 (Qccl, Qcclp, Fccl_program_p): Extern them.
11846 (CHECK_CCL_PROGRAM): New macro.
11847
11848 * character.c, character.h, chartab.c: New files.
11849
11850 * charset.c: Mostly re-written. Move character and multibyte sequence
11851 handling codes to character.c.
11852
11853 * charset.h: Mostly re-written. Move character and multibyte sequence
11854 handling codes to character.h.
11855
11856 * coding.c, coding.h: Mostly re-written.
11857
11858 * composite.c: Include "character.h" instead of "charset.h".
11859 (CHAR_WIDTH): Move to character.h.
11860 (HASH_KEY, HASH_VALUE): Delete.
11861
11862 * composite.h (enum composition_method): Change order of enumeration
11863 symbols.
11864
11865 * data.c: Include "character.h" instead of "charset.h".
11866 (Faref): Call CHAR_TABLE_REF for a char table.
11867 (Faset): Call CHAR_TABLE_SET for a char table.
11868
11869 * dispextern.h (free_realized_face, check_face_attribytes)
11870 (generate_ascii_font): Extern them.
11871 (free_realized_multibyte_face): Delete extern.
11872
11873 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
11874 table structure.
11875
11876 * editfns.c: Include "character.h" instead of "charset.h".
11877 (Fchar_to_string): Always call CHAR_STRING.
11878
11879 * emacs.c (main): Call init_charset_once, init_charset,
11880 syms_of_chartab, and syms_of_character.
11881
11882 * fileio.c: Include "character.h" instead of "charset.h".
11883 (Finsert_file_contents): Big change for the new code-conversion API.
11884 (choose_write_coding_system, Fwrite_region): Likewise.
11885 (build_annotations_2): Delete.
11886 (e_write): Big change for the new code-conversion API.
11887
11888 * fns.c: Include "character.h" instead of "charset.h".
11889 (copy_sub_char_table): Move to chartab.c.
11890 (Fcopy_sequence): Call copy_char_table for a char table.
11891 (concat): Delete codes calling count_multibyte.
11892 (string_char_to_byte, string_byte_to_char): Adjust for the new
11893 multibyte form.
11894 (internal_equal): Adjust for the change of char table structure.
11895 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11896 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11897 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11898 (char_table_translate, optimize_sub_char_table)
11899 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
11900 chartab.c.
11901 (char_table_ref_and_index): Delete.
11902 (HASH_KEY, HASH_VALUE): Move to lisp.h.
11903 (Fmd5): Call preferred_coding_system instead of accessing
11904 Vcoding_category_list. Adjust for the new code-conversion API.
11905 (syms_of_fns): Move defsubr for char table related functions to
11906 chartab.c.
11907
11908 * fontset.c: Mostly re-written.
11909
11910 * fontset.h (struct font_info): Change type of the member encoding_type.
11911 (enum FONT_SPEC_INDEX): New enum.
11912 (fontset_font_pattern, fs_load_font): Update prototype.
11913 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
11914
11915 * indent.c: Include "character.h" instead of "charset.h".
11916 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
11917
11918 * insdel.c: Include "character.h" instead of "charset.h".
11919 (copy_text): Don't refer to Vnonascii_translation_table.
11920 (insert_from_gap): New function.
11921
11922 * keyboard.c: Include "character.h" instead of "charset.h".
11923 (command_loop_1): Never call direct_output_forward_char before
11924 a non-ASCII character.
11925 (read_char): If Vkeyboard_translate_table is a char table, always
11926 translate a character.
11927
11928 * keymap.c: Include "character.h".
11929 (store_in_keymap): Handle the case that IDX is a cons.
11930 (Fdefine_key): Handle the case that KEY is a cons and the car part
11931 is also a cons (range).
11932 (push_key_description): Adjust for the new character code.
11933 (describe_vector): Call describe_char_table for a char table.
11934 (describe_char_table): New function.
11935
11936 * keymap.h (describe_char_table): Extern it.
11937
11938 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11939 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
11940 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11941 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11942 Delete.
11943 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
11944 structure.
11945 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
11946 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11947 (CHARTAB_SIZE_BITS_3): New macros.
11948 (chartab_size): Extern it.
11949 (struct Lisp_Char_Table): Re-design.
11950 (struct Lisp_Sub_Char_Table): New structure.
11951 (HASH_KEY, HASH_VALUE): Move from fns.c.
11952 (CHARACTERBITS): Define as 22.
11953 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
11954 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11955 (GC_SUB_CHAR_TABLE_P): New macro.
11956 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11957 (code_convert_string_norecord): Deleted extern.
11958 (init_character_once, syms_of_character, init_charset)
11959 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
11960
11961 * lread.c: Include "character.h".
11962 (read_multibyte): New arg NBYTES.
11963 (read_escape): Change the meaning of returned *BYTEREP.
11964 (to_multibyte): Delete.
11965 (read1): Adjust the handling of char table and string.
11966
11967 * print.c: Include "character.h" instead of "charset.h".
11968 (print_string): Convert 8-bit raw bytes to octal form by
11969 string_escape_byte8.
11970 (print_object): Adjust for the new multibyte form. Print 8-bit
11971 raw bytes always in octal form. Handle sub char table correctly.
11972
11973 * process.c: Include "character.h" instead of "charset.h".
11974 (read_process_output, send_process): Adjust for the new
11975 code-conversion API.
11976
11977 * puresize.h (BASE_PURESIZE): Increase.
11978
11979 * regex.c: Include "character.h" instead of "charset.h".
11980 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11981 (regex_compile): Accept a range whose starting and ending
11982 character have different leading bytes.
11983 (analyse_first): Adjust for the above change.
11984
11985 * search.c: Include "character.h" instead of "charset.h".
11986 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11987 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
11988
11989 * syntax.c: Include "character.h" instead of "charset.h".
11990 (syntax_parent_lookup): Delete.
11991 (Fmodify_syntax_entry): Accept a cons as CHAR.
11992 (skip_chars): Adjust for the new multibyte form.
11993 (init_syntax_once): Call char_table_set_range instead of directly
11994 accessing the structure of a char table.
11995
11996 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
11997 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
11998 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11999 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12000
12001 * term.c: Include "buffer.h" and "character.h".
12002 (encode_terminal_code, write_glyphs): Adjust for the new
12003 code-conversion API.
12004 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12005
12006 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12007
12008 * xdisp.c: Include "character.h".
12009 (get_next_display_element): Adjust for the new multibyte form.
12010 (disp_char_vector): Adjust for the new char table structure.
12011 (decode_mode_spec_coding): Adjust for the new structure of
12012 coding system.
12013 (decode_mode_spec): Adjust for the new code-conversion API.
12014
12015 * xfaces.c: Include "character.h" instead of "charset.h".
12016 (load_face_font): Adjust for the change of choose_face_font and
12017 FS_LOAD_FONT.
12018 (generate_ascii_font): New function.
12019 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12020 (set_font_frame_param): Adjust for the change of choose_face_font.
12021 (free_realized_face): Make it public.
12022 (free_realized_faces_for_fontset): Rename from
12023 free_realized_multibyte_face. Free also faces realized for ASCII.
12024 (choose_face_font): Change arguments. Adjust for the change of
12025 fontset_font_pattern and FS_LOAD_FONT.
12026
12027 * xfns.c: Include "character.h".
12028 (x_encode_text): Adjust for the new code-conversion API.
12029
12030 * xselect.c: Don't include "charset.h".
12031 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12032
12033 * xterm.c: Include "character.h".
12034 (x_encode_char): New argument CHARSET. Change caller.
12035 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12036 Call ENCODE_CHAR instead of SPLIT_CHAR.
12037 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12038 CHAR_WIDTH instead of CHARSET_WIDTH.
12039 (XTread_socket): Adjust for the new code-conversion API.
12040 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12041 (x_load_font): Adjust for the change of struct font.
12042
120432008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12044
12045 * xfaces.c (face_at_buffer_position): Remove unused vars.
12046
120472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12048
12049 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12050 Fix overflow checking.
12051
120522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12053
12054 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12055 Cancel previous change.
12056
120572008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12058
12059 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12060 ccl->eight_bit_control. Fix check for buffer overflow.
12061 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12062 (ccl_driver): Initialize extra_bytes to 0.
12063
120642008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12065
12066 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12067 return it ORed with ctrl_modifier.
12068
120692008-01-29 Miles Bader <miles@gnu.org>
12070
12071 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12072
120732008-01-28 Jason Rumney <jasonr@gnu.org>
12074
12075 * w32.c (stat): Don't double check for networked drive.
12076
120772008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12078
12079 * window.c (run_window_configuration_change_hook): New function.
12080 Code extracted from set_window_buffer. Set the selected frame.
12081 (set_window_buffer): Use it.
12082 * window.h (run_window_configuration_change_hook): Declare.
12083 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12084
12085 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12086
120872008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12088
12089 * Makefile.in: Remove references to unused macros.
12090
120912008-01-26 Eli Zaretskii <eliz@gnu.org>
12092
12093 * w32.c (g_b_init_get_sid_sub_authority)
12094 (g_b_init_get_sid_sub_authority_count): New static variables.
12095 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12096 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12097 (init_user_info): Use them to retrieve uid and gid.
12098 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12099 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12100 st_uid and st_gid of the file.
12101
121022008-01-26 Jason Rumney <jasonr@gnu.org>
12103
12104 * w32.c (logon_network_drive): New function.
12105 (stat): Use it.
12106
121072008-01-26 Chong Yidong <cyd@stupidchicken.com>
12108
12109 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12110 invisible text covered with an ellipsis.
12111
121122008-01-25 Richard Stallman <rms@gnu.org>
12113
12114 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12115 jump back to beginning. Move some other initializations after that.
12116 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12117 New variables.
12118 (syms_of_xdisp): Init them.
12119
12120 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12121
12122 * buffer.c (reset_buffer_local_variables):
12123 Implement `permanent-local-hook'.
12124 (Qpermanent_local_hook): New variable.
12125 (syms_of_buffer): Init and staticpro it.
12126
121272008-01-25 Michael Albinus <michael.albinus@gmx.de>
12128
12129 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12130
121312008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12132
12133 * fns.c (Fclrhash): Return TABLE.
12134
121352008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12136
12137 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12138 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12139 is set even without positional changes.
12140 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12141
12142 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12143
121442008-01-23 Jason Rumney <jasonr@gnu.org>
12145
12146 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12147
12148 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12149 the unicode range available in MULE by locale-coding-system.
12150 Improve dbcs lead byte detection. Set event timestamp and modifiers
12151 earlier.
12152
121532008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12154
12155 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12156 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12157 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12158 when used on child processes.
12159
121602008-01-21 Michael Albinus <michael.albinus@gmx.de>
12161
12162 * dbusbind.c (Fdbus_method_return_internal): Rename from
12163 Fdbus_method_return.
12164 (Fdbus_unregister_object): Move to dbus.el.
12165 (Fdbus_call_method, Fdbus_method_return_internal)
12166 (Fdbus_send_signal): Improve debug messages.
12167
121682008-01-20 Martin Rudalics <rudalics@gmx.at>
12169
12170 * undo.c (undo_inhibit_record_point): New variable.
12171 (syms_of_undo): Initialize it.
12172 (record_point): Don't record point when undo_inhibit_record_point
12173 is set.
12174
121752008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12176
12177 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12178
12179 * xdisp.c (Qauto_hscroll_mode): New var.
12180 (syms_of_xdisp): Initialize it.
12181 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12182 window's buffer.
12183 (hscroll_windows): Don't check automatic_hscrolling_p here.
12184
12185 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12186 vscroll if we're setting window-buffer to the value it already has.
12187
121882008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12189
12190 * m/intel386.h: Remove references to XENIX.
12191
121922008-01-17 Andreas Schwab <schwab@suse.de>
12193
12194 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12195 instead of HAVE_X86_64_LIB64_DIR.
12196 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12197
121982008-01-17 Glenn Morris <rgm@gnu.org>
12199
12200 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12201 to HAVE_X86_64_LIB64_DIR.
12202
122032008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12204
12205 * s/irix3-3.h:
12206 * s/irix4-0.h:
12207 * s/386-ix.h:
12208 * s/domain.h:
12209 * s/hpux9-x11r4.h:
12210 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12211
12212 * sysdep.c: Remove code containing references to symbols defined
12213 by unsupported systems.
12214
122152008-01-16 Glenn Morris <rgm@gnu.org>
12216
12217 * coding.c (select-safe-coding-system-function): Doc fix.
12218
122192008-01-15 Glenn Morris <rgm@gnu.org>
12220
12221 * config.in: Revert 2008-01-13 change: this is a generated file.
12222
122232008-01-13 Tom Tromey <tromey@redhat.com>
12224
12225 * lisp.h: Fix typo.
12226
122272008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12228
12229 * m/sequent-ptx.h:
12230 * m/sequent.h:
12231 * s/ptx.h:
12232 * s/ptx4-2.h:
12233 * s/ptx4.h: Remove files for systems no longer supported.
12234
12235 * callproc.c (Fcall_process): Fix previous change.
12236
122372008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12238
12239 * unexsunos4.c: Remove file, system not supported anymore.
12240
12241 * m/mips.h:
12242 * m/intel386.h:
12243 * callproc.c:
12244 * config.in:
12245 * ecrt0.c:
12246 * emacs.c:
12247 * fileio.c:
12248 * frame.c:
12249 * getpagesize.h:
12250 * keyboard.c:
12251 * lread.c:
12252 * process.c:
12253 * puresize.h:
12254 * sysdep.c:
12255 * systty.h:
12256 * syswait.h:
12257 * unexec.c:
12258 * xdisp.c:
12259 * alloc.c: Remove code containing references to symbols defined by
12260 unsupported systems.
12261
122622008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12263
12264 * coding.c (detect_coding_mask): Fix previous change.
12265
122662008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12267
12268 * coding.c (detect_coding_iso2022): New arg
12269 latin_extra_code_state. Allow Latin extra codes only
12270 when *latin_extra_code_state is nonzero.
12271 (detect_coding_mask): If there is a NULL byte, detect the encoding
12272 as UTF-16 or binary. If Latin extra codes exist, detect the
12273 encoding as ISO-2022 only when there's no other proper encoding is
12274 found.
12275
122762008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12277
12278 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12279 #ifdef MAC_OS.
12280
122812008-01-08 Richard Stallman <rms@gnu.org>
12282
12283 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12284
122852008-01-06 Nick Roberts <nickrob@snap.net.nz>
12286
12287 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12288 menu bar in parentheses.
12289
122902008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12291
12292 * m/7300.h:
12293 * m/acorn.h:
12294 * m/alliant-2800.h:
12295 * m/alliant.h:
12296 * m/alliant1.h:
12297 * m/alliant4.h:
12298 * m/altos.h:
12299 * m/amdahl.h:
12300 * m/apollo.h:
12301 * m/att3b.h:
12302 * m/aviion-intel.h:
12303 * m/aviion.h:
12304 * m/celerity.h:
12305 * m/clipper.h:
12306 * m/cnvrgnt.h:
12307 * m/convex.h:
12308 * m/cydra5.h:
12309 * m/delta88k.h:
12310 * m/dpx2.h:
12311 * m/dual.h:
12312 * m/elxsi.h:
12313 * m/f301.h:
12314 * m/gould-np1.h:
12315 * m/gould.h:
12316 * m/i860.h:
12317 * m/ibmps2-aix.h:
12318 * m/ibmrt-aix.h:
12319 * m/ibmrt.h:
12320 * m/irist.h:
12321 * m/is386.h:
12322 * m/isi-ov.h:
12323 * m/mega68.h:
12324 * m/mg1.h:
12325 * m/news-r6.h:
12326 * m/news-risc.h:
12327 * m/news.h:
12328 * m/nh3000.h:
12329 * m/nh4000.h:
12330 * m/ns16000.h:
12331 * m/ns32000.h:
12332 * m/nu.h:
12333 * m/orion.h:
12334 * m/orion105.h:
12335 * m/paragon.h:
12336 * m/pfa50.h:
12337 * m/plexus.h:
12338 * m/pyramid.h:
12339 * m/pyrmips.h:
12340 * m/sh3el.h:
12341 * m/sps7.h:
12342 * m/sr2k.h:
12343 * m/stride.h:
12344 * m/sun1.h:
12345 * m/sun2.h:
12346 * m/sun3-68881.h:
12347 * m/sun3-fpa.h:
12348 * m/sun3-soft.h:
12349 * m/sun3.h:
12350 * m/sun386.h:
12351 * m/symmetry.h:
12352 * m/tad68k.h:
12353 * m/tahoe.h:
12354 * m/targon31.h:
12355 * m/tek4300.h:
12356 * m/tekxd88.h:
12357 * m/tower32.h:
12358 * m/tower32v3.h:
12359 * m/ustation.h:
12360 * m/wicat.h:
12361 * m/xps100.h:
12362 * s/cxux.h:
12363 * s/cxux7.h:
12364 * s/dgux.h:
12365 * s/dgux4.h:
12366 * s/dgux5-4-3.h:
12367 * s/dgux5-4r2.h:
12368 * s/esix.h:
12369 * s/esix5r4.h:
12370 * s/hiuxmpp.h:
12371 * s/hiuxwe2.h:
12372 * s/iris3-5.h:
12373 * s/iris3-6.h:
12374 * s/isc2-2.h:
12375 * s/isc3-0.h:
12376 * s/isc4-0.h:
12377 * s/isc4-1.h:
12378 * s/newsos5.h:
12379 * s/newsos6.h:
12380 * s/osf1.h:
12381 * s/osf5-0.h:
12382 * s/riscix1-1.h:
12383 * s/riscix12.h:
12384 * s/sco4.h:
12385 * s/sco5.h:
12386 * s/sunos4-0.h:
12387 * s/sunos4-1.h:
12388 * s/sunos413.h:
12389 * s/sunos4shr.h:
12390 * s/umax.h:
12391 * s/unipl5-2.h:
12392 * s/xenix.h:
12393 * cxux-crt0.s:
12394 * unexapollo.c:
12395 * unexconvex.c:
12396 * unexenix.c:
12397 * unexsni.c: Remove files for systems no longer supported.
12398
12399 * m/intel386.h: Remove references to unsupported systems.
12400
12401 * w32.c (get_emacs_configuration): Remove reference to i860.
12402
12403 * sysdep.c: Remove dead code.
12404
124052008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12406
12407 * s/rtu.h:
12408 * m/masscomp.h: Remove files. Platform is obsolete.
12409
124102008-01-04 Michael Albinus <michael.albinus@gmx.de>
12411
12412 * dbusbind.c (Fdbus_method_return): New function.
12413 (xd_read_message): Add the serial number to the event.
12414 (Fdbus_register_method): Activate the function.
12415
124162008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12417
12418 * keyboard.c (read_key_sequence): Fix typo.
12419
124202008-01-03 Michael Albinus <michael.albinus@gmx.de>
12421
12422 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12423 (xd_signature, xd_append_arg): Handle element type detection for
12424 empty arrays.
12425 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12426 SDATA () calls; this must be solved more general.
12427 (Fdbus_register_signal): Use SBYTES instead of strlen.
12428
124292008-01-03 Magnus Henoch <magnus@zemdatav>
12430
12431 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12432 unsigned int for byte values (necessary for big-endian platform).
12433 (Fdbus_call_method): Handle the case of no returned arguments.
12434
124352007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12436
12437 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12438
124392007-12-31 Magnus Henoch <mange@freemail.hu>
12440
12441 * dbusbind.c (xd_signature): Signature of variant is just "v".
12442
124432007-12-30 Michael Albinus <michael.albinus@gmx.de>
12444
12445 * dbusbind.c: Fix several errors and compiler warnings.
12446 Reported by Tom Tromey <tromey@redhat.com>.
12447 (XD_ERROR, XD_DEBUG_MESSAGE)
12448 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12449 (xd_append_arg): Part for basic D-Bus types rewritten.
12450 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12451 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12452 appropriate.
12453 (xd_read_message): Return Qnil. Don't signal an error; it is not
12454 useful during event reading.
12455 (Fdbus_register_signal): Signal an error if the check for
12456 FUNCTIONP fails.
12457 (Fdbus_register_method): New function. The implementation is not
12458 complete, the call of the function signals an error therefore.
12459 (Fdbus_unregister_object): New function, renamed from
12460 Fdbus_unregister_signal. The initial check signals an error, if
12461 the object is not well formed.
12462
124632007-12-30 Richard Stallman <rms@gnu.org>
12464
12465 * textprop.c (get_char_property_and_overlay):
12466 Signal error if POSITION is out of range in a buffer.
12467
124682007-12-29 Martin Rudalics <rudalics@gmx.at>
12469
12470 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12471 because the original parameters are in pure storage now.
12472
124732007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12474
12475 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12476
124772007-12-22 Eli Zaretskii <eliz@gnu.org>
12478
12479 * callint.c (syms_of_callint) <command-history>: Add reference to
12480 history-length in the doc string.
12481
124822007-12-17 Jason Rumney <jasonr@gnu.org>
12483
12484 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12485 before passing as wParam.
12486
124872007-12-22 Michael Albinus <michael.albinus@gmx.de>
12488
12489 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12490 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12491 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12492 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12493 as number.
12494 (Fdbus_call_method): Fix docstring.
12495
124962007-12-21 Michael Albinus <michael.albinus@gmx.de>
12497
12498 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12499 New macros.
12500 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12501 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12502 Simplify.
12503 (xd_signature): New function.
12504 (xd_append_arg): Compute also signatures. Major rewrite.
12505 (xd_retrieve_arg): Make debug messages friendly.
12506 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12507 Check for signatures of arguments.
12508
125092007-12-19 Michael Albinus <michael.albinus@gmx.de>
12510
12511 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12512 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12513 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12514 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12515 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12516 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12517 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12518 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12519 (xd_retrieve_value): Remove. Functionality included in ...
12520 (xd_append_arg): New function.
12521 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12522
125232007-12-16 Michael Albinus <michael.albinus@gmx.de>
12524
12525 * dbusbind.c (top): Include <stdio.h>.
12526 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12527 dbus_message_new_method_call and dbus_message_new_signal.
12528 (Fdbus_register_signal): Rename unique_name to uname.
12529 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12530 non-existing unique name. Fix typos in matching rule. Return an
12531 object which is useful in Fdbus_unregister_signal.
12532 (Fdbus_unregister_signal): Reimplementation, in order to remove
12533 only the corresponding entry.
12534 (Vdbus_registered_functions_table): Change the order of entries.
12535 Apply these changes in xd_read_message and Fdbus_register_signal.
12536
125372007-12-16 Andreas Schwab <schwab@suse.de>
12538
12539 * fileio.c (Finsert_file_contents): Fix overflow check to not
12540 depend on undefined integer overflow.
12541
125422007-12-14 Jason Rumney <jasonr@gnu.org>
12543
12544 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12545 for characters above 127.
12546
125472007-12-13 Jason Rumney <jasonr@gnu.org>
12548
12549 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12550 before dereferencing array.
12551 (lookup_vk_code): Remove zero comparison.
12552
125532007-12-14 Michael Albinus <michael.albinus@gmx.de>
12554
12555 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12556 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12557 Use `unsigned int' instead of `uint'.
12558 (xd_read_message, Fdbus_register_signal): Split expressions into
12559 multiple lines before operators "&&" and "||", according to the
12560 GNU Coding Standards.
12561
125622007-12-14 Eli Zaretskii <eliz@gnu.org>
12563
12564 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12565
125662007-12-12 Juri Linkov <juri@jurta.org>
12567
12568 * buffer.c (Frename_buffer): In interactive spec replace
12569 `read-buffer' with `read-string' that uses `buffer-name-history'
12570 as history, and the current buffer's name as default.
12571
125722007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12573
12574 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12575 manipulating the backtrace manually.
12576 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12577 (struct backtrace, backtrace_list): Remove.
12578 (command_loop_1): Remove dead var `no_direct'.
12579
12580 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12581 preserve non-built-in buffer-local variables.
12582 (Fkill_all_local_variables): Don't re-create&re-set permanent
12583 buffer-local variables.
12584
125852007-12-09 Juri Linkov <juri@jurta.org>
12586
12587 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12588 Lisp code that uses `read-buffer' with current buffer as default.
12589
125902007-12-08 Michael Albinus <michael.albinus@gmx.de>
12591
12592 * dbusbind.c (xd_read_message): Generate an event for every
12593 registered handler. There might be several handlers registered
12594 for the same signal.
12595 (Fdbus_register_signal): Don't overwrite a registration for the
12596 same signal. Add a new registration if handlers are different.
12597 (Vdbus_registered_functions_table): Rework doc string.
12598
125992007-12-07 Michael Albinus <michael.albinus@gmx.de>
12600
12601 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12602 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12603 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12604 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12605 Unify argument lists.
12606 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12607 arguments and hash table keys. Use unique name for service.
12608 (Fdbus_unregister_signal): Remove checks.
12609 (Vdbus_registered_functions_table): Fix doc string.
12610
126112007-12-05 Magnus Henoch <mange@freemail.hu>
12612
12613 * process.c (make_process): Initialize pty_flag to 0.
12614
126152007-12-05 Jason Rumney <jasonr@gnu.org>
12616
12617 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12618 specified XBMs.
12619
126202007-12-05 Richard Stallman <rms@gnu.org>
12621
12622 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12623
126242007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12625
12626 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12627 New variable.
12628 (mac_try_close_socket) [MAC_OSX]: New function.
12629 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12630 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12631
12632 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12633 Use mac_try_close_socket.
12634
126352007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12636
12637 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12638 reloc_base.
12639 (copy_dysymtab): Compute relocation base here.
12640 (rebase_reloc_address) [__ppc64__]: New function.
12641 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12642 changed.
12643
126442007-12-05 Jason Rumney <jasonr@gnu.org>
12645
12646 * w32proc.c (sys_spawnve): Quote args with wildcards.
12647
126482007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12649
12650 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12651 __objc_* sections.
12652 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12653
126542007-12-05 Michael Albinus <michael.albinus@gmx.de>
12655
12656 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12657 Move check for Vdbus_registered_functions_table to
12658 xd_read_queued_messages.
12659 (xd_read_queued_messages): Protect xd_read_message calls by
12660 internal_condition_case_1.
12661
126622007-12-04 Michael Albinus <michael.albinus@gmx.de>
12663
12664 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12665 Qdbus_system_bus and Qdbus_session_bus, respectively.
12666 (Vdbus_intern_symbols): Remove.
12667 (Vdbus_registered_functions_table): New hash table.
12668 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12669 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12670 Rewrite in order to manage registered functions by hash table
12671 Vdbus_registered_functions_table.
12672
126732007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12674
12675 * xterm.c: Update URL to Window Manager Specification in comment.
12676
126772007-12-02 Michael Albinus <michael.albinus@gmx.de>
12678
12679 * config.in (HAVE_DBUS): Add.
12680
12681 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12682 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12683 (obj): Add $(DBUS_OBJ).
12684 (LIBES): Add $(DBUS_LIBS).
12685 (dbusbind.o): New target.
12686
12687 * dbusbind.c: New file.
12688
12689 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12690
12691 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12692 (Qdbus_event): New Lisp symbol.
12693 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12694 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12695 (keys_of_keyboard ): Define dbus-event.
12696
12697 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12698
126992007-12-01 Richard Stallman <rms@gnu.org>
12700
12701 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12702
127032007-11-30 Jason Rumney <jasonr@gnu.org>
12704
12705 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12706 (w32con_reset_terminal_modes): Clear screen buffer.
12707 (w32_face_attributes): Don't use color indexes that are out of range.
12708 Only reverse the default colors.
12709
12710 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12711 WINDOWSNT.
12712
12713 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12714
127152007-11-29 Jason Rumney <jasonr@gnu.org>
12716
12717 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12718 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12719 if the terminal colors are initialized.
12720 (unspecified_fg, unspecified_bg): Remove unused declarations.
12721
127222007-11-29 Andreas Schwab <schwab@suse.de>
12723
12724 * keyboard.c (apply_modifiers): Fix typo.
12725
127262007-11-29 Richard Stallman <rms@gnu.org>
12727
12728 * keymap.c (Fcurrent_local_map): Doc fix.
12729
127302007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12731
12732 * s/gnu-kfreebsd.h: New file.
12733
127342007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12735
12736 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12737 Don't cast redundantly.
12738
12739 * keyboard.c (KEY_TO_CHAR): New macro.
12740 (parse_modifiers, apply_modifiers): Accept integer arguments.
12741 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12742 for chars and symbol keys.
12743 After doing such remapping, apply function-key-map again.
12744
127452007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12746
12747 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12748 compiled anymore.
12749
127502007-11-26 Andreas Schwab <schwab@suse.de>
12751
12752 * process.c (list_processes_1): Fix indentation level of the
12753 command column.
12754
127552007-11-23 Andreas Schwab <schwab@suse.de>
12756
12757 * editfns.c (Fformat): Handle %c specially since it requires the
12758 argument to be of type int.
12759
127602007-11-23 Markus Triska <markus.triska@gmx.at>
12761
12762 * emacs.c (main): Call init_editfns before init_process, since
12763 init_process sets Vprocess_connection_type depending on OS release.
12764
127652007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12766
12767 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12768 (find_symbol_value): Use do_symval_forwarding.
12769
12770 * data.c (set_internal): Set the value in the `cons-cell' (for
12771 Buffer_Local_values) not only for frame-local variables.
12772
127732007-11-22 Andreas Schwab <schwab@suse.de>
12774
12775 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12776 values to sprintf.
12777 * keymap.c (Fsingle_key_description): Likewise.
12778 * print.c (print_object): Likewise.
12779
127802007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12781
12782 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12783 file for image is nil.
12784
127852007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12786
12787 * term.c: Include stdarg.h.
12788 (fatal): Implement using varargs.
12789 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12790
127912007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12792
12793 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12794 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12795 Update call to buffer_slot_type_mismatch.
12796 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12797 (buffer_slot_type_mismatch): Update.
12798 * buffer.c (buffer_local_types): Remove.
12799 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12800 (defvar_per_buffer): Set the type in the buffer_objfwd.
12801
128022007-11-21 Jason Rumney <jasonr@gnu.org>
12803
12804 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12805 CreateFileMapping returns NULL on failure.
12806
128072007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12808
12809 * search.c (Fset_match_data): Remove the `evaporate' feature.
12810 (unwind_set_match_data): Don't use the `evaporate' feature.
12811
128122007-11-21 Jason Rumney <jasonr@gnu.org>
12813
12814 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12815
12816 * w32console.c (w32con_write_glyphs): Remove unused variables.
12817
128182007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12819
12820 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12821
12822 * s/darwin.h (MULTI_KBOARD): Remove.
12823
12824 * macfns.c (x_create_tip_frame, Fx_create_frame)
12825 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12826
128272007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12828
12829 * buffer.c (Fbuffer_local_value): Remove redundant test.
12830 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12831 than in `current-buffer' to match the comment.
12832 Do the swap using swap_in_global_binding.
12833
12834 * data.c (store_symval_forwarding, set_internal):
12835 * eval.c (specbind): Remove dead code.
12836
12837 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12838 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12839 Since we do not want to see internal Lisp_*fwd objects here.
12840
128412007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12842
12843 * sysdep.c (init_system_name): Use getaddrinfo if available.
12844
12845 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12846 (x_scroll_bar_note_movement): start, end, with, height in struct
12847 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12848
128492007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12850
12851 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12852
128532007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12854
12855 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12856 This undoes Richard's change of 14-Oct-2002.
12857
12858 * alloc.c (allocate_other_vector):
12859 * lisp.h (allocate_other_vector): Remove.
12860
12861 * window.c (struct save_window_data): Move non-lisp data to the end
12862 and make it `int' rather than Lisp_Object.
12863 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12864 Done wrap/unwrap integer values.
12865 (Fset_window_configuration, compare_window_configurations):
12866 Update use of fields to their new types.
12867
12868 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12869 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12870 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12871 (SET_SCROLL_BAR_X_WINDOW): Remove.
12872 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12873 Access the new x_window field directly.
12874 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12875 Don't wrap/unwrap integers into Lisp_Objects.
12876 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12877 (x_scroll_bar_report_motion):
12878 Don't wrap/unwrap integers into Lisp_Objects.
12879 (x_term_init): Use SDATA.
12880 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12881 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12882 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12883 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12884 * xfns.c (x_set_background_color):
12885 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12886 Access the new x_window field directly.
12887
12888 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12889 (allocate_pseudovector): Make non-static.
12890
12891 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12892 (allocate_pseudovector): Declare.
12893 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
12894
128952007-11-15 Andreas Schwab <schwab@suse.de>
12896
12897 * editfns.c (Fformat): Correctly format EMACS_INT values.
12898 Also take precision into account when formatting an integer.
12899
12900 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12901
129022007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12903
12904 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12905 (syms_of_keyboard): Defsubr it.
12906
12907 * data.c (swap_in_global_binding): Fix longstanding bug where
12908 store_symval_forwarding was not called with the right second argument,
12909 thus causing objfwd-ing from being dropped.
12910
129112007-11-14 Juanma Barranquero <lekktu@gmail.com>
12912
12913 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12914 (Fx_display_pixel_height, Fx_display_planes)
12915 (Fx_display_color_cells, Fx_server_max_request_size)
12916 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12917 (Fx_display_visual_class, Fx_display_save_under):
12918 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12919 (Fx_display_pixel_height, Fx_display_planes)
12920 (Fx_display_color_cells, Fx_server_max_request_size)
12921 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12922 (Fx_display_mm_height, Fx_display_mm_width)
12923 (Fx_display_backing_store, Fx_display_visual_class)
12924 (Fw32_select_font, Fx_display_save_under):
12925 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12926 (Fx_display_pixel_height, Fx_display_planes)
12927 (Fx_display_color_cells, Fx_server_max_request_size)
12928 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12929 (Fx_display_save_under): Fix typos in docstrings.
12930
129312007-11-14 Juanma Barranquero <lekktu@gmail.com>
12932
12933 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12934 corresponding to deleted entries; they are an implementation detail.
12935 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12936 Remove variables.
12937 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12938 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12939 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12940 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12941 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
12942 (Fw32_define_rgb_color, Fw32_load_color_file)
12943 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
12944 Fix typos in docstrings.
12945 (Fx_server_version): Reflow docstring.
12946 (Fw32_shell_execute): Doc fixes.
12947
129482007-11-13 Juanma Barranquero <lekktu@gmail.com>
12949
12950 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12951 if w32_parse_hot_key returned nil.
12952
129532007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
12954
12955 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
12956
129572007-11-09 Jason Rumney <jasonr@gnu.org>
12958
12959 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12960
12961 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12962
12963 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12964 Remove W32_SCROLL_BAR_CLICK_EVENT.
12965
12966 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12967 Add MULTIMEDIA_KEY_EVENT.
12968
12969 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12970 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12971 (make_lispy_event) [WINDOWSNT]: Use it to translate
12972 MULTIMEDIA_KEY_EVENT.
12973
12974 * w32term.h (WM_APPCOMMAND): Define if not already.
12975 (GET_APPCOMMAND_LPARAM): Likewise.
12976
12977 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12978 WM_APPCOMMAND.
12979
12980 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12981 (syms_of_w32fns): Export and initialize it.
12982 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12983
129842007-11-09 Chong Yidong <cyd@stupidchicken.com>
12985
12986 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12987 twice.
12988
12989 * xdisp.c (handle_face_prop): Fix last change.
12990
129912007-11-09 Richard Stallman <rms@gnu.org>
12992
12993 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12994 not just for after-strings and before-strings.
12995 Call face_for_overlay_string and pass the overlay to it.
12996 (handle_display_prop): Determine whether property came from an overlay.
12997 Pass OVERLAY arg to handle_single_display_spec.
12998 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12999 (load_overlay_strings): Fill in it->string_overlays.
13000 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13001
13002 * xfaces.c (face_for_overlay_string): Function renamed from
13003 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13004
13005 * dispextern.h (struct it): New elt string_overlays.
13006 New elt from_overlay, also in stack.
13007 Rearrange a few elements.
13008 (face_for_overlay_string): Decl renamed from
13009 face_at_buffer_position_no_overlays, and add argument.
13010
130112007-11-09 Richard Stallman <rms@gnu.org>
13012
13013 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13014 to get the base face for an overlay string.
13015
13016 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13017
13018 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13019
13020 * xdisp.c (handle_stop): Move some code out of loop.
13021
130222007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13023
13024 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13025 Fix conversion from Lisp object to ATSUFontID.
13026
130272007-11-09 Jason Rumney <jasonr@gnu.org>
13028
13029 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13030
130312007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13032
13033 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13034 Don't assume regions are aligned to page boundary.
13035 (print_load_command_name): Add LC_UUID if defined.
13036
130372007-11-09 Richard Stallman <rms@gnu.org>
13038
13039 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13040
130412007-11-07 Jason Rumney <jasonr@gnu.org>
13042
13043 * s/windows95.h: Remove.
13044
130452007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13046
13047 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13048 abort with a message on unhandled store_type values.
13049
130502007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13051
13052 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13053 Remove HAVE_X11R5 and HAVE_X11R4.
13054
130552007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13056
13057 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13058
130592007-11-01 Johan Bockgård <bojohan@gnu.org>
13060
13061 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13062 Don't set s->stippled_p here, since it has already been set by
13063 x_set_glyph_string_gc from x_draw_glyph_string.
13064
130652007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13066
13067 * sunfns.c: Remove file.
13068
13069 * m/sun386.h:
13070 * m/sun2.h:
13071 * m/sparc.h: Remove Sun windows code.
13072
130732007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13074
13075 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13076 (init_keyboard): Set current_kboard's window-system to nil.
13077 (tty_read_avail_input): Typo.
13078 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13079
130802007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13081
13082 * s/usg5-4.h:
13083 * s/usg5-3.h:
13084 * s/ptx.h:
13085 * m/is386.h:
13086 * m/ibmps2-aix.h:
13087 * Makefile.in: Remove all mentions of X10.
13088
13089 * dispnew.c (syms_of_display): Don't mention version 10.
13090
130912007-10-28 Juanma Barranquero <lekktu@gmail.com>
13092
13093 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13094 ($(BLD)/abbrev.$(O)): Remove.
13095
130962007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13097
13098 Rewrite abbrev.c in Elisp.
13099 * image.c (Qcount): Don't declare as extern.
13100 (syms_of_image): Initialize and staticpro `Qcount'.
13101 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13102 * emacs.c (main): Don't call syms_of_abbrev.
13103 * Makefile.in (obj): Remove abbrev.o.
13104 (abbrev.o): Remove.
13105 * abbrev.c: Remove.
13106
131072007-10-26 Martin Rudalics <rudalics@gmx.at>
13108
13109 * window.c (window_min_size_2): Don't count header-line.
13110
131112007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13112
13113 * frame.h (struct frame): Move all bit fields after the first bit
13114 field to take advantage of the available space. Group all the
13115 chars together to reduce wasted space due to padding.
13116
131172007-10-26 Juanma Barranquero <lekktu@gmail.com>
13118
13119 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13120
13121 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13122 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13123 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13124 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13125 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13126 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13127 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13128 (last_marked, mark_object_loop_halt): Make static.
13129
13130 * frame.c (syms_of_frame) <delete-frame-functions>:
13131 Fix typo in docstring.
13132
131332007-10-25 Juanma Barranquero <lekktu@gmail.com>
13134
13135 * w32.c (init_environment): Fix tiny memory leak.
13136 (w32_get_resource): Remove unused variable `ok'.
13137
131382007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13139
13140 Make `window-system' into a keyboard-local variable (rather than
13141 frame-local as done originally by multi-tty).
13142
13143 * keyboard.h (struct kboard): Add Vwindow_system.
13144 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13145 (mark_kboards): Mark Vwindow_system.
13146
13147 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13148 (init_display): Don't set the obsolete `window-system' frame-param.
13149
13150 * xterm.c (x_term_init):
13151 * w32term.c (w32_create_terminal):
13152 * term.c (init_tty): Set Vwindow_system.
13153 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13154 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13155
13156 * xfns.c (Fx_create_frame, x_create_tip_frame):
13157 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13158 * macfns.c (Fx_create_frame):
13159 Don't set the obsolete `window-system' frame-param.
13160
13161 * frame.h (Qwindow_system): Remove.
13162 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13163 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13164
131652007-10-24 Richard Stallman <rms@gnu.org>
13166
13167 * frame.c (x_figure_window_size): For fullscreen case,
13168 set USPosition | PPosition without clobbering rest of window_prompting.
13169
13170 * keyboard.c (Fcurrent_idle_time): Doc fix.
13171
13172 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13173
131742007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13175
13176 * process.c (unwind_request_sigio): Only define if __ultrix__.
13177
13178 * callproc.c (child_setup): Remove spurious *.
13179
13180 * lisp.h (Fget_text_property): Declare.
13181 (have_menus_p): Declare it here rather than in sys-dep header files.
13182 * macterm.h (have_menus_p):
13183 * msdos.h (have_menus_p):
13184 * xterm.h (have_menus_p): Remove.
13185
13186 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13187 (Fmake_variable_frame_local): Just check the variable's const-ness
13188 rather than checking nil or t.
13189
131902007-10-22 Jason Rumney <jasonr@gnu.org>
13191
13192 * w32fns.c: Include math.h.
13193 (w32_abort): Declaration moved to nt/config.nt.
13194
13195 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13196 (abort): Redefinition moved to nt/config.nt.
13197
13198 * m/windowsnt.h: Remove.
13199
132002007-10-22 Juanma Barranquero <lekktu@gmail.com>
13201
13202 * emacs.c (Fdump_emacs): Fix typo in message.
13203 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13204 <installation-directory>: Reflow docstring.
13205
132062007-10-22 Juri Linkov <juri@jurta.org>
13207
13208 * minibuf.c: Allow minibuffer default to be a list of default values.
13209 With empty input use the first element of this list as returned default.
13210 (string_to_object)
13211 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13212 (read_minibuf): If defalt is cons, set histstring to its car.
13213 (Fread_string): If default_value is cons, set val to its car.
13214 (Fread_buffer): If def is cons, use its car.
13215 (Fcompleting_read): If defalt is cons, set val to its car.
13216
132172007-10-21 Michael Albinus <michael.albinus@gmx.de>
13218
13219 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13220
132212007-10-20 Juanma Barranquero <lekktu@gmail.com>
13222
13223 * doc.c (Fdocumentation): Check for advice in all cases.
13224
132252007-10-19 Chong Yidong <cyd@stupidchicken.com>
13226
13227 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13228
132292007-10-19 Richard Stallman <rms@gnu.org>
13230
13231 * doc.c (Fdocumentation): Check for and handle an advised function.
13232
132332007-10-19 Juanma Barranquero <lekktu@gmail.com>
13234
13235 * process.c (Fset_process_filter): Doc fix.
13236
132372007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13238
13239 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13240 which caused key-translation-map to applied repeatedly (thus breaking
13241 double-mode).
13242
132432007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13244
13245 * xselect.c (x_own_selection, x_handle_selection_clear)
13246 (x_clear_frame_selections):
13247 * w32menu.c (list_of_panes, list_of_items):
13248 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13249 * textprop.c (validate_plist, interval_has_all_properties)
13250 (interval_has_some_properties, interval_has_some_properties_list)
13251 (add_properties, text_property_list):
13252 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13253 * minibuf.c (Fassoc_string):
13254 * macselect.c (x_own_selection, x_clear_frame_selections)
13255 (Fx_disown_selection_internal):
13256 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13257 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13258
132592007-10-17 Chong Yidong <cyd@stupidchicken.com>
13260
13261 * process.c: Link to libs for calling res_init() if available.
13262 (Fmake_network_process): Call res_init() before getaddrinfo or
13263 gethostbyname, if possible.
13264
132652007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13266
13267 * lread.c (read1): Set pvectype for char_tables.
13268
13269 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13270 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13271 Add type checks.
13272 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13273
13274 * alloc.c (free_misc): Use XMISCTYPE.
13275 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13276
132772007-10-17 Glenn Morris <rgm@gnu.org>
13278
13279 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13280 (syms_of_minibuf): Add Qcompletion_ignore_case.
13281 * dired.c (Qcompletion_ignore_case): Change to external.
13282 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13283 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13284 (Fread_file_name): Use it rather than intern'ing.
13285
13286 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13287 (Fread_coding_system): Ignore case of user input.
13288
132892007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13290
13291 * xdisp.c (handle_display_prop): Ignore display specs after
13292 replacing one when string text is being replaced.
13293 (handle_single_display_spec): Pretend as if characters with display
13294 property haven't been consumed only when buffer text is being replaced.
13295
132962007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13297
13298 * xfns.c (Fx_create_frame, Fx_display_list):
13299 * window.c (window_fixed_size_p, enlarge_window)
13300 (shrink_window_lowest_first):
13301 * macterm.c (init_font_name_table):
13302 * macfns.c (Fx_create_frame, Fx_display_list):
13303 * lread.c (close_load_descs):
13304 * keyboard.c (read_char_x_menu_prompt):
13305 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13306 * coding.c (code_convert_region_unwind): Test the type of an object
13307 rather than just !NILP before extracting data from it.
13308
13309 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13310
13311 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13312 (XMISCANY): New macro.
13313 (XMISCTYPE): Use it.
13314 (struct Lisp_Misc_Any): New type.
13315 (union Lisp_Misc): Use it.
13316 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13317 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13318 (find_symbol_value, set_internal, default_value, Fset_default)
13319 (Fmake_variable_buffer_local, Fmake_local_variable)
13320 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13321 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13322 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13323 * alloc.c (allocate_buffer): Set the size and tag.
13324 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13325 Use XMISCANY.
13326 (die): Follow the GNU convention for error messages.
13327 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13328 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13329 tag any more.
13330 (set_buffer_internal_1):
13331 * frame.c (store_frame_param):
13332 * eval.c (specbind):
13333 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13334
13335 * doc.c (Fsnarf_documentation): Simplify.
13336
133372007-10-14 Juanma Barranquero <lekktu@gmail.com>
13338
13339 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13340 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13341
133422007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13343
13344 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13345
133462007-10-14 Juanma Barranquero <lekktu@gmail.com>
13347
13348 * eval.c (do_autoload): Don't save autoloads.
13349
13350 * data.c (Ffset): Save autoload of the function being set.
13351
133522007-10-07 John Paul Wallington <jpw@pobox.com>
13353
13354 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13355 parameter before setting up faces.
13356
133572007-10-13 Eli Zaretskii <eliz@gnu.org>
13358
13359 * ccl.c (Fregister_code_conversion_map):
13360 * keyboard.c (append_tool_bar_item): Reformat last change.
13361
13362 * lisp.h (eabs): Rename from `abs'. All callers changed.
13363
133642007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13365
13366 * buffer.c (add_overlay_mod_hooklist):
13367 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13368 * fontset.c (make_fontset):
13369 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13370 (append_tool_bar_item):
13371 * macmenu.c (grow_menu_items):
13372 * w32menu.c (grow_menu_items):
13373 * xmenu.c (grow_menu_items): Use larger_vector.
13374
133752007-10-13 Eli Zaretskii <eliz@gnu.org>
13376
13377 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13378 selected frame'' on MSDOS).
13379
133802007-10-12 Martin Rudalics <rudalics@gmx.at>
13381
13382 * frame.c (Qexplicit_name): New variable.
13383 (x_report_frame_params): Report it in parameter alist.
13384 (syms_of_frame): Intern and staticpro it.
13385
133862007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13387
13388 * macfns.c (x_create_tip_frame): Set terminal for frame.
13389
133902007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13391
13392 * frame.c (Qenvironment): Remove.
13393 (syms_of_frame) <Qenvironment>: Don't initialize.
13394 (Fdelete_frame): Don't treat the `environment' param specially.
13395 * frame.h (Qenvironment): Don't declare.
13396 * callproc.c (set_initial_environment): Don't set unused frame param.
13397
13398 * frame.c (Fframe_with_environment): Remove.
13399 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13400
13401 * lisp.h (Fframe_with_environment): Don't declare.
13402
134032007-10-10 Juanma Barranquero <lekktu@gmail.com>
13404
13405 * indent.c (indent_tabs_mode, last_known_column)
13406 (last_known_column_modified): Make static.
13407 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13408
134092007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13410
13411 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13412
134132007-10-09 Jason Rumney <jasonr@gnu.org>
13414
13415 * w32term.c (x_set_window_size): Disable code that attempts to tell
13416 Lisp code about a size change before it actually happens.
13417
134182007-10-09 Richard Stallman <rms@gnu.org>
13419
13420 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13421 return HANDLED_RETURN.
13422
134232007-10-08 Martin Rudalics <rudalics@gmx.at>
13424
13425 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13426 when there's an unread command event.
13427
13428 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13429 window autoselection act appropriately when leaving selected frame.
13430 (syms_of_frame): Initialize focus_follows_mouse.
13431 * frame.h (focus_follows_mouse): Extern it.
13432 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13433 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13434 * msdos.c (dos_rawgetc): Likewise.
13435 * w32term.c (w32_read_socket): Likewise.
13436 * xterm.c (handle_one_xevent): Likewise.
13437 * xdisp.c (syms_of_xdisp): In doc-string of
13438 mouse-autoselect-window mention focus-follows-mouse.
13439
134402007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13441
13442 * macterm.c (mac_load_query_font): Fix missing return value.
13443 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13444 Add BLOCK_INPUT.
13445
134462007-10-08 Richard Stallman <rms@gnu.org>
13447
13448 * xdisp.c (get_window_cursor_type): Implement documented behavior
13449 for cursor-in-non-selected-windows = t.
13450
134512007-10-08 Jason Rumney <jasonr@gnu.org>
13452
13453 * w32.c (w32_get_resource): Always close registry keys.
13454
134552007-10-08 Jason Rumney <jasonr@gnu.org>
13456
13457 * makefile.w32-in (LIBS): Add COMCTL32.
13458
13459 * w32fns.c (globals_of_w32fns): Init common controls.
13460
134612007-10-08 Richard Stallman <rms@gnu.org>
13462
13463 * image.c (our_memory_buffer): Rename from omfib_buffer.
13464
134652007-10-08 Richard Stallman <rms@gnu.org>
13466
13467 * buffer.c (Foverlays_at): Doc fix.
13468
134692007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13470
13471 * fns.c (Fplist_put): Preserve uneven tail data.
13472
134732007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13474
13475 * termhooks.h (enum event_kind): Remove trailing comma.
13476
13477 * frame.h (enum): Remove trailing comma.
13478
134792007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13480
13481 * w32proc.c (delete_child): Don't terminate threads of zombies.
13482
134832007-10-08 Martin Rudalics <rudalics@gmx.at>
13484
13485 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13486
13487 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13488 last-repeatable-command.
13489 (init_kboard): Initialize Vlast_repeatable_command.
13490 (command_loop_1): Set it to real_this_command unless that was
13491 bound to an input event.
13492 (mark_kboards): Mark it.
13493
134942007-10-08 Richard Stallman <rms@gnu.org>
13495
13496 * eval.c (condition-case): Doc fix.
13497
134982007-10-08 Masatake YAMATO <jet@gyve.org>
13499
13500 * xfaces.c (tty_supports_face_attributes_p): Fix code
13501 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13502 was copied and not edited.
13503
135042007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13505
13506 Add new `input-decode-map' keymap and use it for terminal
13507 escape sequences.
13508 * keyboard.h (struct kboard): Add Vinput_decode_map.
13509 Remove Vlocal_key_translation_map.
13510 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13511 (init_kboard): Init input-decode-map.
13512 Replace local-key-translation-map back with key-translation-map.
13513 (syms_of_keyboard): Declare input-decode-map.
13514 Remove local-key-translation-map. Update docstrings.
13515 (mark_kboards): Mark Vinput_decode_map.
13516 Don't mark Vlocal_key_translation_map.
13517 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13518 Replace local-key-translation-map back with key-translation-map.
13519 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13520 Bind in input-decode-map rather than function-key-map.
13521
13522 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13523 This was made redundant by the previous introduction of XSETPVECTYPE.
13524
135252007-10-09 Richard Stallman <rms@gnu.org>
13526
13527 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13528
135292007-09-29 Richard Stallman <rms@gnu.org>
13530
13531 * eval.c (internal_condition_case_2, internal_condition_case_1)
13532 (internal_condition_case): Reenable abort if x_catching_errors ()
13533 to see if that really happens and why.
13534
135352007-10-06 Andreas Schwab <schwab@suse.de>
13536
13537 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13538
135392007-10-04 Juanma Barranquero <lekktu@gmail.com>
13540
13541 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13542
135432007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13544
13545 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13546
135472007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13548
13549 * window.h (struct window):
13550 * window.c (struct save_window_data, struct saved_window):
13551 * termhooks.h (struct terminal):
13552 * process.h (struct Lisp_Process):
13553 * frame.h (struct frame):
13554 * buffer.h (struct buffer):
13555 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13556 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13557 The size field of (pseudo)vectors is now unsigned.
13558 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13559
13560 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13561 Turn `count' into an integer.
13562
13563 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13564 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13565 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13566 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13567 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13568
13569 * alloc.c (allocate_pseudovector): New fun.
13570 (ALLOCATE_PSEUDOVECTOR): New macro.
13571 (allocate_window, allocate_terminal, allocate_frame)
13572 (allocate_process): Use it.
13573 (mark_vectorlike): New function.
13574 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13575 (mark_terminals): Use it.
13576 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13577 (Fmake_byte_code): Use XSETPVECTYPE.
13578
13579 * frame.c (Fframe_parameters): Minor simplification.
13580
13581 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13582
13583 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13584
13585 * buffer.c (Fget_buffer_create, init_buffer_once):
13586 * lread.c (defsubr):
13587 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13588
13589 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13590 defined differently in the m/*.h files.
13591 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13592 (XSETPVECTYPE): New macro.
13593 (XSETPSEUDOVECTOR): Use it.
13594
13595 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13596 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13597
13598 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13599 * lread.c (defvar_per_buffer):
13600 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13601
13602 * window.c (candidate_window_p): Only consider as visible frames that
13603 are on the same terminal.
13604
13605 * m/ibms390x.h (MARKBIT): Remove unused macro.
13606
136072007-10-01 Juanma Barranquero <lekktu@gmail.com>
13608
13609 * lread.c (Fload): Fix typo in docstring.
13610
136112007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13612
13613 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13614 of a non-zero value can't yield zero.
13615
136162007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13617
13618 * term.c (term_clear_mouse_face, term_mouse_highlight)
13619 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13620
13621 * print.c (safe_debug_print): Use XHASH.
13622
13623 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13624 Lisp elements such as tags.
13625 (XHASH): New macro.
13626 (EQ): Use it.
13627 (SREF, SSET, STRING_COPYIN): Use SDATA.
13628 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13629
13630 * alloc.c (mark_terminal): Remove left-over declaration.
13631 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13632 (allocate_vectorlike): Remove type argument. Adjust callers.
13633 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13634 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13635
13636 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13637 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13638 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13639 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13640 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13641 Use them.
13642
13643 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13644 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13645 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13646
136472007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13648
13649 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13650 loaded by default.
13651
136522007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13653
13654 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13655 on this tty.
13656 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13657
13658 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13659 Update all users.
13660 (handle_one_term_event): Use Gpm_DrawPointer.
13661 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13662 Signal errors instead of returning nil. Always return nil.
13663 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13664 Make it a noop if gpm-mouse was not activated.
13665 (syms_of_term): Update names.
13666
136672007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13668
13669 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13670 (init_sys_modes): Check that gpm_tty is the current tty.
13671
13672 * alloc.c (allocate_terminal): Set the vector size to only count the
13673 lisp fields. Initialize those to nil.
13674 (mark_object): Don't treat terminals specially.
13675 (mark_terminal): Remove.
13676 (mark_terminals): Use mark_object instead.
13677
13678 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13679 the GC to the beginning.
13680
13681 * indent.h:
13682 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13683
13684 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13685
136862007-09-25 Jason Rumney <jasonr@gnu.org>
13687
13688 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13689
13690 * w32console.c (create_w32cons_output): Remove.
13691
13692 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13693
13694 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13695 (reset_sys_modes): Use reset_terminal_modes_hook.
13696
136972007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13698
13699 * eval.c (do_autoload): Don't output any message.
13700
137012007-09-24 Juri Linkov <juri@jurta.org>
13702
13703 * emacs.c (standard_args): Change priority of "--no-splash"
13704 from 40 to 3. Add "--no-desktop" with the same priority.
13705
137062007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13707
13708 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13709 and optimize the case where they are all 1.
13710
137112007-09-23 Johannes Weiner <hannes@saeurebad.de>
13712
13713 * lisp.h (abs): Define if not defined.
13714 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13715 Don't define `abs', since it's defined in lisp.h.
13716
137172007-09-22 Eli Zaretskii <eliz@gnu.org>
13718
13719 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13720 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13721 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13722 (init_tty): Use DEV_TTY instead of "/dev/tty".
13723 [WINDOWSNT]: No need to protect from NAME arg being null.
13724
137252007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13726
13727 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13728 up the tty state.
13729
137302007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13731
13732 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13733 (gpm_tty): Change its type.
13734 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13735 (gpm_tty): Change its type and initialize it.
13736 (Fterm_open_connection): Check the frame is indeed a tty.
13737 Use the new gpm_tty.
13738 (Fterm_close_connection): Use the new gpm_tty.
13739 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13740 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13741
137422007-09-21 Juanma Barranquero <lekktu@gmail.com>
13743
13744 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13745 underline_color, to draw strike-through.
13746
137472007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13748
13749 * lisp.h (allocate_terminal): Declare.
13750
13751 * window.c (candidate_window_p): Consider frames that are being placed
13752 by the user as somewhere between visible and iconified.
13753 (window_loop): Prefer windows on the current frame.
13754 (Fselect_window): Move the use of select-frame to the beginning so we
13755 can just delegate all the work (it'll call us back anyway).
13756
13757 * frame.c (Qdisplay_environment_variable):
13758 * frame.h (Qdisplay_environment_variable): Delete.
13759
13760 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13761 of the first arg, since that value may be a union.
13762
13763 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13764 parameter rather than Qdisplay_environment_variable. If all else
13765 fails, look for DISPLAY in initial-environment.
13766
137672007-09-21 Glenn Morris <rgm@gnu.org>
13768
13769 * Makefile.in (emacstool): Remove target.
13770 (lisp, shortlisp): Remove termdev.elc.
13771
137722007-09-21 Markus Triska <markus.triska@gmx.at>
13773
13774 * xterm.c (x_delete_display): Compile session management conditionally.
13775
137762007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13777
13778 * callproc.c (getenv_internal_1): New function.
13779 (getenv_internal): Use it.
13780 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13781
13782 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13783 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13784 (Fset_terminal_parameter): Work with dead terminals as well.
13785 (Fmodify_terminal_parameters): Remove.
13786
13787 * terminal.c (get_terminal): Handle terminals.
13788 Make sure the terminal returned is live.
13789 (create_terminal): Use allocate_terminal.
13790 (mark_terminals): Move to alloc.c.
13791 (delete_terminal): Use terminal->name as liveness status.
13792 NULL out fields after freeing their contents.
13793 Don't deallocate the object.
13794 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13795 rather than an int.
13796 (Fterminal_live_p): Accept non-integer arguments.
13797 (Fterminal_list): Return terminal objects rather than an ints.
13798
13799 * alloc.c (enum mem_type): New member for `terminal' objects.
13800 (allocate_terminal): New function.
13801 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13802 Handle terminals.
13803 (mark_terminal): New fun.
13804 (mark_terminals): Move from terminal.c.
13805
13806 * term.c (get_tty_terminal): Don't treat output_initial specially.
13807 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13808 (delete_tty): Use terminal->name as liveness status.
13809
13810 * termhooks.h (struct terminal): Make it into a pseudovector.
13811 Remove `deleted' replaced by checking `name's nullness.
13812
13813 * print.c (print_object): Handle terminals.
13814
13815 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13816 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13817
13818 * frame.c (make_terminal_frame):
13819 * keyboard.c (tty_read_avail_input):
13820 * w32term.c (x_delete_terminal):
13821 * xfns.c (Fx_create_frame, x_create_tip_frame):
13822 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13823
138242007-09-20 Glenn Morris <rgm@gnu.org>
13825
13826 * process.c (Fmake_network_process): Doc fix.
13827
138282007-09-19 Jason Rumney <jasonr@gnu.org>
13829
13830 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13831
138322007-09-19 Michaël Cadilhac <michael@cadilhac.name>
13833
13834 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13835 Fix a C warning regarding variable constness.
13836
13837 * xterm.c (handle_one_xevent): Fix a C warning.
13838
138392007-09-18 Jason Rumney <jasonr@gnu.org>
13840
13841 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13842
138432007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13844
13845 * gtkutil.c (gdpy_def): New variable.
13846 (xg_initialize): Initialize gdpy_def.
13847 (xg_display_close): If no other display exists, set gdpy_def to a
13848 new connection.
13849
138502007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13851
13852 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13853 when we have no file name for the icon.
13854 (xg_tool_bar_expose_callback): Remove.
13855 (xg_create_tool_bar): Don't connect expose signal to
13856 xg_tool_bar_expose_callback.
13857 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13858
138592007-09-16 Andreas Schwab <schwab@suse.de>
13860
13861 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13862 values instead of zapping them.
13863
138642007-09-14 Glenn Morris <rgm@gnu.org>
13865
13866 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13867 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13868 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13869 scope and rename to omfib_buffer for clarity.
13870 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13871
138722007-09-14 Kenichi Handa <handa@m17n.org>
13873
13874 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13875
138762007-09-13 Jason Rumney <jasonr@gnu.org>
13877
13878 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13879
13880 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13881
13882 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13883 (mac_term_init): Call here instead, passing rif.
13884
138852007-09-13 Glenn Morris <rgm@gnu.org>
13886
13887 * s/hpux.h: No longer define `static' as nothing.
13888
138892007-09-13 Johan Bockgård <bojohan@gnu.org>
13890
13891 * callint.c (Fcall_interactively): Remove unused var `fun'.
13892
138932007-09-12 Romain Francoise <romain@orebokech.com>
13894
13895 * window.c (prefer_window_split_horizontally, display_buffer):
13896 Revert 2007-09-08 change.
13897
138982007-09-12 Glenn Morris <rgm@gnu.org>
13899
13900 * alloca.c: Remove file.
13901 * Makefile.in (alloca): Do not undef.
13902 (allocaobj, alloca.o): Remove.
13903 (otherobj): Remove allocaobj.
13904 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13905 * regex.c (C_ALLOCA): Remove all references and code that was only
13906 used when this was defined.
13907 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13908 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
13909 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13910
13911 * Makefile.in (SOURCES, unlock, relock): Delete.
13912
13913 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13914 (menu_grab_callback): All uses changed.
13915
13916 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13917 (x_reply_selection_request): All uses changed.
13918
139192007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13920
13921 * lread.c (load_warn_old_style_backquotes): Change message to look
13922 better when it appears in the middle of byte-compiler messages.
13923
139242007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13925
13926 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13927
13928 * xterm.c (x_create_terminal): Add comment.
13929
13930 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13931
139322007-09-10 Richard Stallman <rms@gnu.org>
13933
13934 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13935
139362007-09-10 Michaël Cadilhac <michael@cadilhac.name>
13937
13938 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13939 (DEFUN): Document `intspec', use it instead of `prompt'.
13940
13941 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13942
13943 * data.c (Finteractive_form): If the interactive specification starts
13944 with a `(', use it as a Lisp form.
13945
13946 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13947 name and file modes.
13948
13949 * callint.c (Fcall_interactively): Comment fixes.
13950
139512007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13952
13953 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13954 and compiled functions.
13955
139562007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13957
13958 * window.c (prefer_window_split_horizontally): New variable.
13959 (display_buffer): Consider splitting window horizontally depending
13960 on prefer_window_split_horizontally.
13961
139622007-09-08 Eli Zaretskii <eliz@gnu.org>
13963
13964 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
13965
139662007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13967
13968 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13969
13970 * frame.c (x_set_frame_parameters): Check number is positive before
13971 using XFASTINT.
13972
13973 * window.c (freeze_window_start): Don't presume selected_window holds
13974 a window object.
13975 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
13976
139772007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
13978
13979 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13980
139812007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13982
13983 * window.c (Vsplit_window_preferred_function): New var.
13984 (Fdisplay_buffer): Use it.
13985 (syms_of_window): Export, and initialize it.
13986
139872007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13988
13989 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13990
139912007-09-06 Glenn Morris <rgm@gnu.org>
13992
13993 * gtkutil.c (menu_grab_callback) <cnt>:
13994 * xselect.c (x_reply_selection_request) <cnt>: Move static
13995 variable to file scope.
13996
139972007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13998
13999 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14000 consistent values of selected_frame and selected_window.
14001
140022007-09-04 Jason Rumney <jasonr@gnu.org>
14003
14004 * w32console.c (initialize_w32_display): Zero unused hooks.
14005
140062007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14007
14008 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14009 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14010
140112007-09-04 Jason Rumney <jasonr@gnu.org>
14012
14013 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14014 in w32console.c. Set up input. Remove XXX comments that have been
14015 confirmed as correct.
14016
14017 * s/ms-w32.h (MULTI_KBOARD): Define.
14018
14019 * w32console.c (one_and_only_w32cons): Remove.
14020 (initialize_w32_display): Take terminal argument.
14021
14022 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14023 initialize_w32_display.
14024 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14025
14026 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14027
14028 * keyboard.c (discard_mouse_events): Discard it.
14029 (make_lispy_event): Translate it to a lisp event.
14030 (lispy_wheel_names): Add wheel-left and right events.
14031 (syms_of_keyboard): Enlarge wheel_syms.
14032
14033 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14034 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14035
14036 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14037
14038 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14039 from WM_MOUSEHWHEEL.
14040 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14041
14042 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14043 terminal.
14044
14045 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14046 keyboard for the terminal.
14047
140482007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14049
14050 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14051 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14052 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14053 and resume-tty-function to resume-tty-hook.
14054 (Fsuspend_tty, Fresume_tty): Use new names.
14055
140562007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14057
14058 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14059 if it starts with "n:".
14060
140612007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14062
14063 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14064
140652007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14066
14067 * frame.h:
14068 * frame.c (Qterm_environment_variable): Remove.
14069 (syms_of_frame): Don't init and staticpro it.
14070
14071 * callproc.c (getenv_internal): Remove special case for $TERM.
14072
14073 * callproc.c (Vinitial_environment): New variable.
14074 (set_initial_environment): Initialize it.
14075 (syms_of_callproc): Declare it.
14076 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14077 TERM under which a process runs is never related to the TERM in which
14078 Emacs is running.
14079
140802007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14081
14082 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14083 * s/darwin.h: ... do it here.
14084
140852007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14086
14087 * lisp.h (set_initial_environment): Rename from set_global_environment.
14088
14089 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14090 removed by mistake on the multi-tty branch.
14091
14092 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14093 (Fmodify_frame_parameters): Return a value.
14094
14095 * image.c (png_load): Comment-out var only used in commented-out code.
14096
14097 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14098 before passing it to mark_object.
14099
14100 * xfaces.c (internal_resolve_face_name): Return a value.
14101 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14102
14103 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14104 (x_icon): Comment-out var only used in commented-out code.
14105
141062007-08-29 Romain Francoise <romain@orebokech.com>
14107
14108 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14109 QUIT hasn't been provided.
14110
141112007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14112
14113 * callproc.c (child_setup, getenv_internal): Use the
14114 display-environment-variable and term-environment-variable frame params.
14115 (set_initial_environment): Initialise Vprocess_environment.
14116
14117 * config.in: Disable multi-keyboard support on a mac.
14118
14119 * frame.c (Qterm_environment_variable)
14120 (Qdisplay_environment_variable): New variables.
14121 (syms_of_frame): Intern and staticpro them.
14122 (Fmake_terminal_frame): Disable output method test.
14123
14124 * frame.h: Declare them here.
14125
14126 * macfns.c (x_set_mouse_color): Get rif from the frame.
14127 (x_set_tool_bar_lines): Don't use updating_frame.
14128 (mac_window): Add 2 new parameters for consistency with other systems.
14129 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14130 frame parameters following what is done in X11 and w32. Don't use
14131 FRAME_MAC_DISPLAY_INFO.
14132 (Fx_open_connection, start_hourglass): Remove window-system check.
14133 (x_create_tip_frame): Get the keyboard from the terminal.
14134
14135 * macmenu.c: Reorder includes.
14136 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14137
14138 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14139 terminal parameter.
14140 (x_clear_frame): Add a frame parameter.
14141 (note_mouse_movement): Get rif from the frame.
14142 (mac_term_init): Initialize the terminal.
14143 (mac_initialize): Make static and move terminal initialization ...
14144 (mac_create_terminal): ... to this new function.
14145
14146 * macterm.h (struct mac_display_info): Add terminal.
14147 (mac_initialize): Delete declaration.
14148
14149 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14150
14151 * sysdep.c: Comment out text after #endif.
14152
14153 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14154 is defined. Better initialize ttys in windows. Use terminal
14155 specific mouse_position_hook.
14156
14157 * termhooks.h (union display_info): Add mac_display_info.
14158
14159 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14160 Set the default minibuffer frame, window_system and the rest of the
14161 frame parameters following what is done in X11.
14162
14163 * w32term.c (w32_initialize): Make static.
14164
14165 * xselect.c (x_handle_selection_clear): Only access
14166 terminal->kboard when MULTI_KBOARD is defined.
14167
14168 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14169 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14170
141712007-08-29 Jason Rumney <jasonr@gnu.org>
14172
14173 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14174 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14175
14176 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14177 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14178
14179 * keyboard.c (restore_kboard_configuration): Only define when
14180 MULTI_KBOARD defined.
14181
14182 * makefile.w32-in: Update dependancies from Makefile.in.
14183 (OBJ1): Add terminal.$(O)
14184
14185 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14186 Don't define function body.
14187 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14188
14189 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14190
14191 * w32.c (request_sigio, unrequest_sigio): Remove.
14192
14193 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14194 (w32con_clear_frame, w32con_clear_end_of_line)
14195 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14196 (w32con_delete_glyphs, w32con_set_terminal_window)
14197 (scroll_line, w32_sys_ring_bell): Add frame arg.
14198 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14199 Add terminal arg.
14200 (PICK_FRAME): Remove.
14201 (w32con_write_glyphs): Use frame specific terminal coding.
14202 (one_and_only_w32cons): New global variable.
14203 (initialize_w32_display): Use it for storing hooks.
14204 (create_w32cons_output): New function.
14205
14206 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14207 arg a frame.
14208
14209 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14210 Set window_system.
14211 (x_set_tool_bar_lines): Don't use updating_frame.
14212 (Fx_create_frame): Set terminal and ref count.
14213 (Fx_open_connection): Remove window-system check.
14214
14215 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14216
14217 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14218 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14219 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14220 Add frame arg.
14221 (x_delete_terminal, w32_create_terminal): New functions.
14222 (w32_term_init): Create a terminal.
14223 (w32_initialize): Move terminal specific initialization to
14224 w32_create_terminal.
14225
14226 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14227 (w32_clear_rect, w32_clear_area): Use background from frame.
14228 (w32_display_info): Add terminal.
14229 (w32_sys_ring_bell, x_delete_display): Declare here.
14230
14231 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14232
14233 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14234
142352007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14236
14237 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14238 Fix get_named_tty calls for the controlling tty.
14239
142402007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14241
14242 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14243
142442007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14245
14246 * term.c (tty_insert_glyphs): Add missing first parameter.
14247
142482007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14249
14250 * buffer.c (Fbuffer_list, Fbury_buffer):
14251 Take frame->buried_buffer_list into account.
14252
14253 * cm.c (current_tty): New variable, for cmputc().
14254 (cmputc): Use it.
14255 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14256 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14257 (cmgoto): Add tty parameter. Pass it on to calccost().
14258 Use emacs_tputs() instead of tputs().
14259
14260 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14261 tputs().
14262 (current_tty): New variable, for cmputc().
14263 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14264
14265 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14266 (internal_condition_case, internal_condition_case_1)
14267 (internal_condition_case_2): Don't abort when x_catching_errors.
14268
14269 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14270 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14271 prevent crashes caused by bogus longjmps in read_char.
14272
14273 * keymap.h (Fset_keymap_parent): Add EXFUN.
14274
14275 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14276 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14277 Remove redundant definition.
14278
14279 * macfns.c (x_set_mouse_color, x_make_gc):
14280 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14281
14282 * w32term.c (x_free_frame_resources):
14283 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14284 (w32_initialize): Use the accessor macros for terminal characteristics.
14285
14286 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14287 Use the accessor macros for terminal characteristics.
14288 * msdos.c (internal_terminal_init): Use the accessor macros for
14289 terminal characteristics.
14290 (ScreenVisualBell, internal_terminal_init):
14291 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14292
14293 * termopts.h (no_redraw_on_reenter): Declare.
14294
14295 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14296 (mark_terminals, mark_ttys): Declare.
14297 (Fgarbage_collect): Call them.
14298 (mark_object): Mark buried_buffer_list.
14299
14300 * prefix-args.c: Include stdlib.h for exit.
14301
14302 * syssignal.h: Add comment.
14303
14304 * indent.c: Include stdio.h.
14305
14306 * window.h (Vinitial_window_system): Declare.
14307 (Vwindow_system): Delete declaration.
14308
14309 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14310
14311 * image.c (lookup_image): Don't initialize `c' until the xasserts
14312 have been run.
14313
14314 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14315 FRAME_FOREGROUND_PIXEL.
14316
14317 * print.c (print_preprocess): Don't lose print_depth levels while
14318 iterating.
14319
14320 * widget.c (update_from_various_frame_slots):
14321 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14322
14323 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14324 frames.
14325 (window_internal_height): Remove bogus make_number call.
14326 (init_window_once): Call make_terminal_frame with two zero parameters.
14327
14328 * fileio.c (Fread_file_name): Update comment.
14329
14330 * callint.c (Fcall_interactively):
14331 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14332 Make sure it is correctly unwound.
14333
14334 * xsmfns.c (x_session_close): New function.
14335
14336 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14337 Delete declarations.
14338
14339 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14340 (x_output): Remove background_pixel and foreground_pixel fields.
14341 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14342 (x_delete_device, x_session_close): Declare.
14343
14344 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14345 (read_filtered_event): Call `read_char' with a local
14346 `wrong_kboard_jmpbuf'.
14347
14348 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14349 Don't call single_kboard_state. Use FRAME_RIF.
14350
14351 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14352 systems.
14353
14354 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14355 (Fframe_with_environment, Fset_input_meta_mode)
14356 (Fset_quit_char): EXFUN.
14357 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14358 (init_sys_modes, reset_sys_modes): Update prototypes.
14359 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14360
14361 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14362 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14363 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14364 Delete declarations.
14365 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14366 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14367 New declarations.
14368
14369 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14370 already does that during init_display(). Call syms_of_keymap
14371 before syms_of_keyboard. Call `syms_of_terminal'.
14372 Call set_initial_environment, not set_process_environment.
14373 (shut_down_emacs): Call reset_all_sys_modes() instead of
14374 reset_sys_modes().
14375
14376 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14377 (internal_resolve_face_name, resolve_face_name_error): New functions.
14378 (resolve_face_name): Protect against loops and errors thrown by Fget.
14379 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14380 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14381
14382 * scroll.c: Replace CURTTY() with local variables throughout the
14383 file (where applicable).
14384 (calculate_scrolling, calculate_direct_scrolling)
14385 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14386 characteristics.
14387
14388 * keymap.c (Vfunction_key_map): Remove.
14389 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14390 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14391 (Vkey_translation_map): Remove.
14392 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14393 (Fdescribe_buffer_bindings)
14394 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14395 Update for terminal-local key-translation-map.
14396
14397 * Makefile.in (callproc.o): Update dependencies.
14398 (lisp, shortlisp): Add termdev.elc.
14399 (obj): Add terminal.o.
14400 (terminal.o): Add dependencies.
14401 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14402 (data.o, fns.o): Add termhooks.h dependency.
14403 (SOME_MACHINE_LISP): Add dnd.elc.
14404 (minibuf.o): Fix typo.
14405 Update dependencies.
14406
14407 * data.c (do_symval_forwarding, store_symval_forwarding)
14408 (find_symbol_value): Use the selected frame's keyboard, not
14409 current_kboard.
14410
14411 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14412 Vwindow_system.
14413
14414 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14415 Fmenu_bar_open.
14416 (syms_of_xmenu): Update defsubr.
14417 (mouse_position_for_popup, Fx_popup_menu)
14418 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14419 (set_frame_menubar, free_frame_menubar)
14420 (create_and_show_popup_menu, xmenu_show, )
14421 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14422 an X frame.
14423
14424 * xselect.c (x_own_selection): Abort if not an X frame.
14425 (some_frame_on_display): Check if it is an X frame.
14426 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14427
14428 * coding.c: Include frame.h and termhooks.h.
14429 (terminal_coding, keyboard_coding): Delete.
14430 (Fset_terminal_coding_system_internal)
14431 (Fset_keyboard_coding_system_internal)
14432 (Fkeyboard_coding_system)
14433 (Fterminal_coding_system): Add a terminal parameter.
14434 Get terminal_coding from the terminal.
14435 (init_coding_once): Don't call setup_coding_system here.
14436
14437 * dispextern.h (set_scroll_region, turn_off_insert)
14438 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14439 (tty_clear_end_of_line, tty_setup_colors)
14440 (delete_tty, updating_frame)
14441 (produce_special_glyphs, produce_glyphs, write_glyphs)
14442 (insert_glyphs): Remove.
14443 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14444 (tty_turn_off_highlight, get_tty_size): Add declaration.
14445 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14446
14447 * frame.h (enum output_method): Add output_initial.
14448 (struct x_output): Delete.
14449 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14450 Access foreground_pixel and background_pixel directly from the frame.
14451 (tty_display): Delete.
14452 (struct frame): Add buried_buffer_list, foreground_pixel,
14453 background_pixel and terminal. Delete kboard.
14454 (union output_data): Add tty.
14455 (FRAME_KBOARD): Get the kboard from the terminal.
14456 (FRAME_INITIAL_P): New macro.
14457 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14458 (Qterm_environment_variable, Qdisplay_environment_variable)
14459 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14460 New declarations.
14461
14462 * termchar.h (tty_output, tty_display_info): New structures.
14463 (tty_list): Declare.
14464 (FRAME_TTY, CURTTY): New macros.
14465 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14466 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14467 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14468 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14469
14470 * callproc.c: Include frame.h and termhooks.h, for terminal
14471 parameters.
14472 (add_env): New function.
14473 (child_setup): Use it.
14474 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14475 (getenv_internal): Fix get_terminal_param call.
14476 (Fgetenv_internal, egetenv): Update doc.
14477 (syms_of_callproc): Initialize Vprocess_environment to nil.
14478 Register and initialize them. Remove obsolete defvars. Update doc
14479 strings.
14480 (child_setup): Handle Vlocal_environment_variables.
14481 (getenv_internal): Add terminal parameter.
14482 Handle Vlocal_environment_variables.
14483 (Fgetenv_internal): Add terminal parameter.
14484 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14485 environment in a frame (not terminal) parameter. Update doc strings.
14486 (set_initial_environment): Rename from set_global_environment.
14487 Store Emacs environment in initial frame parameter.
14488
14489 * xdisp.c (redisplay_internal): Update references to
14490 `previous_terminal_frame'.
14491 (display_mode_line, Fformat_mode_line): Replace calls to
14492 `push_frame_kboard' with `push_kboard'.
14493 (get_glyph_string_clip_rects): Add extra parentheses and
14494 braces to prevent compiler warnings.
14495 (calc_pixel_width_or_height): Add xassert to check that the
14496 frame is alive. Don't call `lookup_image' on a termcap frame.
14497 (message2_nolog, message3_nolog, redisplay_internal)
14498 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14499 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14500 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14501 (Fx_display_pixel_width, Fx_display_pixel_height)
14502 (Fx_display_planes, Fx_display_color_cells)
14503 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14504 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14505 (Fx_display_backing_store, Fx_display_visual_class)
14506 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14507 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14508
14509 * xfns.c (x_set_foreground_color x_set_background_color)
14510 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14511 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14512 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14513 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14514 terminal that is being deleted.
14515 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14516 frame parameter, and make sure it overrides any user-supplied setting.
14517 (Fx_close_connection, Fx_synchronize): Unify argument names with
14518 the rest of the DEFUNs.
14519
14520 * dispnew.c (Fsend_string_to_terminal): Update call to
14521 `get_tty_terminal'.
14522 (Fredraw_frame, Fsend_string_to_terminal)
14523 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14524 FRAME_TERMCAP_P and FRAME_TTY.
14525 (window_change_signal): Don't believe width/height values that are
14526 impossibly small.
14527 (Vinitial_window_system): Rename from Vwindow_system.
14528 (termscript, Wcm, rif): Delete.
14529
14530 * termhooks.h (struct terminal): New struct containing the
14531 previously global text display hooks and new members NAME,
14532 DELETED and PARAM_ALIST.
14533 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14534 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14535 (FRAME_RIF): New macros.
14536 (get_terminal_param, get_device): New declarations.
14537 (termscript): Delete declaration.
14538
14539 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14540 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14541 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14542 FRAME_FOREGROUND_PIXEL.
14543 (x_fully_uncatch_errors): Disable definition.
14544 (x_scroll_bar_expose): Fix reference to foreground pixel.
14545 (XTread_socket): Disable loop on all X displays.
14546 (x_delete_terminal): Don't set terminal->deleted and let
14547 delete_terminal delete the frames on the terminal.
14548 (x_delete_display): Doc update to reflect changes in
14549 delete_terminal.
14550 (x_display_info) <terminal>: Move member earlier in the struct.
14551 (deleting_tty): Remove old variable.
14552 (Fsuspend_tty): Call clear_tty_hooks.
14553 (Fresume_tty, init_tty): Call set_tty_hooks.
14554 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14555 errors on X frames.
14556 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14557 (handle_one_xevent): Initialize `f' to NULL.
14558 (x_delete_terminal, x_create_terminal): New functions.
14559 (XTset_terminal_modes, XTreset_terminal_modes)
14560 (XTread_socket, x_connection_closed, x_term_init)
14561 (x_term_init, x_delete_display): Add terminal parameter.
14562 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14563 X connections.
14564
14565 * frame.c: Include termchar.h.
14566 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14567 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14568 (Qdisplay_environment_variable): New vars.
14569 (Fframep): Deal with output_initial.
14570 (Fframe-live-p): Doc fix.
14571 (Fwindow-system): New function.
14572 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14573 (make_terminal_frame): Don't create frames on a terminal that is
14574 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14575 (store_frame_param): Check for found_for_frame before calling XFRAME.
14576 (Fmake_terminal_frame): Handle NULL tty names correctly.
14577 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14578 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14579 frames to refer to a deleted frame in their 'environment parameter.
14580 (Fframe_with_environment): New function.
14581 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14582 (get_future_frame_param): New function.
14583 (Fmake_terminal_frame): Use it.
14584 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14585
14586 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14587 * sysdep.c (reset_sys_modes): Update for renames.
14588
14589 * keyboard.c (tty_read_avail_input): New function.
14590 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14591 (syms_of_keyboard): Defsubr them.
14592 (Fset_input_meta_mode, Fset_quit_char): New functions.
14593 (Fset_input_mode): Split to above functions.
14594 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14595 parameter. Use it in call to `read_char'.
14596 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14597 Set wrong_kboard_jmpbuf correctly in recursive calls.
14598 Use current_kboard to access Vkeyboard_translate_table.
14599 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14600 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14601 Update longjmp invocations. Remember the original current_kboard,
14602 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14603 changes it. Comment out unnecessary calls to
14604 `record_single_kboard_state' and `any_kboard_state'.
14605 Update recursive calls.
14606 (wrong_kboard_jmpbuf): Remove global variable.
14607 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14608 Handle deleted interrupted_kboards correctly; that is a legal
14609 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14610 and read_char calls. Abort if interrupted_kboard died in read_char.
14611 (any_kboard_state, single_kboard_state)
14612 (push_frame_kboard): Remove function.
14613 (pop_kboard): Switch out of single_kboard mode if the kboard has
14614 been deleted. Remove unused variable. Help debugging by not
14615 changing current_kboard unnecessarily. Set current_kboard to the
14616 kboard of the selected frame when the stored kboard object has
14617 been deleted before pop_kboard.
14618 (temporarily_switch_to_single_kboard): Change first parameter to a
14619 frame pointer. Throw an error when caller wants to change kboards
14620 while in single_kboard mode. Don't push_kboard if we weren't in
14621 single kboard state. Don't pop_kboard if we popped into any
14622 kboard state.
14623 (restore_kboard_configuration): Abort if pop_kboard changed the
14624 kboard in single_kboard mode. Call pop_kboard only after setting
14625 up single_kboard mode.
14626 (Frecursive_edit): Switch to single_kboard mode only in nested
14627 command loops.
14628 (cmd_error, command_loop, command_loop_1, timer_check):
14629 Comment out unnecessary call to `any_kboard_state' and
14630 `record_single_kboard_state'.
14631 (delete_kboard): Exit single_kboard mode if we have just deleted
14632 that kboard. Use FRAME_KBOARD.
14633 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14634 `fatal_error_signal'.
14635 (record_single_kboard_state): Don't push_kboard if we weren't in
14636 single kboard state. Don't pop_kboard if we popped into any
14637 kboard state.
14638 (push_frame_kboard): Rename to push_kboard.
14639 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14640 (read_avail_input): Read input from all terminals.
14641 (mark_kboards): Also mark Vkeyboard_translate_table.
14642 (kbd_buffer_store_event_hold): Simplify condition.
14643 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14644 (Vkeyboard_translate_table): Move to struct kboard.
14645 (init_kboard): Initialize Vkeyboard_translate_table.
14646 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14647 Vkeyboard_translate_table. Update doc strings. Update docs of
14648 local-function-key-map and function-key-map.
14649
14650 * terminal.c: New file.
14651
14652 * term.c: Include errno.h.
14653 (Vring_bell_function, device_list, initial_device)
14654 (next_device_id, ring_bell, update_begin, update_end)
14655 (set_terminal_window, cursor_to, raw_cursor_to)
14656 (clear_to_end, clear_frame, clear_end_of_line)
14657 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14658 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14659 (syms_of_term): Move their initialization to terminal.c.
14660 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14661 (Ftty_display_color_cells)
14662 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14663 (clear_tty_hooks, set_tty_hooks)
14664 (init_tty, maybe_fatal): New functions.
14665 (Ftty_type): Return nil if terminal is not on a tty instead of
14666 throwing an error. Doc update.
14667 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14668 Doc update. Initialize new subrs and variables.
14669 (delete_tty): Use terminal->deleted.
14670 (tty_set_terminal_modes): Rename from set_terminal_modes.
14671 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14672 (set_scroll_region): Rename to `tty_set_scroll_region'.
14673 (turn_on_insert): Rename to `tty_turn_on_insert'.
14674 (turn_off_insert): Rename to `tty_turn_off_insert'.
14675 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14676 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14677 (toggle_highligh): Rename to `tty_toggle_highlight'.
14678 (background_highlight): Rename to `tty_background_highlight'.
14679 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14680 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14681 (tty_set_scroll_region, tty_background_highlight)
14682 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14683 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14684 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14685 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14686 Add static modifier.
14687 (tty_reset_terminal_modes, tty_set_terminal_window)
14688 (tty_set_scroll_region, tty_background_highlight)
14689 (tty_highlight_if_desired, tty_cursor_to)
14690 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14691 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14692 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14693 renames.
14694
146952007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14696
14697 * keyboard.c: Qrtl is new.
14698 (parse_tool_bar_item): Handle :rtl keyword.
14699 (syms_of_keyboard): Intern :rtl keyword.
14700
14701 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14702
14703 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14704 so no Lisp code is executed.
14705 (file_for_image, find_rtl_image): New functions.
14706 (xg_get_image_for_pixmap): Use file_for_image.
14707 (update_frame_tool_bar): If direction is RTL, use RTL image if
14708 defined. Use Gtk stock images if defined.
14709
147102007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14711
14712 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14713 for nonexistent or zero-width glyph in composition glyph.
14714
147152007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14716
14717 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14718
14719 * xdisp.c (Finvisible_p): New function.
14720 (syms_of_xdisp): defsubr it.
14721
147222007-08-24 Juanma Barranquero <lekktu@gmail.com>
14723
14724 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14725 Doc fixes.
14726
147272007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14728
14729 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14730
147312007-08-24 Martin Rudalics <rudalics@gmx.at>
14732
14733 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14734 whether decoding has modified buffer contents.
14735
147362007-08-24 Jason Rumney <jasonr@gnu.org>
14737
14738 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14739 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14740 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14741 (init_svg_functions) [HAVE_NTGUI]: New function.
14742 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14743 (svg_load_image): Use them.
14744 (svg_load_image) [HAVE_NTGUI]: Implement background.
14745
147462007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14747
14748 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14749 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14750 (LIBX): Remove @RSVG_LIBS@.
14751 (LIBES): Add $(RSVG_LIBS).
14752
14753 * image.c (svg_load_image): Blend with specified background if exists.
14754 Use IMAGE_BACKGROUND. Add Mac OS Support.
14755
14756 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14757 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14758 Remove macros.
14759 [MAC_OSX] (socket_callback): Do nothing.
14760 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14761 ReceiveNextEvent.
14762 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14763 socket_callback.
14764 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14765
147662007-08-22 Glenn Morris <rgm@gnu.org>
14767
14768 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14769
147702007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14771
14772 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14773
14774 * image.c: Add support for SVG images. Some additional comments
14775 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14776 (svg_image_p): New function to test for SVG image.
14777 (svg_load): New function to load SVG image.
14778 (svg_load_image): New function, helper for svg_load.
14779 (Qsvg): New Lisp_object.
14780 (svg_keyword_index): New enum.
14781 (svg_format): New static `image_keyword' struct.
14782 (svg_type): New static `image_type' struct.
14783 (librsvg/rsvg.h): Include it.
14784
147852007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14786
14787 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14788
147892007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14790
14791 * lread.c (Qold_style_backquotes): New var.
14792 (syms_of_lread): Init and staticpro it.
14793 (load_warn_old_style_backquotes): New fun.
14794 (Fload): Use them to warn about old style backquotes.
14795 (end_of_file_error, Fload): Remove unused vars.
14796
14797 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14798
14799 * lread.c (Vold_style_backquotes): New var.
14800 (syms_of_lread): Init and export it to Elisp.
14801 (read1): Set it when we find an old-style (back)quote.
14802
148032007-08-22 Jason Rumney <jasonr@gnu.org>
14804
14805 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14806
148072007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14808
14809 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14810
148112007-08-19 Richard Stallman <rms@gnu.org>
14812
14813 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14814
148152007-08-19 Andreas Schwab <schwab@suse.de>
14816
14817 * alloc.c (pure): Round PURESIZE up.
14818
148192007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14820
14821 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14822 active frame.
14823
148242007-08-16 Richard Stallman <rms@gnu.org>
14825
14826 * eval.c (Fcommandp): Add parens to clarify.
14827
14828 * minibuf.c (Fall_completions): Use enum for type of table.
14829
14830 * emacs.c (USAGE2): Improve text.
14831
148322007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14833
14834 * term.c (tty_default_color_capabilities): Declare static
14835 variables in file scope, to avoid HPUX compiler problem.
14836
148372007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14838
14839 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14840 to gtk_toolbar_insert.
14841
148422007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14843
14844 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14845
14846 * insdel.c (reset_var_on_error): New fun.
14847 (signal_before_change, signal_after_change):
14848 Use it to reset (after|before)-change-functions to nil in case of error.
14849 Bind inhibit-modification-hooks to t.
14850 Don't bind (after|before)-change-functions to nil while they run.
14851
148522007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14853
14854 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14855 filling pixmap with stippled background.
14856
148572007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14858
14859 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14860 Don't use invisible frame as parent window for repositioning.
14861
148622007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14863
14864 * print.c (new_backquote_output): Rename from old_backquote_output.
14865 (print): Inverse its logic (according to its name) so as to match the
14866 behavior of new_backquote_flag in lread.c.
14867
148682007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14869
14870 * gmalloc.c (posix_memalign): New function.
14871
14872 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14873 ActivateControl/DeactivateControl here.
14874 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14875 frame-notice-user-settings is non-nil.
14876 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14877 for kEventParamFMFontStyle.
14878 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14879 mac_pass_command_to_system and mac_pass_control_to_system here.
14880 (XTread_socket): Call ActivateControl/DeactivateControl here.
14881 (XTread_socket) [TARGET_API_MAC_CARBON]:
14882 Check mac_pass_command_to_system and mac_pass_control_to_system here.
14883 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14884 for window repositioning.
14885
148862007-08-08 Glenn Morris <rgm@gnu.org>
14887
14888 * Replace `iff' in doc-strings and comments.
14889
148902007-08-07 Chong Yidong <cyd@stupidchicken.com>
14891
14892 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14893
148942007-08-07 Martin Rudalics <rudalics@gmx.at>
14895
14896 * fileio.c (Finsert_file_contents): Run format-decode and
14897 after_insert_file_functions on entire buffer when REPLACE is
14898 non-nil and inhibit modification_hooks and point_motion_hooks.
14899 For consistency, run after_insert_file_functions iff something
14900 got inserted. Move signal_after_change and update_compositions
14901 after code running after_insert_file_functions. Make sure that
14902 undo_list doesn't record intermediate steps of the decoding process.
14903
149042007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14905
14906 * emacs.c (main)
14907 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14908 Call malloc_enable_thread on interactive startup.
14909
14910 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
14911 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14912 [USE_PTHREAD]: Conditionalize with it.
14913 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14914 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14915 New functions.
14916
149172007-08-06 Chong Yidong <cyd@stupidchicken.com>
14918
14919 * xdisp.c (redisplay_window): When restoring original buffer
14920 position, make sure it is still valid.
14921
14922 * image.c (png_load): Ignore png-supplied background color.
14923
149242007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14925
14926 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14927 Use kCFAbsoluteTimeIntervalSince1970.
14928
14929 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14930 New variable.
14931 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14932 event loop should be quit.
14933 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14934 Quit dialog event loop if quit_dialog_event_loop is set.
14935
14936 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14937 (Selection): New typedef. Use instead of ScrapRef.
14938 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14939 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14940 (mac_clear_selection): Rename from clear_scrap.
14941 (get_flavor_type_from_symbol): New argument SEL and subsume function of
14942 scrap_has_target_type. All uses changed.
14943 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14944 (mac_selection_has_target_p): New functions.
14945 (mac_put_selection_value): Rename from put_scrap_string.
14946 (mac_get_selection_value): Rename from get_scrap_string.
14947 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14948 (put_scrap_private_timestamp, scrap_has_target_type)
14949 (get_scrap_private_timestamp): Remove functions.
14950 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14951 (x_own_selection, x_get_local_selection):
14952 Use mac_valid_selection_value_p.
14953 (x_own_selection): Don't use put_scrap_private_timestamp.
14954 Record OWNERSHIP-INFO into Vselection_alist instead.
14955 (x_get_local_selection): Don't check type if request is local.
14956 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14957 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14958
149592007-08-04 Jan Djärv <jan.h.d@swipnet.se>
14960
14961 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14962 add comment explaining why.
14963
149642007-08-03 Richard Stallman <rms@gnu.org>
14965
14966 * fileio.c (Fvisited_file_modtime): Use make_time.
14967
149682007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
14969
14970 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14971 build.
14972
149732007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14974
14975 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14976
149772007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14978
14979 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14980
149812007-07-30 Richard Stallman <rms@gnu.org>
14982
14983 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14984
149852007-07-29 Jan Djärv <jan.h.d@swipnet.se>
14986
14987 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14988
149892007-07-28 Nick Roberts <nickrob@snap.net.nz>
14990
14991 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14992 remote default-directory.
14993
14994 * buffer.c (mode-line-format): Update doc string.
14995
149962007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14997
14998 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14999 scroll bar gap.
15000 (x_scroll_bar_create): Set bar->fringe_extended_p.
15001 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15002 on frame edge. Check fringe background extension. Don't clear
15003 extended fringe background area.
15004
15005 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15006 (w32_fill_area): Enclose multiple statements with do ... while (0).
15007
15008 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15009 Extend fringe background to scroll bar gap.
15010 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15011 Set bar->fringe_extended_p.
15012 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15013 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15014 background extension. Don't clear extended fringe background area.
15015
15016 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15017 New member fringe_extended_p.
15018
150192007-07-25 Glenn Morris <rgm@gnu.org>
15020
15021 * Relicense all FSF files to GPLv3 or later.
15022
15023 * COPYING: Switch to GPLv3.
15024
150252007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15026
15027 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15028
15029 * data.c (Finteractive_form): Check for the presence of an
15030 `interactive-form' symbol property more thoroughly.
15031
15032 * data.c (Finteractive_form): Use an `interactive-form' property if
15033 present, analogous to the function-documentation property.
15034
150352007-07-24 Jason Rumney <jasonr@gnu.org>
15036
15037 * w32fns.c (x_real_positions): Get real position from OS instead of
15038 calculating it.
15039
150402007-07-23 Jason Rumney <jasonr@gnu.org>
15041
15042 * filelock.c (current_lock_owner): Allow for @ sign in username.
15043
150442007-07-22 Nick Roberts <nickrob@snap.net.nz>
15045
15046 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15047 remote default-directory.
15048
15049 * buffer.c (mode-line-format): Describe above case in doc string.
15050
150512007-07-20 Eli Zaretskii <eliz@gnu.org>
15052
15053 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15054 Define if not defined.
15055
150562007-07-18 Jason Rumney <jasonr@gnu.org>
15057
15058 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15059
150602007-07-18 Richard Stallman <rms@gnu.org>
15061
15062 * data.c (Fsetq_default): Doc fix.
15063
15064 * eval.c (Fsetq): Doc fix.
15065
150662007-07-18 Juanma Barranquero <lekktu@gmail.com>
15067
15068 * coding.c (Ffind_operation_coding_system):
15069 * eval.c (For, Fand): Doc fixes.
15070 Reported by Johan Bockgård.
15071
150722007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15073
15074 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15075
15076 * xterm.h: Declare x_ewmh_activate_frame.
15077
15078 * xterm.c (x_ewmh_activate_frame): New function.
15079 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15080
150812007-07-17 Martin Rudalics <rudalics@gmx.at>
15082
15083 * window.c (Fdisplay_buffer): If largest or LRU window is the
15084 only window, split it even if it is not eligible for splitting.
15085 This restores the original behavior broken by the 2007-07-15
15086 change.
15087
150882007-07-17 Glenn Morris <rgm@gnu.org>
15089
15090 * abbrev.c (abbrev_check_chars): New function.
15091 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15092 Call abbrev_check_chars to check abbrev characters are word
15093 constituents. Doc fix.
15094
150952007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15096
15097 * process.c (Fstart_process, Fmake_network_process)
15098 (read_process_output): Fix up last changes.
15099
151002007-07-16 Eli Zaretskii <eliz@gnu.org>
15101
15102 * makefile.w32-in (clean): Don't delete *~.
15103
151042007-07-16 Andreas Schwab <schwab@suse.de>
15105
15106 * window.c (Fdisplay_buffer): Use NILP.
15107 (Fset_window_scroll_bars): Likewise.
15108
151092007-07-15 Martin Rudalics <rudalics@gmx.at>
15110
15111 * window.c (window_min_size_2): New function.
15112 (window_min_size_1, size_window, Fdisplay_buffer)
15113 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15114 windows without mode- or header-lines when window-min-height is
15115 too small.
15116 (size_window): Reset nodelete_p after testing it, following an
15117 earlier note by Kim F. Storm.
15118 (display_buffer): Do not set split_height_threshold to twice the
15119 value of window_min_height to avoid changing the value of a
15120 customizable variable. Rather explicitly check whether the
15121 height of the window that shall be splitted is at least as large
15122 as split_height_threshold.
15123 (Fwindow_full_width_p): New defun.
15124 (syms_of_window): Defsubr it.
15125
15126 * window.h: Add EXFUN for Fwindow_full_width_p.
15127
151282007-07-14 Jason Rumney <jasonr@gnu.org>
15129
15130 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15131
151322007-07-14 Richard Stallman <rms@gnu.org>
15133
15134 * eval.c (maybe_call_debugger): New function.
15135 (find_handler_clause): Use maybe_call_debugger.
15136 Call it when the handler says `debug'.
15137 Eliminate DEBUGGER_VALUE_PTR.
15138 (Fsignal): Eliminate debugger_value.
15139 (Qdebug): New variable.
15140 (syms_of_eval): Initialize it.
15141
151422007-07-14 Juanma Barranquero <lekktu@gmail.com>
15143
15144 * eval.c (Fprogn):
15145 * keyboard.c (Ftrack_mouse):
15146 * print.c (Fwith_output_to_temp_buffer):
15147 * window.c (Fsave_window_excursion): Doc fix.
15148
151492007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15150
15151 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15152
151532007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15154
15155 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15156 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15157 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15158 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15159 Remove unused encoding_carryover.
15160 * process.c: Adjust all functions accordingly.
15161
151622007-07-12 Richard Stallman <rms@gnu.org>
15163
15164 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15165
151662007-07-11 Jason Rumney <jasonr@gnu.org>
15167
15168 * makefile.w32-in (LIBS): Include OLE32.
15169
15170 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15171 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15172
151732007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15174
15175 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15176 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15177 from a Lisp_Object into a bare pointer.
15178 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15179 Adjust the code correspondingly.
15180
15181 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15182
15183 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15184 (term_show_mouse_face): Remove unused var `j'.
15185 (handle_one_term_event): Remove unused vars `i' and `j'.
15186 Don't cast return value of ttyname since it's not necessary.
15187
151882007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15189
15190 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15191 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15192
15193 * fns.c (map_char_table): Use an array of int for `indices' rather than
15194 an array of Lisp_Objects (which are only ever integers anyway).
15195 (Fmap_char_table): Update caller.
15196 * lisp.h: Update prototype.
15197 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15198 * fontset.c (Ffontset_info):
15199 * casetab.c (set_case_table): Update callers.
15200
15201 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15202
15203 * keymap.c (struct accessible_keymaps_data)
15204 (struct where_is_internal_data): New structures.
15205 (accessible_keymaps_1, where_is_internal_1): Use them to change
15206 interface to adhere to the one used by map_keymap.
15207 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15208 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15209
15210 * keymap.h (map_keymap_function_t): More informative prototype.
15211
152122007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15213
15214 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15215 (looking_at_1): Don't change search_regs and last_thing_searched
15216 if `inhibit-changing-match-data' is non-nil.
15217 (string_match_1, search_buffer, set_search_regs): Likewise.
15218 (syms_of_search): Add Lisp level definition for
15219 `inhibit-changing-match-data' and set it to nil.
15220 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15221 start and end of the match, instead of using values in search_regs.
15222
152232007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15224
15225 * minibuf.c (Fcompleting_read): New value `confirm-only'
15226 for `require-match'.
15227
152282007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15229
15230 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15231 part of the 2007-06-27 change to syms_of_fileio.
15232
152332007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15234
15235 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15236 Check WINDOWP before using XWINDOW. Consolidate return statements.
15237
152382007-06-27 Richard Stallman <rms@gnu.org>
15239
15240 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15241
152422007-06-27 Juanma Barranquero <lekktu@gmail.com>
15243
15244 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15245
152462007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15247
15248 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15249 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15250 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15251 (_free_internal, memalign): Use them.
15252 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15253 Initialize to PTHREAD_MUTEX_INITIALIZER.
15254 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15255 (morecore_nolock): Rename from morecore. All uses changed.
15256 Use only nolock versions of internal allocation functions.
15257 (_malloc_internal_nolock, _realloc_internal_nolock)
15258 (_free_internal_nolock): New functions created from
15259 _malloc_internal, _realloc_internal, and _free_internal.
15260 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15261 Copy hook value to automatic variable before its use.
15262 (memalign): Copy hook value to automatic variable before its use.
15263
152642007-06-26 Kenichi Handa <handa@m17n.org>
15265
15266 * coding.c (Ffind_operation_coding_system): Docstring improved.
15267 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15268
152692007-06-25 David Kastrup <dak@gnu.org>
15270
15271 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15272 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15273 cater for additional parameter.
15274
15275 * keymap.h: Adjust number of parameters to `current-active-maps'.
15276
15277 * doc.c (Fsubstitute_command_keys): Adjust call of
15278 `current-active-maps'.
15279
152802007-06-25 David Kastrup <dak@gnu.org>
15281
15282 * callint.c (Fcall_interactively): Make the parsing of interactive
15283 specs somewhat more readable.
15284
152852007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15286
15287 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15288 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15289 if extended background has already been filled.
15290
152912007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15292
15293 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15294 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15295
15296 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15297 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15298 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15299 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15300 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15301 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15302 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15303 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15304 Run timers during dialog popup.
15305 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15306
153072007-06-21 Jason Rumney <jasonr@gnu.org>
15308
15309 * image.c (convert_mono_to_color_image): Swap fore and background.
15310
153112007-06-20 Jason Rumney <jasonr@gnu.org>
15312
15313 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15314 (w32_free_bdf_font): Unmap memory not handle.
15315
153162007-06-20 Sam Steingold <sds@gnu.org>
15317
15318 * gmalloc.c (__morecore): Fix the declaration to comply with the
15319 definition.
15320
153212007-06-20 Juanma Barranquero <lekktu@gmail.com>
15322
15323 * w32term.c (w32_delete_display): Remove leftover declaration.
15324 (w32_define_cursor, w32_initialize): Make static.
15325
15326 * w32.c (_wsa_errlist): Fix typo in error message.
15327 (init_environment): Ignore any environment variable from the
15328 registry having a null value.
15329
153302007-06-20 Glenn Morris <rgm@gnu.org>
15331
15332 * Makefile.in (LIBGIF): Default to -lgif.
15333
153342007-06-17 Jason Rumney <jasonr@gnu.org>
15335
15336 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15337 unicode strings.
15338
153392007-06-16 Juanma Barranquero <lekktu@gmail.com>
15340
15341 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15342 Fix typo in docstring.
15343
153442007-06-16 Eli Zaretskii <eliz@gnu.org>
15345
15346 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15347 and their keybindings.
15348
153492007-06-15 Chong Yidong <cyd@stupidchicken.com>
15350
15351 * composite.c (update_compositions): Fix last fix.
15352
153532007-06-14 Jason Rumney <jasonr@gnu.org>
15354
15355 * w32.c (get_process_times_fn): New function pointer.
15356 (globals_of_w32): Intialize it if present in kernel32.dll.
15357 (w32_get_internal_run_time): New function.
15358
15359 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15360
153612007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15362
15363 * composite.c (update_compositions): Check the validness of
15364 compositions.
15365
153662007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15367
15368 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15369 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15370
15371 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15372 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15373
15374 * macgui.h (USE_MAC_TOOLBAR): New define.
15375
15376 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15377 Return immediately unless popup is activated.
15378
15379 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15380 background to scroll bar gap.
15381 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15382 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15383 scroll bars on frame edge. Check fringe background extension.
15384 Don't clear extended fringe background area.
15385 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15386 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15387 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15388 [USE_MAC_TOOLBAR]: New macros.
15389 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15390 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15391 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15392 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15393 [USE_MAC_TOOLBAR]: New functions.
15394 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15395 manually if previous repositioning has failed.
15396 (mac_handle_keyboard_event): Use precomputed event kind.
15397 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15398 as tool bar item click. Handle mouse movement over tool bar items.
15399
15400 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15401 toolbar_win_gravity.
15402 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15403 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15404 Add externs.
15405
15406 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15407 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15408
154092007-06-14 Chong Yidong <cyd@stupidchicken.com>
15410
15411 * image.c (search_image_cache): Remove unused variable.
15412
154132007-06-13 Chong Yidong <cyd@stupidchicken.com>
15414
15415 * xfns.c, xmenu.c: Link to xaw3d if available.
15416
154172007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15418
15419 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15420 frame_foreground and frame_background.
15421
15422 * image.c (lookup_image): Save frame foreground and background colors.
15423 (search_image_cache): Check if saved and current frame colors match.
15424
154252007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15426
15427 * regex.c (regex_compile): Remove the `regnum' counter.
15428 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15429
154302007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15431
15432 * term.c: Include intervals.h to declare Fget_text_property.
15433
154342007-06-10 Jason Rumney <jasonr@gnu.org>
15435
15436 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15437
154382007-06-08 Juanma Barranquero <lekktu@gmail.com>
15439
15440 * callint.c (Fcall_interactively):
15441 * editfns.c (Fdelete_and_extract_region):
15442 * fileio.c (Fread_file_name):
15443 * fns.c (Fmapconcat):
15444 * keyboard.c (cmd_error_internal):
15445 * keymap.c (Fkey_description):
15446 * lread.c (openp):
15447 * minibuf.c (read_minibuf):
15448 * search.c (wordify):
15449 * sunfns.c (sel_read):
15450 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15451 * xfns.c (x_default_scroll_bar_color_parameter):
15452 * xmenu.c (menu_help_callback):
15453 * xselect.c (Fx_get_atom_name):
15454 * xterm.c (x_term_init): Use empty_unibyte_string.
15455
154562007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15457
15458 * alloc.c (init_strings): Initialize canonical empty strings.
15459 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15460 canonical empty string when the requested size is 0.
15461
15462 * emacs.c (empty_unibyte_string): Rename from empty_string.
15463 (empty_multibyte_string): New canonical empty string.
15464 (syms_of_emacs): Don't initialize empty_string.
15465
15466 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15467 string, if appropriate.
15468 (empty_unibyte_string, empty_multibyte_string): New externs.
15469 (empty_string): Remove extern.
15470
15471 * lread.c (syms_of_lread): Use empty_unibyte_string.
15472
154732007-06-07 Jason Rumney <jasonr@gnu.org>
15474
15475 * s/ms-w32.h: Don't define HAVE_TZNAME.
15476
15477 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15478
154792007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15480
15481 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15482
15483 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15484 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15485
15486 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15487 Don't call next handler.
15488 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15489 Remove argument. Install handler to application.
15490 (set_frame_menubar): Don't change deep_p.
15491 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15492 FRAME_OUTER_TO_INNER_DIFF_Y.
15493 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15494 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15495 [HAVE_DIALOGS]: New macros.
15496 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15497 Use them.
15498 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15499
15500 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15501 init_service_handler. All callers changed. Return OSStatus value.
15502
15503 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15504 All callers changed so as not to call SetPortWindowPort.
15505 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15506 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15507 mac_draw_string_common.
15508 (mac_draw_image_string_qd): Likewise.
15509 (mac_draw_string_common): Use them. Add INLINE.
15510 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15511 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15512 GetGlobalMouse.
15513 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15514 and FRAME_OUTER_TO_INNER_DIFF_Y.
15515 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15516 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15517 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15518 repositioning window to mac_handle_window_event.
15519 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15520 saving window location to mac_handle_window_event
15521 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15522 (install_menu_target_item_handler): Remove argument in extern.
15523 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15524 Also accept command events.
15525 (do_keystroke): New function created from XTread_socket.
15526 (init_command_handler): Remove functions.
15527 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15528 and save window location by kEventWindowShowing and kEventWindowHiding
15529 handlers here. Don't call next handler for window state change and
15530 focus events.
15531 (mac_handle_application_event, mac_handle_keyboard_event)
15532 [TARGET_API_MAC_CARBON]: New functions.
15533 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15534 kEventWindowShowing and kEventWindowHiding events. Move installation
15535 of mouse, font, text input and menu target item handlers to
15536 install_application_handler.
15537 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15538 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15539 New function.
15540 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15541 Register it.
15542 (XTread_socket) [TARGET_API_MAC_CARBON]:
15543 Consolidate SendEventToEventTarget calls.
15544 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15545 Move application activation handler to mac_handle_application_event.
15546 Move keyboard handler to mac_handle_keyboard_event.
15547 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15548 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15549 init_command_handler. Call install_application_handler.
15550
15551 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15552 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15553
155542007-06-07 Glenn Morris <rgm@gnu.org>
15555
15556 * emacs.c (main): Use `emacs-copyright' in --version output.
15557
155582007-06-06 Chong Yidong <cyd@stupidchicken.com>
15559
15560 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15561
155622007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15563
15564 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15565
15566 * macgui.h: Replace WindowPtr with WindowRef.
15567
15568 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15569 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15570 Replace ControlHandle with ControlRef.
15571 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15572
15573 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15574 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15575 Replace ControlHandle with ControlRef.
15576 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15577 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15578
15579 * macterm.h (struct scroll_bar): Rename member control_handle_low
15580 and control_handle_high to control_ref_low and control_ref_high.
15581 All uses changed.
15582 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15583 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15584 respectively. All uses changed.
15585 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15586 (install_window_handler, remove_window_handler): Replace WindowPtr
15587 with WindowRef in externs.
15588
155892007-06-05 Juanma Barranquero <lekktu@gmail.com>
15590
15591 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15592
155932007-06-03 Nick Roberts <nickrob@snap.net.nz>
15594
15595 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15596
15597 * frame.c (Fmouse_position, Fmouse_pixel_position):
15598 Condition on HAVE_GPM too.
15599
15600 * term.c (term_mouse_highlight): Remove unused variables.
15601 (Fterm_open_connection): Set gpm_zerobased to 1.
15602 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15603 Use zero based co-ordinates.
15604 (handle_one_term_event): Report a drag as mouse movement too.
15605
15606 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15607
156082007-06-03 Chong Yidong <cyd@stupidchicken.com>
15609
15610 * image.c (search_image_cache): New function. Require background
15611 color match if background color is unspecified in the image spec.
15612 (uncache_image, lookup_image): Use it.
15613
156142007-06-01 Juanma Barranquero <lekktu@gmail.com>
15615
15616 * window.c (Fshrink_window): Reflow docstring.
15617
156182007-06-02 Chong Yidong <cyd@stupidchicken.com>
15619
15620 * Version 22.1 released.
15621
156222007-06-01 Richard Stallman <rms@gnu.org>
15623
15624 * xfns.c (x_encode_text): Add GCPRO.
15625
156262007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15627
15628 * xfns.c (x_set_name_internal): Save encoded name before
15629 x_encode_text in case string data is relocated.
15630
156312007-05-31 Richard Stallman <rms@gnu.org>
15632
15633 * buffer.c (syms_of_buffer): Doc fix.
15634
156352007-05-30 Nick Roberts <nickrob@snap.net.nz>
15636
15637 * sysdep.c (init_sys_modes): Add rather than replace with
15638 O_NONBLOCK.
15639
15640 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15641 term_mouse_moveto.
15642
15643 * termhooks.h (term_mouse_moveto): New extern.
15644
15645 * term.c (mouse_face_window): Rename...
15646 (Qmouse_face_window): ...to this.
15647 (term_show_mouse_face, term_clear_mouse_face)
15648 (term_mouse_highlight): Use Qmouse_face_window.
15649 (term_mouse_moveto): New function.
15650 (term_mouse_position): Make it work.
15651 (syms_of_term): Uncomment assignment to mouse_position_hook.
15652 Staticpro Qmouse_face_window.
15653
156542007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15655
15656 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15657 around current_column call.
15658
156592007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15660
15661 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15662 * xdisp.c (next_element_from_buffer):
15663 * window.c (delete_window):
15664 * term.c (term_mouse_highlight):
15665 * msdos.c (getdefdir):
15666 * macterm.c (mac_create_bitmap_from_bitmap_data)
15667 (init_font_name_table):
15668 * fns.c (Fsxhash):
15669 * data.c (Fmake_local_variable):
15670 * ccl.c (ccl_driver): Likewise.
15671
156722007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15673
15674 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15675 Call mac_wakeup_from_rne on window size change.
15676
156772007-05-25 Chong Yidong <cyd@stupidchicken.com>
15678
15679 * image.c (uncache_image): Fix typo.
15680
156812007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15682
15683 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15684
156852007-05-22 Richard Stallman <rms@gnu.org>
15686
15687 * xterm.c (x_connection_closed): Remove NO_RETURN.
15688
156892007-05-22 Martin Rudalics <rudalics@gmx.at>
15690
15691 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15692
156932007-05-21 Chong Yidong <cyd@stupidchicken.com>
15694
15695 * image.c (uncache_image): New function.
15696 (Fimage_refresh): New function.
15697
156982007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15699
15700 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15701
157022007-05-20 Nick Roberts <nickrob@snap.net.nz>
15703
15704 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15705 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15706
157072007-05-20 Nick Roberts <nickrob@snap.net.nz>
15708
15709 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15710 conditional on [HAVE_GPM_H].
15711
157122007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15713
15714 * syntax.c (skip_chars): Update syntax-table only after we checked that
15715 the new location is valid.
15716
157172007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15718
15719 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15720 mac_get_window_bounds.
15721
157222007-05-20 Nick Roberts <nickrob@snap.net.nz>
15723
15724 * Makefile.in (LIBGPM): Allow it to be set from configure.
15725 If set then link Emacs with it.
15726
15727 * config.in: Regenerate.
15728
15729 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15730 New externs.
15731
15732 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15733 Include gpm.h.
15734 (handle_one_term_event, term_gpm): New externs.
15735
15736 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15737 and allow it to be interrupted by SIGIO.
15738
15739 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15740 (wait_reading_process_output): Wait on gpm_fd too.
15741 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15742 (add_gpm_wait_descriptor_called_flag): New variable.
15743 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15744
15745 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15746 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15747 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15748 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15749 (make_lispy_event): Add case GPM_CLICK_EVENT.
15750 (read_avail_input): Handle mouse input.
15751
15752 * term.c (write_glyphs_with_face): New function.
15753 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15754 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15755 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15756 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15757 (last_mouse_x, last_mouse_y): New variables.
15758 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15759 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15760 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15761 (Fterm_close_connection): New functions.
15762 (term_init): Initialise mouse_face_window.
15763
157642007-05-19 Chong Yidong <cyd@stupidchicken.com>
15765
15766 * xdisp.c (redisplay_window): If first window line is a
15767 continuation line, recompute the new window start instead of
15768 recentering.
15769
157702007-05-18 Glenn Morris <rgm@gnu.org>
15771
15772 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15773 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15774
157752007-05-17 Glenn Morris <rgm@gnu.org>
15776
15777 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15778
157792007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15780
15781 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15782 dead key repeat and up events.
15783
157842007-05-14 Chong Yidong <cyd@stupidchicken.com>
15785
15786 * image.c (pbm_load): Check image size for monochrome pbm.
15787
157882007-05-13 Chong Yidong <cyd@stupidchicken.com>
15789
15790 * xterm.c (XTread_socket): Revert last change.
15791
157922007-05-12 Chong Yidong <cyd@stupidchicken.com>
15793
15794 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15795
15796 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15797
157982007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15799
15800 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15801 mixup (YAILOM).
15802
158032007-05-07 Andreas Schwab <schwab@suse.de>
15804
15805 * keymap.c (Flookup_key): Fix typo in last change.
15806
158072007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15808
15809 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15810 mapping for unibyte strings.
15811
158122007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15813
15814 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15815 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15816
158172007-04-29 Richard Stallman <rms@gnu.org>
15818
15819 * insdel.c (replace_range): For undo, record insertion first.
15820
158212007-04-29 Andreas Schwab <schwab@suse.de>
15822
15823 * lisp.h (VECSIZE): Use OFFSETOF.
15824
158252007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15826
15827 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15828 disabled lines.
15829
158302007-04-28 Richard Stallman <rms@gnu.org>
15831
15832 * lread.c (read_escape): In a string, \s is always space.
15833
158342007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15835
15836 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15837
15838 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15839 submenu for menu bar items.
15840
15841See ChangeLog.10 for earlier changes.
15842
15843;; Local Variables:
15844;; coding: utf-8
15845;; add-log-time-zone-rule: t
15846;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15847;; End:
15848
15849 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15850
15851 This file is part of GNU Emacs.
15852
15853 GNU Emacs is free software: you can redistribute it and/or modify
15854 it under the terms of the GNU General Public License as published by
15855 the Free Software Foundation, either version 3 of the License, or
15856 (at your option) any later version.
15857
15858 GNU Emacs is distributed in the hope that it will be useful,
15859 but WITHOUT ANY WARRANTY; without even the implied warranty of
15860 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15861 GNU General Public License for more details.
15862
15863 You should have received a copy of the GNU General Public License
15864 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
15865
15866;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40