(Current Buffer): Reword documentation of set-buffer.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
cd265ca6
MR
12008-10-23 Martin Rudalics <rudalics@gmx.at>
2
3 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
4 Reword doc-string.
5 (Fbury_buffer): In doc-string say what happens to the buffer's
6 window.
7
472a4dc9
JB
82008-10-23 Juanma Barranquero <lekktu@gmail.com>
9
10 * character.c (syms_of_character) <script-representative-chars>:
11 <unicode-category-table>: Doc fixes.
12
159bd5a2
NF
132008-10-23 Noah Friedman <friedman@splode.com>
14
15 * coding.c (make_conversion_work_buffer): Check that
16 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
17 Fget_buffer_create.
18
49f9c344
KH
192008-10-23 Kenichi Handa <handa@m17n.org>
20
21 * font.c (font_add_log): Check the values of extra properties.
22
12bb3111
MR
232008-10-22 Martin Rudalics <rudalics@gmx.at>
24
25 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
26 Reword doc-string.
27 (Fset_window_parameter): Use NILP.
28 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
29 (Frecenter): Use "selected" instead of "current" window in
30 doc-strings.
31
bbeb4e99
JB
322008-10-22 Juanma Barranquero <lekktu@gmail.com>
33
34 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
35
362008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
37
38 * nsfns.m (ns_appkit_version): New function.
39 (x-server-version): Use it.
40 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
41 (x-server-vendor): Don't check_ns().
42
43 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
44
a9b555d3
JB
452008-10-22 Juanma Barranquero <lekktu@gmail.com>
46
47 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
48 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
49
4626499f
KH
502008-10-22 Kenichi Handa <handa@m17n.org>
51
e3681952
KH
52 * syntax.c (scan_words): Call word_boundary_p instead of comparing
53 scripts.
54
4626499f
KH
55 * category.c (word_boundary_p): Check scripts instead of charset.
56 Handle nil value in word-separating-categories and
57 word-combining-categories.
58 (syms_of_category): Fix docstrings of word-separating-categories
59 and word-combining-categories.
60
1560f91a
EZ
612008-10-21 Eli Zaretskii <eliz@gnu.org>
62
63 * coding.c (Fencode_coding_region, Fdecode_coding_region)
64 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
65
f4668441
MR
662008-10-21 Martin Rudalics <rudalics@gmx.at>
67
68 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
69 Rename arg "buffer" to "buffer_or_name".
70 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
71 it optional.
72 (no_switch_window): Remove since the return value is not used.
a9b555d3 73 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
74 Consider window as dedicated when Fwindow_dedicated_p returns a
75 non-nil value.
76 * lisp.h: Remove prototype for no_switch_window.
77
fd75ddb2
JD
782008-10-21 Jan Djärv <jan.h.d@swipnet.se>
79
80 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
81 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
82
07295713
KH
832008-10-21 Kenichi Handa <handa@m17n.org>
84
85 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
86 check Vlatin_extra_code_table.
87
712adc82
EZ
882008-10-20 Eli Zaretskii <eliz@gnu.org>
89
90 * fileio.c (Fset_file_modes): Doc fix.
91
f549eb0b
MA
922008-10-19 Michael Albinus <michael.albinus@gmx.de>
93
94 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
95 in arrays.
96
aac0c6e3
MR
972008-10-19 Martin Rudalics <rudalics@gmx.at>
98
99 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
100 Mention kill-buffer in doc-string.
101 (Fset_window_buffer): Reinsert tem check removed in last commit.
102 (Fenlarge_window, Fshrink_window): Have argument names and
103 doc-string follow Elisp manual more closely.
104
1052008-10-18 Eli Zaretskii <eliz@gnu.org>
106
107 * fileio.c (Fset_file_modes): Doc fix.
108
1092008-10-18 Martin Rudalics <rudalics@gmx.at>
110
111 * window.c (Fwindow_width, Fset_window_start)
112 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
113 (Fdelete_windows_on, Freplace_buffer_in_windows): Make
114 doc-strings follow code and Elisp manual more closely.
115 (Fwindow_dedicated_p): Make window argument optional.
116 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
117 (Fset_window_buffer): Respect any non-nil dedicated value for
118 window. Rename "buffer" argument to "buffer_or_name".
119
1202008-10-18 Ulrich Mueller <ulm@gentoo.org>
121
122 * m/sh3.h: New file, machine description for SuperH.
123
1242008-10-17 Martin Rudalics <rudalics@gmx.at>
125
126 * window.c (Fsplit_window): Rename arg horflag to horizontal.
127
1282008-10-17 Kenichi Handa <handa@m17n.org>
129
130 * ftfont.c (ftfont_otf_features): Fix indexing
131 gsub_gpos->FeatureList.Feature. Check the validity of indices.
132
1332008-10-16 Magnus Henoch <mange@freemail.hu>
134
135 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
136 (Fdbus_call_method_asynchronously): Ditto.
137 This change makes C-h f display the argument list.
138
1392008-10-16 Chong Yidong <cyd@stupidchicken.com>
140
141 * fileio.c (Fexpand_file_name): Doc fix.
142
143 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
144 of :foreground and :background equivalent to unspecified (20.x
145 compatibility).
146
1472008-10-15 Eli Zaretskii <eliz@gnu.org>
148
149 * buffer.c (syms_of_buffer): Doc fix.
150
1512008-10-14 Kenichi Handa <handa@m17n.org>
152
153 * font.c (font_clear_prop): When clearing font width, clear the
154 average width field too.
155
1562008-10-12 Andreas Schwab <schwab@suse.de>
157
158 * ftfont.c (ftfont_shape_by_flt): Make static.
159 * ftfont.h (ftfont_shape_by_flt): Don't declare.
160
161 * font.c: Don't include <m17n-flt.h>.
162
1632008-10-10 Eli Zaretskii <eliz@gnu.org>
164
165 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
166
1672008-10-09 Eli Zaretskii <eliz@gnu.org>
168
169 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
170 away code.
171
1722008-10-09 Chong Yidong <cyd@stupidchicken.com>
173
174 * dispnew.c (update_text_area): Avoid looping due to large glyph
175 overhangs (bug#1070).
176
1772008-10-09 Kenichi Handa <handa@m17n.org>
178
179 * fontset.c (face_for_char): If face->fontset is negative, just
180 return ascii_face.
181
182 * font.c (font_delete_unmatched): Fix previous change. Don't
183 reject an entity if DPI and AVGWIDTH of an entity are 0.
184
1852008-10-09 Martin Rudalics <rudalics@gmx.at>
186
187 * frame.c (Fraise_frame): On text-only terminals select frame in
188 order to make it visible. (Bug#1061)
189
1902008-10-08 Chong Yidong <cyd@stupidchicken.com>
191
192 * fontset.c (fontset_find_font): Check frame validity.
193
1942008-10-07 Chong Yidong <cyd@stupidchicken.com>
195
a9b555d3 196 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
197 (xg_display_close): Allow Emacs to close all displays (bug#985).
198
1992008-10-06 Andreas Schwab <schwab@suse.de>
200
201 * sysdep.c (sys_signal): Always set SA_RESTART when
202 noninteractively.
203
2042008-10-06 Chong Yidong <cyd@stupidchicken.com>
205
206 * emacs.c (Vbefore_init_time, Vafter_init_time): Moved from
207 startup.el.
208
a9b555d3 209 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
210
211 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
212 during initialization.
213
2142008-10-04 Eli Zaretskii <eliz@gnu.org>
215
216 * xdisp.c (redisplay_internal): If frame switched, redisplay the
217 whole thing on MSDOS frames as well as on a TTY.
218
219 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
220 well as for TTY.
221 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
222 well as on a TTY.
223
224 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
225 as well as for TTY.
226
227 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
228
229 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
230 MSDOS frames as well.
231
2322008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
233
234 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
235 correct arguments.
236 * menu.c (find_and_return_menu_selection) Add cast.
237
2382008-10-03 Glenn Morris <rgm@gnu.org>
239
240 * emacs.c (USAGE1): Add --daemon.
241
2422008-10-02 Eli Zaretskii <eliz@gnu.org>
243
244 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
245 100, so it's in percents as advertised.
246
2472008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
248
249 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
250 (ns_output.current_cursor, ns_output.desired_cursor)
251 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
252 (FRAME_NEW_CURSOR_COLOR): Remove.
253
254 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 255 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
256 enumeration (HOLLOW_BOX_CURSOR, etc.).
257
258 * nsterm.m (ns_frame_rehighlight): Remove commented code.
259 (draw_window_cursor): Simplify code.
260 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): Don't
a9b555d3 261 change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 262 updates manually.
a9b555d3
JB
263 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
264 Use core Emacs cursor types.
aac0c6e3
MR
265
266 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
267 NS.
268
2692008-10-02 Martin Rudalics <rudalics@gmx.at>
270
271 * process.c (Faccept_process_output): Fix doc-string.
272
2732008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
274
275 * gmalloc.c (__sbrk): Also define for uClibc.
276
277 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
278 for uClibc.
279
2802008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
281
282 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
283 styles.
284 (nsfont_open): Reenable the cache.
285
2862008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
287
288 * font.c (font_matching_entity): Reflect ATTRS in font selection.
289 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
290
2912008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
292
293 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
294 a suspended terminal.
295
2962008-09-30 Michael Albinus <michael.albinus@gmx.de>
297
298 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
299
3002008-09-30 Eli Zaretskii <eliz@gnu.org>
301
302 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
303
3042008-09-30 Chong Yidong <cyd@stupidchicken.com>
305
306 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
307 in a continued line coincides with a line beginning.
308
3092008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
310
311 * nsfont.m (nsfont_trait_distance): Fix bug.
312 (nsfont_list): Return a list rather than a vector (syncs with Handa
313 changes of 2008-05-14).
314 (nsfont_open): Improve logging.
315
3162008-09-29 Andreas Schwab <schwab@suse.de>
317
318 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
319
3202008-09-28 Martin Rudalics <rudalics@gmx.at>
321
322 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
323 name as char-resolve-modifiers.
324 Reported by: Markus Triska <markus.triska@gmx.at>
325
3262008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
327
328 * dispnew.c (init_display): Return earlier when running as a daemon.
329
3302008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
331
332 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
333
3342008-09-27 Eli Zaretskii <eliz@gnu.org>
335
336 * composite.c (Fcomposition_get_gstring)
337 (Fcompose_region_internal, Fcompose_string_internal)
338 (Ffind_composition_internal): Doc fix.
339 (syms_of_composite) <compose-chars-after-function>: Doc fix.
340 (syms_of_composite) <auto-composition-function>: Doc fix.
341 (syms_of_composite) <composition-function-table>: Doc fix.
342
3432008-09-25 Chong Yidong <cyd@stupidchicken.com>
344
345 * search.c (wordify): New argument for lax word-ends.
346 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
347
3482008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
349
350 * lisp.h (is_daemon): Declare.
351 * dispnew.c (init_display): Do not try to initialize the terminal
352 when running as a daemon.
353
3542008-09-22 Chong Yidong <cyd@stupidchicken.com>
355
356 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
357 x_display_pixel_height.
358
3592008-09-22 Martin Rudalics <rudalics@gmx.at>
360
361 * undo.c (record_point): Don't call Fundo_boundary for first
362 change. (Bug#731)
363
3642008-09-22 Juanma Barranquero <lekktu@gmail.com>
365
366 * emacs.c (Fdaemonp): Doc fix.
367
3682008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
369
370 * emacs.c (main): Place #ifdef in the proper place.
371
3722008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
373
374 * emacs.c (standard_args): Add --daemon.
375 (main): Disconnect from the terminal when --daemon is passed.
376 (is_daemon): New variable.
377 (Fdaemonp): New function.
378 (syms_of_emacs): Defsubr it.
379
3802008-09-20 Chong Yidong <cyd@stupidchicken.com>
381
382 * xdisp.c (get_next_display_element): Handle string display
383 correctly when checking for the end of a box run.
384
3852008-09-20 Glenn Morris <rgm@gnu.org>
386
387 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
388 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
389 (Frename_file): Avoid copying to trash if a rename involves
390 a delete. (Bug#964).
391
3922008-09-20 Eli Zaretskii <eliz@gnu.org>
393
394 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
395 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
396 frames as well as termcap frames.
397 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
398 get_named_tty.
399
4002008-09-19 Eli Zaretskii <eliz@gnu.org>
401
402 * process.c (procfs_system_process_attributes): Fix cmdline in
403 case /proc/PID/cmdline is empty.
404
405 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
406 x_display_pixel_height.
407
4082008-09-19 Juanma Barranquero <lekktu@gmail.com>
409
410 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
411
412 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
413 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
414
4152008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
416
417 * dispextern.h (struct it): Move line_wrap away from the middle of
418 bitfields. Move voffset in struct iterator_stack_entry after the
419 bitfields. Move tab_width near after another short.
420
4212008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
422
423 * frame.h (struct frame): Move alpha from the middle of bitfields.
424
425 * window.h (struct window): Move frozen_window_start_p after the
426 rest of the bitfields to reduce padding.
427
4282008-09-18 Chong Yidong <cyd@stupidchicken.com>
429
430 * xterm.h (x_display_info): Remove `height' and `width' members.
431
432 * nsterm.h (ns_display_info): Remove `height' and `width' members.
433
434 * w32term.h (w32_display_info): Remove `height', `width',
435 `height_in', and `width_in' members.
436
437 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
438 functions.
439 (x_calc_absolute_position): Use them.
440 (x_term_init): Omit removed `height' and `width' members.
441
442 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
443 functions.
444 (w32_read_socket, x_calc_absolute_position): Use them.
445 (w32_initialize_display_info, w32_term_init): Omit removed members
446 of w32_display_info.
447
448 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
449 functions.
450 (ns_initialize_display_info): Omit removed members of
451 ns_display_info.
452
453 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
454 functions.
455 (x_calc_absolute_position): Use them.
456 (x_term_init): Omit removed `height' and `width' members.
457
458 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
459 (compute_tip_xy): Use x_display_pixel_height and
460 x_display_pixel_width.
461
462 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
463 x_display_pixel_width.
464
465 * xmenu.c (menu_position_func): Use x_display_pixel_height and
466 x_display_pixel_width.
467
4682008-09-18 Kenichi Handa <handa@m17n.org>
469
470 * composite.c (fill_gstring_header): Don't check FROM and TO here.
471 (composition_compute_stop_pos): Fix handling of static composition.
472 (Fcomposition_get_gstring): Check FROM and TO at first.
473
4742008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
475
476 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
477 mixup (YAILOM).
478
4792008-09-17 Chong Yidong <cyd@stupidchicken.com>
480
481 * indent.c (Fvertical_motion): Use position reported by iterator
482 instead of PT for determining screen motion (bug#943).
483
4842008-09-17 Romain Francoise <romain@orebokech.com>
485
486 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
487
4882008-09-17 Kenichi Handa <handa@m17n.org>
489
490 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
491
492 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
493 if necessary.
494
4952008-09-16 Kenichi Handa <handa@m17n.org>
496
497 * coding.c (make_conversion_work_buffer): Avoid calling
498 Fget_buffer_create if it is not necessary.
499
5002008-09-15 Martin Rudalics <rudalics@gmx.at>
501
502 * window.c (Fselect_window): Don't update window_select_count and
503 use_time when norecord is not nil.
504
5052008-09-14 Kenichi Handa <handa@m17n.org>
506
507 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
508 specpdl_ptr.
509
5102008-09-12 Kenichi Handa <handa@m17n.org>
511
512 * indent.c (scan_for_column): Don't handle automatic composition
513 if the current buffer is not associated with a window.
514
515 * composite.c (composition_reseat_it): If the current buffer is
516 not associated with a window, ignore the automatic composition.
517 (find_automatic_composition): Likewise.
518
5192008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
520
521 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
522 (Fgpm_mouse_stop): Use it.
523 * termhooks.h (close_gpm): Declare.
524 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
525 connection if Gpm_GetEvent fails.
526
527 * window.c (set_window_buffer): Always preserve current-buffer.
528
5292008-09-12 Glenn Morris <rgm@gnu.org>
530
531 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
532
5332008-09-11 Glenn Morris <rgm@gnu.org>
534
535 * charset.c (charset-map-path): Doc fix.
536
5372008-09-10 Kenichi Handa <handa@m17n.org>
538
539 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
540
541 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
542 compose a grapheme cluster with the preceding base glyph.
543
544 * composite.c (composition_compute_stop_pos): Fix previous change.
545 Reset cmp_it->id to -1 at first.
546
5472008-09-10 Glenn Morris <rgm@gnu.org>
548
549 * Makefile.in (character.o, chartab.o): Fix config.h typo.
550
5512008-09-09 Chong Yidong <cyd@stupidchicken.com>
552
553 * keyboard.c (read_key_sequence): Reapply translation maps when
554 switching keyboards.
555
5562008-09-09 Kenichi Handa <handa@m17n.org>
557
558 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
559 characters.
560
561 * composite.c (FORWARD_CHAR): Fix calculation
562 of (POSITION).pos_byte.
563 (composition_compute_stop_pos): Limit the search of composition to
564 at most 500 characters ahead. If we reach the limit or find a
565 newline, set cmp_it->ch to -2 and return 0.
566 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
567
5682008-09-08 Kenichi Handa <handa@m17n.org>
569
570 * indent.c (Fvertical_motion): Be sure to set
571 it_overshoot_expected if it.cmp_it.id is non-negative.
572
5732008-09-07 Andreas Schwab <schwab@suse.de>
574
575 * callproc.c (Fcall_process): Don't hold references to string data
576 across garbage collection. Move initialisation of new_argv down
577 to avoid compiler bug.
578
5792008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
580
581 * process.c (Fsystem_process_attributes): Doc fix.
582
5832008-09-07 Chong Yidong <cyd@stupidchicken.com>
584
585 * callproc.c (Fcall_process): Canonicalize current directory name.
586
587 * xdisp.c (move_it_to): When moving by vpos, ensure that the
588 iterator advances to the next line if the current line ends in a
589 continued tab.
590
5912008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
592
593 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
594 member to point to cmp_from.
595
596 * xdisp.c: Doc fix for references to gidx data member.
597
5982008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
599
600 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
601
6022008-09-07 Kenichi Handa <handa@m17n.org>
603
604 * composite.c (FORWARD_CHAR): Check STOP after
605 incrementing (POSITION).pos.
606
6072008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
608
609 * process.c (Fsystem_process_attributes): Doc fix.
610
6112008-09-06 Chong Yidong <cyd@stupidchicken.com>
612
613 * keyboard.c (Ftop_level): Doc fix.
614
6152008-09-06 Eli Zaretskii <eliz@gnu.org>
616
617 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
618 minibuffer, don't let lower part of menu invade the echo area.
619
620 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
621 "char *q" to access menu text and advance through it. Revert the
622 change that displayed ">" instead of ASCII character 0x10.
623
6242008-09-05 Eli Zaretskii <eliz@gnu.org>
625
626 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
627 toggle boxes and radio buttons on MS-DOS as well.
628
6292008-09-05 Kenichi Handa <handa@m17n.org>
630
631 * composite.c (autocmp_chars): Check lookback count.
632 (composition_compute_stop_pos): Set cmp_it->lookback.
633 (composition_reseat_it): Check lookback count.
634 (struct position_record): New struct.
635 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
636 (find_automatic_composition): New function.
637 (composition_adjust_point): Use find_automatic_composition.
638
639 * dispextern.h (struct composition_it): New member lookback.
640
6412008-09-02 Chong Yidong <cyd@stupidchicken.com>
642
643 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
644 if moving by a single line.
645
6462008-09-02 Andreas Schwab <schwab@suse.de>
647
648 * xterm.c (x_delete_display): Fix merge error.
649
650 * fileio.c (Fexpand_file_name): Remove unused variables.
651
6522008-09-02 Eli Zaretskii <eliz@gnu.org>
653
654 * fileio.c (Fexpand_file_name): Copy argument `name' into local
655 storage on all platforms, not just on DOS_NT.
656
6572008-09-02 Jason Rumney <jasonr@gnu.org>
658
659 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
660 mouse is not grabbed after menu is finished.
661
6622008-09-01 Chong Yidong <cyd@stupidchicken.com>
663
664 * xfaces.c (Finternal_set_alternative_font_family_alist)
665 (Finternal_set_alternative_font_registry_alist): Properly copy
666 entire alist structure.
667
6682008-09-01 Kenichi Handa <handa@m17n.org>
669
670 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
671 representative chars of the script is a vector.
672 (ftfont_list): Handle the case the representative chars of the
673 script is a vector.
674
675 * character.c (syms_of_character): Docstring of
676 script-representative-chars fixed.
677
6782008-08-31 Eli Zaretskii <eliz@gnu.org>
679
680 * msdos.c (BUILD_CHAR_GLYPH): New macro.
681 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
682 the menu. Allocate larger buffer for `text', to account for
683 possible ^C characters.
684
6852008-08-31 Martin Rudalics <rudalics@gmx.at>
686
687 * xdisp.c (prepare_menu_bars): Don't call
688 Vwindow_size_change_functions with arg Qt.
689
6902008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
691
692 * font.h (font_range):
693 * fileio.c (report_file_error):
694 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
695
6962008-08-30 Glenn Morris <rgm@gnu.org>
697
698 * data.c (Fmake_variable_frame_local): Doc fix.
699
700 * frame.c (Fmodify_frame_parameters): Doc fix.
701
7022008-08-30 Eli Zaretskii <eliz@gnu.org>
703
704 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
705 needed by GetTokenInformation.
706 (w32_system_process_attributes): Check return values of all system
707 APIs.
708
709 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
710 only when the state changes.
711 (IT_update_begin, IT_update_end): Add termscript trace.
712
713 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
714 clipboard is unavailable. Set dst to NULL if it doesn't point to
715 malloc'ed data.
716 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
717 passing random values to xfree.
718
719 * dispnew.c (init_display): Set `tty's association in frame's
720 parameters alist to the name of the terminal device, if that is
721 known.
722
7232008-08-29 Jason Rumney <jasonr@gnu.org>
724
725 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
726
7272008-08-29 Eli Zaretskii <eliz@gnu.org>
728
729 * composite.c (fill_gstring_body): Avoid compiler warnings.
730
731 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
732 LGLYPH_SET_CODE to avoid compiler warnings.
733
734 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
735
736 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
737
738 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
739 LGLYPH_SET_CODE.
740
7412008-08-29 Kenichi Handa <handa@m17n.org>
742
743 * fileio.c (report_file_error): Don't downcase the first character
744 of errstring if it is still unibyte.
745
7462008-08-29 Kenichi Handa <handa@m17n.org>
747
748 These changes are to re-implement the automatic composition so
749 that it doesn't use text properties.
750
751 * Makefile.in (ftfont.o): Depend on composite.h.
752 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
753
754 * character.h (Vunicode_category_table): Extern it.
755
756 * character.c (Vunicode_category_table): New variable.
757 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
758
759 * chartab.c (optimize_sub_char_table): Perform more greedy
760 optimization.
761
762 * composite.h (enum composition_method): Delete
763 COMPOSITION_WITH_GLYPH_STRING.
764 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
765 (Vcomposition_function_table): Extern it.
766 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
767 (composition_gstring_put_cache, composition_gstring_from_id)
768 (composition_gstring_p, composition_gstring_width)
769 (composition_compute_stop_pos, composition_reseat_it)
770 (composition_update_it, composition_adjust_point): Extern them.
771 (Fcomposition_get_gstring): EXFUN it.
772
773 * composite.c: Include window.h, frame.h, dispextern.h font.h.
774 (Vcomposition_function_table)
775 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
776 (gstring_hash_table, gstring_work, gstring_work_headers): New
777 variables.
778 (gstring_lookup_cache, composition_gstring_put_cache)
779 (composition_gstring_from_id, composition_gstring_p)
780 (composition_gstring_width, fill_gstring_header)
781 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
782 (composition_reseat_it, composition_update_it)
783 (composition_adjust_point, Fcomposition_get_gstring): New
784 functions.
785 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
786 and gstring_work_headers. DEFVAR_LISP composition-function-table.
787 Defsubr compostion_get_gstring.
788
789 * dispextern.h (struct glyph): New union u.cmp. Delete the member
790 cmp_id.
791 (struct glyph_string): Delete the member gidx. New members
792 cmp_id, cmp_from, and cmp_to.
793 (enum it_method): Delete GET_FROM_COMPOSITION.
794 (struct composition_it): New struct.
795 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
796 Delete c, len, cmp_id, cmp_len in u.comp.
797
798 * font.h (enum lgstring_indices): Delete it.
799 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
800 (enum lglyph_indices): Likewise.
801 (font_range): Extern adjusted.
802 (font_fill_lglyph_metrics): Extern it.
803
804 * font.c (QCf): New variable.
805 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
806 (font_prepare_composition): Delete this function.
807 (font_range): Type and arguments changed.
808 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
809 (font_fill_lglyph_metrics): New function.
810 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
811 changed.
812 (syms_of_font): DEFSYM QCf. Delete defsubr for
813 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
814 Sfont_shape_gstring.
815
816 * fontset.h (font_for_char): Extern it.
817
818 * fontset.c (font_for_char): New function.
819
820 * ftfont.c: Include composite.h.
821 (ftfont_resolve_generic_family): Add langset "en" to pattern.
822 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
823 LGSTRING_LENGTH.
824
825 * indent.c: Include composite.h and dispextern.h.
826 (check_composition): Delete this function.
827 (scan_for_column): Handle composition by
828 composition_compute_stop_pos, composition_reseat_it, and
829 composition_update_it.
830 (compute_motion): Likewise.
831 (Fvertical_motion): Fix checking of composition.
832
833 * keyboard.c (adjust_point_for_property): Check composition by
834 composition_adjust_point.
835
836 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
837 struct glyph_string.
838
839 * term.c (encode_terminal_code): Adjusted for the change of struct
840 glyph.
841 (append_composite_glyph): Adjusted for the change of struct it and
842 struct glyph.
843 (produce_composite_glyph): Likewise.
844
845 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
846 for the change of struct glyph_string.
847 (x_draw_glyph_string): Likewise.
848
849 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
850 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
851
852 * xdisp.c: Include font.h.
853 (it_props): Delete the entry for Qauto_composed.
854 (init_iterator): Initialize it->cmp_it.id to -1.
855 (compute_stop_pos): Call composition_compute_stop_pos.
856 (face_before_or_after_it_pos): Adjusted for the change of struct
857 it.
858 (handle_auto_composed_prop): Delete it.
859 (handle_composition_prop): Handle only static composition.
860 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
861 from xassert. Initialize it->cmp_it.stop_pos.
862 (push_it): Adjusted for the change of struct it.
863 (pop_it): Likewise.
864 (get_next_element): Delete next_element_from_composition.
865 (CHAR_COMPOSED_P): New macro.
866 (get_next_display_element): For automatic composition, get a face
867 from the font in the glyph-string.
868 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
869 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
870 case.
871 (next_element_from_string): Check if the character at the current
872 position is composed by CHAR_COMPOSED_P.
873 (next_element_from_buffer): Likewise.
874 (next_element_from_composition): Adjusted for the change of struct
875 it. Update it->cmp_it.
876 (dump_glyph): Adjusted for the change of struct glyph.
877 (fill_composite_glyph_string): Adjusted for the change of struct
878 it and struct glyph. Don't handle automatic composition here.
879 (fill_gstring_glyph_string): New function.
880 (x_get_glyph_overhangs): Handle automatic composition.
881 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
882 glyph.
883 (BUILD_GSTRING_GLYPH_STRING): New macro.
884 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
885 automatic composition.
886 (append_composite_glyph): Adjusted for the change of struct it and
887 struct glyph.
888 (x_produce_glyphs): Adjusted for the change of struct it.
889
890 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
891 the change of struct glyph_string.
892 (x_draw_glyph_string): Likewise.
893
8942008-08-29 Glenn Morris <rgm@gnu.org>
895
896 * buffer.c (word-wrap): Doc fix.
897 * xdisp.c (truncate-partial-width-windows): Doc fix.
898 Increase default to 50.
899
9002008-08-29 Chong Yidong <cyd@stupidchicken.com>
901
902 * xdisp.c (update_tool_bar_unwind): New function.
903 (update_tool_bar): Temporarily set selected frame before building
904 tool-bar items.
905
9062008-08-28 Michael Albinus <michael.albinus@gmx.de>
907
908 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
909 snprintf, respectively.
910 (xd_append_arg): Convert strings with Fstring_make_unibyte.
911
9122008-08-28 Chong Yidong <cyd@stupidchicken.com>
913
914 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
915 LDFLAGS to GNUstep CC invocation.
916
9172008-08-27 Chong Yidong <cyd@stupidchicken.com>
918
919 * indent.c (Fvertical_motion): Revert last change. Handle the
920 general case where we are moving forward, and PT spans multiple
921 screen lines.
922
923 * eval.c (find_handler_clause): Temporarily increase
924 max-lisp-eval-depth while printing the backtrace buffer, to
925 guarantee that help-mode code can run.
926
9272008-08-27 Eli Zaretskii <eliz@gnu.org>
928
929 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
930 colors under -rv.
931 (IT_set_frame_parameters): Don't swap foreground and background
932 colors if `(reverse . t)' is present in the frame properties.
933 (internal_terminal_init): Call init_frame_faces only for the
934 initial frame.
935
9362008-08-27 Andreas Schwab <schwab@suse.de>
937
938 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
939
9402008-08-27 Andreas Schwab <schwab@suse.de>
941
942 * search.c (search_buffer): Set char_base to zero only at the end.
943
9442008-08-27 Kenichi Handa <handa@m17n.org>
945
946 * fileio.c (report_file_error): Fix handling of multibyte error
947 string.
948
9492008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
950
951 * xterm.c (x_term_init): Temporarily hide the partially
952 initialized terminal while calling vendor-specific-keysyms.
953
9542008-08-26 Eli Zaretskii <eliz@gnu.org>
955
956 * msdos.c (internal_terminal_init): Most initializations done only
957 once, especially initial_screen_colors[] and termscript open.
958
9592008-08-26 Chong Yidong <cyd@stupidchicken.com>
960
961 * eval.c (Fcondition_case): Doc fix.
962
963 * widgetprv.h (EmacsFramePart): Change font member to the new font
964 struct.
965
966 * widget.c: Include character.h and font.h for XSETFONT.
967 (setup_frame_gcs): Compute X font id from font struct, just once.
968
9692008-08-26 Eli Zaretskii <eliz@gnu.org>
970
971 * term.c (get_named_tty): Fix last change.
972
9732008-08-26 Chong Yidong <cyd@stupidchicken.com>
974
975 * indent.c (Fvertical_motion): If moving forward starting from a
976 multi-line string, move the iterator to the last line of that
977 string.
978
9792008-08-25 Eli Zaretskii <eliz@gnu.org>
980
981 * frame.c (do_switch_frame): Mark previously displayed frame as
982 obscured for FRAME_MSDOS_P frames as well.
983
9842008-08-24 Eli Zaretskii <eliz@gnu.org>
985
986 * frame.c (make_terminal_frame): Initialize f->terminal,
987 f->terminal->reference_count, and scroll bars on MS-DOS as well.
988 Set the top frame to newly created frame.
989 (Fmake_terminal_frame): Reuse the_only_display_info.
990
991 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
992 estimating available memory.
993
9942008-08-23 David Reitter <david.reitter@gmail.com>
995
996 * nsterm.m (ns_draw_window_cursor): Don't call
997 NSDisableScreenUpdates and NSEnableScreenUpdates on
998 non-NS_IMPL_COCOA systems.
999
10002008-08-23 Andreas Schwab <schwab@suse.de>
1001
1002 * process.c (procfs_system_process_attributes): Fix use of
1003 uninitialized variables.
1004
10052008-08-23 Eli Zaretskii <eliz@gnu.org>
1006
1007 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1008
1009 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1010 calling tty-set-up-initial-frame-faces.
1011
1012 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1013 MSDOS frames along with X frames.
1014
1015 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1016 addition to output_termcap.
1017
1018 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1019
1020 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1021 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1022 highlight.
1023
1024 * process.c [!subprocesses]: Define QCname.
1025 (syms_of_process): Intern and staticpro it.
1026
1027 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1028 Adjust for changes in encoding/decoding routines. Use
1029 encode_coding_object and decode_coding_object instead of
1030 encode_coding and decode_coding.
1031
1032 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1033 argument.
1034
1035 * dosfns.c: Include frame.h before termhooks.h.
1036 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1037 variable termscript.
1038
1039 * s/msdos.h (USER_FULL_NAME): Define.
1040 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1041
1042 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1043 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1044 pw->pw_gecos.
1045
1046 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1047 SELECTED_FRAME as additional (1st) argument.
1048 (tty_read_avail_input): Handle output_msdos_raw in
1049 addition to output_termcap.
1050
1051 * msdos.c: Include frame.h before termhooks.h.
1052 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1053 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1054 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1055 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1056 (IT_set_terminal_modes, IT_reset_terminal_modes)
1057 (IT_set_frame_parameters): Use tty->termscript instead of a global
1058 variable termscript.
1059 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1060 global variable terminal_coding. Don't refer to
1061 Vnonascii_translation_table.
1062 (internal_terminal_init): Set Vwindow_system in current_kboard.
1063 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1064 Announce date and time of session start, if termscript is open.
1065 Don't zero out the_only_display_info (it is done in
1066 term.c:init_tty). Open termscript only of not already open. Log
1067 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1068 here instead of dos_ttraw. Don't initialize display if this is an
1069 initial tty. Don't set FRAME_FONT.
1070 (Vwindow_system_version): Bump to 23.
1071 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1072 is available, set up mouse_position_hook.
1073 (dos_ttraw, IT_set_terminal_modes): If called with initial
1074 terminal, do nothing.
1075 (IT_set_frame_parameters): Handle the Qtty_type frame
1076 parameter by calling internal_terminal_init.
1077 (dos_set_window_size, show_mouse_face)
1078 (clear_mouse_face, IT_note_mode_line_highlight)
1079 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1080 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1081 (initialize_msdos_display): New function.
1082 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1083 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1084 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1085 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1086 Accept additional argument: a pointer to a frame. All callers
1087 changed.
1088 (request_sigio, unrequest_sigio): Don't define, now defined on
1089 sysdep.c.
1090 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1091
1092 * term.c [MSDOS]: Include msdos.h.
1093 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1094 conditional to DOS_NT. Allow only one call to this function in a
1095 session. Don't allocate a new struct tty_display_info; instead,
1096 reuse the_only_display_info. Call get_tty_size to get screen
1097 dimensions. Call init_baud_rate to set bad_rate.
1098 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1099 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1100 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1101 stdin/stdout.
1102 (get_tty_terminal, get_named_tty, Ftty_type)
1103 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1104 output_termcap.
1105 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1106 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1107 only when subprocesses are supported
1108
1109 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1110 f->output_data.x.
1111 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1112 terminal devices.
1113
1114 * msdos.h Remove definition of struct x_display_info and struct
1115 x_output.
1116 (FRAME_FONT): Use output_data.tty.
1117 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1118 (struct x_display_info): Renamed from display_info. All users in
1119 msdos.c changed.
1120 (struct x_output): Remove background_pixel and foreground_pixel.
1121 (the_only_display_info): Renamed from the_only_x_display.
1122 (dos_ttraw): Update prototype.
1123
1124 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1125 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1126
11272008-08-23 Jason Rumney <jasonr@gnu.org>
1128
1129 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1130 (fn_TIFFSetDirectory): New library function used.
1131 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1132 (tiff_load): Use :index to select among multiple images. Set count
1133 property when multiple images exist.
1134 (gif_format): Use :index, not :image.
1135
11362008-08-23 Chong Yidong <cyd@stupidchicken.com>
1137
1138 * xdisp.c (try_scrolling): Check INT_MAX instead of
1139 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1140 to obtain INT_MAX.
1141
11422008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1143
1144 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1145
11462008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1147
1148 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1149 GNUstep library location.
1150
11512008-08-21 Chong Yidong <cyd@stupidchicken.com>
1152
1153 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1154 before using it.
1155
1156 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1157
11582008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1159
1160 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1161 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1162 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1163 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1164 (EmacsApp-cursor_blink_handler): Remove declaration.
1165 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1166 match 01 Feb 2008 changes in xterm.c.
1167 (ns_read_socket): Add cast to avoid warning.
1168 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1169 GNUstep.
1170
11712008-08-20 Chong Yidong <cyd@stupidchicken.com>
1172
1173 * xselect.c (x_get_foreign_selection): Return nil if desired
1174 selection could not be obtained, instead of signalling an error.
1175
11762008-08-20 David Reitter <david.reitter@gmail.com>
1177
1178 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1179 * nsterm.m: Remove ns-specific code for cursor blinking.
1180 (ns_draw_window_cursor): Clear cursor properly rather than
1181 redrawing the area. Respect width of bar cursors.
1182 These changes enable the use of generic blink-cursor-mode and
1183 generic cursor types in NS and support smooth cursor movements (do
1184 not blink off after command).
1185 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1186 Nextstep, too.
1187
11882008-08-19 Kenichi Handa <handa@m17n.org>
1189
1190 * font.c (Vfont_log_deferred): New variable.
1191 (font_add_log): Check Vfont_log_deferred.
1192 (font_deferred_log): New function.
1193
1194 * font.h (font_deferred_log): Extern it.
1195
1196 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1197 for sorting.
1198 (face_for_char): Use deferred log.
1199
12002008-08-18 Kenichi Handa <handa@m17n.org>
1201
1202 * fontset.c (face_for_char): Add font log.
1203
1204 * font.c (font_add_log): Add the font properties :script, :lang,
1205 and :otf in the log.
1206
12072008-08-17 Chong Yidong <cyd@stupidchicken.com>
1208
1209 * xdisp.c: Remove dead code.
1210 (handle_invisible_prop, next_overlay_string): Defer call to
1211 setup_for_ellipsis.
1212 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1213
12142008-08-15 Chong Yidong <cyd@stupidchicken.com>
1215
1216 * xfaces.c (lookup_derived_face): Properly handle possible zero
1217 return value of get_lface_attributes.
1218 (merge_faces): Don't tell lookup_derived_face to signal an error
1219 if face is not found.
1220
1221 * dired.c (Fdirectory_files): Doc fix.
1222
1223 * process.c (make_process): Initialize kill_without_query struct
1224 member.
1225
12262008-08-15 Eli Zaretskii <eliz@gnu.org>
1227
1228 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1229 Alternative calculation of totphys for Visual Studio 6.
1230
1231 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1232
1233 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1234 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1235 All users changed.
1236 (stat): Only root directory passed to GetDriveType. Allow RAM
1237 disk as well as local fixed disk when w32-get-true-file-attributes
1238 is set to `local'.
1239 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1240 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1241 (w32_cached_id, w32_add_to_cache): New functions.
1242 (get_name_and_id): Look account names in the cache before calling
1243 lookup_account_sid.
1244 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1245 New initialization flags.
1246 (globals_of_w32): Initialize them to zero.
1247 (w32_system_process_attributes): Use w32_cached_id and
1248 w32_add_to_cache.
1249
12502008-08-14 Lawrence Mitchell <wence@gmx.li>
1251
1252 * lread.c (Fread_char, Fread_char_exclusive): If no character
1253 event is read before timeout is reached, return nil, rather than
1254 converting to a number.
1255
12562008-08-14 Chong Yidong <cyd@stupidchicken.com>
1257
1258 * fns.c (use_dialog_box): Doc fix.
1259
1260 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1261 on OS X.
1262
12632008-08-13 Chong Yidong <cyd@stupidchicken.com>
1264
1265 * frame.c (Qns_parse_geometry): New var.
1266 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1267
12682008-08-11 Chong Yidong <cyd@stupidchicken.com>
1269
1270 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1271 space character in calculating tabs.
1272
12732008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1274
1275 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1276
12772008-08-10 Glenn Morris <rgm@gnu.org>
1278
1279 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1280 silence gcc "limited range of data type" warnings in some
1281 make_fixnum_or_float calls.
1282
12832008-08-09 Eli Zaretskii <eliz@gnu.org>
1284
1285 * w32.c (w32_system_process_attributes): If the process does not
1286 exist, return nil.
1287
1288 * w32.c: Include thelp32.h, psapi.h and coding.h.
1289 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1290 declarations.
1291 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1292 (Process32Next_Proc): New typedefs.
1293 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1294 (g_b_init_process32_next, g_b_init_open_thread_token)
1295 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1296 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1297 (g_b_init_get_process_working_set_size)
1298 (g_b_init_global_memory_status_ex): New static variables.
1299 (globals_of_w32): Initialize them.
1300 (create_toolhelp32_snapshot, process32_first, process32_next)
1301 (open_thread_token, impersonate_self, revert_to_self)
1302 (get_process_memory_info, get_process_working_set_size)
1303 (global_memory_status, global_memory_status_ex): New wrapper
1304 functions.
1305 (w32_list_system_processes, w32_system_process_attributes)
1306 (enable_privilege, restore_privilege, ltime, process_times):
1307 New functions.
1308 (convert_time_raw): New function.
1309 (convert_time): Remove conversion of FILETIME into time in 100
1310 nsec units, call convert_time_raw instead.
1311
1312 * process.h (w32_list_system_processes, w32_system_process_attributes):
1313 Add prototypes.
1314 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1315 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1316 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1317 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1318
1319 * process.c (Fsystem_process_attributes): Doc fix.
1320
13212008-08-08 Chong Yidong <cyd@stupidchicken.com>
1322
1323 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1324 a continued multi-char glyph; if so, advance to the actual glyph.
1325
13262008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1327
1328 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1329
1330 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1331 (.m.o): Use it.
1332 * config.in: Regenerate.
1333
13342008-08-07 Chong Yidong <cyd@stupidchicken.com>
1335
1336 * xdisp.c (redisplay_window): Revert last change.
1337 (try_window): Check bottom scroll margin too.
1338
13392008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1340
1341 * config.in: Regenerate.
1342
1343 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1344 -list-load-path-shadows'.
1345 (nsgui.h): Reduce number of things depending on it.
1346
13472008-08-06 Chong Yidong <cyd@stupidchicken.com>
1348
1349 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1350 instead of window-end which does the wrong thing at eob.
1351 (try_cursor_movement): Minor optimization.
1352 (redisplay_window): If scroll margin is defined, don't assume
1353 window doesn't need scrolling.
1354
13552008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1356
1357 * config.in: Regenerate.
1358
1359 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1360 (mostlyclean): Don't delete *.d under NS.
1361
1362 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1363
13642008-08-06 Kenichi Handa <handa@m17n.org>
1365
1366 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1367
13682008-08-06 Andreas Schwab <schwab@suse.de>
1369
1370 * config.in: Regenerate.
1371
13722008-08-05 Chong Yidong <cyd@stupidchicken.com>
1373
1374 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1375 forcing a window start.
1376
1377 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1378 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1379
13802008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1381
1382 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1383 argument.
1384
13852008-08-05 Juanma Barranquero <lekktu@gmail.com>
1386
1387 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1388 <scroll-down-aggressively, before-change-functions>:
1389 <after-change-functions>: Reflow docstrings.
1390
13912008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1392 Ken Raeburn <raeburn@gnu.org>
1393
1394 Dock menu customization, based on a patch by Ken Raeburn, plus some
1395 other fixes.
1396 * nsmenu.m (dockMenu): New variable.
1397 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1398
1399 * nsterm.h (dockMenu): Declare.
1400
1401 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1402 (ns_term_init): Initialize dockMenu.
1403 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1404 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1405 left.
1406
1407 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1408
14092008-08-04 Chong Yidong <cyd@stupidchicken.com>
1410
1411 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1412
1413 * config.in: Regenerate.
1414
14152008-08-04 Seiji Zenitani <zenitani@mac.com>
1416
1417 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1418
14192008-08-04 Chong Yidong <cyd@stupidchicken.com>
1420
1421 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1422
14232008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1424
1425 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1426
1427 * keyboard.h: Comment an #endif.
1428
1429 * lisp.h (have_menus_p): Adjust comment.
1430
1431 * menu.c (find_and_return_menu_selection): Fix comparison with
1432 client_data.
1433
1434 * nsmenu.m (popup_activated_flag): New variable.
1435 (popup_activated): New function.
1436 (menu-or-popup-active-p): New exported lisp definition.
1437 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1438 when popup done.
1439 (ns_popup_dialog): Set popup_activated_flag.
1440
1441 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1442 version for GNUstep (handled by conditional typedef in nsterm.m).
1443 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1444 in rgb.txt).
1445
1446 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1447
1448 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1449
1450 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1451
1452 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1453 shortcircuit if popup_activated like GTK and X toolkit.
1454
1455 * m/inter386.h: Change DARWIN to DARWIN_OS.
1456
1457 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1458 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1459 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1460 comment on NO_SOCK_SIGIO.
1461
14622008-08-03 Chong Yidong <cyd@stupidchicken.com>
1463
1464 * nsterm.m (windowDidResize): Remove stopModal call.
1465
14662008-08-03 Andreas Schwab <schwab@suse.de>
1467
1468 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1469 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1470
14712008-08-02 Chong Yidong <cyd@stupidchicken.com>
1472
1473 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1474 Don't use uninitialized pointer variable when using getrlimit.
1475
14762008-08-02 Jason Rumney <jasonr@gnu.org>
1477
1478 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1479
14802008-08-02 Eli Zaretskii <eliz@gnu.org>
1481
1482 * alloc.c (NSTATICS): Bump to 0x640.
1483
1484 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1485
1486 * lisp.h: Add prototype for directory_files_internal.
1487
1488 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1489 New functions.
1490 (syms_of_process): Defsubr them. Add initializations for various
1491 Q* symbols used in procfs_system_process_attributes.
1492 (procfs_list_system_processes, procfs_system_process_attributes)
1493 [HAVE_PROCFS]: New functions.
1494 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1495 (procfs_get_total_memory): New functions.
1496
14972008-08-01 Juanma Barranquero <lekktu@gmail.com>
1498
1499 * xfaces.c (Fx_load_color_file): Fix previous change;
1500 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1501
15022008-08-01 Michael Albinus <michael.albinus@gmx.de>
1503
1504 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1505
15062008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1507
1508 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1509
15102008-08-01 Chong Yidong <cyd@stupidchicken.com>
1511
1512 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1513
1514 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1515 define NSApplicationDelegateReplySuccess.
1516 (EmacsView -converstationIdentifier): Use long instead of
1517 NSInteger for GNUstep, since it doesn't have NSInteger.
1518
1519 * xmenu.c: Revert last change.
1520
1521 * keyboard.h: Fix last change.
1522
15232008-08-01 Juanma Barranquero <lekktu@gmail.com>
1524
1525 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1526 on Windows.
1527
15282008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1529
1530 Warning clearing and clean-up in NS port.
1531 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1532 Add prototypes.
1533 * nsgui.h (FACE_DEFAULT): Remove, unused.
1534 (XGCValues): Change colors to unsigned long.
1535 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1536 nsterm.m.
1537 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1538 (ns_list_fonts): Remove, unused.
1539 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1540 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1541 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1542 (nsfont_draw): Compare face colors to 0, not nil.
1543 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1544 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1545 (-addSubmenuWithTitle:): Use NSMenuItem class.
1546 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1547 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1548 (ns_clip_to_row): Make gc arg a BOOL.
1549 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1550 ns_clip_to_row() call.
1551 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1552 used). Cast FRAME_FONT assignments.
1553 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1554 (ns_string_to_lispmod): Change arg to const char.
1555 (ns_term_init): Use NSMenuItem class.
1556 (EmacsApp -openFile:): Move to different section of file.
1557 (EmacsApp -application:openFiles:): Don't return a value, call
1558 -replyToOpenOrPrint:.
1559 (EmacsView -keyDown:): Fix up cast.
1560 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1561 (EmacsView -menuDown:): Cast tag in call to
1562 find_and_call_menu_selection().
1563 (ns_list_fonts): Remove, unused.
1564 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1565 (ns_fontname_to_xlfd): Make static.
1566 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1567 Remove prototypes (now in keyboard.h).
1568 (next_menubar_widget_id): Remove, unused.
1569 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1570 Remove prototypes (now in keyboard.h).
1571 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1572
15732008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1574
1575 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1576 (floatfns.o): Depend on syssignal.h.
1577 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1578
1579 * systty.h: Fix previous change that removed BSD_TERMIOS.
1580 Add comments to #ifdefs.
1581
15822008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1583
1584 * w32fns.c (w32-load-color-file): Remove.
1585 (x-open-connection): Use renamed Fx_load_color_file.
1586 * xfaces.c (x-load-color-file): Add.
1587 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1588 Emacs.clr.
1589 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1590
15912008-07-31 Michael Albinus <michael.albinus@gmx.de>
1592
1593 * dbusbind.c (Fdbus_call_method_asynchronously)
1594 (Fdbus_method_error_internal): New defuns.
1595 (xd_read_message): Handle also reply messages.
1596 (Vdbus_registered_functions_table): Extend docstring.
1597
15982008-07-31 Juanma Barranquero <lekktu@gmail.com>
1599
1600 * keyboard.c (gobble_input): Fix previous change.
1601
16022008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1603
1604 * bitmaps/README:
1605 * xfns.c:
1606 * termcap.c:
1607 * term.c:
1608 * syswait.h:
1609 * systty.h:
1610 * systime.h:
1611 * syssignal.h:
1612 * sysdep.c:
1613 * process.h:
1614 * process.c:
1615 * print.c:
1616 * ndir.h:
1617 * lread.c:
1618 * keyboard.c:
1619 * getpagesize.h:
1620 * floatfns.c:
1621 * fileio.c:
1622 * emacs.c:
1623 * doc.c:
1624 * dispnew.c:
1625 * dired.c:
1626 * data.c:
1627 * callproc.c:
1628 * buffer.c:
1629 * README:
1630 * Makefile.in:
1631 * s/template.h:
1632 * s/msdos.h:
1633 * m/vax.h: Remove VMS support.
1634 * s/vms.h:
1635 * vlimit.h:
1636 * uaf.h:
1637 * temacs.opt:
1638 * param.h:
1639 * ioctl.h: Remove file.
1640
16412008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1642
1643 * s/ms-w32.h (MULTI_KBOARD): Remove.
1644 * xterm.c:
1645 * xselect.c:
1646 * xfns.c:
1647 * window.c:
1648 * w32term.c:
1649 * w32fns.c:
1650 * terminal.c:
1651 * termhooks.h:
1652 * term.c:
1653 * sysdep.c:
1654 * keyboard.h:
1655 * keyboard.c:
1656 * frame.h:
1657 * frame.c:
1658 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1659 * config.in: Regenerate.
1660
16612008-07-30 Jason Rumney <jasonr@gnu.org>
1662
1663 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1664
1665 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1666 (w32font_open_internal): Get unicode version of textmetrics.
1667 Don't enable or disable glyph indices here.
1668 (w32font_open): Disable use of glyph indices.
1669
1670 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1671
16722008-07-30 Chong Yidong <cyd@stupidchicken.com>
1673
1674 * minibuf.c (Vread_buffer_function): Doc fix.
1675
16762008-07-30 John Paul Wallington <jpw@pobox.com>
1677
1678 * minibuf.c (read_buffer_completion_ignore_case): New var.
1679 (Fread_buffer): Use it.
1680
16812008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1682
1683 * systty.h (sensemode): Remove empty #if. Remove reference to
1684 BSD_TERMIOS, unused.
1685
1686 * sysdep.c: Remove reference to DGUX.
1687 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1688
1689 * config.in: Regenerate.
1690
16912008-07-30 Jason Rumney <jasonr@gnu.org>
1692
1693 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1694
16952008-07-29 Jason Rumney <jasonr@gnu.org>
1696
1697 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1698 is populated.
1699 (uniscribe_encode_char): Always use uniscribe.
1700 Avoid using context if cache is populated.
1701
17022008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1703
1704 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1705 open menu.
1706
1707 * gtkutil.c (menu_nav_ended): Remove.
1708 (create_menus): Remove signal connect for menu_nav_ended.
1709
17102008-07-28 Chong Yidong <cyd@stupidchicken.com>
1711
1712 * xdisp.c (redisplay_window): Check return value of
1713 compute_window_start_on_continuation_line before forcing a window
1714 start.
1715
17162008-07-28 Jason Rumney <jasonr@gnu.org>
1717
1718 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1719
1720 * w32term.c (w32_enable_unicode_output, cleartype_active):
1721 Remove obsolete display options.
1722 (x_draw_glyph_string_background): Don't use old cleartype_active
1723 workaround.
1724 (w32_initialize): Remove cleartype_active initialization.
1725 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1726
17272008-07-28 Andreas Schwab <schwab@suse.de>
1728
1729 * lisp.h (init_weak_hash_tables, syms_of_font)
1730 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1731 (remove_hash_entry): Don't declare.
1732 * eval.c (maybe_call_debugger): Make static and move before use.
1733 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1734 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1735 * xterm.h (x_set_frame_alpha): Declare.
1736
17372008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1738
1739 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1740 (create_menus): Connect selection-done to menu_nav_ended.
1741
17422008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1743
1744 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1745 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1746 parameter with read of 'alpha' one.
1747 (Qns_frame_parameter): Remove.
1748 * nsselection.m (selection-coding-system)
1749 (next-selection-coding-system, Vselection_coding_system)
1750 (Vnext_selection_coding_system): Drop.
1751
17522008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1753
1754 * nsfns.m (do-applescript, do_applescript): Rename to
1755 ns-do-applescript, ns_do_applescript, and move within file.
1756
17572008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1758
1759 Remove support for Mac Carbon.
1760 * mactoolbox.c:
1761 * macterm.h:
1762 * macterm.c:
1763 * macselect.c:
1764 * macmenu.c:
1765 * macgui.h:
1766 * macfns.c:
1767 * mac.c: Remove file.
1768 * s/darwin.h:
1769 * m/intel386.h:
1770 * xfaces.c:
1771 * xdisp.c:
1772 * window.c:
1773 * tparam.c:
1774 * termhooks.h:
1775 * termcap.c:
1776 * term.c:
1777 * syssignal.h:
1778 * sysselect.h:
1779 * sysdep.c:
1780 * process.c:
1781 * lread.c:
1782 * lisp.h:
1783 * keyboard.c:
1784 * image.c:
1785 * fringe.c:
1786 * frame.h:
1787 * frame.c:
1788 * fontset.c:
1789 * font.h:
1790 * font.c:
1791 * fns.c:
1792 * fileio.c:
1793 * emacs.c:
1794 * dispnew.c:
1795 * dispextern.h:
1796 * config.in:
1797 * atimer.c:
1798 * Makefile.in: Remove code for Carbon
1799
18002008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1801
1802 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1803
18042008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1805
1806 * macterm.h (kCGBitmapByteOrder32Host): New define for
1807 non-universal SDKs.
1808
1809 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1810 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1811
1812 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1813 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1814
18152008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1816
1817 * w32inevt.c: Include dispextern.h.
1818
18192008-07-26 Andreas Schwab <schwab@suse.de>
1820
1821 * print.c (print_object): Fix off-by-one in last change.
1822
18232008-07-25 Juanma Barranquero <lekktu@gmail.com>
1824
1825 * term.c (syms_of_term): Don't initialize default_orig_pair,
1826 default_set_foreground and default_set_background on Windows.
1827
18282008-07-25 Jason Rumney <jasonr@gnu.org>
1829
1830 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1831 ScriptItemize. Clean up return value checking. Remove unused
1832 variables.
1833 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1834 shaping engine.
1835
1836 * w32font.c (w32font_has_char): Handle the case where we can't
1837 determine the script for a character.
1838
18392008-07-25 Chong Yidong <cyd@stupidchicken.com>
1840
1841 * term.c (syms_of_term): Initialize default_orig_pair,
1842 default_set_foreground, and default_set_background.
1843
1844 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1845 clash (bug#86).
1846 (getloadavg): Callers changed.
1847
1848 * image.c (svg_load_image): Fix last change.
1849 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1850 image size is valid. Use g_object_unref instead of deprecated
1851 rsvg_handle_free to free rsvg handle.
1852 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1853
18542008-07-25 Jason Rumney <jasonr@gnu.org>
1855
1856 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1857 surrogates before looking up glyph index.
1858 (w32font_text_extents): Encode as surrogates if falling back to
1859 functions that need UTF-16 wide chars.
1860
1861 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1862 BMP as surrogates before looking up glyph index.
1863
18642008-07-25 Chong Yidong <cyd@stupidchicken.com>
1865
1866 * image.c (svg_load_image): Check for failure in return value of
1867 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1868
18692008-07-25 Jason Rumney <jasonr@gnu.org>
1870
1871 * w32font.c (Fx_select_font): Reverse sense of second arg.
1872
18732008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1874
1875 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1876 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1877
1878 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1879 (PURESIZE): Use it.
1880
18812008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1882
1883 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1884 * m/alpha.h (TEXT_END):
1885 * m/ibmrs6000.h (TEXT_END):
1886 * m/macppc.h (TEXT_END):
1887 * s/darwin.h (TEXT_END):
1888 * s/msdos.h (TEXT_END): Remove, unused.
1889 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1890 * s/cygwin.h: Remove comment.
1891
1892 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1893 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1894 * m/intel386.h (DOT_GLOBAL_START):
1895 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1896 (USG): Remove, file not used on USG platforms.
1897
1898 * Makefile.in (HAVE_X11): Remove empty #else.
1899
19002008-07-24 Andreas Schwab <schwab@suse.de>
1901
1902 * fileio.c (Finsert_file_contents): Properly adjust undo list
1903 after format conversion.
1904
19052008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1906
1907 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1908 (menu_nav_ended): Remove.
1909 (create_menus): Remove signal connect for menu_nav_ended.
1910 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1911 create_menus.
1912 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1913
19142008-07-23 Jason Rumney <jasonr@gnu.org>
1915
1916 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1917 with opened font.
1918 (w32font_open): Set font type to gdi.
1919
1920 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
1921
19222008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1923
1924 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1925 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1926 defines it.
1927 * unexec.c (ADDR_CORRECT): Define unconditionally.
1928
1929 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1930
1931 * unexec.c: Remove code depending on !COFF and USG, the file is
1932 not used for such systems.
1933
1934 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1935 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1936 (LD_SWITCH_SYSTEM_1): Remove, update users.
1937
1938 * s/darwin.h (DATA_END):
1939 * m/intel386.h (DATA_END):
1940 * m/ibmrs6000.h (DATA_END):
1941 * m/alpha.h (DATA_END): Remove, unused.
1942
1943 * config.in: Regenerate.
1944 * s/ms-w32.h (subprocesses): Define unconditionally.
1945 * s/template.h (subprocesses): Update comment.
1946 * s/vms.h (subprocesses):
1947 * s/usg5-4.h (subprocesses):
1948 * s/hpux10-20.h (subprocesses):
1949 * s/gnu-linux.h (subprocesses):
1950 * s/cygwin.h (subprocesses):
1951 * s/bsd-common.h (subprocesses):
1952 * s/aix4-2.h (subprocesses):
1953 * s/darwin.h (subprocesses): Do not define, defined by default now.
1954
1955 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1956 Remove all references.
1957 (temacs): Add GNUstep specific ld flags.
1958
1959 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1960 similarly to what X does.
1961
19622008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1963
1964 * nsfns.m (x-list-fonts): Remove.
1965 (syms_of_nsfns): Drop the x-list-fonts declaration.
1966 * nsterm.m: Get rid of remaining "//" comments.
1967
19682008-07-22 Chong Yidong <cyd@stupidchicken.com>
1969
1970 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1971
1972 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1973 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1974 (Fns_own_selection_internal, Fx_disown_selection_internal)
1975 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1976
1977 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1978 ... */' style of docstrings. Doc fixes.
1979
19802008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1981
1982 * terminfo.c (UP, BC, PC): Undo previous change.
1983
1984 * nsfns.m: Rename ns prefixed functions/variables to the
1985 corresponding x versions. Update references.
1986
19872008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1988
1989 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1990
19912008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1992
1993 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1994 Remove forwarding functions.
1995 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1996 non-static.
1997 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1998 non-static.
1999 (ns_frame_parm_handlers): Use the new names.
2000 (syms_of_nsfns): Move to the end of file.
2001
2002 * nsterm.m (syms_of_nsterm): Move to the end of file.
2003
2004 * dispnew.c (init_display): Remove code for X10.
2005
20062008-07-22 Jason Rumney <jasonr@gnu.org>
2007
2008 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2009 bare drive.
2010
20112008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2012
2013 * nsterm.m (syms_of_nsterm): Remove debugging println.
2014
20152008-07-22 David Reitter <david.reitter@gmail.com>
2016
2017 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2018 Carbon implementation of the same functionality: execute arbitrary
2019 AppleScript code.
2020
20212008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2022
2023 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2024 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2025 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2026 (Fx_display_mm_height, Fx_display_mm_width)
2027 (Fx_display_backing_store, Fx_display_visual_class)
2028 (Fx_display_save_under, Fx_open_connection)
2029 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2030 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2031 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2032 (Fx_display_pixel_width, Fx_display_pixel_height)
2033 (Fx_display_usable_bounds, Fx_display_planes)
2034 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2035 ... */' style of docstrings.
2036
20372008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2038
2039 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2040 on this platform.
2041 (mips):
2042 * m/iris4d.h (mips): Do not define.
2043 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2044
2045 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2046
2047 * image.c:
2048 * nsfns.m:
2049 * nsselect.m:
2050 * nsterm.h:
2051 * nsterm.m: Rename ns prefixed functions/variables to the
2052 corresponding x versions. Update references.
2053
2054 * m/ibms390x.h (NO_REMAP): Do not undefine.
2055
2056 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2057
20582008-07-21 Chong Yidong <cyd@stupidchicken.com>
2059
2060 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2061 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2062 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2063 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2064 (Fns_display_mm_height, Fns_display_mm_width)
2065 (Fns_display_backing_store, Fns_display_visual_class)
2066 (Fns_display_save_under, Fns_open_connection)
2067 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2068 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2069 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2070 (Fns_display_pixel_width, Fns_display_pixel_height)
2071 (Fns_display_usable_bounds, Fx_display_planes)
2072 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2073
20742008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2075
2076 * print.c (print_object): Check print_depth before searching for
2077 circularities.
2078
20792008-07-21 Michael Albinus <michael.albinus@gmx.de>
2080
2081 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2082 only sprintf.
2083
20842008-07-21 Kenichi Handa <handa@m17n.org>
2085
2086 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2087
20882008-07-20 Andreas Schwab <schwab@suse.de>
2089
2090 * syntax.c (find_start_pos, find_start_value)
2091 (find_start_value_byte, find_start_begv, find_defun_start)
2092 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2093
20942008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2095
2096 * s/sol2-3.h: Insert contents of s/sol2.h.
2097 (LD_SWITCH_SYSTEM): Remove redundant definition.
2098 * s/sol2.h: Remove, unused.
2099
21002008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2101
2102 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2103
21042008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2105
2106 * Makefile.in (ns_appdir): Fix typo in find command.
2107
21082008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2109
2110 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2111
2112 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2113 added not supported anymore.
2114
2115 * s/usg5-4-2.h (LIBS_SYSTEM):
2116 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2117
2118 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2119 * s/lynxos.h (GETPGRP_NO_ARG):
2120 * s/hpux10-20.h (NO_SIOCTL_H):
2121 * s/gnu.h (GETPGRP_NO_ARG):
2122 * s/gnu-linux.h (NO_SIOCTL_H):
2123 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2124 * s/cygwin.h (GETPGRP_NO_ARG):
2125 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2126 (C_DEBUG_SWITCH): Remove duplicate definition.
2127
2128 * m/ibms390.h: Remove boilerplate comments.
2129
2130 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2131
2132 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2133 (wait_reading_process_output): Remove code for SunOS, platform not
2134 supported anymore. Use SOLARIS2 instead of sun.
2135
21362008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2137
2138 * font.c (font_open_by_name): Under NS, default lface height to zero.
2139 (font_open_for_lface): Under NS, set size based on frame fontsize.
2140 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2141 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2142
21432008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2144
2145 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2146 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2147 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2148 YES/NO.
2149 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2150 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2151 * Makefile.in (clean): Clear out build destination dir.
2152
21532008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2154
2155 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2156 xterm, xselect.
2157 * lisp.h: Remove declaration of hash_remove.
2158 * nsgui.h: Remove redefinitions of hash_remove.
2159 * fns.c (hash_remove): Rename to hash_remove_from_table.
2160
21612008-07-19 Seiji Zenitani <zenitani@mac.com>
2162
2163 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2164 strdup() the family UTF8String before modifying it.
2165
21662008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2167
2168 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2169 NS_FACE_BACKGROUND with 0 instead of nil.
2170 * nsfont.m (nsfont_draw): Same.
2171
21722008-07-19 Chong Yidong <cyd@stupidchicken.com>
2173
2174 * nsfns.m (ns_set_background_color): Fix crash.
2175
21762008-07-18 Chong Yidong <cyd@stupidchicken.com>
2177
2178 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2179
21802008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2181
2182 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2183
21842008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2185
2186 * gtkutil.c: Include <config.h> instead of "config.h".
2187
2188 * lisp.h (Foverlay_buffer): Add EXFUN.
2189
2190 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2191 child process to complete child_setup. Undo 2005-09-21 change.
2192
2193 * s/darwin.h: Mention setsid after vfork.
2194
21952008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2196
2197 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2198 Depend on macgui.h.
2199
2200 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2201 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2202
2203 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2204 and f19.
2205 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2206
2207 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2208 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2209 Remove enumerators.
2210
2211 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2212 Check if FACE_FROM_ID returns NULL.
2213
22142008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2215
2216 * w32inevt.c (change_frame_size): Remove extern declaration.
2217 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2218 change_frame_size.
2219
22202008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2221
2222 * getloadavg.c: Revert last change (2008-07-15).
2223
22242008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2225
2226 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2227 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2228 from configure.
2229
22302008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2231
2232 * s/sol2.h:
2233 * s/sol2-4.h: Reorganize conditionals.
2234
2235 * ecrt0.c: Remove code depending on m68000, not used anymore.
2236
2237 * fns.c (hash_remove): Make static.
2238 * lisp.h (hash_remove): Don't prototype.
2239
2240 * m/ibmrs6000.h:
2241 * m/ibms390x.h:
2242 * m/macppc.h: Remove boilerplate comments.
2243
2244 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2245 Solaris, which does not need them.
2246
2247 * m/vax.h: Remove comments about unsupported systems.
2248
2249 * s/darwin.h: Reorganize ifdefs.
2250
22512008-07-17 Andreas Schwab <schwab@suse.de>
2252
2253 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2254
22552008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2256
2257 Use SDATA. Follow coding convention of placing operators at
2258 beginning of next line rather than end of previous line, and placing
2259 spaces around infix operators.
2260
2261 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2262 in case it was defined already.
2263 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2264 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2265 ns_default.
2266 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2267 Lisp_Objects.
2268 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2269 (ns_defined_color, ns_color_to_lisp): Declare.
2270 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2271 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2272 it's accepted even with USE_LISP_UNION_TYPE.
2273 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2274 (update_frame_tool_bar): Remove apparently obsolete tests for
2275 non-integerness of f->tool_bar_lines.
2276 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2277 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2278 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2279 (nsfont_open): Don't confuse NULL for Qnil.
2280 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2281 * menu.h (find_and_call_menu_selection):
2282 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2283 (find_and_return_menu_selection): Always return something.
2284 * frame.h: Include dispextern.h for Display_Info.
2285 (display_x_get_resource): Declare.
2286
22872008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2288
2289 * syntax.c: Remove stdio.h include accidentally introduced in
2290 Emacs.app commit.
2291 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2292 NS_IMPL_COCOA.
2293 * keyboard.c (handle_async_input, input_available_signal): Remove
2294 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2295
22962008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2297
2298 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2299 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2300 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2301 Use SDATA.
2302
2303 * keymap.c: Remove all NS-specific code.
2304 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2305 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2306 where_is_preferred_modifier, return a different value depending on how
2307 preferred is the binding.
2308 (where_is_internal): Adjust accordingly.
2309 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2310 Adjust to new preferred_sequence_p.
2311 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2312 * keyboard.c (parse_solitary_modifier): Not static any more.
2313 * keyboard.h (parse_solitary_modifier): Declare.
2314
23152008-07-16 Andreas Schwab <schwab@suse.de>
2316
2317 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2318 of easymenu.
2319
23202008-07-16 Chong Yidong <cyd@stupidchicken.com>
2321
2322 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2323 that we don't move off the line.
2324
23252008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2326
2327 * keyboard.c (Qsuper): Remove.
2328 (parse_menu_item): Don't call where_is_internal specially for NS.
2329
23302008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2331
2332 * s/gnu-linux.h: Remove boilerplate comments.
2333
2334 * m/alpha.h (__ELF__): Consolidate conditions.
2335
2336 * m/m68k.h (linux): Use GNU_LINUX instead.
2337 Remove boilerplate comments.
2338
2339 * m/intel386.h: Undo refactoring from previous change.
2340 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2341 too, remove dead code.
2342 (linux): Use GNU_LINUX instead.
2343
23442008-07-16 Jason Rumney <jasonr@gnu.org>
2345
2346 * w32gui.h: Repeat 26 June changes lost by last change.
2347
23482008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2349
2350 * systty.h: Remove code for Aix on 386, unsupported platform.
2351
2352 * s/ms-w32.h: Remove boilerplate comments.
2353 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2354
2355 * s/gnu-linux.h (TERM): Remove support.
2356 (HAVE_SYSVIPC): Remove, unused.
2357 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2358 for this system.
2359
2360 * process.c: Remove support for IRIS, unused.
2361 Remove support for TERM, not relevant anymore.
2362
2363 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2364 used with the definition.
2365
2366 * s/aix4-2.h (static): Do not undef.
2367
2368 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2369 only used on Aix.
2370 (HAVE_SYSVIPC): Remove, unused.
2371
2372 * m/hp800.h (CANNOT_DUMP): Do not undef.
2373
2374 * m/alpha.h: Fix comment.
2375
2376 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2377 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2378 used by this configuration.
2379 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2380 * unexec.c: Remove code depending on HPUX and
2381 USG_SHARED_LIBRARIES, not used with this file. Remove code
2382 depending on IRIS, unused. Remove if 0-ed code.
2383
2384 * s/template.h: Remove comments about static.
2385
2386 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2387 Remove if 0-ed code.
2388 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2389 were the same as the default.
2390 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2391 Remove boilerplate comments.
2392 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2393 (HAVE_SYSVIPC): Remove, unused.
2394 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2395
2396 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2397 Remove boilerplate comments.
2398 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2399 Remove boilerplate comments.
2400 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2401 Remove boilerplate comments.
2402 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2403
2404 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2405 USG systems which do not use DATA_SEG_BITS.
2406 Refactor code. Remove boilerplate comments.
2407
2408 * m/ibms390.h:
2409 * m/m68k.h:
2410 * s/bsd-common.h:
2411 * s/cygwin.h:
2412 * s/darwin.h:
2413 * s/freebsd.h:
2414 * s/gnu.h:
2415 * s/msdos.h: Remove boilerplate comments.
2416
2417 * m/iris4d.h: Remove boilerplate comments and code for systems that
2418 do not use this file.
2419 (IRIS_4D): Remove, unused.
2420
2421 * m/mips.h: Remove boilerplate comments and code for systems that
2422 do not use this file.
2423 (SIGN_EXTEND_CHAR):
2424 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2425 * unexmips.c: Remove file, unused.
2426
2427 * editfns.c (Fuser_full_name): Replace the only use of
2428 USER_FULL_NAME with its value.
2429 * config.in: Regenerate.
2430
24312008-07-16 David Reitter <david.reitter@gmail.com>
2432
2433 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2434 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2435
24362008-07-16 Glenn Morris <rgm@gnu.org>
2437
2438 * emacs.c (system-type): Doc fix.
2439
24402008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2441
2442 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2443 If the cache doesn't work, let's fix it, rather than work around it.
2444
24452008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2446
2447 * Makefile.in: Correct additions for nsfont.o in last commit.
2448 * nsfont.m: New file (forgot last commit).
2449
24502008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2451
2452 * callproc.c (set_initial_environment): Initialize
2453 Vprocess_environment under CANNOT_DUMP (fixes crash when
2454 batch-compiling for bootstrap).
2455
24562008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2457 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2458
2459 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2460 fix crash due to different init order.
2461
24622008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2463
2464 Changes and additions for NeXTstep windowing system (Cocoa and
2465 GNUstep) support.
2466
2467 * Makefile.in:
2468 * config.in: Support defines and build commands for NS port.
2469 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2470 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2471 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2472 windowing.
2473 (struct face): Add synth_ital field.
2474 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2475 (init_display): Initialize Vinitial_window_system to "ns" when so
2476 compiled.
2477 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2478 (display_arg): Use under NS.
2479 (main): Under NS, allocate autorelease pool and handle command line
2480 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2481 (standard_args): Add NS-specific args.
2482 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2483 * font.c (DEFAULT_ENCODING): New variable.
2484 (font_find_for_lface): Use it.
2485 (syms_of_font): Load syms_of_nsfont under NS.
2486 * font.h: Declare nsfont_driver when compiled under NS.
2487 * fontset.c: When compiling under NS, include nsterm.h.
2488 (fontset_from_font): Autoconstruct fontset under NS.
2489 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2490 symbol, document and use it.
2491 (do_switch_frame): When for_deletion under Cocoa, add
2492 Fraise_frame(Qnil).
2493 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2494 (x_get_arg): Allow "yes" and "no" as boolean values.
2495 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2496 Qright under Cocoa.
2497 (focus-follows-mouse): Default to 0 under NS.
2498 * frame.h (enum output_method): Add output_ns.
2499 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2500 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2501 (FRAME_WINDOW_P): NS-specific definition.
2502 * fringe.c (max_used_fringe_bitmap): Make public.
2503 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2504 (getloadavg): Use NeXT code under descendant OS's.
2505 * image.c (includes and header section, x_create_bitmap_from_data)
2506 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2507 (image_background_transparent, x_clear_image_1)
2508 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2509 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2510 (x_to_xcolors, x_from_xcolors, x_disable_image)
2511 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2512 other GUIs, including XPM support using code originally written for
2513 Carbon GUI.
2514 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2515 using NS API.
2516 (image_ascent): Use font metrics macros instead of direct struct field
2517 access.
2518 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2519 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2520 Also, handle NS as GTK for menu bar purposes.
2521 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2522 toolkit where they differ.
2523 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2524 use cachelist, still needed under NS.
2525 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2526 (struct widget_value): Define it here for menu.c.
2527 * keymap.c (includes): Include modifier internals.
2528 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2529 NS.
2530 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2531 support for preferring sequences using certain modifiers, specified by
2532 the FIRSTONLY argument.
2533 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2534 under NS GNUstep implementation.
2535 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2536 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2537 * menu.c: Include nsterm.h under NS.
2538 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2539 (free_menubar_widget_tree_value, update_submenu_strings)
2540 (find_and_call_menu_selection): Treat NS as X and NT.
2541 (find_and_return_menu_selection): New function, used for popup menus.
2542 * nsgui.h:
2543 * nsterm.h:
2544 * nsfns.m:
2545 * nsimage.m:
2546 * nsmenu.m:
2547 * nsselect.m:
2548 * nsterm.m: New files.
2549 * process.c (wait_reading_process_output): Under NS, call ns_select()
2550 instead of plain select().
2551 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2552 beginning of buffer.
2553 * sysselect.h (init_process): Rename when compiling under Cocoa to
2554 avoid name conflict.
2555 * termhooks.h (display_info): Add ns_display_info to union.
2556 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2557 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2558 COCOA environment.
2559 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2560 unexec() signature. (Note, this will dump, but the resulting file
2561 crashes; unexosx is used instead; keeping around for reference and
2562 possible aid in getting dump working under GNUstep.)
2563 * w32gui.h (button_type, widget_value): Remove definitions (now in
2564 keyboard.h).
2565 * window.c: Include nsterm.h when compiling under NS.
2566 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2567 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2568 other GUI windowing systems.
2569 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2570 GTK.
2571 (x_consider_frame_title): Under NS, set icon type and frame
2572 modified-state indicator; use ns_set_name_as_filename() when using
2573 formatted title.
2574 (update_window_cursor): Make public when compiling under NS.
2575 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2576 (hourglass_atimer, Vhourglass_delay
2577 * xfaces.c (header section, init_frame_faces, clear_font_table)
2578 (defined_color, unload_color, x_face_list_fonts)
2579 (prepare_face_for_display): Add NS support parallel to other GUIs.
2580 Emulate GCs like other non-X GUIs.
2581 (split_font_name): Don't lowercase font name under NS.
2582 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2583 under NS.
2584 * s/darwin.h: Add support for compilation under NS.
2585
25862008-07-15 Jason Rumney <jasonr@gnu.org>
2587
2588 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2589 (w32_show_hourglass): Rename from show_hourglass.
2590 (w32_hide_hourglass): Rename from hide_hourglass.
2591 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2592 (Vhourglass_delay): Declare extern.
2593 (hourglass_started): Remove.
2594
2595 * xdisp.c (Vhourglass_delay): Remove static.
2596 (hourglass_started, start_hourglass, cancel_hourglass):
2597 Don't include these versions on WINDOWSNT.
2598
25992008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2600
2601 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2602 variables (formerly in xfns.c).
2603 (show_hourglass, hide_hourglass): New prototypes (same).
2604 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2605 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2606 in xfns.c).
2607 (syms_of_xdisp): Declare/initialize display-hourglass,
2608 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2609 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2610 formerly in xfns.c.
2611 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2612 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2613 (start_hourglass, cancel_hourglass): Remove.
2614 (show_hourglass, hide_hourglass): Remove prototypes and static
2615 modifiers.
2616 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2617 hourglass_atimer, hourglass_shown_p declaration/initialization.
2618 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2619 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2620 (start_hourglass, cancel_hourglass): Remove.
2621 (show_hourglass, hide_hourglass): Remove prototypes and static
2622 modifiers.
2623 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2624 hourglass_atimer, hourglass_shown_p declaration/initialization.
2625 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2626 (DEFAULT_HOURGLASS_DELAY): Remove.
2627 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2628 hourglass_shown_p declaration/initialization.
2629
26302008-07-14 Jason Rumney <jasonr@gnu.org>
2631
2632 * w32fns.c (w32_get_arg): Remove wrapper function.
2633 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2634 directly.
2635 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2636
26372008-07-14 Kenichi Handa <handa@m17n.org>
2638
2639 * xfont.c (xfont_open): Add workaround for X's bug.
2640
26412008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2642
2643 * fontset.c: Include <stdio.h> unconditionally.
2644
26452008-07-13 Michael Albinus <michael.albinus@gmx.de>
2646
2647 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2648 for filtering.
2649
26502008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2651
2652 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2653
2654 * m/macppc.h:
2655 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2656
2657 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2658 (SPECIAL_EMACS_INT):
2659 * m/ia64.h (SPECIAL_EMACS_INT):
2660 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2661 * s/gnu.h (NLIST_STRUCT):
2662 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2663 * s/gnu-linux.h (LINUX):
2664 * s/msdos.h (HAVE_FACES):
2665 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2666
2667 * systty.h:
2668 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2669 anymore.
2670
26712008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2672
2673 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2674 always defined as int.
2675
2676 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2677 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2678 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2679 * s/freebsd.h (HAVE_WAIT_HEADER):
2680 * s/bsd-common.h (HAVE_UNION_WAIT):
2681 * s/aix4-2.h (HAVE_WAIT_HEADER):
2682 * m/mips.h (HAVE_UNION_WAIT):
2683 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2684 (COFF, static): Do not define, they are undefined later in the file.
2685
2686 * process.c (update_status): Don't use a union.
2687 (status_convert):
2688 (sigchld_handler): Use int instead of WAITTYPE.
2689
26902008-07-12 Chong Yidong <cyd@stupidchicken.com>
2691
2692 * indent.c (Fvertical_motion): Restore hscroll before moving to
2693 goal column.
2694
26952008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2696
2697 * lisp.h: Remove left over code.
2698
26992008-07-11 Andreas Schwab <schwab@suse.de>
2700
2701 * lisp.h: Fix logic in last change.
2702
2703 * menu.h: New file.
2704 * menu.c: Include it.
2705 * xmenu.c: Likewise.
2706 * Makefile.in: Update dependencies.
2707
27082008-07-11 Kenichi Handa <handa@m17n.org>
2709
2710 * fontset.c (fontset_from_font): Cancel the previous change.
2711
27122008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2713
2714 * lisp.h:
2715 * w32heap.c:
2716 * emacs.c:
2717 * alloc.c: Replace all references of NO_UNION_TYPE with
2718 USE_LISP_UNION_TYPE.
2719
2720 * m/xtensa.h (NO_UNION_TYPE):
2721 * m/vax.h (NO_UNION_TYPE):
2722 * m/template.h (NO_UNION_TYPE):
2723 * m/sparc.h (NO_UNION_TYPE):
2724 * m/mips.h (NO_UNION_TYPE):
2725 * m/macppc.h (NO_UNION_TYPE):
2726 * m/m68k.h (NO_UNION_TYPE):
2727 * m/iris4d.h (NO_UNION_TYPE):
2728 * m/intel386.h (NO_UNION_TYPE):
2729 * m/ibms390x.h (NO_UNION_TYPE):
2730 * m/ibms390.h (NO_UNION_TYPE):
2731 * m/ibmrs6000.h (NO_UNION_TYPE):
2732 * m/ia64.h (NO_UNION_TYPE):
2733 * m/hp800.h (NO_UNION_TYPE):
2734 * m/arm.h (NO_UNION_TYPE):
2735 * m/amdx86-64.h (NO_UNION_TYPE):
2736 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2737 defining it the same.
2738
27392008-07-10 Chong Yidong <cyd@stupidchicken.com>
2740
2741 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2742
27432008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2744
2745 * fileio.c:
2746 * sysdep.c
2747 * systty.h:
2748 * m/ibmrs6000.h:
2749 * m/iris4d.h:
2750 * s/aix4-2.h:
2751 * s/freebsd.h:
2752 * s/gnu-linux.h:
2753 * s/hpux10-20.h:
2754 * s/hpux11.h:
2755 * s/netbsd.h:
2756 * s/sol2-3.h:
2757 * s/sol2-4.h:
2758 * s/sol2.h:
2759 * s/usg5-4.h:
2760 * s/vms.h: Remove references to unused variables.
2761
27622008-07-10 Andreas Schwab <schwab@suse.de>
2763
2764 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2765 pattern before matching the generic family.
2766
27672008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2768
2769 * unexec.c:
2770 * s/vms.h:
2771 * s/usg5-4-2.h:
2772 * s/sol2-5.h:
2773 * s/freebsd.h:
2774 * s/darwin.h: Remove dead code.
2775
2776 * m/template.h:
2777 * m/sparc.h:
2778 * m/mips.h:
2779 * m/m68k.h:
2780 * m/iris4d.h:
2781 * m/intel386.h:
2782 * m/ibms390x.h:
2783 * m/ibms390.h:
2784 * m/ia64.h:
2785 * m/hp800.h:
2786 * m/arm.h:
2787 * m/amdx86-64.h: Remove dead code and references to unused
2788 and compiler defined symbols.
2789
2790 * unexmips.c:
2791 * unexelf.c: Remove references to desupported systems.
2792
2793 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2794
2795 * m/powermac.h: Remove boilerplate comments.
2796 (NO_REMAP): Remove unused definition.
2797
2798 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2799 define them.
2800
28012008-07-10 Kenichi Handa <handa@m17n.org>
2802
2803 * xfont.c (xfont_open): Log the reason of failure.
2804
28052008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2806
2807 * fontset.c (fontset_get_font_group):
2808 * font.c (font_check_otf): Specify argument types.
2809
28102008-07-09 Kenichi Handa <handa@m17n.org>
2811
2812 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2813 non-ASCII char is found.
2814
2815 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2816 (reorder_font_vector): Change the arg preferred_family to font.
2817 Prefer the spec matching with font.
2818 (fontset_get_font_group): New function.
2819 (fontset_find_font): Change the format of an element of a realized
2820 fontset. Use fontset_get_font_group.
2821 (fontset_font): Try the current fontset, the default fontset, the
2822 fallbacks of the current fontset, and the fallbacks of the default
2823 fontset in this order.
2824 (face_for_char): Delete the shortcut to use the current font.
2825 (fontset_from_font): Don't set fonts for Latin in the fontset.
2826
2827 * font.h (font_make_object, font_match_p): Adjust prototypes.
2828
2829 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2830
2831 * font.c (font_make_object): New arg entity and pixelsize.
2832 (font_check_otf_features, font_check_otf): New functions.
2833 (font_match_p): Check :lang, :script, and :otf properties.
2834
2835 * xfont.c (xfont_open): Adjust it for the change of
2836 font_make_object.
2837 (xfont_text_extents): Fix initial setting of metrics.
2838
2839 * ftfont.c (struct ftfont_info): New member index, delete member
2840 fc_charset_idx. Make the member order compatible with struct
2841 xftfont_info.
2842 (fc_charset_table): Change charset names to registry names.
2843 (ftfont_pattern_entity): Delete the args registry and
2844 fc_charset_idx. Change the value of :font-entity property
2845 to (FONTNAME . INDEX). Always set :registry property to
2846 `iso10646-1'.
2847 (struct ftfont_cache_data): New struct.
2848 (ftfont_lookup_cache): New arg for_face.
2849 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2850 (ftfont_driver): Set the member otf_capability.
2851 (ftfont_get_charset): Adjust it for the change of
2852 fc_charset_table.
2853 (OTF_TAG_SYM): New macro.
2854 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2855 for the change of fc_charset_table.
2856 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2857 ftfont_pattern_entity. Add FC_INDEX to objset.
2858 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2859 and ftfont_pattern_entity.
2860 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2861 font_make_object, struct ftfont_info.
2862 (ftfont_has_char): Use ftfont_get_fc_charset.
2863 (ftfont_otf_features, ftfont_otf_capability): New functions.
2864 (ftfont_shape): Use ftfont_get_otf.
2865 (ftfont_text_extents): Fix initial setting of metrics.
2866
2867 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2868 member order compatible with struct ftfont_info.
2869 (xftfont_open): Add FC_CHARSET to the pattern. Set
2870 xftfont_info->ft_size. Don't unlock the face. Check BDF
2871 properties if appropriate.
2872 (xftfont_close): Unlock the face.
2873 (xftfont_anchor_point, xftfont_shape): Deleted.
2874 (syms_of_xftfont): Don't set members anchor_point and shape of
2875 xftfont_driver.
2876
2877 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2878 font_make_object.
2879
2880 * w32font.c (w32font_open): Adjust it for the change of
2881 font_make_object.
2882 (w32font_open_internal): Don't set properties of font_object here.
2883
28842008-07-08 Chong Yidong <cyd@stupidchicken.com>
2885
2886 * macfns.c (x_create_tip_frame):
2887 * w32fns.c (x_create_tip_frame):
2888 * xfns.c (x_create_tip_frame): Pass parameter argument to
2889 face-set-after-frame-default.
2890
2891 * xfaces.c (Finternal_merge_in_global_face): Save merged
2892 attributes for the default face back into the face vector.
2893
28942008-07-08 Andreas Schwab <schwab@suse.de>
2895
2896 * fontset.h: Declare fontset_from_font. Don't declare
2897 new_fontset_from_font and fontset_from_font_name.
2898 * xterm.c: Include "fontset.h".
2899 * Makefile.in (xterm.o): Update dependencies.
2900
29012008-07-08 Glenn Morris <rgm@gnu.org>
2902
2903 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2904 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2905
29062008-07-07 Chong Yidong <cyd@stupidchicken.com>
2907
2908 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2909 (x_set_frame_parameters): Don't bind it.
2910
29112008-07-07 Juanma Barranquero <lekktu@gmail.com>
2912
2913 * w32fns.c (map_w32_filename): Declare extern.
2914
29152008-07-07 Jason Rumney <jasonr@gnu.org>
2916
2917 * w32term.c (WS_EX_LAYERED): Define if not already.
2918
29192008-07-06 Chong Yidong <cyd@stupidchicken.com>
2920
2921 * xfaces.c (set_font_frame_param): Don't try to set the font
2922 parameter if it is still unspecified in the lface.
2923
29242008-07-05 Chong Yidong <cyd@stupidchicken.com>
2925
2926 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2927 face if it didn't already exist.
2928
2929 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2930
29312008-07-05 Andreas Schwab <schwab@suse.de>
2932
2933 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
2934
29352008-07-05 Chong Yidong <cyd@stupidchicken.com>
2936
2937 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2938 word-wrapping.
2939 (IT_DISPLAYING_WHITESPACE): New macro.
2940 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2941 when word-wrapping. Simplify word-wrapping logic. Use correct
2942 pixel positions when saving copies of the iterator.
2943 (display_line): Use proper wrap point if the last character on a
2944 line was preceded by whitespace.
2945
29462008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2947
2948 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2949
29502008-07-04 Kenichi Handa <handa@m17n.org>
2951
2952 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2953
2954 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2955
29562008-07-02 Jason Rumney <jasonr@gnu.org>
2957
2958 * xfns.c (syms_of_xfns): Only define x-select-font when both
2959 HAVE_FREETYPE and USE_GTK
2960
2961 * xdisp.c (next_element_from_display_vector): Move assignment out
2962 of if statement.
2963
29642008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2965
2966 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
2967
2968 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2969 (syms_of_fileio): Initialize and export them.
2970 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
2971
2972 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2973 (Fsystem_move_file_to_trash): New function.
2974 (syms_of_w32fns): Export it to lisp.
2975
29762008-07-01 Jason Rumney <jasonr@gnu.org>
2977
2978 * w32font.c (w32font_text_extents): Don't count overhang as part
2979 of width.
2980
29812008-06-30 Miles Bader <miles@gnu.org>
2982
2983 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2984 Add `avoid_cursor_p' field.
2985
2986 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2987 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2988 (append_glyph, append_composite_glyph, produce_image_glyph)
2989 (append_stretch_glyph): Initialize avoid_cursor_p.
2990 (get_it_property): Rename from `get_line_height_property'.
2991 (x_produce_glyphs): Use get_it_property.
2992 (handle_line_prefix, push_display_prop): New functions.
2993 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
2994 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2995 New variables.
2996 (syms_of_xdisp): Initialize them.
2997
29982008-06-30 Kenichi Handa <handa@m17n.org>
2999
3000 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3001 XftDefaultSubstitute (they are called in XftFontMatch).
3002 (xftfont_open): Fix args to ftfont_font_format.
3003
3004 * ftfont.c (fc_charset_table): New member lang.
3005 (ftfont_resolve_generic_family): New arg pattern.
3006 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
3007 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3008 (ftfont_open): Fix args to ftfont_font_format.
3009 (ftfont_font_format): New arg filename.
3010
30112008-06-30 Chong Yidong <cyd@stupidchicken.com>
3012
3013 * xfaces.c (Finternal_merge_in_global_face): If default face was
3014 modified, realize it again. Update the font face attribute.
3015
30162008-06-29 Jason Rumney <jasonr@gnu.org>
3017
3018 * w32term.c (x_set_frame_alpha): Fix logic.
3019
30202008-06-29 Kenichi Handa <handa@m17n.org>
3021
3022 * fontset.c (Finternal_char_font): Return font-object instead of
3023 font-name.
3024
3025 * composite.c (get_composition_id): Fix the width calculation for TAB.
3026
30272008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3028
3029 * indent.c (Fvertical_motion): Properly handle float column arg.
3030
30312008-06-28 Jason Rumney <jasonr@gnu.org>
3032
3033 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3034 (pfnSetLayeredWindowAttributes): New function pointer.
3035 (w32_initialize): Initialize it when supported.
3036 (x_set_frame_alpha): New function.
3037
3038 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3039 (w32_frame_parm_handlers): Set alpha handler.
3040
3041 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3042
30432008-06-27 Jason Rumney <jasonr@gnu.org>
3044
3045 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3046 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3047 (w32_to_x_charset, x_to_w32_charset)
3048 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3049 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3050 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3051 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3052 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3053 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3054 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3055 (Qw32_charset_unicode): Remove.
3056 (syms_of_w32fns): Update for above changes.
3057
3058 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3059 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3060 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3061 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3062 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3063 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3064 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3065 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3066 (syms_of_w32font): Update for above changes.
3067
30682008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3069
3070 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3071 removed #if.
3072 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3073
30742008-06-26 Juanma Barranquero <lekktu@gmail.com>
3075 Eli Zaretskii <eliz@gnu.org>
3076
3077 * makefile.w32-in (LOCAL_FLAGS):
3078 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3079
3080 * sysdep.c (_spawnlp, _getpid):
3081 Declare with explicit _cdecl instead of _CRTAPI1.
3082
3083 * editfns.c (Fget_internal_run_time):
3084 Check for WINDOWSNT with #ifdef, not #if.
3085
30862008-06-26 Jason Rumney <jasonr@gnu.org>
3087
3088 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3089
3090 * w32term.c (x_draw_glyph_string_foreground)
3091 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3092 Use FONT_HANDLE macro.
3093 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3094
3095 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3096 (uniscribe_encode_char): Use FONT_HANDLE macro.
3097
3098 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3099 (w32font_text_extents): Use precast w32_font.
3100 (w32font_close): Free cached metrics.
3101 (w32font_open_internal): Allocate space for name on stack.
3102
31032008-06-26 Chong Yidong <cyd@stupidchicken.com>
3104
3105 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3106
31072008-06-26 Jason Rumney <jasonr@gnu.org>
3108
3109 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3110 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3111
31122008-06-26 Juanma Barranquero <lekktu@gmail.com>
3113
3114 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3115
31162008-06-26 Jason Rumney <jasonr@gnu.org>
3117
3118 * w32bdf.c, w32bdf.h: Remove obsolete files.
3119
3120 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3121
3122 * w32gui.h: Don't include w32bdf.h.
3123 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3124 Remove obsolete font support.
3125
3126 * w32font.h (struct w32font_info): Remove compat_w32_font.
3127 Add hfont member.
3128 (FONT_COMPAT): Remove obsolete macro.
3129
3130 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3131 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3132 (w32font_open_internal): Remove compat code. Set new hfont member.
3133 (Fx_select_font): Use new hfont member.
3134
3135 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3136 (uniscribe_encode_char): Use new hfont member.
3137
3138 * w32term.c (x_draw_glyph_string_foreground)
3139 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3140 (x_draw_glyph_string): Use metrics in w32font_info.
3141
31422008-06-26 Kenichi Handa <handa@m17n.org>
3143
3144 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3145
31462008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3147
3148 * unexnext.c:
3149 * m/ews4800.h:
3150 * m/hp9000s300.h:
3151 * m/ibm370aix.h:
3152 * m/mips-siemens.h:
3153 * m/ncr386.h:
3154 * m/next.h:
3155 * m/pmax.h:
3156 * m/powerpcle.h:
3157 * m/tandem-s2.h:
3158 * s/386bsd.h:
3159 * s/bsd386.h:
3160 * s/bsd4-1.h:
3161 * s/bsd4-2.h:
3162 * s/bsdos2-1.h:
3163 * s/bsdos2.h:
3164 * s/bsdos3.h:
3165 * s/bsdos4.h:
3166 * s/nextstep.h:
3167 * s/ultrix4-3.h:
3168 * s/usg5-0.h:
3169 * s/usg5-2-2.h:
3170 * s/usg5-2.h:
3171 * s/usg5-4-3.h:
3172 * s/ux4800.h:
3173 * s/uxpds.h:
3174 * s/uxpv.h: Remove support for obsolete systems.
3175 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3176 Remove, insert contents in s/hpux-10.20.h.
3177 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3178 Remove, insert contents in s/aix4-2.h.
3179 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3180 * s/bsd4-3.h: Rename to ...
3181 * s/bsd-common.h: ... this.
3182 * data.c:
3183 * doc.c:
3184 * ecrt0.c:
3185 * emacs.c:
3186 * fileio.c:
3187 * floatfns.c:
3188 * keyboard.c:
3189 * mem-limits.h:
3190 * print.c:
3191 * process.c:
3192 * sysdep.c:
3193 * syssignal.h:
3194 * systty.h:
3195 * syswait.h:
3196 * term.c:
3197 * unexec.c:
3198 * unexelf.c:
3199 * unexhp9k800.c:
3200 * m/hp800.h:
3201 * m/ibmrs6000.h:
3202 * m/mips.h:
3203 * m/vax.h:
3204 * s/darwin.h:
3205 * s/freebsd.h:
3206 * s/gnu.h:
3207 * s/ms-w32.h:
3208 * s/msdos.h:
3209 * s/netbsd.h:
3210 * s/template.h: Remove references to obsolete variables.
3211
3212 * Makefile.in: Add dependencies for all unexec files.
3213 (admindir): Remove unused variable.
3214 (UNEXEC_SRC): Remove references.
3215
32162008-06-25 Chong Yidong <cyd@stupidchicken.com>
3217
3218 * xfns.c (x_default_font_parameter): If Xft is available, first
3219 try Monospace-12 for the default font.
3220
32212008-06-25 Jason Rumney <jasonr@gnu.org>
3222
3223 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3224
32252008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3226
3227 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3228
3229 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3230
32312008-06-25 Juanma Barranquero <lekktu@gmail.com>
3232
3233 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3234 <scroll-conservatively>: Fix typo in docstring.
3235
3236 * xselect.c (Fx_send_client_event): Doc fix.
3237
32382008-06-25 Kenichi Handa <handa@m17n.org>
3239
3240 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3241
3242 * font.c (font_parse_fcname): Remove unused variables.
3243 (font_sort_entites): Delete the arg SPEC. Caller changed.
3244 Fix for the case of ! best_only.
3245 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3246
3247 * lisp.h (Fstring_to_unibyte): EXFUN it.
3248
3249 * character.h (str_to_unibyte): Extern it.
3250
3251 * character.c (str_to_unibyte): New function.
3252
3253 * fns.c (Fstring_to_unibyte): New function.
3254 (syms_of_fns): Defsubr it.
3255
32562008-06-24 Kenichi Handa <handa@m17n.org>
3257
3258 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3259 DPI too.
3260 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3261
32622008-06-24 Andreas Schwab <schwab@suse.de>
3263
3264 * Makefile.in (${lispsource}loaddefs.el): Rename from
3265 ../lisp/loaddefs.el.
3266 (bootstrap-clean): Do what distclean does but don't remove
3267 Makefile.
3268 (distclean): Depend on bootstrap-clean and remove Makefile.
3269
32702008-06-24 Chong Yidong <cyd@stupidchicken.com>
3271
3272 * buffer.h (struct buffer): New member word_wrap.
3273
3274 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3275 word-wrap.
3276 (init_buffer_once): Initialize them.
3277
3278 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3279 line_wrap enum possessing three possible values.
3280
3281 * termopts.h: Replace truncate_partial_width_windows with
3282 Vtruncate_partial_width_windows.
3283
3284 * dispnew.c (direct_output_for_insert): Avoid direct output when
3285 inserting a space with word wrap on.
3286
3287 * indent.c (compute_motion): Obey integer values of
3288 truncate-partial-width-windows.
3289
3290 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3291 replacing truncate_partial_width_windows.
3292 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3293 truncate only if the window width is below that integer.
3294 (start_display, resize_mini_window, produce_stretch_glyph)
3295 (display_string, move_it_in_display_line_to): Use line_wrap.
3296 (back_to_previous_visible_line_start, reseat_1): Reset
3297 string_from_display_prop_p.
3298 (display_line): Extend default face to end of line when wrapping.
3299
33002008-06-24 Kim F. Storm <storm@cua.dk>
3301
3302 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3303 to wrap continued lines at word boundaries.
3304
33052008-06-24 Jason Rumney <jasonr@gnu.org>
3306
3307 * font.c (Ffont_face_attributes): Multiply pixel size before point
3308 conversion to avoid multiplying rounding error.
3309
33102008-06-23 Jason Rumney <jasonr@gnu.org>
3311
3312 * w32term.c (x_draw_glyph_string_background)
3313 (x_draw_glyph_string): Remove old bdf font code.
3314
3315 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3316
33172008-06-22 Kenichi Handa <handa@m17n.org>
3318
3319 * font.c (font_find_for_lface): Try the adstyle specified in
3320 the property of LFACE_FONT of LFACE (if any).
3321
33222008-06-21 Seiji Zenitani <zenitani@mac.com>
3323 Ryo Yoshitake <ryo@shiftmode.net>
3324
3325 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3326
33272008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3328
3329 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3330 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3331 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3332 (witness-emacs): Remove.
3333 (lisp, shortlisp): Move loaddefs.el earlier.
3334 (mostlyclean): Forget about witness-emacs.
3335
33362008-06-22 Glenn Morris <rgm@gnu.org>
3337
3338 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3339 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3340
33412008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3342
3343 * Makefile.in (PRECOMP): Remove.
3344 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3345 (witness-emacs): Run `compile-first'.
3346 (.el.elc): Use the new compile-onefile target.
3347
33482008-06-21 Kenichi Handa <handa@m17n.org>
3349
3350 * xftfont.c (xftfont_open): Handle QCembolden only when
3351 FC_EMBOLDEN is defined.
3352
33532008-06-21 Andreas Schwab <schwab@suse.de>
3354
3355 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3356 (.el.elc): Likewise.
3357
33582008-06-21 Miles Bader <miles@gnu.org>
3359
3360 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3361 build dir, not the lisp source dir.
3362
33632008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3364
3365 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3366 (bootstrapclean): Remove.
3367 (.el.elc): New rule.
3368 (PRECOMP): New var.
3369 (../lisp/subdirs.el): Remove.
3370 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3371 (witness-emacs): New target.
3372 (mostlyclean): Remove witness-emacs as well.
3373 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3374 Add witness-emacs dependency.
3375
33762008-06-20 Chong Yidong <cyd@stupidchicken.com>
3377
3378 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3379 defined by the font.
3380
33812008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3382
3383 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3384 (bootstrap-clean): New target that keeps TAGS around.
3385 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3386 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3387
33882008-06-20 Jason Rumney <jasonr@gnu.org>
3389
3390 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3391 Remove obsolete font code.
3392
3393 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3394 to determine language support.
3395
33962008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3397
3398 * sysdep.c (cfsetspeed): New fun extracted from the code.
3399 (cfmakeraw): Move before first use.
3400
34012008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3402
3403 * sysdep.c (cfmakeraw): Provide fallback implementation.
3404 (serial_configure): Provide fallback implementation of cfsetspeed.
3405
34062008-06-20 Kenichi Handa <handa@m17n.org>
3407
3408 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3409 the pattern.
3410
3411 * fontset.c (fontset_from_font): Copy font_spec before changing
3412 the elements.
3413
3414 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3415
34162008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3417
3418 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3419 for explicit `font' parameters.
3420
3421 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3422
34232008-06-19 Kenichi Handa <handa@m17n.org>
3424
3425 * frame.c: Include <ctype.h>.
3426 (x_set_font_backend): Allow spacing characters in the X resource
3427 for FontBackend.
3428
34292008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3430
3431 * w32fns.c, xfns.c (Qfont_param): New var.
3432 (syms_of_w32fns): Initialize it.
3433 (x_default_font_parameter): Record explicit `font' into
3434 `font-parameter'.
3435
34362008-06-18 Kenichi Handa <handa@m17n.org>
3437
3438 * font.c (font_parse_xlfd): Fix previous change.
3439 (font_parse_fcname): Don't use :fc-unknown-spec.
3440 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3441 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3442 (font_add_log): Prepend the driver name to the resulting fonts.
3443
3444 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3445 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3446 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3447
3448 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3449 (QCembolden): New variables.
3450 (syms_of_xftfont): DEFSYM them.
3451 (xftfont_open): Call XftFontMatch. Don't trust the result of
3452 XftTextExtents8 if the pixel_size is less than 5.
3453
34542008-06-18 Andreas Schwab <schwab@suse.de>
3455
3456 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3457 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3458
34592008-06-18 Jason Rumney <jasonr@gnu.org>
3460
3461 * w32font.c (w32font_list, w32font_match): Add logging.
3462
3463 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3464
34652008-06-17 Chong Yidong <cyd@stupidchicken.com>
3466
3467 * font.c (font_parse_fcname): Store divider characters for
3468 unknown-spec list. For known key symbols, intern using correct
3469 symbol name.
3470
34712008-06-17 Kenichi Handa <handa@m17n.org>
3472
3473 * xfaces.c (realize_default_face): If the frame is not on window
3474 system, set the fontset of face to nil.
3475
34762008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3477
3478 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3479
34802008-06-16 Juanma Barranquero <lekktu@gmail.com>
3481
3482 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3483 (build_font_name_from_vector): Delete externs.
3484
3485 * xfaces.c (struct font_name): Don't declare.
3486
34872008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3488
3489 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3490
34912008-06-16 Chong Yidong <cyd@stupidchicken.com>
3492
3493 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3494
34952008-06-16 Juanma Barranquero <lekktu@gmail.com>
3496
3497 * font.c (Ffont_spec): Fix usage in docstring.
3498 (Ffont_face_attributes): Doc fix.
3499
35002008-06-16 Andreas Schwab <schwab@suse.de>
3501
3502 * font.c (Ffont_face_attributes): Fix definition.
3503
35042008-06-16 Jason Rumney <jasonr@gnu.org>
3505
3506 * font.h (font_style_symbolic_from_value): Remove.
3507
3508 * font.c (font_style_symbolic_from_value): Remove.
3509 (font_style_symbolic): Revert to pre 2008-06-13 version.
3510
3511 * w32font.c (w32_to_fc_weight): New function.
3512 (w32font_full_name, logfont_to_fcname): Use it.
3513
35142008-06-16 Kenichi Handa <handa@m17n.org>
3515
3516 * font.c (font_check_object): Delete it.
3517 (font_clear_cache): Check if a font-object is alive.
3518 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3519 font-object to nil.
3520 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3521 (font_at): Don't call font_check_object.
3522 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3523
35242008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3525
3526 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3527
35282008-06-16 Chong Yidong <cyd@stupidchicken.com>
3529
3530 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3531
35322008-06-15 Chong Yidong <cyd@stupidchicken.com>
3533
3534 * font.c (font_parse_fcname): Only one decimal point.
3535 (font_unparse_fcname): Handle data in family and foundry indices
3536 as symbols, not strings.
3537 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3538
3539 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3540
3541 * font.h (font_unparse_gtkname): Add prototype.
3542
35432008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3544
3545 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3546
35472008-06-15 Andreas Schwab <schwab@suse.de>
3548
3549 * font.c (font_update_drivers): Fix crash when no drivers match.
3550
35512008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3552
3553 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3554 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3555
35562008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3557
3558 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3559
35602008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3561
3562 * process.c (Fserial_process_configure, Fprocess_send_eof):
3563 Use EQ to compare Lisp_Objects.
3564
35652008-06-13 Jason Rumney <jasonr@gnu.org>
3566
3567 * w32fns.c (Fw32_select_font): Remove old font API function.
3568
3569 * w32font.c (logfont_to_fcname): New function.
3570 (Fx_select_font): New font dialog function compatible with
3571 GTK/fontconfig version.
3572
3573 * font.c (font_style_symbolic_from_value): New function.
3574 (font_style_symbolic): Use it.
3575
3576 * font.h (font_style_symbolic_from_value): Declare new function.
3577
35782008-06-13 Juanma Barranquero <lekktu@gmail.com>
3579
3580 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3581 <font-width-table>: Fix typos in docstrings.
3582
35832008-06-13 Daniel Engeler <engeler@gmail.com>
3584
3585 These changes add serial port access.
3586 * process.c: Add HAVE_SERIAL.
3587 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3588 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3589 (list_processes_1, select_wrapper, Fstop_process)
3590 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3591 (status_notify): Modify to handle serial processes.
3592 [HAVE_SERIAL] (Fserial_process_configure)
3593 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3594 New functions.
3595 * process.h (struct Lisp_Process): Add `type'.
3596 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3597 New functions.
3598 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3599 serial ports.
3600 (serial_open, serial_configure) New functions.
3601 * w32.h: Add FILE_SERIAL.
3602 (struct _child_process): Add ovl_read, ovl_write.
3603
36042008-06-13 Kenichi Handa <handa@m17n.org>
3605
3606 * dispextern.h (enum lface_attribute_index): New member
3607 LFACE_FOUNDRY_INDEX.
3608
3609 * font.c (font_score): Delete arg alternate_families. Check only
3610 weight, slant, width, and size. Ignore the difference of alias
3611 style symbols.
3612 (font_sort_entites): Adjust for the above change. Reflect the
3613 order of font-driver to scores.
3614 (font_list_entities): Don't check alternate_familes here.
3615 (font_clear_prop): Handle foundry.
3616 (font_update_lface): Don't parse "foundry-family" form here.
3617 Handle FONT_FOUNDRY_INDEX.
3618 (font_find_for_lface): Likewise. Handle alternate families here.
3619 If registry is nil, try iso8859-1 and ascii-0.
3620 (font_open_for_lface): Pay attention to size in ENTITY.
3621 (font_open_by_name): Simplify by calling font_load_for_lface.
3622 (free_font_driver_list): Delete it.
3623 (font_update_drivers): Preserve the order of backends.
3624 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3625 of font_score and font_sort_entites.
3626 (font_update_sort_order): Likewise.
3627
3628 * xfaces.c (LFACE_FOUNDRY): New macro.
3629 (check_lface_attrs): Check foundry.
3630 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3631 (merge_face_vectors): Check foundry.
3632 (merge_face_ref): Likewise.
3633 (Finternal_set_lisp_face_attribute): Likewise.
3634 (x_update_menu_appearance): Likewise.
3635 (Finternal_get_lisp_face_attribute): Likewise.
3636 (lface_hash): Likewise.
3637 (lface_same_font_attributes_p): Likewise.
3638 (x_supports_face_attributes_p): Likewise.
3639 (tty_supports_face_attributes_p): Likewise.
3640 (Finternal_set_alternative_font_family_alist): Intern strings.
3641 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3642 (realize_default_face): Set LFACE_FOUNDRY (lface).
3643
3644 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3645 font-driver at first.
3646
3647 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3648
36492008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3650
3651 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3652
36532008-06-12 Jim Meyering <meyering@redhat.com>
3654
3655 Make unexec_free handle NULL the same way free does.
3656 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3657
36582008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3659
3660 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3661 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3662 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3663 (WEAK_ALIAS): Simplify.
3664 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3665 when searching a unibyte buffer.
3666
36672008-06-12 Chong Yidong <cyd@stupidchicken.com>
3668
3669 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3670
36712008-06-12 Juanma Barranquero <lekktu@gmail.com>
3672
3673 * w32font.c: Include ctype.h.
3674
36752008-06-11 Jason Rumney <jasonr@gnu.org>
3676
3677 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3678 misreported as space.
3679 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3680 as aliases for registry iso10646-1.
3681
36822008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3683
3684 * buffer.c (clone_per_buffer_values): Skip `name'.
3685
36862008-06-11 Chong Yidong <cyd@stupidchicken.com>
3687
3688 * font.c (font_parse_fcname): Fix last change; accept decimal
3689 points in font size.
3690
36912008-06-10 Jason Rumney <jasonr@gnu.org>
3692
3693 * w32uniscribe.c (add_opentype_font_name_to_list):
3694 Skip non unicode fonts.
3695
36962008-06-10 Chong Yidong <cyd@stupidchicken.com>
3697
3698 * xfns.c (Fx_font_dialog): New function.
3699
3700 * gtkutil.c (xg_dialog_response_cb): Rename from
3701 xg_file_response_callback.
3702 (pop_down_dialog): Rename from pop_down_file_dialog.
3703 (xg_get_file_name): Callers changed.
3704 (xg_get_font_name): New function.
3705
3706 * gtkutil.h (xg_get_font_name): Insert prototype.
3707
37082008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3709
3710 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3711 x_underline_minimum_display_offset.
3712 (syms_of_xdisp): Declare it here rather than in xterm.c.
3713 * dispextern.h (underline_minimum_offset): Declare it.
3714 * w32term.c (x_draw_glyph_string): Use it.
3715 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3716 (syms_of_xterm): Don't declare it any more.
3717 (x_draw_glyph_string): Adjust to the new name.
3718
37192008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3720
3721 * xterm.c (x_underline_minimum_display_offset): New var.
3722 (x_draw_glyph_string): Use it.
3723 (syms_of_xterm): Declare it.
3724
37252008-06-10 Chong Yidong <cyd@stupidchicken.com>
3726
3727 * font.c (font_parse_fcname): Accept GTK-style font names too.
3728
37292008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3730
3731 * dired.c (file_name_completion): Don't return t if the match is exact
3732 but with different capitalization.
3733 * minibuf.c (Ftry_completion): Simplify.
3734
3735 * window.c (Vwindow_point_insertion_type): New var.
3736 (set_window_buffer): Use it.
3737 (syms_of_window): Init and export it to Lisp.
3738
37392008-06-10 Kenichi Handa <handa@m17n.org>
3740
3741 * font.h (font_intern_prop): Prototype adjusted.
3742
3743 * font.c (font_intern_prop): New arg force_symbol.
3744 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3745 Adjust for the change of font_intern_prop.
3746
3747 * ftfont.c (ftfont_pattern_entity):
3748 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3749 (w32_registry):
3750 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3751 the change of font_intern_prop.
3752
37532008-06-09 Juanma Barranquero <lekktu@gmail.com>
3754
3755 * w32menu.c (digest_single_submenu): Declare extern.
3756
37572008-06-09 Jason Rumney <jasonr@gnu.org>
3758
3759 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3760
3761 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3762 (parse_single_submenu): Remove.
3763 (digest_single_submenu): Remove.
3764 (syms_of_w32menu): Don't initialise variables that have moved
3765 to menu.c.
3766 (set_frame_menubar): Sync with version in xmenu.c.
3767 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3768
3769 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3770 Make static again.
3771
37722008-06-09 Jason Rumney <jasonr@gnu.org>
3773
3774 Changes to w32 files related to the move of common menu code
3775 to menu.c on 2008-06-08 by Chong Yidong.
3776
3777 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3778 defs to w32gui.h.
3779 (single_keymap_panes, push_menu_item, push_menu_pane):
3780 Make globally visible.
3781
3782 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3783 (local_free, malloc_widget_value, free_widget_value)
3784 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3785 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3786 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3787 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3788 (menu_items, menu_items_allocated, menu_items_used)
3789 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3790 (init_menu_items, finish_menu_items, discard_menu_items)
3791 (grow_menu_items, push_submenu_start, push_submenu_end)
3792 (push_left_right_boundary, push_menu_pane, push_menu_item)
3793 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3794 (free_menubar_widget_tree_value, parse_single_submenu)
3795 (update_submenu_strings): Remove functions.
3796 (xmalloc_widget_value): Remove and declare extern.
3797
3798 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3799 (OBJ1): Build it.
3800
3801 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3802 (local_heap, local_alloc, local_free, malloc_widget_value)
3803 (free_widget_value): Define here.
3804
38052008-06-09 Kenichi Handa <handa@m17n.org>
3806
3807 * font.h (Qascii_0): Extern it.
3808
3809 * font.c (Qascii_0): New variable.
3810 (syms_of_font): DEFSYM it.
3811 (font_open_by_name): If the registry "iso8859-1" fails, try also
3812 "ascii-0".
3813
3814 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3815
38162008-06-08 Kenichi Handa <handa@m17n.org>
3817
3818 * .gdbinit (xfont): New command.
3819
38202008-06-08 Andreas Schwab <schwab@suse.de>
3821
3822 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3823 * Makefile.in (menu.o): Update dependencies.
3824
3825 * Makefile.in (obj): Always add menu.o.
3826 * emacs.c (main): Always call syms_of_menu.
3827 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3828
38292008-06-08 Chong Yidong <cyd@stupidchicken.com>
3830
3831 * Makefile.in: Compile menu.c.
3832
3833 * lisp.h: Declare syms_of_menu.
3834
3835 * emacs.c (main): Call syms_of_menu.
3836
3837 * keyboard.h: Relocate platform-independent menu definitions from
3838 xmenu.c.
3839
3840 * menu.c: New file. Relocate platform-independent menu
3841 definitions from xmenu.c. Suggested by Adrian Robert.
3842
3843 * xmenu.c: Remove platform-independent menu definitions.
3844 (menu_items menu_items_inuse, menu_items_allocated)
3845 (menu_items_used, menu_items_n_panes)
3846 (menu_items_submenu_depth): Move to keyboard.h.
3847 (init_menu_items, finish_menu_items, unuse_menu_items)
3848 (discard_menu_items, restore_menu_items, save_menu_items)
3849 (grow_menu_items, push_submenu_start, push_submenu_end)
3850 (push_left_right_boundary, push_menu_pane, push_menu_item)
3851 (keymap_panes, single_keymap_panes, single_menu_item)
3852 (list_of_panes, list_of_items, find_and_call_menu_selection)
3853 (xmalloc_widget_value, free_menubar_widget_value_tree)
3854 (parse_single_submenu, digest_single_submenu)
3855 (update_submenu_strings): Move to menu.c.
3856
38572008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3858
3859 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3860
38612008-06-06 Miles Bader <miles@gnu.org>
3862
3863 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3864 face, not frame default.
3865
38662008-06-05 Martin Rudalics <rudalics@gmx.at>
3867
3868 * window.c (pop_up_windows, pop_up_frames)
3869 (display_buffer_reuse_frames, Vpop_up_frame_function)
3870 (Vdisplay_buffer_function, Veven_window_heights)
3871 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3872 (Vspecial_display_function, Vsame_window_buffer_names)
3873 (Vsame_window_regexps, split_height_threshold)
3874 (Vsplit_window_preferred_function): Move those vars to window.el.
3875 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3876 (Fdisplay_buffer): Move those functions to window.el.
3877 (syms_of_window): Remove corresponding declarations.
3878 (display_buffer): New function.
3879 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3880 * dispnew.c (Flast_nonminibuf_frame): New function.
3881 * buffer.c (Fpop_to_buffer): Move to window.el.
3882
38832008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3884
3885 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3886
38872008-06-05 Kenichi Handa <handa@m17n.org>
3888
3889 * coding.c (detect_coding): Fix previous change.
3890 (detect_coding_system): Likewise.
3891
38922008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3893
3894 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3895
3896 * keymap.c (Vminibuffer_local_filename_must_match_map):
3897 Rename from Vminibuffer_local_must_match_filename_map.
3898 (syms_of_keymap):
3899 * minibuf.c (Fcompleting_read): Adjust accordingly.
3900 * commands.h: Rename declaration as well.
3901
39022008-06-05 Kenichi Handa <handa@m17n.org>
3903
3904 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3905 family name.
3906 (Ffont_put): Likewise.
3907
3908 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3909 current font-spec.
3910
3911 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3912 is unspecified.
3913
3914 * xfaces.c (realize_x_face): If the font-related face attributes
3915 are the same as those of default face, realize a new fontset from
3916 default->fontset.
3917 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
3918
39192008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3920
3921 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3922 (move_it_in_display_line): New wrapper.
3923
3924 * window.c (window_scroll_pixel_based_preserve_x)
3925 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3926 (window_scroll_pixel_based, window_scroll_line_based):
3927 Use them to preserve column positions.
3928 (syms_of_window): Initialize them.
3929
3930 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3931 (HPOS . VPOS) pair.
3932
3933 * dispextern.h (move_it_in_display_line): Declare.
3934
39352008-06-05 Juanma Barranquero <lekktu@gmail.com>
3936
3937 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3938 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3939 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3940
39412008-06-04 Juanma Barranquero <lekktu@gmail.com>
3942
3943 * window.c (Fset_window_parameter): Doc fix.
3944 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3945
39462008-06-04 Joakim Verona <joakim@verona.se>
3947
3948 * window.h (struct window): Add new member window_parameters.
3949
3950 * window.c (Fwindow_parameters, Fwindow_parameter)
3951 (Fset_window_parameter): New defuns.
3952 (syms_of_window): Defsubr the new defuns.
3953 (make_window): Initialize window_parameters to nil.
3954
39552008-06-04 John Paul Wallington <jpw@pobox.com>
3956
3957 * eval.c (Fdefmacro): Doc fix.
3958
39592008-06-04 Kenichi Handa <handa@m17n.org>
3960
3961 * coding.c (detect_coding): Fix handling of coding->head_ascii.
3962 Be sure to call setup_coding_system when we find a proper coding system.
3963 (detect_coding_system): Fix handling of coding->head_ascii.
3964
39652008-06-03 Andreas Schwab <schwab@suse.de>
3966
3967 * font.c (font_prop_validate_spacing): Fix last change.
3968
39692008-06-03 Kenichi Handa <handa@m17n.org>
3970
3971 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3972 (font_parse_fcname): Fix handling of unknown key.
3973
3974 * xfont.c (xfont_list): Try an alias.
3975
3976 * charset.c (char_charset): Return NULL if the arg charset_list is
3977 specified and C doesn't belong to any of them.
3978
39792008-06-02 Chip Coldwell <coldwell@redhat.com>
3980
3981 * font.c (font_pixel_size): Don't take cdr of an integer.
3982
39832008-06-02 Jim Meyering <meyering@redhat.com>
3984
3985 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3986 * alloc.c (xfree): Return right away for a NULL arg.
3987 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3988 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3989 * mac.c (create_apple_event_from_event_ref): Likewise.
3990 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3991 Likewise.
3992 * doprnt.c (doprnt1): Likewise.
3993 * frame.c (frame): Likewise.
3994 * keyboard.c (wipe_kboard): Likewise.
3995 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
3996 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3997 * term.c (tty_default_color_capabilities, maybe_fatal)
3998 (delete_tty): Likewise.
3999 * w16select.c (string): Likewise.
4000 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4001 * w32bdf.c (w32_free_bdf_font): Likewise.
4002 * w32fns.c (w32_unload_font): Likewise.
4003 * w32font.c (w32font_close): Likewise.
4004 * window.c (size_window): Likewise.
4005 * xselect.c (receive_incremental_selection): Likewise.
4006 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4007 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4008 * w32.c (stat): Likewise.
4009
4010 Remove useless if-before-free tests.
4011 * editfns.c (Fset_time_zone_rule): Likewise.
4012 * lread.c (nosuffix): Likewise.
4013 * ralloc.c (get_bloc): Likewise.
4014 * regex.c (reg_free): Likewise.
4015 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4016 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4017 * xsmfns.c (smc_save_yourself_CB): Likewise.
4018
40192008-06-02 Kenichi Handa <handa@m17n.org>
4020
4021 * font.c (font_find_for_lface): Handle float font size.
4022 (font_open_for_lface): Likewise.
4023
4024 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4025 comparing the properties.
4026
40272008-06-01 Jason Rumney <jasonr@gnu.org>
4028
4029 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4030 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4031 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4032 Don't add empty script list.
4033 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4034
40352008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4036
4037 * Makefile.in (dot, dotdot): Remove, update users.
4038 ".." has been used elsewhere in the file for a long time.
4039 (LIBXT_STATIC): Remove conditional based on unused variable.
4040
40412008-06-01 Miles Bader <miles@gnu.org>
4042
4043 * xfaces.c (Vface_remapping_alist): New variable.
4044 (syms_of_xfaces): Initialize it.
4045 (enum named_merge_point_kind): New type.
4046 (struct named_merge_point): Add `named_merge_point_kind' field.
4047 (push_named_merge_point): Make cycle detection respect different
4048 named-merge-point kinds.
4049 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4050 Remove face-name alias resolution.
4051 (lface_from_face_name): New definition using
4052 `lface_from_face_name_no_resolve'.
4053 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4054 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4055 (get_lface_attributes): New definition that layers face-remapping on
4056 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4057 (lookup_basic_face): New function.
4058 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4059 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4060 `get_lface_attributes'.
4061 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4062 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4063 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4064
4065 * xdisp.c (init_iterator): Pass base_face_id through
4066 `lookup_basic_face' when we actually use it as a face-id.
4067 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4068 DEFAULT_FACE_ID.
4069
4070 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4071 lookup the initial face-id.
4072
4073 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4074
40752008-06-01 Juanma Barranquero <lekktu@gmail.com>
4076
4077 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4078 (Fremove_text_properties): Fix typos in docstrings.
4079
40802008-05-31 Kenichi Handa <handa@m17n.org>
4081
4082 * font.c (font_list_entities): Fix the car part of data to be
4083 stored in the cache.
4084
4085 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4086
40872008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4088
4089 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4090 Add a `test' argument so another predicate than `equal' can be used.
4091 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4092 (map_char_table): Remove unused vars `c' and `i'.
4093 * lisp.h (Foptimize_char_table): Adjust declaration.
4094 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4095
40962008-05-30 Kenichi Handa <handa@m17n.org>
4097
4098 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4099 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4100 defined.
4101
41022008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4103
4104 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4105 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4106 frame-local settings for the same variable.
4107
41082008-05-30 Kenichi Handa <handa@m17n.org>
4109
4110 * fontset.c (Ffont_info): Move to font.c.
4111 (syms_of_fontset): Delete defsubr of Sfont_info.
4112
4113 * font.c (font_style_to_value, font_score): Delete casting of the
4114 args to xstcasecmp.
4115 (register_font_driver): Increment num_font_drivers only when
4116 registering the driver globally.
4117 (Ffont_info): Move from fontset.c. Handle a font object too.
4118 (syms_of_font): Defsubr Sfont_info.
4119
41202008-05-29 Kenichi Handa <handa@m17n.org>
4121
4122 * coding.h (enum define_coding_utf8_arg_index): New enum.
4123 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4124 coding_attr_utf_bom.
4125 (enum utf_bom_type): Rename from utf_16_bom_type.
4126 (struct utf_16_spec): Adjust for the above change.
4127 (struct coding_system): Add utf_8_bom in `spec' union.
4128
4129 * coding.c (CODING_UTF_8_BOM): New macro.
4130 (enum coding_category): Delete coding_category_utf_8, add
4131 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4132 coding_category_utf_8_sig.
4133 (CATEGORY_MASK_UTF_8): Delete it.
4134 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4135 (CATEGORY_MASK_UTF_8_SIG): New macros.
4136 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4137 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4138 CATEGORY_MASK_UTF_8_SIG.
4139 (CATEGORY_MASK_UTF_8): New macro.
4140 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4141 (detect_coding_utf_8): Check BOM.
4142 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4143 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4144 (encode_coding_utf_16): Likewise.
4145 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4146 (detect_coding, detect_coding_system): Handle utf-8-auto.
4147 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4148 (syms_of_coding): Fix setting up of Vcoding_category_table.
4149
41502008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4151
4152 * process.c (Faccept_process_output): If `millisec' is non-nil,
4153 `seconds' default to 0.
4154 (wait_reading_process_output): Also return non-nil if we read output
4155 from a non-running process.
4156
41572008-05-29 Jason Rumney <jasonr@gnu.org>
4158
4159 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4160 `raster' specified.
4161 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4162 in the uniscribe backend, but disallow any font that has no
4163 unicode subrange support.
4164
41652008-05-29 Juanma Barranquero <lekktu@gmail.com>
4166
4167 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4168 Fix typos in docstrings.
4169
41702008-05-29 Kenichi Handa <handa@m17n.org>
4171
4172 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4173 (Fx_family_fonts): Set frame correctly.
4174
41752008-05-28 Jason Rumney <jasonr@gnu.org>
4176
4177 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4178
41792008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4180
4181 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4182 calling build_annotations.
4183
41842008-05-28 Juanma Barranquero <lekktu@gmail.com>
4185
4186 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4187 (Fencode_coding_string):
4188 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4189 <latin-extra-code-table>: Fix typos in docstrings.
4190 (syms_of_coding) <coding-system-alist>: Doc fix.
4191 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4192
41932008-05-28 Kenichi Handa <handa@m17n.org>
4194
4195 * fontset.c (Ffont_info): Don't call font_close_object.
4196
4197 * font.c (font_parse_family_registry): Use Ffont_put to validate
4198 foundry and family.
4199 (font_delete_unmatched): Don't check spacing.
4200 (font_list_entities): Add spacing to the spec to list fonts.
4201
4202 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4203 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4204
4205 * coding.c (encode_coding_raw_text): Fix previous change.
4206 (encode_coding_object): When the dst_object is a buffer and is
4207 different from src_object, move gap to PT.
4208
42092008-05-27 Chong Yidong <cyd@stupidchicken.com>
4210
4211 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4212
42132008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4214
4215 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4216 all branches. Compute it differently.
4217
4218 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4219
42202008-05-27 Juanma Barranquero <lekktu@gmail.com>
4221
4222 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4223 into "else if () ... else ...".
4224
42252008-05-27 Jason Rumney <jasonr@gnu.org>
4226
4227 * w32font.c (w32font_open_internal): Determine if glyph indices
4228 are likely to work here.
4229
42302008-05-27 Chong Yidong <cyd@stupidchicken.com>
4231
4232 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4233 draw overlap glyphs with appropriate highlighting.
4234
42352008-05-27 Kenichi Handa <handa@m17n.org>
4236
4237 * xfont.c (xfont_open): Fix calculation of font->average_width.
4238
42392008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4240
4241 * casefiddle.c (casify_object): Try to guess better whether the
4242 argument is a byte or a char.
4243
42442008-05-26 Andreas Schwab <schwab@suse.de>
4245
4246 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4247 Always send multiples of format size.
4248
4249 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4250
42512008-05-26 Jason Rumney <jasonr@gnu.org>
4252
4253 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4254 (compute_metrics): Don't set failure if we just cleared the cache.
4255 (w32_weight_table): Remove unused variable.
4256 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4257 backwards compatibility.
4258
42592008-05-25 Kenichi Handa <handa@m17n.org>
4260
4261 * w32term.c (x_draw_glyph_string):
4262 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4263
4264 * xfaces.c: Delete unused function prototypes.
4265 (xstrlwr, font_frame): Delete them.
4266 (clear_face_cache): Delete unused variable.
4267
4268 * xftfont.c (xftfont_open): Delete unused variable.
4269 If underline_thickness is not 1, adjust underline_position.
4270
4271 * ftxfont.c (ftxfont_open): Delete unused variable.
4272
4273 * fontset.c (face_for_char): Optimize for the case of no charset
4274 property.
4275
4276 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4277 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4278 (otf_open, font_otf_capability, generate_otf_features)
4279 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4280 Comment out by surrounding "#if 0" and "#endif" for the moment.
4281 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4282 (syms_of_font): Codes for accessing above commented out.
4283
42842008-05-24 Eli Zaretskii <eliz@gnu.org>
4285
4286 * w32proc.c: Include dispextern.h.
4287
4288 * w32.c: Include dispextern.h.
4289
42902008-05-23 Juanma Barranquero <lekktu@gmail.com>
4291
4292 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4293 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4294 Fix typos in docstrings.
4295
42962008-05-23 Jason Rumney <jasonr@gnu.org>
4297
4298 * xsmfns.c: Remove includes that are already included by config.h.
4299
43002008-05-23 Kenichi Handa <handa@m17n.org>
4301
4302 * charset.c (Qemacs, charset_emacs): New variables.
4303 (char_charset): Fix for non-Unicode characters.
4304 (syms_of_charset): Define charset_emacs.
4305
4306 * w32term.c (x_draw_glyph_string): Be sure to update
4307 s->underline_thickness and s->underline_position. Be sure to draw
4308 underline within the current line area.
4309
4310 * xterm.c (x_draw_glyph_string): Be sure to update
4311 s->underline_thickness and s->underline_position. Be sure to draw
4312 underline within the current line area.
4313
4314 * fontset.c: Delete unused variables and add casting for char *
4315 throughout the file.
4316 (fontset_font): Try the fallback fonts of the current fontset
4317 before consulting the default fontset.
4318
4319 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4320
4321 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4322
43232008-05-22 Jason Rumney <jasonr@gnu.org>
4324
4325 * font.c: Don't include strings.h.
4326
4327 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4328
4329 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4330 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4331 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4332 to call xstrcasecmp.
4333
4334 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4335
4336 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4337
4338 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4339
4340 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4341
43422008-05-22 Kenichi Handa <handa@m17n.org>
4343
4344 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4345
4346 * font.c (font_prop_validate_style): Adjust for the format
4347 change of font_style_table.
4348
4349 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4350 two args.
4351
4352 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4353 two args.
4354
43552008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4356
4357 * minibuf.c (keys_of_minibuf): Delete.
4358 * lisp.h (keys_of_minibuf): Delete.
4359 * emacs.c (main): Don't call keys_of_minibuf.
4360
43612008-05-22 Kenichi Handa <handa@m17n.org>
4362
4363 * ftfont.c (ftfont_resolve_generic_family): Rename from
4364 ftfont_list_generic_family. Return a single family for each
4365 generic family.
4366 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4367 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4368 Call font_add_log.
4369 (ftfont_match): Call font_add_log.
4370
4371 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4372 (FONT_DEBUG): Define it.
4373 (font_add_log): Extern it.
4374 (font_assert): Rename from xassert.
4375
4376 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4377 (xfont_list_family): Call font_add_log.
4378 (xfont_match): Likewise.
4379 (memq_no_quit): Delete.
4380
4381 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4382 call of Ffont_xlfd_name.
4383
4384 * xfaces.c (struct table_entry, slant_table, weight_table)
4385 (swidth_table): Move to font.c.
4386
4387 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4388 xassert are changed to font_assert. Delete many unused variables.
4389 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4390 New variables.
4391 (struct table_entry): Move from xfaces.c and modified.
4392 (weight_table, slant_table, width_table): Move from xfaces.c and
4393 contents adjusted for the change of struct table_entry.
4394 (font_style_to_value, font_style_symbolic): Adjust for the
4395 format change of font_style_table.
4396 (font_parse_family_registry): Don't overwrite existing foundry and
4397 family of font_spec.
4398 (font_score): Fix calculation of diff for sizes.
4399 (font_sort_entites): Call font_add_log.
4400 (font_delete_unmatched): Return a newly created list.
4401 (font_list_entities): Fix previous change. Call font_add_log.
4402 (font_matching_entity, font_open_entity, font_close_entity):
4403 Call font_add_log.
4404 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4405 (Finternal_set_font_style_table): Delete.
4406 (BUILD_STYLE_TABLE): New macro.
4407 (build_style_table): New function.
4408 (Vfont_log, font_log_env_checked): New variables.
4409 (font_add_log): New function.
4410 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4411 Declare Lisp variables "font-weight-table", "font-slant-table",
4412 "font-width-table", and "font-log". Initialize font_style_table.
4413
44142008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4415
4416 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4417
44182008-05-21 Seiji Zenitani <zenitani@mac.com>
4419 Ryo Yoshitake <ryo@shiftmode.net>
4420
4421 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4422 (Vframe_alpha_lower_limit): New variable.
4423 (x_set_alpha): New function.
4424
4425 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4426
4427 * xfns.c (x-create-frame, Qalpha):
4428 Initialize the frame parameter `alpha'.
4429 * xterm.c (OPAQUE, OPACITY): New.
4430 (x_set_frame_alpha): New function.
4431 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4432
4433 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4434 * w32fns.c (w32_frame_parm_handlers): Likewise.
4435
44362008-05-20 Jason Rumney <jasonr@gnu.org>
4437
4438 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4439 truetype fonts to opentype list.
4440
44412008-05-20 Juanma Barranquero <lekktu@gmail.com>
4442
4443 * fontset.c (Ffontset_info): Doc fix.
4444 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4445 <ignore-relative-composition>: Fix typos in docstrings.
4446
4447 * font.c (syms-of-font) <font-encoding-alist>:
4448 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4449 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4450 (Ffont_otf_alternates): Doc fixes.
4451
44522008-05-20 Kenichi Handa <handa@m17n.org>
4453
4454 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4455 font.h through out the file.
4456 (FONT_DRIVERS): Rename from FONTOBJ.
4457 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4458 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4459
4460 * emacs.c (main): Call syms_of_font unconditionally.
4461
4462 * font.h (find_font_encoding): Extern it.
4463
4464 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4465 fontset.c.
4466 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4467 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4468 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4469 only when HAVE_WINDOW_SYSTEM is defined.
4470 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4471 when HAVE_WINDOW_SYSTEM is defined.
4472
4473 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4474 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4475
4476 * xfaces.c: Include font.h unconditionally.
4477 (merge_face_ref, merge_face_vectors)
4478 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4479
44802008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4481
4482 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4483 indirect_variable.
4484 * eval.c (lisp_indirect_variable): New fun.
4485 (Fuser_variable_p): Use it.
4486
44872008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4488
4489 * lisp.h (indirect_variable):
4490 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4491 Use Lisp_Symbol pointers rather than Lisp_Object.
4492 Adjust callers.
4493 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4494 To this end, change calling-convention.
4495
4496 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4497 if some non-hidden buffers are selected by string&pred.
4498
44992008-05-19 Chong Yidong <cyd@stupidchicken.com>
4500
4501 * process.c (wait_reading_process_output): Always check status
4502 when in batch mode.
4503
45042008-05-19 Kenichi Handa <handa@m17n.org>
4505
4506 * font.c (font_list_entities): Fix handling of cache.
4507 (font_matching_entity): Likewise.
4508
4509 * ftfont.c (cs_iso8859_1): Delete.
4510 (ft_face_cache): New variable.
4511 (struct ftfont_info): New member fc_charset_idx.
4512 (ftfont_build_basic_charsets): Delete.
4513 (fc_charset_table): New variable.
4514 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4515 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4516 Callers changed.
4517 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4518 (ftfont_spec_pattern): New argument fc_charset_idx.
4519 Check registry more rigidly. Change callers.
4520 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4521 change of :font-entity property of the font.
4522
4523 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4524 property of the font.
4525
45262008-05-18 Juanma Barranquero <lekktu@gmail.com>
4527
4528 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4529 (Funencodable_char_position, Fcheck_coding_systems_region)
4530 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4531 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4532 (Ffind_operation_coding_system, Fset_coding_system_priority)
4533 (Fcoding_system_eol_type): Doc fixes.
4534
45352008-05-17 Glenn Morris <rgm@gnu.org>
4536
4537 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4538
45392008-05-16 Eli Zaretskii <eliz@gnu.org>
4540
4541 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4542 and st_gid.
4543
4544 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4545 HAVE_WINDOW_SYSTEM is not defined.
4546
4547 * xfaces.c (merge_face_ref, merge_face_vectors)
4548 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4549 HAVE_WINDOW_SYSTEM is defined.
4550 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4551
45522008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4553
4554 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4555
45562008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4557
4558 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4559
45602008-05-15 Kenichi Handa <handa@m17n.org>
4561
4562 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4563 preference.
4564
45652008-05-15 Glenn Morris <rgm@gnu.org>
4566
4567 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4568
45692008-05-15 Chong Yidong <cyd@stupidchicken.com>
4570
4571 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4572 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4573
4574 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4575
45762008-05-15 Kenichi Handa <handa@m17n.org>
4577
4578 * ftfont.c (ftfont_list): Downcase family name to check generic
4579 families.
4580
4581 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4582 font-spec for QCfont value.
4583
4584 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4585 buffer. Check the return value of it.
4586
45872008-05-14 Jason Rumney <jasonr@gnu.org>
4588
4589 * w32term.c (w32_get_glyph_overhangs): Remove.
4590 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4591
45922008-05-14 Kenichi Handa <handa@m17n.org>
4593
4594 * font.c (font_prop_validate): Make nil a valid value.
4595 (font_clear_cache): Check if the cached vector of entities is nil
4596 or not.
4597
45982008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4599
4600 * emacs.c (main_thread): Conditionalize on
4601 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4602 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4603
4604 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4605 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4606 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4607
46082008-05-14 Kenichi Handa <handa@m17n.org>
4609
4610 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4611 has no corresponding coding system.
4612
46132008-05-14 Jason Rumney <jasonr@gnu.org>
4614
4615 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4616
4617 * w32font.h (w32font_open_internal): Update declaration.
4618
4619 * w32font.c (w32font_open_internal): Change last argument from
4620 w32font_info struct to font object. Fill in font object from
4621 font_entity. Get Outline metrics if possible. Use them to
4622 calculate underline position and thickness. Use xlfd name as name
4623 property. Don't set codepage.
4624 (w32font_open): Pass font_object to w32font_open_internal. Don't
4625 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4626 (w32font_draw): Use s->font.
4627 (clear_cached_metrics): Don't clear non-existent blocks.
4628
4629 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4630 font was not found.
4631 (x_draw_glyph_string): Use underline position and thickness from font.
4632
4633 * w32uniscribe.c (uniscribe_open): Pass font_object to
4634 w32font_open_internal.
4635
46362008-05-14 Kenichi Handa <handa@m17n.org>
4637
4638 These changes are to delete all legacy font-handling codes, and
4639 make Emacs use only font-backends.
4640
4641 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4642 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4643
4644 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4645
4646 * charset.h (Vcharset_non_preferred_head)
4647 (Vcurrent_iso639_language): Extern them.
4648
4649 * charset.c (Vcharset_non_preferred_head): New variable.
4650 (Vcurrent_iso639_language): New variable.
4651 (syms_of_charset): Declare it as a Lisp variable.
4652 (char_charset): Don't check non preferred charsets. As a last
4653 resort, return charset_unicode.
4654 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4655
4656 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4657 conditionals. Don't check enable_font_backend. Delete all codes
4658 used only when USE_FONT_BACKEND is not defined.
4659
4660 * dispextern.h (struct glyph_string): Change type of `font' to
4661 `struct font *'.
4662 (struct glyph_string): New member underline_position and
4663 underline_thickness.
4664 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4665 (struct face): Change type of `font' to `struct font *'. Remove
4666 members `font_name', `font_info_id'.
4667 (per_char_metric, encode_char): Delete externs.
4668 (calc_pixel_width_or_height): Adjust the prototype.
4669
4670 * emacs.c (enable_font_backend): Delete extern.
4671 (main): Don't set enable_font_backend. Don't check the command
4672 line argument "-disable-font-backend".
4673
4674 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4675 (enum font_property_index): New members FONT_DPI_INDEX,
4676 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4677 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4678 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4679 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4680 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4681 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4682 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4683 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4684 (struct font_spec, struct font_entity): New structs.
4685 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4686 (struct font): Many members from old "struct font_info" moved to
4687 here. Members font and entity deleted.
4688 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4689 the new font-related objects.
4690 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4691 (CHECK_FONT_GET_OBJECT): Likewise.
4692 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4693 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4694 (struct font_driver): New members case_sensitive anc check. Type
4695 of the member list and open changed.
4696 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4697 (font_symbolic_width, font_find_object, font_get_spec)
4698 (font_set_lface_from_name): Delete extern.
4699 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4700
4701 * font.c: Include <strings.h>.
4702 (enable_font_backend): Delete it.
4703 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4704 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4705 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4706 (null_string): Delete it.
4707 (null_vector): Make it static.
4708 (font_family_alist): Delete it.
4709 (Qnormal): Extern it.
4710 (QCextra, QClanguage): Delete it.
4711 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4712 (font_make_spec, font_make_entity, font_make_object)
4713 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4714 the string. Callers changed.
4715 (font_pixel_size): Adjusted for the format change of font-related
4716 objects.
4717 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4718 (font_style_to_value, font_style_symbolic): New function.
4719 (build_font_family_alist): Delete it.
4720 (font_registry_charsets): Use Fassoc_string instead of
4721 assq_no_quit.
4722 (font_prop_validate_symbol): Don't return null_string.
4723 (font_prop_validate_style): Adjusted for the change of
4724 style-related values in a font vector.
4725 (font_property_table): Delete entries for QClanguage and
4726 QCantialias, add entries for QCavgwidth.
4727 (get_font_prop_index): Delete the 2nd argument FROM.
4728 (font_prop_validate): Arguments changed.
4729 (font_put_extra): Adjusted for the change of font-related objects.
4730 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4731 (font_parse_fcname, font_unparse_fcname)
4732 (font_prepare_composition): Likewise.
4733 (font_parse_family_registry): Renamed from font_merge_old_spec.
4734 (otf_open): Delete the 1st arg entity.
4735 (font_otf_capability): Adjusted for the above change.
4736 (font_score): New arg alternate_families. Adjusted for the change
4737 of font-related objects.
4738 (font_sort_entites): New arg best_only.
4739 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4740 Delete them.
4741 (font_match_p): Check alternate families.
4742 (font_find_object): Delete it.
4743 (font_check_object): New function.
4744 (font_clear_cache): Adjusted for the change of font-related objects.
4745 (font_delete_unmatched): New arg.
4746 (font_list_entities): Call font_driver->list with a spec that
4747 doesn't specify style-related properties.
4748 (font_matching_entity): Arguments changed. Caller changed.
4749 (font_open_entity): Adjusted for the change of font-related objects.
4750 (font_close_object, font_has_char, font_encode_char)
4751 (font_get_name, font_get_spec): Likewise.
4752 (font_spec_from_name, font_clear_prop, font_update_lface):
4753 New functions.
4754 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4755 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4756 (font_at): Adjusted for the change of font-related objects.
4757 (font_range): New function.
4758 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4759 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4760 (Fcopy_font_spec, Fmerge_font_spec): New function.
4761 (Ffont_family_list): Renamed from list-families.
4762 (Finternal_set_font_style_table): Arguments changed.
4763 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4764 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4765 change of font-related objects.
4766 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4767
4768 * fontset.h (struct font_info): Delete it. Most members go to
4769 struct font.
4770 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4771 (enum FONT_SPEC_INDEX): Delete it.
4772 (font_info, list_fonts_func, load_font_func, query_font_func)
4773 (set_frame_fontset_func, find_ccl_program_func)
4774 (get_font_repertory_func, new_fontset_from_font_name): Delete
4775 externs.
4776 (fontset_from_font_name): Extern it.
4777 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4778 (FONT_INFO_FROM_FACE): Deleted.
4779 (face_for_font): Adjust prototype.
4780
4781 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4782 conditionals. Don't check enable_font_backend. Delete all codes
4783 used only when USE_FONT_BACKEND is not defined.
4784 (get_font_info_func, list_font_func, load_font_func)
4785 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4786 (get_font_repertory_func): Delete them.
4787 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4788 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4789 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4790 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4791 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4792 (fontset_compare_rfontdef): New function.
4793 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4794 rfont-defs by qsort. Adjusted for the change of font-group vector.
4795 (load_font_get_repertory): Deleted.
4796 (fontset_find_font): Use new macros to ref/set elements of
4797 font-def and rfont-def.
4798 (fontset_font): Fix the timing of remembering that no font for C.
4799 (free_face_fontset): Do nothing if the face has no fontset.
4800 (face_suitable_for_char_p): Use new macros to ref/set elements of
4801 rfont-def.
4802 (face_for_char): Likewise. Call face_for_char with font_object.
4803 (fs_load_font): Delete. Delete #pragma surrounding it.
4804 (fs_query_fontset): Use strcasecmp instead of strcmp.
4805 (generate_ascii_font_name): Adjusted for the format change of
4806 font-spec.
4807 (Fset_fontset_font): Likewise. Use new macros to set elements of
4808 font-def.
4809 (Fnew_fontset): Use font_unparse_xlfd to generate
4810 FONTSET_ASCII (fontset).
4811 (new_fontset_from_font_name): Deleted.
4812 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4813 a fontset is already created for the font. FIx updating of
4814 Vfontset_alias_alist.
4815 (fontset_ascii_font): Deleted.
4816 (Ffont_info): Adjusted for the format change of font-spec.
4817 (Finternal_char_font): Likewise.
4818 (Ffontset_info): Likewise.
4819 (syms_of_fontset): Don't check load_font_func.
4820
4821 * fns.c (internal_equal): Handle PREV_FONT.
4822
4823 * frame.h: Delete USE_FONT_BACKEND conditional.
4824
4825 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4826 conditionals. Don't check enable_font_backend. Delete all codes
4827 used only when USE_FONT_BACKEND is not defined.
4828 (x_set_font): Call x_new_font, not x_new_fontset2.
4829 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4830 already set for the frame.
4831
4832 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4833 a font-entity by font_make_entity. Use font_intern_prop instead
4834 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4835 font property. If a font is scalable, set avgwidth property to 0.
4836 Set font-entity property by font_put_extra.
4837 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4838 (ffont_driver): Adjusted for the change of struct font_driver.
4839 (ftfont_spec_pattern): New function.
4840 (ftfont_list): Return a list, not vector.
4841 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4842 (ftfont_list_family): Don't downcase names.
4843 (ftfont_free_entity): Deleted.
4844 (ftfont_open): Return a font-object. Adjusted for the change of
4845 struct font. Get underline_thickness and underline_position from
4846 font property. Don't update dpyinfo->smallest_font_height and
4847 dpyinfo->smallest_char_width.
4848 (ftfont_close): Don't free `struct font'.
4849 (ftfont_has_char): Adjusted for the format change of font-entity.
4850 (ftfont_encode_char, ftfont_text_extents): Likewise.
4851
4852 * ftxfont.c (ftxfont_list): Return a list, not vector.
4853 (ftxfont_open): Return a font-object. Adjusted for the change of
4854 struct font. Get underline_thickness and underline_position from
4855 font property. Don't update dpyinfo->smallest_font_height and
4856 dpyinfo->smallest_char_width.
4857 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
4858 (ftxfont_draw): Adjusted for the change of struct font.
4859
4860 * image.c (image_ascent): Don't include "charset.h". Include
4861 "character.h" and "font.h".
4862
4863 * lisp.h (enum pvec_type): New member PREV_FONT.
4864 (Fassoc_string): EXFUN it.
4865
4866 * print.c: Include font.h.
4867 (print_object): Handle font-related objects.
4868
4869 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4870 conditionals. Don't check enable_font_backend. Delete all codes
4871 used only when USE_FONT_BACKEND is not defined.
4872 (handle_auto_composed_prop): Do nothing if it->f is not on a
4873 window system. Check how many following characters can be
4874 displayed by the same font.
4875 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4876 'struct font *'.
4877 (get_char_face_and_encoding): Assign the whole encoding task to
4878 the `encode-char' method of a font driver.
4879 (fill_composite_glyph_string): Adjusted for the change of `struct
4880 face' and `struct glyph_string'.
4881 (fill_glyph_string): Likewise.
4882 (get_per_char_metric): Arguments changed.
4883 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4884 and `struct glyph_string'.
4885 (produce_stretch_glyph, calc_line_height_property)
4886 (x_produce_glyphs): Likewise.
4887
4888 * xfaces.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. Use
4891 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4892 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4893 (Qp): Extern them.
4894 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4895 Deleted.
4896 (struct font_name): Deleted.
4897 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4898 (compare_fonts_by_sort_order): New function.
4899 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4900 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4901 Deleted.
4902 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4903 compare_fonts_by_sort_order.
4904 (Fx_font_family_list): Call Ffont_family_list.
4905 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4906 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4907 (face_symbolic_slant, face_symbolic_swidth)
4908 (split_font_name_into_vector, build_font_name_from_vector)
4909 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4910 (font_rescale_ratio, split_font_name, build_font_name)
4911 (free_font_names, sort_fonts, x_face_list_fonts)
4912 (face_font_available_p, sorted_font_list, cmp_font_names)
4913 (font_list_1, concat_font_list, font_list, remove_duplicates):
4914 Deleted.
4915 (Fx_list_fonts): Use Ffont_list.
4916 (LFACE_AVGWIDTH): Deleted.
4917 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4918 by FONTP.
4919 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4920 (set_lface_from_font_name): Delete it.
4921 (set_lface_from_font): Renamed from
4922 set_lface_from_font_and_fontset. Caller changed. Don't set
4923 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4924 for face.
4925 (merge_face_vectors): Copy font-spec if necessary.
4926 Clear properties of the font-spec if necessary.
4927 (merge_face_ref): Clear properties of the font-spec if necessary.
4928 (Finternal_set_lisp_face_attribute): Likewise.
4929 (set_font_frame_param): Use font_load_for_lface to load a
4930 font-object, and call Fmodify_frame_parameters with it.
4931 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4932 font name by Ffont_xlfd_name.
4933 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4934 QCslant, and QCwidth.
4935 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4936 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4937 Compare fonts by EQ.
4938 (lookup_non_ascii_face): Deleted.
4939 (face_for_font): The 2nd argument changed.
4940 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4941 Check atomic font properties by case insensitive.
4942 (realize_non_ascii_face): Set face->overstrike correctly.
4943 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4944 (dump_realized_face): Get font name from
4945 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4946
4947 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4948 conditionals. Don't check enable_font_backend. Delete all codes
4949 used only when USE_FONT_BACKEND is not defined.
4950 (xic_create_xfontset): Original code deleted and renamed from
4951 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4952 (x_make_gc): Don't set GCFont in GCs.
4953 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4954 opened by "fixed".
4955 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4956 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4957 get_font_repertory_func.
4958
4959 * xfont.c: Include <stdlib.h> and "ccl.h".
4960 (struct xfont_info): New structure.
4961 (xfont_query_font): Deleted.
4962 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4963 moved from xterm.c.
4964 (xfont_driver): Adjusted for the change of struct font_driver.
4965 (compare_font_names): New function.
4966 (xfont_list_pattern): Sort font names case insensitively. Make
4967 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4968 (xfont_list): Return a list, not vector.
4969 (xfont_match): If the font doesn't have QCname property, generate
4970 a name from the other font properties.
4971 (xfont_open): Return a font-object. Adjusted for the change of
4972 struct font. Get underline_thickness and underline_position from
4973 font property. Don't update dpyinfo->smallest_font_height and
4974 dpyinfo->smallest_char_width.
4975 (xfont_close): Don't free struct font.
4976 (xfont_prepare_face): Adjusted for the change of struct font.
4977 (xfont_done_face): Deleted.
4978 (xfont_has_char): Adjusted for the change of struct font.
4979 (xfont_encode_char, xfont_draw): Likewise.
4980 (xfont_check): New function.
4981
4982 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4983 callback function.
4984 (xftfont_match): Adjusted for the format change of font-entity.
4985 (xftfont_open): Adjusted for the format change of font-entity and
4986 font-object. Adjusted for the change of struct font. Return a
4987 font-object. Don't update dpyinfo->smallest_font_height and
4988 dpyinfo->smallest_char_width.
4989 (xftfont_close): Block input while calling XftFontClose.
4990 (xftfont_prepare_face): Don't block input while calling
4991 xftfont_get_colors. Adjusted for the change of struct font.
4992 (xftfont_shape): Return value of error case fixed.
4993
4994 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4995
4996 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4997 conditionals.
4998 (FONT_WIDTH): Return (f)->max_width.
4999 (struct x_display_info): Delete member `font'.
5000 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5001 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5002 (struct x_output): Change type of `font' to `struct font *'.
5003
5004 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5005 conditionals. Don't check enable_font_backend. Delete all codes
5006 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5007 (x_per_char_metric, x_encode_char): Deleted.
5008 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5009 (x_compute_glyph_string_overhangs): Adjusted for the change of
5010 `struct face'.
5011 (x_draw_glyph_string_foreground)
5012 (x_draw_composite_glyph_string_foreground): Likewise.
5013 (x_draw_glyph_string): Likewise. Use font->underline_position and
5014 font->underline_thickness.
5015 (x_new_font): Renamed from x_new_fontset2.
5016 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5017 (x_check_font): Call `check' method of a font driver.
5018 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5019 (x_query_font, x_get_font_repertory): Deleted.
5020 (x_find_ccl_program): Renamed and moved to xfont.c.
5021 (x_redisplay_interface): Adjusted for the change of `struct
5022 redisplay_interface'.
5023
5024 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5025 conditionals. Don't check enable_font_backend. Delete all codes
5026 used only when USE_FONT_BACKEND is not defined. Surround non-used
5027 code by "#ifdef OLD_FONT" and "endif".
5028 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5029
5030 * w32font.h (struct w32font_info): New member.
5031 (FONT_COMPAT): New macro.
5032 (w32font_open_internal): Prototype adjusted.
5033
5034 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5035 OLD_FONT" and "endif".
5036
5037 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5038 conditionals. Don't check enable_font_backend. Delete all codes
5039 used only when USE_FONT_BACKEND is not defined.
5040 (w32font_open): Return a font-object. Make a font-object by
5041 font_make_object. Adjusted for the change of struct w32font_info.
5042 (w32font_close): Don't free struct font. Adjusted for the change
5043 of struct w32font_info.
5044 (w32font_encode_char, w32font_text_extents, w32font_draw):
5045 Adjusted for the change of struct w32font_info.
5046 (w32font_draw): Likewise.
5047 (w32font_list_internal): Return a list, not vector.
5048 (w32font_open_internal): Change the 4th arg to font-object.
5049 Adjusted for the change of struct w32font_info and font-object format.
5050 (add_font_name_to_list): Don't downcase names.
5051 (w32_enumfont_pattern_entity): Make a font-entity by
5052 font_make_entity. Adjusted for the format change of font-entity.
5053 Use FONT_SET_STYLE to set a style-related font property. If a
5054 font is scalable, set avgwidth property to 0. Set font-entity
5055 property by font_put_extra.
5056 (font_matches_spec): Adjusted for the format change of font-entity.
5057 (w32_weight_table, w32_decode_weight): New variables.
5058 (w32_encode_weight): New function.
5059 (fill_in_logfont): Adjusted for the format change of font-spec.
5060 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5061 weight value.
5062 (w32font_driver): Adjusted for the change of struct font_driver.
5063
5064 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5065 conditionals. Don't check enable_font_backend. Surround non-used
5066 code by "#ifdef OLD_FONT" and "endif".
5067 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5068 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5069
5070 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5071 conditionals. Don't check enable_font_backend. Delete all codes
5072 used only when USE_FONT_BACKEND is not defined. Surround non-used
5073 code by "#ifdef OLD_FONT" and "endif".
5074
5075 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5076 (uniscribe_open): Return value changed to font-object.
5077 Adjusted for the format change of font-object.
5078 (uniscribe_otf_capability): Adjusted for the change of struct font.
5079 (add_opentype_font_name_to_list): Don't downcase names.
5080 (uniscribe_font_driver): Adjusted for the change of struct
5081 font_driver.
5082
50832008-05-13 Chong Yidong <cyd@stupidchicken.com>
5084
5085 * dispnew.c (update_frame_1): Check if tty output is still valid
5086 before flushing it.
5087
50882008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5089
5090 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5091 to Gtk+ menus.
5092
50932008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5094
5095 * dired.c (file_name_completion): Tweak the code so as to always do it
5096 in a single pass. Tighten the scope of some variables.
5097
5098 * dired.c (Qdefault_directory): New var.
5099 (file_name_completion): Use it instead of Fexpand_file_name.
5100 (syms_of_dired): Initialize it.
5101
51022008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5103
5104 * fileio.c (double_dollars): Remove dead code.
5105
51062008-05-10 Eli Zaretskii <eliz@gnu.org>
5107
5108 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5109 Mention w32-get-true-file-attributes in doc string.
5110
5111 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5112
51132008-05-09 Glenn Morris <rgm@gnu.org>
5114
5115 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5116 2008-04-23.
5117
51182008-05-09 Eli Zaretskii <eliz@gnu.org>
5119
5120 Support for reporting owner and group of each file on MS-Windows:
5121 * dired.c (stat_uname, stat_gname): New functions, with special
5122 implementation for w32.
5123 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5124
5125 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5126 (dflt_group_name): New static variable.
5127 (dflt_group): Rename from the_group.
5128 (init_user_info): Init dflt_group fields. Get user's group name
5129 from LookupAccountSid.
5130 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5131 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5132 New initialization states.
5133 (globals_of_w32): Initialize them to zero. Initialize the default
5134 group name to "None".
5135 (GetFileSecurity_Name): New global var, the name of the function
5136 to call for GetFileSecurity.
5137 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5138 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5139 (get_file_security, get_security_descriptor_owner)
5140 (get_security_descriptor_group, is_valid_sid)
5141 (get_file_security_desc, get_rid, get_name_and_id)
5142 (get_file_owner_and_group): New functions.
5143 (stat): Use get_file_security_desc and get_file_owner_and_group to
5144 report the owner and primary group of each file. Don't ignore the
5145 high 32 bits of file's size, now that st_size is 64-bit wide.
5146 Fix test when to get true file attributes.
5147 (init_user_info): Use get_rid instead of equivalent inline code.
5148 (fstat): Don't ignore the high 32 bits of file's size.
5149
51502008-05-09 Chong Yidong <cyd@stupidchicken.com>
5151
5152 * image.c (png_load): Use correct bit-depth for setting background
5153 color.
5154
51552008-05-08 Eli Zaretskii <eliz@gnu.org>
5156
5157 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5158 epa-hook.elc.
5159
51602008-05-08 Juanma Barranquero <lekktu@gmail.com>
5161
5162 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5163
51642008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5165
5166 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5167 because the original parameters are in pure storage now.
5168 (mac_window): Remove unused params. Update callers.
5169
51702008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5171
5172 * lread.c (substitute_object_recurse): Use lower-level primitives.
5173 Don't signal errors when traversing sub-char-tables.
5174 Don't loop over all the possible characters when traversing char-tables.
5175
5176 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5177 just like we do in print.c.
5178
51792008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5180
5181 * minibuf.c (Ftry_completion): Remove code left over from when we used
5182 scmp instead of Fcompare_strings.
5183
51842008-05-04 Juanma Barranquero <lekktu@gmail.com>
5185
5186 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5187
51882008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5189
5190 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5191 Create bitmap context in native byte order.
5192
5193 * macterm.c (XDrawLine)
5194 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5195 context in native byte order.
5196
51972008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5198
5199 * config.in: Regenerate.
5200
5201 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5202 New definitions for Image I/O support.
5203 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5204 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5205 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5206 (mac_data_provider_release_data, image_load_image_io)
5207 [USE_MAC_IMAGE_IO]: New functions.
5208 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5209 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5210 (init_image_func_pointer) [MAC_OSX]: Remove function.
5211 (image_load_quartz2d) [MAC_OSX]: Check availability of
5212 CGImageCreateWithPNGDataProvider at compile time.
5213 Use lowercase `false' for boolean constant.
5214 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5215 Use image_load_image_io.
5216 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5217 Don't check MyCGImageCreateWithPNGDataProvider.
5218 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5219 Don't call init_image_func_pointer.
5220
5221 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5222
5223 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5224 Make variable non-static.
5225 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5226 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5227
5228 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5229 (RED_FROM_ULONG): Mask off higher bits.
5230 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5231
5232 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5233 Include AvailabilityMacros.h.
5234 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5235 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5236
52372008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5238
5239 * chartab.c (Fset_char_table_range): If range is t, really set all
5240 chars to that value.
5241
52422008-05-03 Eli Zaretskii <eliz@gnu.org>
5243
5244 * dired.c (Ffile_attributes): Don't allow the device number become
5245 negative.
5246
52472008-05-02 Daiki Ueno <ueno@unixuser.org>
5248
5249 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5250
52512008-05-02 Juri Linkov <juri@jurta.org>
5252
5253 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5254 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5255 DEFAULT argument as a list of default values in docstrings.
5256
52572008-05-01 Chong Yidong <cyd@stupidchicken.com>
5258
5259 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5260
52612008-05-01 Martin Rudalics <rudalics@gmx.at>
5262
5263 * dispnew.c (change_frame_size_1): Preserve small windows when
5264 shrinking frames by calling set_window_height|width with third
5265 arg 2.
5266
5267 * window.h (struct window): Replace field too_small_ok by field
5268 resize_proportionally.
5269
5270 * window.c (make_window): Initialize resize_proportionally.
5271 (enlarge_window): Temporarily set resize_proportionally to make
5272 sure that shrink_windows does scale the window proportionally.
5273 (shrink_windows): When window has resize_proportionally set try
5274 to shrink it proportionally by stealing from other windows.
5275 (struct saved_window, Fset_window_configuration)
5276 (compare_window_configurations): Handle resize_proportionally.
5277 (WINDOW_TOTAL_SIZE): New macro.
5278 (window_min_size, shrink_windows, size_window): Use it.
5279 (check_min_window_sizes): Remove. Invalid values of
5280 window-min-height|width are handled by window_min_size_2 now.
5281 (size_window, Fsplit_window, enlarge_window)
5282 (adjust_window_trailing_edge, grow_mini_window): Don't call
5283 check_min_window_sizes.
5284 (window_min_size_2, window_min_size_1, window_min_size):
5285 New argument safe_p for retrieving "safe" minimum sizes.
5286 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5287 (adjust_window_trailing_edge, grow_mini_window):
5288 Adjust arguments of window_min_size... functions.
5289 (shrink_windows): Argument min_size removed. New argument
5290 safe_p allows shrinking windows to their safe minimum sizes.
5291 Calculate minimum size and decide whether a window shall be
5292 deleted for each window individually.
5293 (size_window): When nodelete_p equals 2, tell shrink_windows to
5294 delete windows only if their new minimum size is no more safe.
5295 (shrink_window_lowest_first): Call window_min_size_1 to make
5296 sure to preserve modeline of bottom-most window when resizing
5297 the minibuffer.
5298 (Fset_window_configuration, Fcurrent_window_configuration)
5299 (compare_window_configurations): Do not handle
5300 window-min-height|width any more.
5301 (syms_of_window): Clarify window-min-height|width doc-strings.
5302
53032008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5304
5305 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5306 some more. Copy some of the code from Ftry_completions.
5307 Remove special case code that dates back to initial revision when the
5308 slash was only added when necessary and that can't trigger nowadays.
5309
53102008-04-27 Kenichi Handa <handa@m17n.org>
5311
5312 * font.c (font_prop_validate): Signal `error' instead of `font'.
5313
53142008-04-29 Jason Rumney <jasonr@gnu.org>
5315
5316 * w32fns.c (Fw32_battery_status): New defun.
5317 (syms_of_w32fns): Defsubr it.
5318
53192008-04-28 Andreas Schwab <schwab@suse.de>
5320
5321 * dired.c (file_name_completion): Fix another mixing of encoded
5322 and decoded names.
5323
53242008-04-28 Juanma Barranquero <lekktu@gmail.com>
5325
5326 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5327
53282008-04-27 Juanma Barranquero <lekktu@gmail.com>
5329
5330 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5331
53322008-04-27 Andreas Schwab <schwab@suse.de>
5333
5334 * dired.c (file_name_completion): Fix inappropriate mixing of
5335 encoded and decoded names.
5336
5337 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5338
5339 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5340
53412008-04-26 Eli Zaretskii <eliz@gnu.org>
5342
5343 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5344 2008-03-31, it's not needed anymore with `struct stat' definition
5345 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5346 for the same reasons.
5347
53482008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5349
5350 * m/sparc.h: Additional redefinitions for GNU/Linux.
5351
53522008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5353
5354 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5355 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5356 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5357 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5358 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5359 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5360 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5361 Likewise.
5362
5363 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5364 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5365 (mac_ax_number_of_characters): Add externs.
5366 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5367 [USE_MAC_TSM]: Likewise.
5368 (mac_handle_text_input_event) [MAC_OSX]:
5369 Handle kEventTextInputOffsetToPos for no active input area case.
5370 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5371 (mac_handle_document_access_event)
5372 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5373 (install_application_handler) [MAC_OSX]: Register handlers for
5374 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5375 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5376 Register mac_handle_document_access_event.
5377
5378 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5379 Make functions non-static.
5380
53812008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5382
5383 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5384 (read_file_name_completion_ignore_case, insert_default_directory)
5385 (Qdefault_directory): Move to minibuffer.el.
5386 (Fread_file_name): Call the new `read-file-name' instead.
5387
53882008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5389
5390 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5391 Make function non-static.
5392 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5393 Remove function.
5394 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5395 Move to mactoolbox.c.
5396 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5397
5398 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5399 (mac_rect_make): New macro.
5400
5401 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5402 instead of float.
5403 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5404 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5405 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5406 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5407 CGRectMake.
5408 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5409 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5410 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5411 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5412 instead of WindowRef in argument type.
5413 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5414 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5415 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5416 instead of DISPLAY. All uses changed.
5417 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5418 (x_calc_absolute_position): Simplify so as not to use
5419 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5420
5421 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5422 instead of WindowRef in argument type.
5423 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5424 [TARGET_API_MAC_CARBON]: Remove externs.
5425 (create_apple_event, mac_event_parameters_to_lisp)
5426 [TARGET_API_MAC_CARBON]: Add externs.
5427
5428 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5429 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5430 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5431 is clicked.
5432 (x_activate_menubar): Remove extern for saved_menu_event_location.
5433 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5434 Move from mac.c.
5435
54362008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5437
5438 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5439 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5440
54412008-04-23 Jason Rumney <jasonr@gnu.org>
5442
5443 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5444 attributes only for local files.
5445
5446 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5447 default to Qlocal.
5448
54492008-04-22 Juri Linkov <juri@jurta.org>
5450
5451 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5452 read-buffer-to-switch instead of using the letter "B".
5453
54542008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5455
5456 * fileio.c (Qdefault_directory): New variable.
5457 (Fread_file_name): Use it to pass `dir' to the completion functions.
5458
54592008-04-20 Chong Yidong <cyd@stupidchicken.com>
5460
5461 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5462
54632008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5464
5465 * keyboard.c (Vpre_help_message): Remove.
5466 (show_help_echo): Remove default C code.
5467
5468 * dired.c (directory_files_internal, file_name_completion):
5469 Only call ENCODE_FILE if the string is indeed decoded.
5470
54712008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5472
5473 * Makefile.in (TOOLKIT_DEFINES): Remove.
5474 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5475
54762008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5477
5478 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5479 (mactoolbox.o): New target.
5480
5481 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5482 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5483
5484 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5485 Use mac_set_frame_window_background instead of XSetWindowBackground.
5486 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5487 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5488 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5489 instead of SetWindowTitleWithCFString.
5490 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5491 Move function to mactoolbox.c.
5492 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5493 Use mac_set_window_modified instead of SetWindowModified.
5494 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5495 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5496 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5497 FrontNonFloatingWindow. Use mac_activate_window instead of
5498 ActivateWindow. Use mac_active_non_floating_window instead of
5499 ActiveNonFloatingWindow.
5500 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5501 Use mac_show_hourglass and mac_hide_hourglass.
5502 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5503 instead of GetGlobalMouse.
5504 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5505 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5506 Use mac_bring_window_to_front instead of BringToFront.
5507 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5508 mactoolbox.c.
5509 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5510 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5511 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5512 mactoolbox.c.
5513
5514 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5515 (XtPointer): Move typedef from macmenu.c.
5516 (enum button_type): Move enum from macmenu.c.
5517 (widget_value): Move typedef from macmenu.c.
5518 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5519 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5520 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5521 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5522 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5523 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5524 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5525 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5526 (Selection): Move typedef from macselect.c.
5527 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5528 macterm.c.
5529 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5530 (mac_is_window_collapsed, mac_bring_window_to_front)
5531 (mac_send_window_behind, mac_hide_window, mac_show_window)
5532 (mac_collapse_window, mac_front_non_floating_window)
5533 (mac_active_non_floating_window, mac_activate_window)
5534 (mac_move_window_structure, mac_move_window, mac_size_window)
5535 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5536
5537 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5538 (enum mac_menu_kind): Move enum to mactoolbox.c.
5539 (min_menu_id): Move variable to mactoolbox.c.
5540 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5541 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5542 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5543 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5544 [TARGET_API_MAC_CARBON]: Likewise.
5545 (XtPointer): Move typedef to macgui.h.
5546 (enum button_type): Move enum to macgui.h.
5547 (widget_value): Move typedef to macgui.h.
5548 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5549 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5550 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5551 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5552 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5553 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5554 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5555 (popup_activated_flag): Make variable non-static.
5556 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5557 (add_menu_item, fill_menu, dispose_menus):
5558 Move functions to mactoolbox.c.
5559 (restore_show_help_function, menu_target_item_handler)
5560 (install_menu_target_item_handler, mac_handle_dialog_event)
5561 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5562 [TARGET_API_MAC_CARBON]: Likewise.
5563 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5564 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5565 (find_and_call_menu_selection, name_is_separator): Make function
5566 non-static.
5567 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5568 to mactoolbox.c.
5569 (set_frame_menubar): Don't call install_menu_quit_handler.
5570 (menu_item_selection): New variable.
5571 (mac_menu_show): Use create_and_show_popup_menu.
5572 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5573 selection but set variable menu_item_selection. All uses changed.
5574 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5575 Call install_menu_quit_handler. Move to mactoolbox.c.
5576
5577 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5578 (Selection): Move typedef to macgui.h.
5579 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5580 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5581 Make variables non-static.
5582 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5583 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5584 Make functions non-static.
5585 (Vmac_service_selection) [MAC_OSX]: Likewise.
5586 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5587 (mac_valid_selection_target_p, mac_clear_selection)
5588 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5589 (mac_put_selection_value, mac_selection_has_target_p)
5590 (mac_get_selection_value, mac_get_selection_target_list)
5591 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5592 Move functions to mactoolbox.c.
5593 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5594 Likewise.
5595 (copy_scrap_flavor_data, mac_handle_service_event)
5596 (install_service_handler) [MAC_OSX]: Likewise.
5597 (syms_of_macselect) <Vmac_dnd_known_types>:
5598 Use mac_dnd_default_known_types.
5599
5600 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5601 Move to mactoolbox.c.
5602 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5603 (Fx_selection_owner_p): Add EXFUN.
5604 (install_window_handler, remove_window_handler, XSetWindowBackground):
5605 Remove externs.
5606 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5607 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5608 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5609 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5610 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5611 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5612 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5613 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5614 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5615 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5616 (mac_valid_selection_target_p, mac_clear_selection)
5617 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5618 (mac_put_selection_value, mac_selection_has_target_p)
5619 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5620 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5621 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5622 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5623 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5624 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5625 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5626 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5627 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5628
5629 * mactoolbox.c: New file.
5630
56312008-04-18 Jason Rumney <jasonr@gnu.org>
5632
5633 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5634
56352008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5636
5637 * character.c (Fmultibyte_char_to_unibyte):
5638 Return latin1 chars unchanged.
5639
5640 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5641 relocated if it points to `name'.
5642
56432008-04-17 Kenichi Handa <handa@m17n.org>
5644
5645 * data.c (Faset): Allow setting a multibyte character in an
5646 ASCII-only unibyte string.
5647
5648 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5649
56502008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5651
5652 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5653 done in config.h.
5654
56552008-04-16 Juanma Barranquero <lekktu@gmail.com>
5656
5657 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5658 (Fchar_direction): Add usage in the docstring.
5659
56602008-04-15 Chong Yidong <cyd@stupidchicken.com>
5661
5662 * keyboard.c (read_key_sequence): Remove always-true checks.
5663
56642008-04-14 Jason Rumney <jasonr@gnu.org>
5665
5666 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5667 compatibility struct, for better underline positioning.
5668
56692008-04-13 David Hansen <david.hansen@gmx.net>
5670
5671 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5672 string.
5673
56742008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5675
5676 * m/hp800.h (XUINT, XSET): Remove.
5677
56782008-04-12 Juanma Barranquero <lekktu@gmail.com>
5679
5680 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5681 previous change.
5682
56832008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5684
5685 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5686 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5687
56882008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5689
5690 * keymap.h (map_keymap_canonical): Declare.
5691 * xmenu.c (single_keymap_panes): Use it.
5692
56932008-04-11 Glenn Morris <rgm@gnu.org>
5694
5695 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5696 set the target's value to that of the alias.
5697
56982008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5699
5700 * term.c (set_tty_color_mode): Left over typo.
5701
57022008-04-10 Michael Albinus <michael.albinus@gmx.de>
5703
5704 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5705 only after check for file name handler functions. Signal, when
5706 native functionality is not supported.
5707 (syms_of_fileio): Declare it unconditionally.
5708
57092008-04-10 Jason Rumney <jasonr@gnu.org>
5710
5711 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5712 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5713
5714 * w32.c (logon_network_drive): Also logon to remote drives that
5715 are mapped to drive letters.
5716
57172008-04-10 Glenn Morris <rgm@gnu.org>
5718
5719 * xdisp.c (truncate-partial-width-windows): Doc fix.
5720
57212008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5722
5723 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5724 Move functions to minibuffer.el.
5725 (syms_of_fileio): Don't declare them.
5726
57272008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5728
5729 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5730 (syms_of_minibuf): Remove its initialization.
5731
5732 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5733
57342008-04-09 Juanma Barranquero <lekktu@gmail.com>
5735
5736 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5737
57382008-04-09 Jason Rumney <jasonr@gnu.org>
5739
5740 * makefile.w32-in (distclean): Delete makefile too.
5741 (maintainer-clean): New target.
5742
5743 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5744
5745 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5746 for new font backend and composite cases.
5747
57482008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5749
5750 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5751 Most of the code moved to run_timers.
5752 (do_pending_atimers): Call run_timers.
5753 (run_timers): New function.
5754
5755 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5756 run atimers.
5757
5758 * process.c (wait_reading_process_output): The same as above.
5759
57602008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5761
5762 * minibuf.c (last_exact_completion): Remove variable.
5763 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5764 (complete_and_exit_1, complete_and_exit_2)
5765 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5766 (Fdisplay_completion_list, display_completion_list_1)
5767 (Fminibuffer_completion_help, Fself_insert_and_exit)
5768 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5769 minibuffer.el.
5770 (syms_of_minibuf): Remove corresponding initializations.
5771
5772 * keyboard.c (Qdeactivate_mark): New var.
5773 (command_loop_1): Use it to call `deactivate-mark'.
5774 (syms_of_keyboard): Initialize it.
5775
5776 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5777 to another frame.
5778 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5779 Don't call set_tty_color_mode.
5780 (store_frame_param): Reset previous_frame rather than call
5781 set_tty_color_mode.
5782 * term.c (set_tty_color_mode): Rewrite.
5783 * dispextern.h (set_tty_color_mode): New type.
5784 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5785
57862008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5787
5788 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5789 for generic chars, which do not exist any more in emacs-unicode.
5790
57912008-04-08 Michael Albinus <michael.albinus@gmx.de>
5792
5793 * coding.c (detect_coding_emacs_mule)
5794 (Ffind_operation_coding_system): Fix typo.
5795
57962008-04-08 Jason Rumney <jasonr@gnu.org>
5797
5798 * w32uniscribe.c (SNAME): Extract only symbol name.
5799
5800 * w32font.h (struct w32_metric_cache): New struct.
5801 (w32font_info): Use it.
5802 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5803 (CACHE_BLOCKSIZE): New constants.
5804
5805 * w32font.c (Qja, Qko, Qzh): New symbols.
5806 (syms_of_w32font): Initialise them.
5807 (font_matches_spec): Use them to filter by language.
5808 (recompute_cached_metrics): Remove function.
5809 (compute_metrics, clear_cached_metrics): New functions.
5810 (w32font_encode_char): Use them to manage metric cache.
5811 (w32font_text_extents): Cache metrics for all glyphs on demand.
5812 Delay converting glyph indices to WORD until needed.
5813 (w32font_open_internal): Initialize metric cache to empty.
5814 (registry_to_w32_charset): Charset should always be a symbol.
5815 (fill_in_logfont, list_all_matching_fonts): Family should
5816 always be a symbol.
5817
58182008-04-06 Jason Rumney <jasonr@gnu.org>
5819
5820 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5821 Give up if glyph indices not supported. Use uniscribe obtained
5822 ABC widths for individual metrics. Map glyph clusters back to
5823 characters using fClusterStart flag. Return number of glyphs
5824 produced, not chars processed.
5825 (uniscribe_shape): Map char at FROM to current glyph.
5826
58272008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5828
5829 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5830 Use SetMenuItemHierarchicalMenu.
5831
58322008-04-05 Jason Rumney <jasonr@gnu.org>
5833
5834 * image.c (pbm_load): Allow color values up to 65535.
5835 Throw an error if max_color_idx is outside the supported range.
5836 Report an error when image size is invalid.
5837 Read two bytes at a time when raw images have max_color_idx above 255.
5838
58392008-04-05 Eli Zaretskii <eliz@gnu.org>
5840
5841 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5842 cFileName a file name that includes `?' characters, use the 8+3
5843 alias in cAlternateFileName instead.
5844
58452008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5846
5847 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5848 append "CCL: Quitted" when the CCL program is quitted.
5849 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5850
5851 * ccl.h (struct ccl_program): New member quit_silently.
5852
58532008-04-05 Chong Yidong <cyd@stupidchicken.com>
5854
5855 * search.c (compile_pattern_1): Treat non-nil and non-string of
5856 search-spaces-regexp as nil.
5857
5858 * minibuf.c (Fassoc_string): Tweak docstring.
5859
58602008-04-05 Eli Zaretskii <eliz@gnu.org>
5861
5862 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5863 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5864 2008-03-14 to force inode be positive.
5865
5866 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5867 _S_* ones, since we now use our own sys/stat.h.
5868 (stat, fstat): Don't mangle the inode number.
5869 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5870
58712008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5872
5873 * frame.h (struct frame): Give one more bit to `visible' since we use
5874 values larger than 1 to indicate obscured frames on ttys.
5875
5876 * keymap.c (Qkeymap_canonicalize): New var.
5877 (Fmap_keymap_internal): New fun.
5878 (describe_map): Use keymap-canonicalize.
5879
5880 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5881 (Fundo_boundary): Set them.
5882 (syms_of_undo): Initialize them.
5883 (record_point): Use them instead of last_point_position*.
5884 (last_undo_buffer): Change type.
5885
58862008-04-04 Jason Rumney <jasonr@gnu.org>
5887
5888 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5889 (recompute_cached_metrics): Don't set ascent and descent per char.
5890
5891 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
5892 (uniscribe_check_otf): Add GC protection before consing.
5893 Rearrange loop for counting features.
5894
58952008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5896
5897 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5898 buffer with byte-size of source buffer.
5899
59002008-04-03 Chong Yidong <cyd@stupidchicken.com>
5901
5902 * callint.c (Fcall_interactively): Handle temporary region even
5903 when shift-select-mode is off.
5904
59052008-04-03 Jason Rumney <jasonr@gnu.org>
5906
5907 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5908
59092008-04-03 Kenichi Handa <handa@m17n.org>
5910
5911 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5912 (CATEGORY_MASK_UTF_16): Likewise.
5913 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5914 binary file.
5915 (detect_coding): Add null-byte detection for a binary file.
5916 (detect_coding_system): Likewise.
5917
59182008-04-03 Jason Rumney <jasonr@gnu.org>
5919
5920 * w32uniscribe.c: New file.
5921
5922 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5923
5924 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5925
5926 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5927 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5928 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5929 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5930 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5931 (Qphonetic): New symbols.
5932 (syms_of_w32font): Initialize them.
5933 (font_supported_scripts): Use them.
5934 (w32font_list_family): List all charsets.
5935 (w32font_text_extents, recompute_cached_metrics): Fix metric
5936 calculations.
5937 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5938 Give opentype fonts their own format.
5939 (font_matches_spec): New arguments backend and logfont.
5940 Handle :otf spec for uniscribe backend.
5941 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5942 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
5943
5944 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5945 font backend.
5946 (globals_of_w32fns): Initialize uniscribe font backend.
5947
5948 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
5949 dependencies.
5950 (w32uniscribe.$(O)): New file to build.
5951 (FONT_OBJ): Include w32uniscribe.$(O).
5952 (LIBS): Add uniscribe libraries.
5953
5954 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5955
59562008-04-02 Chong Yidong <cyd@stupidchicken.com>
5957
5958 * callint.c (Vshift_select_mode): New var.
5959 (Finteractive): Document new ^ spec.
5960 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5961 is present.
5962
5963 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5964 (command_loop_1): Avoid running the direct display versions of
5965 forward-char and backward-char if shift-selection may occur.
5966 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5967 shift-translation takes place.
5968
5969 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5970 avoid clobbering by define-minor-mode.
5971
5972 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5973 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5974
5975 * syntax.c (Fforward_word): Add ^ interactive spec.
5976
5977 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5978 (Fscroll_right): Add ^ interactive spec.
5979
59802008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5981
5982 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5983
5984 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5985
5986 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5987
59882008-03-31 Juri Linkov <juri@jurta.org>
5989
5990 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5991
59922008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5993
5994 * gtkutil.c (xg_set_geometry): Fix indentation.
5995 (xg_resize_outer_widget): Remove.
5996 (x_wm_size_hint_off): Fix indentation.
5997 (xg_frame_set_char_size): Call flush_and_sync after
5998 gtk_window_resize.
5999 (x_wm_set_size_hint): Pass NULL as geometry window to
6000 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6001 Add menu bar and tool bar height to base height.
6002 (xg_update_frame_menubar, free_frame_menubar)
6003 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6004 (update_frame_tool_bar, free_frame_tool_bar):
6005 Change xg_resize_outer_widget to xg_frame_set_char_size.
6006
60072008-03-30 Michael Albinus <michael.albinus@gmx.de>
6008
6009 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6010 (Fdbus_call_method): New parameter TIMEOUT.
6011 (dbus-send-signal): Optimize UNGCPRO call.
6012
60132008-03-29 Juri Linkov <juri@jurta.org>
6014
6015 * window.c (Fdisplay_buffer): Move call to
6016 Vsplit_window_preferred_function out of conditions that check
6017 if window is eligible for vertical splitting.
6018 When Vsplit_window_preferred_function is non-nil, call it and use
6019 its non-nil return value as window. Otherwise, continue doing
6020 vertical splitting using Fsplit_window with arg horflag=nil.
6021 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6022 default value from `split-window' to nil.
6023
60242008-03-29 Juri Linkov <juri@jurta.org>
6025
6026 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6027 for interactive code letters 'b' and 'B'.
6028
60292008-03-29 Eli Zaretskii <eliz@gnu.org>
6030
6031 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6032 multibyte string.
6033
60342008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6035
6036 * keyboard.c (pending_funcalls): New var.
6037 (timer_check): Run it.
6038 (syms_of_keyboard): Initialize it.
6039 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6040 (Vdelete_terminal_functions): New vars.
6041 (syms_of_terminal): Initialize them.
6042 (Fdelete_terminal): Run delete-terminal-functions.
6043 * xdisp.c (safe_eval): Rewrite.
6044 (safe_call2): New fun.
6045 * frame.c (Qdelete_frame_functions): New var.
6046 (syms_of_frame): Initialize it.
6047 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6048 * lisp.h (safe_call2, pending_funcalls): Declare.
6049
60502008-03-28 Andreas Schwab <schwab@suse.de>
6051
6052 * indent.c (Fmove_to_column): Move declaration before statements.
6053
60542008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6055
6056 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6057 (struct frame): Use bit fields for boolean vars.
6058
6059 * process.c (server_accept_connection): Simplify naming.
6060 (emacs_get_tty_pgrp): Use SDATA.
6061
6062 * coding.c (decode_coding_object): Fix last change.
6063
60642008-03-27 Jason Rumney <jasonr@gnu.org>
6065
6066 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6067
60682008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6069
6070 * charset.c (Fdefine_charset_internal): Change the way of
6071 registering charsets in Vcharset_order_list.
6072 (syms_of_charset): Make the charset `eight-bit' supplementary.
6073
60742008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6075
6076 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6077 operations, to avoid having the difference between pointers
6078 overflow.
6079
60802008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6081
6082 * indent.c (check_display_width): New fun.
6083 (scan_for_column): Use it.
6084
6085 * data.c (syms_of_data): Mark most-positive-fixnum and
6086 most-negative-fixnum as constants.
6087
6088 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6089
6090 * indent.c (scan_for_column): Extract from current_column_1.
6091 Merge with the same code from Fmove_to_column.
6092 (current_column_1, Fmove_to_column): Use it.
6093
60942008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6095
6096 * keymap.c (map_keymap_internal): New fun.
6097 (map_keymap): Use it.
6098 (Fmap_keymap_internal): New fun.
6099 (Fmap_keymap): Remove left-out test from before make_save_value.
6100
6101 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6102
6103 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6104 Use XCAR/XCDR.
6105
6106 * process.h (struct Lisp_Process): Remove filter_multibyte.
6107 * process.c (QCfilter_multibyte): Remove.
6108 (setup_process_coding_systems): Don't use filter_multibyte.
6109 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6110 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6111 (Fset_process_filter_multibyte): Change the coding-system to
6112 approximate the previous behavior.
6113 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6114 coding-system.
6115
6116 * coding.c (decode_coding_object): When not decoding into a buffer,
6117 obey the coding system's preference of (uni|multi)byte.
6118
61192008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6120
6121 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6122 every char is changed and has a different byte-length.
6123 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6124 Fix int -> EMACS_INT.
6125
61262008-03-23 David Hansen <david.hansen@gmx.net>
6127
6128 * dbusbind.c (xd_read_message): Remove extra copying of message
6129 strings. Check for NULL `interface' or `member'.
6130
61312008-03-22 Eli Zaretskii <eliz@gnu.org>
6132
6133 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6134 cFileName a file name that includes `?' characters, use the 8+3
6135 alias in cAlternateFileName instead.
6136
61372008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6138
6139 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6140
61412008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6142
6143 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6144 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6145 work on current_buffer only instead (that was already the case
6146 for some of the code anyway).
6147 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6148 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6149 (SET_PT, SET_PT_BOTH): Adjust.
6150 * intervals.h (set_point, temp_set_point, set_point_both)
6151 (temp_set_point_both): Remove redundant declarations.
6152
61532008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6154
6155 * fileio.c (Finsert_file_contents):
6156 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6157 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6158 when buffer != current_buffer anyway.
6159
61602008-03-20 Andreas Schwab <schwab@suse.de>
6161
6162 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6163 as default.
6164
61652008-03-19 Jason Rumney <jasonr@gnu.org>
6166
6167 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6168 (syms_of_w32fns): Initialize them.
6169 (HOURGLASS_ID): New constant.
6170 (x_window_to_frame): Don't check hourglass_window.
6171 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6172 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6173 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6174 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6175 Only change the cursor if hourglass is not active.
6176 (Fx_create_frame): Initialize frame's current_cursor.
6177 (hourglass_atimer): Remove.
6178 (hourglass_started): New function.
6179 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6180 (show_hourglass): Adapt to w32, changing argument to frame.
6181
6182 * w32term.h (struct w32_output): Remove hourglass_window.
6183 Add current_cursor.
6184
6185 * eval.c (call_debugger, Fsignal):
6186 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6187 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6188 (Fexecute_extended_command, cancel_hourglass_unwind):
6189 * minibuf.c (read_minibuf):
6190 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6191
61922008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6193
6194 * window.c (run_funs): New fun.
6195 (run_window_configuration_change_hook): Use it to run the buffer-local
6196 and the global part of the hook.
6197
6198 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6199 (unwind_format_mode_line): Restore selected window.
6200 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6201
62022008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6203
6204 * editfns.c (Fchar_equal): Check they are valid characters.
6205
6206 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6207
62082008-03-17 Andreas Schwab <schwab@suse.de>
6209
6210 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6211 against a charset.
6212
6213 * lisp.h (Fbuffer_list): Declare.
6214
62152008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6216
aac0c6e3
MR
6217 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6218 handlebox_widget is != 0.
6219
62202008-03-16 Juri Linkov <juri@jurta.org>
6221
6222 * callint.c (Fcall_interactively): For interactive code letters
6223 'b' and 'B' put the buffer list into the list of default "future"
6224 values of the minibuffer.
6225
62262008-03-16 Andreas Schwab <schwab@suse.de>
6227
6228 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6229 modifiers.
6230
6231 * regex.c (re_match_2_internal): Correct matching of a charset
6232 against latin-1 characters.
6233
62342008-03-16 Kenichi Handa <handa@m17n.org>
6235
6236 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6237 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6238 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6239 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6240 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6241 CHAR_STRING_ADVANCE.
6242 (produce_chars): Fix for the case that the source and the
6243 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6244 instead of CHAR_STRING_ADVANCE.
6245 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6246 STRING_CHAR_ADVANCE.
6247
62482008-03-15 Andreas Schwab <schwab@suse.de>
6249
6250 * regex.c (re_match_2_internal): Correct matching of eight bit
6251 characters in unibyte strings.
6252
62532008-03-15 Martin Rudalics <rudalics@gmx.at>
6254
6255 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6256 at end of range when it coincides with the end of the buffer.
6257
62582008-03-14 Eli Zaretskii <eliz@gnu.org>
6259
6260 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6261
6262 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6263
62642008-03-14 Jason Rumney <jasonr@gnu.org>
6265
6266 * editfns.c (initial_tz): New variable.
6267 (syms_of_editfns): Initialize it.
6268 (Fset_time_zone_rule): Set it when first called.
6269 Use it when TZSTRING is nil.
6270
6271 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6272 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6273 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6274 (globals_of_w32fns): Initialize them.
6275 (compute_tip_xy): Use them to position tooltips.
6276
62772008-03-14 Glenn Morris <rgm@gnu.org>
6278
6279 * emacs.c (main): Revert previous change.
6280 (standard_args): Revert -internal-script back to -scriptload,
6281 and remove the long-option form.
6282
62832008-03-13 Glenn Morris <rgm@gnu.org>
6284
6285 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6286 Remove option -enable-font-backend.
6287
62882008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6289
6290 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6291
62922008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6293
6294 * xterm.c (x_connection_closed): For GTK: If this is the last
6295 terminal just exit without closing the display.
6296
62972008-03-11 Jason Rumney <jasonr@gnu.org>
6298
6299 * w32font.c (w32font_full_name): Use floor to round.
6300
63012008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6302
6303 * sound.c (alsa_configure): Declare vol at beginning of block.
6304
6305 * fontset.c (Ffontset_info): Remove extra semicolon.
6306
63072008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6308
6309 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6310 size of resulting string.
6311
63122008-03-10 Jason Rumney <jasonr@gnu.org>
6313
6314 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6315
63162008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6317
6318 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6319 Don't pretend as if characters with display property haven't been
6320 consumed for string-replacing-string case.
6321
63222008-03-08 Kim F. Storm <storm@cua.dk>
6323
6324 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6325 (get_next_display_element, next_element_from_string)
6326 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6327
63282008-03-08 Andreas Schwab <schwab@suse.de>
6329
6330 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6331
63322008-03-06 Jason Rumney <jasonr@gnu.org>
6333
6334 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6335 when charset not specified. Only translate ANSI to unicode when
6336 font_type is truetype.
6337 (w32font_coverage_ok): New function.
6338 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6339
63402008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6341
6342 * lread.c (Fread_char): Resolve modifiers.
6343 (Fread_char_exclusive): Likewise.
6344
6345 * character.c (char_resolve_modifier_mask): New function.
6346 (char_string): Use char_resolve_modifier_mask.
6347 (Fchar_resolve_modifiers): New function.
6348 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6349 function.
6350
63512008-03-04 Jason Rumney <jasonr@gnu.org>
6352
6353 * makefile.w32-in: Always include w32font.c in the build.
6354 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6355
63562008-03-04 Andreas Schwab <schwab@suse.de>
6357
6358 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6359 (versionclean): Likewise.
6360
63612008-03-04 Juanma Barranquero <lekktu@gmail.com>
6362
6363 * .cvsignore: Add oo.
6364
63652008-03-03 Andreas Schwab <schwab@suse.de>
6366
6367 * coding.c (decode_coding_object): Inhibit gap shrinking while
6368 decoding in place.
6369
63702008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6371
6372 * w32term.c: Remove unused include "gnu.h".
6373 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6374
6375 * gnu.h: Rename to ...
6376 * emacs-icon.h: ... this.
6377 * xterm.c: Use emacs-icon.h instead of gnu.h.
6378 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6379
63802008-03-03 Juanma Barranquero <lekktu@gmail.com>
6381
6382 * w32font.c: Include math.h.
6383
63842008-03-03 Jason Rumney <jasonr@gnu.org>
6385
6386 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6387 Compute options separately.
6388 (w32font_open_internal): Set glyph_idx before caching metrics.
6389
6390 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6391 Define if system headers don't.
6392 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6393 (w32font_encode_char): Don't declare here.
6394
6395 * w32font.c (Quniscribe, QCformat): New symbols.
6396 (syms_of_w32font): Define them.
6397 (w32font_has_char): Indicate uncertainty.
6398 (w32font_encode_char): Encode as glyph point. Make static.
6399 (recompute_cached_metrics): New function.
6400 (w32font_open_internal): Use it. Set font to use glyph points
6401 initially. Set format based on type of font.
6402 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6403 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6404 on it. Set format based on information available here.
6405 (add_font_entity_to_list): Identify backend based on opentype_only.
6406
64072008-03-02 Andreas Schwab <schwab@suse.de>
6408
6409 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6410
6411 * coding.c (decode_coding_big5, produce_chars):
6412 Fix typos in last change.
6413
64142008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6415
6416 * gnu.h: New icon.
6417
64182008-03-02 Kenichi Handa <handa@m17n.org>
6419
6420 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6421 `dos', don't decode '\r' if that is the last in the source.
6422 (decode_coding_utf_16, decode_coding_emacs_mule)
6423 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6424 (decode_coding_raw_text, decode_coding_charset): Likewise.
6425 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6426
64272008-03-01 Jason Rumney <jasonr@gnu.org>
6428
6429 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6430
64312008-03-01 Kim F. Storm <storm@cua.dk>
6432
6433 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6434
64352008-03-01 Jason Rumney <jasonr@gnu.org>
6436
6437 * w32font.c (w32font_full_name): New function.
6438 (w32font_open_internal): Use it.
6439
64402008-03-01 Kim F. Storm <storm@cua.dk>
6441
6442 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6443
64442008-03-01 Jason Rumney <jasonr@gnu.org>
6445
6446 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6447
64482008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6449
6450 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6451 xg_frame_resized when the event is for the edit widget.
6452
6453 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6454
6455 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6456 set_char_size.
6457 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6458 operations on widgets here. Just set frame size if needed.
6459 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6460 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6461 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6462 the whole frame.
6463 (xg_create_tool_bar): Move attachment of the tool bar to
6464 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6465 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6466
64672008-03-01 Jason Rumney <jasonr@gnu.org>
6468
6469 * w32fns.c (w32_msg_pump): Disable debug code.
6470
64712008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6472
6473 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6474
64752008-02-29 Chong Yidong <cyd@stupidchicken.com>
6476
6477 * xdisp.c (next_overlay_string): Don't set
6478 overlay_strings_at_end_processed_p if we're currently reading from
6479 a display string.
6480
64812008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6482
6483 * xdisp.c (get_overlay_strings_1): Fix typo.
6484
64852008-02-29 Chong Yidong <cyd@stupidchicken.com>
6486
6487 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6488
64892008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6490
6491 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6492
6493 * xdisp.c (display_mode_element): Cancel the previous change.
6494 (decode_mode_spec): Likewise.
6495 (handle_auto_composed_prop): Don't make composition if it->string
6496 is a string.
6497
64982008-02-27 Kim F. Storm <storm@cua.dk>
6499
6500 * lisp.h (GLYPH): Change type from int to struct with separate char
6501 and face_id members.
6502 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6503 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6504 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6505 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6506 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6507 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6508 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6509 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6510 handle new Lisp glyph code encoding, either an integer or a cons.
6511
6512 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6513 (GLYPH_ALIAS): Delete.
6514 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6515 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6516 (GLYPH_FROM_CHAR): Replace macro by ...
6517 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6518
6519 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6520 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6521 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6522 (GLYPH_INVALID_P): New macro.
6523 (spec_glyph_lookup_face): Update prototype.
6524
6525 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6526 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6527 new glyph code encoding.
6528 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6529 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6530
6531 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6532 Adapt to new glyph type and new glyph code encoding.
6533
6534 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6535
6536 * indent.c (current_column, current_column_1, Fmove_to_column)
6537 (compute_motion): Adapt to new glyph code encoding.
6538
6539 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6540
65412008-02-27 Chong Yidong <cyd@stupidchicken.com>
6542
6543 * process.c (wait_reading_process_output): Check for window
6544 changes caused by timers.
6545 Suggested by Johan Bockgård.
6546
65472008-02-27 Glenn Morris <rgm@gnu.org>
6548
6549 * emacs.c (USAGE1): Add `--disable-font-backend'.
6550
65512008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6552
6553 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6554 is made to the buffer.
6555
65562008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6557
6558 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6559 (face_at_string_position):
6560 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6561 (face_at_string_position):
6562 * xdisp.c (display_string, next_overlay_change):
6563 * buffer.h (overlays_at):
6564 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6565 Update callers.
6566
65672008-02-26 Chong Yidong <cyd@stupidchicken.com>
6568
6569 * editfns.c (Fformat): Doc fix.
6570
65712008-02-26 Juanma Barranquero <lekktu@gmail.com>
6572
6573 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6574 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6575 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6576
65772008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6578
6579 * buffer.c (Fbuffer_swap_text): New function.
6580 (syms_of_buffer): Defsubr it.
6581
65822008-02-25 Chong Yidong <cyd@stupidchicken.com>
6583
6584 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6585
65862008-02-25 Jason Rumney <jasonr@gnu.org>
6587
6588 * w32font.c (w32font_draw): Draw one character at a time when padding.
6589
65902008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6591
6592 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6593 Handle a nil arg. Use run_window_configuration_change_hook.
6594 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6595 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6596 Use run_window_configuration_change_hook.
6597
65982008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6599
6600 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6601 1-pixel width.
6602
66032008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6604
6605 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6606 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6607 if the glyph in the font is zero pixel with.
6608
6609 * dispextern.h (struct glyph_string): New member padding_p.
6610
6611 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6612
6613 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6614
6615 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6616
6617 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6618
6619 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6620
66212008-02-25 Jason Rumney <jasonr@gnu.org>
6622
6623 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6624
66252008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6626
6627 Allow fine-grained image-cache flushing.
6628 * dispextern.h (struct image): Add `dependencies' field.
6629 (clear_image_caches): Change arg to Lisp_Object.
6630 * image.c (make_image): Initialize `dependencies' field.
6631 (clear_image_cache): Change arg to allow fine-grained flushing.
6632 Perform the flush even if image-cache-eviction-delay is nil.
6633 (clear_image_caches): Change arg to Lisp_Object.
6634 (Fclear_image_cache): Expand meaning of the argument.
6635 (mark_image): Mark `dependencies' field.
6636 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6637 (lface_hash): Use XHASH rather than XFASTINT.
6638 (face_at_buffer_position): Fix int -> EMACS_INT position.
6639 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6640 (select_frame_for_redisplay): Remove code duplication.
6641 (redisplay_internal): Adapt arg to call to clear_image_caches.
6642
66432008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6644
6645 * s/vms4-0.h:
6646 * s/vms4-2.h:
6647 * s/vms4-4.h:
6648 * s/vms5-5.h: Remove, unused.
6649
6650 * s/irix5-2.h:
6651 * s/irix6-0.h:
6652 * s/riscos5.h:
6653 * s/mach-bsd4-3.h:
6654 * m/mips4.h: Remove files for obsolete systems.
6655
6656 * Makefile.in:
6657 * filelock.c:
6658 * unexmips.c:
6659 * m/hp9000s300.h:
6660 * m/iris4d.h:
6661 * s/aix3-1.h:
6662 * s/hpux.h:
6663 * s/msdos.h:
6664 * s/usg5-0.h:
6665 * s/usg5-2-2.h:
6666 * s/usg5-2.h:
6667 * s/usg5-3.h: Remove references to obsolete variables.
6668
6669 * s/irix5-0.h: Remove, move all the contents ...
6670 * s/irix6-5.h: ... here. Simplify.
6671 * config.in: Regenerate.
6672
66732008-02-24 Jason Rumney <jasonr@gnu.org>
6674
6675 * w32term.c (x_draw_glyph_string_background): Clear the background
6676 manually when cleartype is in use.
6677 (x_draw_glyph_string_foreground): Draw text transparently when
6678 cleartype is in use.
6679
6680 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6681 a font into it unless we have to.
6682
66832008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6684
6685 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6686 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 6687
aac0c6e3
MR
66882008-02-18 Jason Rumney <jasonr@gnu.org>
6689
6690 * w32fns.c (Fw32_shell_execute): Encode parameters.
6691
66922008-02-09 Eli Zaretskii <eliz@gnu.org>
6693
6694 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6695
66962008-02-05 Juanma Barranquero <lekktu@gmail.com>
6697
6698 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6699
67002008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6701
6702 * xterm.c (x_set_offset): Don't change the gravity if
6703 CHANGE_GRAVITY is -1.
6704
67052008-02-23 Chong Yidong <cyd@stupidchicken.com>
6706
6707 * fileio.c (auto_save_error_occurred): New var.
6708 (auto_save_error): Set it.
6709 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6710 error occurred.
6711
67122008-02-23 Eli Zaretskii <eliz@gnu.org>
6713
6714 * w32.c (globals_of_w32): Add initializations for
6715 g_b_init_get_sid_sub_authority and
6716 g_b_init_get_sid_sub_authority_count.
6717
67182008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6719
6720 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6721 (font_parse_xlfd): Use them for sanity check.
6722 (Finternal_set_font_style_table): Make sure the table is bijective.
6723
6724 Consolidate the image_cache to the terminal struct.
6725 * termhooks.h (P_): Remove redundant def.
6726 (struct terminal): New field `image_cache'.
6727 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6728 of FRAME_X_IMAGE_CACHE.
6729 * xterm.h (struct x_display_info): Remove image_cache field.
6730 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6731 * w32term.h (struct w32_display_info): Remove image_cache field.
6732 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6733 * macterm.h (struct mac_display_info): Remove image_cache field.
6734 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6735 * xterm.c (x_term_init):
6736 * w32term.c (w32_term_init):
6737 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6738 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6739 Remove declarations.
6740 (clear_image_caches, mark_image_cache): New declarations.
6741 * xfaces.c (clear_face_cache):
6742 * xdisp.c (redisplay_internal): Use clear_image_caches.
6743 * image.c (clear_image_cache): Don't check that a frame is on
6744 a window-system before checking if it shares the same cache.
6745 (clear_image_caches): New function.
6746 (Fclear_image_cache): Use it.
6747 (mark_image): Move from allo.c.
6748 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6749 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6750 (mark_object): Don't call mark_image_cache for frames.
6751 (mark_terminals): Call mark_image_cache.
6752
6753 * lisp.h (Fdelete_terminal): Declare.
6754
6755 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6756 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6757 wrong_type_argument.
6758
67592008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6760
6761 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6762 malayalam.el, and tamil.el. Add sinhala.el.
6763
67642008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6765
6766 * xterm.c (x_connection_closed): Consolidate identical tests.
6767 (x_delete_terminal): Don't crash if called via x_connection_closed.
6768
67692008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6770
6771 * xdisp.c (decode_mode_spec): New arg string.
6772 (display_mode_element): Adjust for the above change.
6773
67742008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6775
6776 * callint.c (Fcall_interactively): Use AREF.
6777
67782008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6779
6780 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6781
67822008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6783
6784 * xfns.c (Fx_show_tip): Set string to " " if empty.
6785
67862008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6787
6788 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6789 with Qt.
6790
67912008-02-17 Kenichi Handa <handa@m17n.org>
6792
6793 * ftfont.c (ftfont_shape): Return Lispy number.
6794
6795 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6796 for GCs.
6797 (Finternal_set_font_selection_order): Call font_update_sort_order
6798 only when enable_font_backend is set.
6799 (realize_x_face): Set face->font_info to that of default face only
6800 when enable_font_backend is set.
6801
6802 * xdisp.c (handle_composition_prop): Set it->c to the fist
6803 character of the composed region.
6804 (fill_composite_glyph_string): Set base_face->font_info to
6805 s->font_info. Get a face for ascii from base_face->ascii_face.
6806 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6807 with a face already decided.
6808 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6809 non-negative.
6810 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6811 call font_prepare_composition unconditionally.
6812
6813 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6814
6815 * xterm.h (struct x_display_info): New member font.
6816
6817 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6818 (x_set_mouse_face_gc, x_new_font): Likewise.
6819 (x_term_init): Setup display_info->font.
6820 (x_delete_terminal): Free display_info->font.
6821
6822 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6823
6824 * ftxfont.c (ftxfont_default_fid): Delete it.
6825 (ftxfont_open): Set xfont->fid to 0.
6826 (ftxfont_end_for_frame): Clear data specific to the frame and the
6827 font-driver.
6828
6829 * xftfont.c (xftfont_default_fid): Delete it.
6830 (xftfont_open): Set xfont->fid to 0.
6831
6832 * fontset.c (FONTSET_OBJLIST): New macro.
6833 (fontset_find_font): Update font-object list of the fontset.
6834 (free_realized_fontset): New function.
6835 (free_face_fontset): Call free_realized_fontset.
6836 (Ffont_info): Call font_close_object only when enable_font_backend
6837 is set.
6838
6839 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6840 [HAVE_NTGUI]: Include w32term.h.
6841 [MAC_OS]: Include macterm.ch.
6842 (font_otf_ValueRecord): Use make_number.
6843 (font_finish_cache): Fix handling of reference count.
6844 (font_clear_cache): Update num_fonts.
6845 (font_open_entity): Update smallest_char_width and
6846 smallest_font_height of the frame.
6847 (font_close_object): Update num_fonts.
6848 (Fclear_font_cache): Fix finding the target cache data.
6849
68502008-02-16 Glenn Morris <rgm@gnu.org>
6851
6852 * fontset.c (Finternal_char_font): Fix compilation warning.
6853
68542008-02-16 Eli Zaretskii <eliz@gnu.org>
6855
6856 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6857 instead of char arrays. Enlarge the size of array passed to
6858 get_token_information.
6859
6860 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6861 warnings.
6862
68632008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6864
6865 * .gdbinit: Don't set `args', it breaks gdb --args.
6866
68672008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6868
6869 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6870 within a narrowed buffer.
6871
68722008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6873
6874 * coding.c (decode_coding_object, encode_coding_object):
6875 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6876
68772008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6878
6879 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6880 hardcoding 1.
6881 (detect_coding_system):
6882 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6883 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6884 * insdel.c (insert_from_gap):
6885 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6886 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6887 (string_to_multibyte):
6888 * character.c (chars_in_text, multibyte_chars_in_text):
6889 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6890
6891 * character.h (FETCH_STRING_CHAR_ADVANCE)
6892 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6893 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6894 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6895
6896 * casefiddle.c (casify_region): Only call after-change and composition
6897 functions on the part of the region that was changed.
6898
6899 * keyboard.c (read_avail_input):
6900 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6901
69022008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6903
6904 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6905 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6906
69072008-02-11 Juanma Barranquero <lekktu@gmail.com>
6908
6909 * w32menu.c (push_submenu_start, push_submenu_end)
6910 (push_left_right_boundary, push_menu_pane, push_menu_item):
6911 * keyboard.c (read_key_sequence): Don't pass args with side effects
6912 to AREF, it fails when compiling with -DENABLE_CHECKING.
6913
69142008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6915
6916 * Makefile.in (${lispsource}international/charprop.el):
6917 Delete this target.
6918
6919 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6920 emacs-unicode-2.
6921
69222008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6923
6924 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6925
69262008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6927
6928 * frame.c (Qnoelisp): New symbol.
6929 (syms_of_frame): Initialize it.
6930 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
6931 harmless Elisp code, from a strong `force' from x_connection_closed.
6932 * frame.h (Qnoelisp): Declare.
6933 * xterm.c (x_connection_closed): Pass `noelisp'.
6934
6935 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6936 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6937 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6938 rather than `int' for the type of `type'.
6939
69402008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6941
6942 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6943
6944 * Makefile.in (GNUC): Remove support for gcc-1.x.
6945
69462008-02-10 Richard Stallman <rms@gnu.org>
6947
6948 * lisp.h (ASET): Use AREF, not ASLOT.
6949
69502008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6951
6952 * lisp.h (ASET): Check bounds.
6953
69542008-02-10 Glenn Morris <rgm@gnu.org>
6955
6956 * buffer.c (mode-name): Doc fix.
6957
69582008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6959
6960 * Makefile.in:
6961 * emacs.c:
6962 * gmalloc.c:
6963 * keyboard.c:
6964 * lisp.h:
6965 * m/ibm370aix.h:
6966 * process.c:
6967 * regex.c:
6968 * s/hpux.h:
6969 * sysdep.c:
6970 * sysselect.h:
6971 * systty.h:
6972 * unexec.c:
6973 * w32term.c:
6974 * xsmfns.c:
6975 * xterm.c: Remove code that deals with obsolete variables.
6976
6977 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6978
6979 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6980 nothing else needs it anymore.
6981
69822008-02-09 Eli Zaretskii <eliz@gnu.org>
6983
6984 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6985 instead of unibyte_char_to_multibyte.
6986
69872008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6988
6989 * s/gnu-linux.h: Remove commented out code.
6990
6991 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
6992
6993 * Makefile.in: Update what RMS says about using autoconf.
6994 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
6995 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
6996 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6997 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6998
69992008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * keymap.c (Fkey_description): Move side effect outside of macro call.
7002
7003 * xfaces.c (Finternal_make_lisp_face):
7004 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7005
7006 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7007 (syms_of_fontset): Use ASET.
7008
7009 * fns.c (concat): Move side effect outside of macro call.
7010 (hash_clear): Use ASET.
7011
70122008-02-08 Richard Stallman <rms@gnu.org>
7013
7014 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7015 If FORCE, and frame has a surrogate minibuffer for another frame,
7016 delete the other frame first.
7017
70182008-02-07 Timo Savola <timo.savola@iki.fi>
7019
7020 * xterm.c (x_detect_focus_change): Handle embed client message.
7021 (handle_one_xevent): Ditto.
7022 (handle_one_xevent): If embedded and we get a button press/release,
7023 request focus.
7024 (xembed_set_info, xembed_send_message): New functions.
7025 (x_make_frame_visible): Call xembed_set_info if embedded.
7026 (x_make_frame_invisible): Call xembed_set_info if embedded.
7027 (x_term_init): Initialize Xatom_XEMBED.
7028 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7029 (x_iconify_frame): Ditto.
7030
7031 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7032 (enum xembed_info, enum xembed_message, enum xembed_focus)
7033 (enum xembed_modifier, enum xembed_accelerator): New.
7034 (xembed_set_info, xembed_send_message): Declare.
7035 (FRAME_X_EMBEDDED_P): New.
7036
7037 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7038 gtk_plug_new.
7039
7040 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7041 window ID of a frame.
7042 (x_window): Reparent frame if embedded.
7043 (Fx_create_frame): Don't set border width if embedded.
7044
7045 * emacs.c (USAGE3): Add --parent-id.
7046 (standard_args): Ditto.
7047
70482008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7049
7050 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7051
70522008-02-07 Jim Meyering <meyering@redhat.com>
7053
7054 Use "do...while (0)", not "if (1)...else" in macro definitions.
7055 The latter provokes a warning from gcc about the empty else, when
7056 followed by ";". Also, without that trailing semicolon, it would
7057 silently swallow up any following statement.
7058 * syntax.h (SETUP_SYNTAX_TABLE)
7059 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7060 * buffer.h (DECODE_POSITION): Likewise.
7061 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7062 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7063 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7064 (FETCH_CHAR_ADVANCE): Likewise.
7065 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7066
70672008-02-07 Jim Meyering <meyering@redhat.com>
7068
7069 * lread.c [lint]: Don't include <sys/inode.h>.
7070
70712008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7072
7073 * xselect.c (x_handle_dnd_message):
7074 * xmenu.c (digest_single_submenu, xmenu_show):
7075 * xdisp.c (with_echo_area_buffer_unwind_data)
7076 (format_mode_line_unwind_data, unwind_format_mode_line)
7077 (display_menu_bar):
7078 * eval.c (Ffetch_bytecode):
7079 * doc.c (store_function_docstring):
7080 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7081 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7082 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7083
70842008-02-07 Kenichi Handa <handa@m17n.org>
7085
7086 * ftxfont.c (ftxfont_open): Don't set
7087 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7088
7089 * ftfont.c (ftfont_open): Fix previous change.
7090
70912008-02-06 Jason Rumney <jasonr@gnu.org>
7092
7093 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7094 Use cached metrics for ASCII characters.
7095 (w32font_open_internal): Don't set font's owning_frame.
7096 Cache metrics for ASCII characters.
7097
7098 * w32font.h (struct w32font_info): Add ascii_metrics.
7099 Remove owning_frame.
7100
71012008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7102
7103 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7104 to negative value.
7105
7106 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7107
7108 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7109
7110 * charset.c (syms_of_charset): Set QCtest and Qeq.
7111
71122008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7113
7114 * process.c (Fstart_process):
7115 * callproc.c (Fcall_process): Handle the case where
7116 Funhandled_file_name_directory returns nil.
7117
7118 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7119 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7120 * font.c (check_gstring): Use them and AREF to access the vector before
7121 we know it's really a gstring.
7122 (Ffont_shape_text): Fix typo.
7123 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7124
7125 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7126 Declare.
7127
7128 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7129
71302008-02-05 Jason Rumney <jasonr@gnu.org>
7131
7132 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7133 Set smallest_font_height and smallest_char_width in display info.
7134
71352008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7136
7137 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7138
71392008-02-05 Miles Bader <miles@gnu.org>
7140
7141 * xfaces.c (get_lface_attributes, merge_named_face)
7142 (lookup_named_face, lookup_derived_face, realize_named_face):
7143 Revert 2008-02-01 change by cyd@stupidchicken.com.
7144
71452008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7146
7147 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7148 fallback fonts.
7149 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7150
71512008-02-04 Jason Rumney <jasonr@gnu.org>
7152
7153 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7154 set full_name.
7155 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7156
71572008-02-03 Jason Rumney <jasonr@gnu.org>
7158
7159 * makefile.w32-in (OBJ1): Include font.o here.
7160 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7161
71622008-02-02 Jason Rumney <jasonr@gnu.org>
7163
7164 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7165
71662008-02-01 Jason Rumney <jasonr@gnu.org>
7167
7168 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7169
7170 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7171
71722008-02-01 Andreas Schwab <schwab@suse.de>
7173
7174 * Makefile.in (shortlisp, lisp): Update for rename of
7175 ../lisp/language/myanmar.el.
7176
71772008-02-01 Chong Yidong <cyd@stupidchicken.com>
7178
7179 * xfaces.c (get_lface_attributes): Delete function.
7180 (merge_named_face, lookup_named_face, lookup_derived_face)
7181 (realize_named_face): Call lface_from_face_name directly, and use
7182 the fact that merge_face_vectors does not alter its FROM argument.
7183
71842008-02-01 Jason Rumney <jasonr@gnu.org>
7185
7186 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7187 input in the default locale. Handle non-Unicode multibyte input.
7188
71892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7190
7191 * fontset.c (reorder_font_vector): Exclude nil elements from the
7192 font group. Don't try multiple fonts.
7193 (fontset_font): Adjust for the above change.
7194 (Finternal_char_font): Return nil if the found font doesn't
7195 contain the character ch.
7196
7197 * Makefile.in (lisp, shortlisp): Add cham.el.
7198
71992008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7200
7201 * font.h (FONTP): Make it return 1 also for a font-object.
7202
7203 * .gdbinit (xfontset): New function.
7204
7205 * font.c (font_find_for_lface): Check if the character C is
7206 supported or not only for the first font.
7207
7208 * fontset.c (reorder_font_vector): Fix typo.
7209 (fontset_find_font): Don't add a font-spec specifying a script.
7210 Use 0 (not Qt) for the indication of empty font-group. Change the
7211 format of RFONT-DEF. Return Qt if no font in the font-group
7212 support the character.
7213 (fontset_font): Adjust for the above change. If no font was
7214 found the character, remember that.
7215 (face_for_char): Adjust for the change of RFONT-DEF.
7216 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7217 no font for the target.
7218 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7219
72202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7221
7222 * font.c (font_load_for_face): Handle the case that the font in
7223 face->lface is a string.
7224
72252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7226
7227 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7228
72292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7230
7231 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7232 Fix previous change. If the frame is not on a window system,
7233 signal an error.
7234
72352008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7236
7237 * coding.c (decode_coding_object, encode_coding_object): Adjust
7238 marker positions after conversion.
7239
7240 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7241
72422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7243
7244 * font.c (font_find_for_lface): Fix the handling of the return
7245 value of font_has_char.
7246 (Ffont_shape_text): Fix previous change.
7247
7248 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7249 (fontset_ref_and_range): Delete it.
7250 (fontset_find_font): Call char_table_ref_and_range instead of
7251 FONTSET_REF_AND_RANGE.
7252 (make_fontset): Don't setup font groups of Latin here.
7253 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7254 (new_fontset_from_font): Make the specified font the default for
7255 all Latin characters.
7256
72572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7258
7259 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7260 is on a window system before accessing the fontset of the frame.
7261
72622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7263
7264 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7265
7266 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7267 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7268
7269 * font.c (Ffont_shape_text): If the font driver doesn't have a
7270 shaper function, make zero-width glyphs to have at least one-pixel
7271 width. Fix setting of `to' field of glyphs.
7272
72732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7274
7275 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7276 glyphs.
7277
7278 * font.h (struct font_driver): Improve docstring of member `shape'.
7279
72802008-02-01 Kenichi Handa <handa@m17n.org>
7281
7282 * composite.c (syms_of_composite): Fix docstring of
7283 auto-composition-function.
7284
7285 * font.h (LGLYPH_SIZE): New macro.
7286
7287 * font.c (Ffont_fill_gstring): Stop filling when a character not
7288 supported by the font is found.
7289 (Ffont_shape_text): When a shape callback function returns nil,
7290 try at most two more times with larger gstring.
7291 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7292
7293 * xdisp.c (handle_auto_composed_prop): Change the argument to
7294 auto-composition-function.
7295
7296 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7297 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7298 Lispy glyph and store it in the lgstring.
7299
7300 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7301
7302 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7303
73042008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7305
7306 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7307
7308 * fontset.c (Vfont_encoding_charset_alist): New variable.
7309 (syms_of_fontset): DEFVAR it.
7310 (reorder_font_vector, fontset_find_font): Optimize for the case of
7311 no need of reordering.
7312 (face_for_char): Map the charset property by
7313 Vfont_encoding_charset_alist.
7314
73152008-02-01 Jason Rumney <jasonr@gnu.org>
7316
7317 * w32font.c (logfonts_match): Don't check adstyle here.
7318 (font_matches_spec): Check here against physical font instead.
7319 (add_font_entity_to_list): Avoid some substitutions.
7320
7321 * font.c (font_parse_fcname): Default weight and slant to normal.
7322 (font_score): Prefer normal fonts if weight or slant unspecified.
7323 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7324 match freetype scores.
7325
73262008-02-01 Jason Rumney <jasonr@gnu.org>
7327
7328 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7329 font, as it may have been deleted.
7330 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7331 most common hyphenless variation.
7332 (logfonts_match): Check generic family.
7333 (font_matches_spec): Don't check generic family here.
7334 (fill_in_logfont): Set generic family based on adstyle.
7335
7336 * w32font.h (w32font_get_cache): Update declaration.
7337
73382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7339
7340 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7341
7342 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7343 If none of the new drivers are available, call font_update_drivers
7344 with the old drivers.
7345
7346 * w32font.c (w32font_get_cache): Adjust the argument type.
7347
7348 * xfont.c (xfont_get_cache): Adjust the argument type.
7349
7350 * font.h (struct font_driver): Change argument type of get_cache.
7351
7352 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7353
7354 * font.c (Ffont_get): Fix arguments to Fassoc.
7355 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7356 (font_clear_cache): New function.
7357 (font_list_entities, font_matching_entity): Use font_get_cache.
7358 (font_update_drivers): Call font_clear_cache when finishing a driver.
7359
7360 * fontset.c (fontset_find_font): Fix previous change.
7361
73622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7363
7364 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7365 dpyinfo->font_table.
7366 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7367 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7368
7369 * font.c (font_at): Handle the case that the arg C is negative.
7370 Handle the unibyte case.
7371 (Ffont_at): Call font_at with the arg C -1.
7372
7373 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7374 the position here, and call font_at with the arg C -1.
7375 Don't check the range of the existing composition at the point.
7376
73772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7378
7379 * fontset.c (fontset_add): New args charset_id and family.
7380 Change caller.
7381 (load_font_get_repertory, fontset_find_font): Assume that
7382 font_spec is always a font-spec object.
7383 (Fset_fontset_font): Always store a font-spec object in a fontset.
7384
7385 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7386 instead of get_property_and_range.
7387
73882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7389
7390 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7391 (xftfont_open): Don't keep locking face.
7392 (xftfont_close): Don't unlock face.
7393 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7394
7395 * fontset.c (fontset_find_font): Don't prefer a font of
7396 supplementary charset.
7397
73982008-02-01 Kenichi Handa <handa@m17n.org>
7399
7400 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7401 script, langsys_tag to langsys, new member script.
7402 (OTF_TAG_STR): Terminate by '\0'.
7403 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7404 listing to the script specified in that property. Fix arg to
7405 OTF_check_features.
7406
74072008-02-01 Jason Rumney <jasonr@gnu.org>
7408
7409 * w32font.h: New file.
7410
7411 * w32font.c: Include it.
7412 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7413 (w32font_open): Set owning_frame.
7414 (w32font_text_extents): Use owning_frame.
7415 (struct font_callback_data): Add opentype_only field.
7416 (add_font_entity_to_list): Use it to filter fonts.
7417 Don't check against full name.
7418 (w32font_list_internal): New function.
7419 (w32font_list): Use it.
7420 (w32font_match_internal): New function.
7421 (w32font_match): Use it.
7422 (w32font_open_internal): New function.
7423 (w32font_open): Use it.
7424 (w32font_get_cache, w32font_close, w32font_has_char)
7425 (w32font_encode_char, w32font_text_extents, w32font_draw):
7426 Make non-static.
7427
7428 * makefile.w32-in (w32font.o): Depend on w32font.h.
7429
74302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7431
7432 * charset.c (Fdefine_charset_internal): Record a supplementary
7433 charset at the tail of Vcharset_order_list.
7434
7435 * font.c (Ffont_shape_text): Fix the return value.
7436
7437 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7438
7439 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7440
74412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7442
7443 * ftfont.c (struct OpenTypeSpec): New struct.
7444 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7445 (ftfont_get_open_type_spec): New function.
7446 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7447
7448 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7449
74502008-02-01 Jason Rumney <jasonr@gnu.org>
7451
7452 * w32font.c (add_font_entity_to_list): Compare only the beginning
7453 of full name.
7454
74552008-02-01 Kenichi Handa <handa@m17n.org>
7456
7457 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7458 Never return HANDLED_RECOMPUTE_PROPS.
7459
74602008-02-01 Kenichi Handa <handa@m17n.org>
7461
7462 * font.c (font_gstring_produce): Delete it.
7463
7464 * composite.h (COMPOSITION_METHOD):
7465 Handle COMPOSITION_WITH_GLYPH_STRING.
7466
74672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7468
7469 * xfont.c (Qx): Delete.
7470 (syms_of_xfont): Don't initialize Qx.
7471
7472 * composite.h (enum composition_method):
7473 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7474
74752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7476
7477 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7478 (choose_face_font): Accept new form of font-spec.
7479
7480 * frame.h (font_driver_list): Declare it unconditionally.
7481 (struct frame): Define members font_driver_list and font_data_list
7482 unconditionally.
7483
7484 * fontset.c: Include "font.h" unconditionally.
7485 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7486 (Fset_fontset_font): Accept a font-spec object.
7487
7488 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7489 PIXEL_SIZE part a wild card.
7490
7491 * dispextern.h (struct glyph_string): Define members clip and
7492 num_clips unconditionally.
7493 (struct face): Define members font_info and extra unconditionally.
7494
7495 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7496 ftfont_info only when HAVE_LIBOTF is defined.
7497
74982008-02-01 Andreas Schwab <schwab@suse.de>
7499
7500 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7501 and end.
7502
75032008-02-01 Jason Rumney <jasonr@gnu.org>
7504
7505 * w32font.c (w32font_driver): Add new fields.
7506
75072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7508
7509 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7510 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7511 (LIBES): Add @M17N_FLT_CFLAGS@.
7512
7513 * composite.c (compose_text): Don't treat the new style
7514 composition specially.
7515
7516 * emacs.c (main): Call syms_of_font unconditionally.
7517
7518 * font.h (FONT_ENTITY_NOT_LOADABLE)
7519 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7520 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7521 (struct font_driver): New member shape.
7522 (font_registry_charsets): Extern it.
7523 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7524 (font_otf_capability, font_drive_otf): Delete their externs.
7525
7526 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7527 (font_charset_alist, font_registry_charsets): Move from xfont.c
7528 and rename.
7529 (font_prop_validate_otf): New function.
7530 (font_property_table): Register it for QCotf.
7531 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7532 (font_drive_otf): Delete.
7533 (font_prepare_composition): New arg F. Adjust for the change of
7534 lispy gstring.
7535 (font_find_for_lface): New arg C.
7536 (font_load_for_face): Adjust for the change of font_find_for_lface.
7537 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7538 lispy gstring.
7539 (Ffont_shape_text): New function.
7540 (Fopen_font): If the font size is not given, use 12-pixel.
7541 (Ffont_at): New arg STRING.
7542 (syms_of_font): Initalize font_charset_alist.
7543 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7544 conditionally.
7545
7546 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7547 fonts of the same font-spec. Change the format of RFONT-DEF.
7548 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7549 Adjust for the change of RFONT-DEF.
7550 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7551
7552 * ftfont.h: New file.
7553
7554 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7555 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7556 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7557 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7558 font_otf_capability and font_drive_otf, set ftfont_shape.
7559 (ftfont_list): Adjust for the change of :otf property value.
7560 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7561 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7562 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7563 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7564 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7565 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7566
7567 * w32term.c (x_draw_composite_glyph_string_foreground):
7568 Adjust for the change of lispy gstring.
7569
7570 * xdisp.c (handle_composition_prop): Adjust for the change of
7571 lispy gstring. Call a function for auto-composition with the
7572 third arg it->window.
7573 (fill_composite_glyph_string): Adjust for the change of lispy string.
7574 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7575
7576 * xfaces.c (set_font_frame_param): Adjust for the change of
7577 font_find_for_lface.
7578
7579 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7580 (xfont_registry_charsets): Likewise. Change caller.
7581 (syms_of_xfont): Don't handle x_font_charset_alist.
7582
7583 * xftfont.c: Include "ftfont.h".
7584 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7585 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7586 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7587 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7588 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7589 Set xftfont_driver.shape to xftfont_shape.
7590
7591 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7592 the change of lispy gstring.
7593
75942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7595
7596 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7597
75982008-02-01 Jason Rumney <jasonr@gnu.org>
7599
7600 * w32font.c (w32font_draw): Fill background manually.
7601
76022008-02-01 Jason Rumney <jasonr@gnu.org>
7603
7604 * font.c (Qfontp): Remove unused symbol.
7605 (QCantialias): New symbol.
7606 (syms_of_font): Define it.
7607 (font_property_table): Set a validator for QCantialias.
7608
7609 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7610 Define if not already.
7611 (QCfamily): Share with xfaces.c.
7612 (Qstandard, Qsubpixel, Qnatural): New symbols.
7613 (syms_of_w32font): Define them. Don't define QCfamily here.
7614 (w32_antialias_type, lispy_antialias_type): New functions.
7615 (w32_enumfont_pattern_entity): New arg requested_font.
7616 Set antialias parameter if non-default was requested.
7617 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7618
76192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7620
7621 * lread.c (read1): Undo the previous change.
7622
76232008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7624
7625 * frame.c (Fdelete_frame): Call font_update_drivers only when
7626 USE_FONT_BACKEND is defined.
7627
76282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7629
7630 * font.h (struct font_bitmap): New member bits_per_pixel.
7631 (struct font_driver): New members start_for_frame and end_for_frame.
7632 (struct font_data_list): New struct.
7633 (font_put_frame_data, font_get_frame_data): Extern them.
7634
7635 * frame.h (struct frame): New member font_data_list.
7636
7637 * font.c (font_update_drivers): Call driver->start_for_frame and
7638 driver->end_for_frame at proper timings.
7639 (font_put_frame_data, font_get_frame_data): New functions.
7640 (Ffont_spec): Add usage in the docstring.
7641
7642 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7643 (Fdelete_frame): Call font_update_drivers.
7644
7645 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7646 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7647 (xftfont_get_xft_draw): New function.
7648 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7649 (xftfont_end_for_frame): New function.
7650 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7651
7652 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7653 Change argument. Cache GCs in the per-frame data.
7654 (struct ftxfont_frame_data): New struct.
7655 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7656 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7657 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7658 (ftxfont_end_for_frame): New function.
7659 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7660
7661 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7662
76632008-02-01 Kenichi Handa <handa@m17n.org>
7664
7665 * xselect.c (Vselection_coding_system)
7666 (Vnext_selection_coding_system): Delete them.
7667 (syms_of_xselect): Don't declare selection-coding-system and
7668 next-selection-coding-system. They are declared in select.el.
7669
76702008-02-01 Jason Rumney <jasonr@gnu.org>
7671
7672 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7673
7674 * w32fns.c: Include imm.h.
7675 (get_composition_string_fn, get_ime_context_fn): New optional
7676 system functions.
7677 (globals_of_w32fns): Load them from imm32.dll.
7678 (ignore_ime_char): New flag.
7679 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7680 WM_IME_ENDCOMPOSITION messages.
7681
7682 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7683 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7684
76852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7686
7687 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7688 (READCHAR_REPORT_MULTIBYTE): New macro.
7689 (readchar): New 2nd arg MULTIBYTE.
7690 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7691 Make symbol's name multibyte according to the multibyteness of the
7692 source.
7693
76942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7695
7696 * xfaces.c (face_for_overlay_string): Call lookup_face with
7697 correct arguments (fix of synching with the trunk).
7698
76992008-02-01 Kenichi Handa <handa@m17n.org>
7700
7701 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7702 (font_prop_validate_non_neg, font_prop_validate_spacing):
7703 Delete argument prop_index.
7704 (font_property_table): Change arguments to validater. Change Callers.
7705 (font_lispy_object): Delete.
7706 (font_at): Use font_find_object instead fo font_lispy_object.
7707
77082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7709
7710 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7711 and file names.
7712
77132008-02-01 Jason Rumney <jasonr@gnu.org>
7714
7715 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7716 (font_matches_spec): Remove debug output.
7717 (add_font_entity_to_list): Avoid using substituted fonts.
7718
77192008-02-01 Jason Rumney <jasonr@gnu.org>
7720
7721 * doc.c (Fsnarf_documentation):
7722 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7723
77242008-02-01 Miles Bader <miles@gnu.org>
7725
7726 * dispextern.h (struct glyph_row): Only define "clip" field if
7727 HAVE_WINDOW_SYSTEM is defined.
7728
77292008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7730
7731 Fix up multi-tty merge.
7732
7733 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7734 and indentation.
7735
7736 * xfaces.c (free_realized_face, clear_face_gcs):
7737 Include font_done_for_face in the input_blocked section, just in case.
7738
7739 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7740 (get_char_face_and_encoding): Undo last change and remove the *other*
7741 duplicate definition (i.e. keep the one that's better scoped and that
7742 includes code for the font-backend).
7743
7744 * terminal.c (create_terminal): Default keyboard_coding to
7745 `no-conversion' and terminal_coding to `undecided'.
7746
7747 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7748
7749 * fontset.c (free_realized_fontsets): Check that the table entry does
7750 contain a fontset before trying to compare it to `base'.
7751
7752 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7753 syms_of_charset, and syms_of_coding earlier because init_window_once
7754 now needs Vcoding_system_hash_table to be setup.
7755
7756 * coding.h (default_buffer_file_coding): Remove.
7757
7758 * coding.c (default_buffer_file_coding): Remove.
7759 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7760 than ->symbol, and use the terminal-local coding system.
7761 (syms_of_coding): Don't setup the coding-systems that are not
7762 terminal-local.
7763 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7764
7765 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7766 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7767
7768 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7769 in chartab.c and were re-added here by mistake.
7770 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7771
7772 * doc.c (Fsnarf_documentation):
7773 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7774 src to etc.
7775
7776 * ChangeLog.10: Add mistakenly removed entry.
7777
77782008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7779
7780 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7781
77822008-02-01 Miles Bader <miles@gnu.org>
7783
7784 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7785 Add extra args to FACE_FOR_CHAR.
7786
77872008-02-01 Kenichi Handa <handa@m17n.org>
7788
7789 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7790 in sequence.
7791
7792 * chartab.c (map_sub_char_table, map_char_table): If the range
7793 contains just one character, call the function with that character
7794 even if the depth is not 3.
7795
77962008-02-01 Jason Rumney <jasonr@gnu.org>
7797
7798 * w32font.c (w32font_text_extents): Calculate metrics for the
7799 whole string.
7800
78012008-02-01 Jason Rumney <jasonr@gnu.org>
7802
7803 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7804
78052008-02-01 Jason Rumney <jasonr@gnu.org>
7806
7807 * w32term.c (x_set_glyph_string_clipping): Use
7808 get_glyph_string_clip_rects.
7809 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7810 Adjust for the change of struct glyph_string.
7811
7812 * w32font.c (w32font_draw): Do clipping here.
7813
78142008-02-01 Kenichi Handa <handa@m17n.org>
7815
7816 * xftfont.c (xftfont_draw): Adjust for the change of struct
7817 glyph_string.
7818
7819 * xterm.c (x_set_glyph_string_clipping): Use
7820 get_glyph_string_clip_rects.
7821 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7822 Adjust for the change of struct glyph_string.
7823
7824 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7825 the resulting clip(s}.
7826 (expose_overlaps): Add arg r. Change callers. Set it to
7827 row->clip temporarily.
7828 (expose_window): Redraw rows overlapping the exposed area.
7829
7830 * dispextern.h (struct glyph_row): New member clip.
7831 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7832 clip_height, new member clip, and num_clips.
7833
78342008-02-01 Kenichi Handa <handa@m17n.org>
7835
7836 * data.c (Fchar_or_string_p): Fix docstring.
7837
78382008-02-01 Kenichi Handa <handa@m17n.org>
7839
7840 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7841 create a temporary XftDraw object.
7842
78432008-02-01 Kenichi Handa <handa@m17n.org>
7844
7845 * font.c (Ffontp): Fix docstring.
7846
7847 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7848 strong evidence of ISO-2022.
7849
78502008-02-01 Kenichi Handa <handa@m17n.org>
7851
7852 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7853 SYNTAX_ENTRY_FOLLOW_PARENT.
7854
78552008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7856
7857 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7858 its type.
7859 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7860 Update to the new type of weak_hash_tables and next_weak.
7861
7862 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7863 a plain C pointer to Lisp_Hash_Table.
7864
7865 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7866 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7867 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7868 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7869 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7870 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7871 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7872 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7873 (GC_EQ): Remove since they've been identical to their non-GC_
7874 alter-egos ever since the markbit was eradicated.
7875
7876 * alloc.c:
7877 * buffer.c:
7878 * buffer.h:
7879 * data.c:
7880 * fileio.c:
7881 * filelock.c:
7882 * fns.c:
7883 * frame.h:
7884 * lisp.h:
7885 * macterm.c:
7886 * print.c:
7887 * process.c:
7888 * w32fns.c:
7889 * w32menu.c:
7890 * w32term.c:
7891 * xfns.c:
7892 * xmenu.c:
7893 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7894
78952008-02-01 Kenichi Handa <handa@m17n.org>
7896
7897 * chartab.c (map_sub_char_table): Make it work for the top-level
7898 char-table. Fix handling of parent char-table.
7899 (map_char_table): Adjust for the above change.
7900
79012008-02-01 Jason Rumney <jasonr@gnu.org>
7902
7903 * w32font.c (Qgdi): Rename from Qw32.
7904
79052008-02-01 Jason Rumney <jasonr@gnu.org>
7906
7907 * w32bdf.c (get_quoted_string): Make function static.
7908
79092008-02-01 Kenichi Handa <handa@m17n.org>
7910
7911 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7912 bigger ascent and descent than those of the font, use them as
7913 font's ascent and descent.
7914
79152008-02-01 Kenichi Handa <handa@m17n.org>
7916
7917 * Makefile.in (${lispsource}international/charprop.el): Move this
7918 target within "#ifdef HAVE_UNIDATA" and "#endif".
7919
79202008-02-01 Kenichi Handa <handa@m17n.org>
7921
7922 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7923 (shortlisp): Add ../lisp/language/tai-viet.el.
7924
79252008-02-01 Ulrich Mueller <ulm@gentoo.org>
7926
7927 * Makefile.in (${lispsource}international/charprop.el): Depend on
7928 temacs${EXEEXT}.
7929
79302008-02-01 Jason Rumney <jasonr@gnu.org>
7931
7932 * w32font.c (w32font_close): Delete the GDI font object.
7933
7934 * w32menu.c: Include character.h.
7935
7936 * w32proc.c: Likewise.
7937
7938 * w32select.c: Likewise.
7939
7940 * makefile.w32-in (w32proc.o): Depend on character.h.
7941
79422008-02-01 Jason Rumney <jasonr@gnu.org>
7943
7944 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7945
7946 * w32menu.c (syms_of_w32menu): Likewise.
7947
7948 * w32proc.c (syms_of_ntproc): Likewise.
7949
7950 * w32select.c (syms_of_w32select): Likewise.
7951
7952 * w32term.c (syms_of_w32term): Likewise.
7953
79542008-02-01 Jason Rumney <jasonr@gnu.org>
7955
7956 * w32font.c (w32font_draw): Delete brush after using it.
7957
79582008-02-01 Jason Rumney <jasonr@gnu.org>
7959
7960 * w32font.c (w32font_open): Don't set font_idx.
7961 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7962 to font settings.
7963 (w32font_draw): Fill background explicitly.
7964
79652008-02-01 Jason Rumney <jasonr@gnu.org>
7966
7967 * w32term.c (w32_initialize): Don't call w32font_initialize.
7968
7969 * w32font.c (w32font_info): Remove subranges.
7970 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7971 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7972 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7973 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7974 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7975 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7976 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7977 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7978 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7979 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7980 New symbols.
7981 (font_callback_data): New struct.
7982 (w32font_list, w32font_match): Use it.
7983 (w32font_open): Don't populate subranges.
7984 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7985 (w32font_encode_char): Always return unicode code-point as-is.
7986 (w32font_text_extents): Supply a transformation matrix to
7987 GetGlyphOutline. Never look up by glyph index. Avoid looping
7988 twice. Use unicode version of GetTexExtentPoint32 instead of
7989 glyph index version.
7990 (set_fonts_frame): Remove.
7991 (w32_enumfont_pattern_entity): Add frame parameter, use it to
7992 set frame parameter. Use backward compatible fake foundries.
7993 Save generic family in extra slot under QCfamily. Make width slot
7994 constant. Save QCspacing value. Save list of scripts instead of
7995 binary subranges.
7996 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
7997 (add_font_entity_to_list): Use font_callback_data struct. Filter
7998 unwanted fonts.
7999 (add_one_font_entity_to_list): Use font_callback_data struct.
8000 (w32_registry): Default to iso10646_1.
8001 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8002 string font registries. Don't fill in font name if it is a generic
8003 family name, fill family instead. Use spacing, family and script
8004 extra info to fill pitch, family and charset fields.
8005 (list_all_matching_fonts): Use font_callback_data struct.
8006 (unicode_range_for_char): Remove.
8007 (font_supported_scripts): New function.
8008 (w32font_initialize): Remove.
8009 (syms_of_w32font): Update which symbols are defined.
8010
80112008-02-01 Jason Rumney <jasonr@gnu.org>
8012
8013 * font.c (font_pixel_size): Reverse assq_no_quit args.
8014
8015 * w32term.h (FONT_WIDTH): Report max width, not average.
8016 (FONT_MAX_WIDTH): Remove.
8017 (FONT_AVG_WIDTH): New macro.
8018
8019 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8020 redefinition of FONT_WIDTH.
8021
8022 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8023 (w32_cache_char_metrics): Use FONT_WIDTH.
8024
8025 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8026
80272008-02-01 Jason Rumney <jasonr@gnu.org>
8028
8029 * w32font.c (w32font_open): Make lfHeight negative.
8030
8031 * w32fns.c (x_default_font_parameter): Use new style font name.
8032 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8033
80342008-02-01 Jason Rumney <jasonr@gnu.org>
8035
8036 * w32font.c (QCsubranges): New symbol.
8037 (w32font_open, w32font_has_char): Get subranges from subproperty
8038 of extra.
8039 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8040 (syms_of_w32font): Define :subranges symbol.
8041
8042 * font.c (font_put_extra): Expose externally.
8043
8044 * font.h (font_put_extra): Move declaration from font.c.
8045
8046 * font.c (Ffont_get): Use font driver to determine otf capability.
8047 (adjust_anchor): Check if driver defines anchor_point before using.
8048
8049 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8050 (w32font_draw): Use options.
8051 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8052 Fix detection of truetype fonts.
8053 (registry_to_w32_charset): Handle charsets other than iso8859-1
8054 expressed as lisp symbols.
8055 (w32_registry): Express charset as lisp symbol.
8056 (fill_in_logfont): Reverse pixel and point height logic.
8057 Don't set width here. Set quality to default.
8058
8059 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8060 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8061
8062 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8063 Remove redundant loop and allocation.
8064
8065 * makefile.w32-in (font.o, w32font.o): New objects.
8066 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8067 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8068
8069 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8070 STORE_XCHARB a valid l-value.
8071
8072 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8073 calculations for non-Truetype fonts.
8074 (x_draw_glyph_string): Sync with xterm.c.
8075 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8076 Remove redundant code.
8077 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8078
8079 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8080 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8081
8082 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8083 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8084
8085 * w32font.c: New file for w32 font backend.
8086
80872008-02-01 Kenichi Handa <handa@m17n.org>
8088
8089 * term.c: Don't include "buffer.h" twice.
8090
80912008-02-01 Kenichi Handa <handa@m17n.org>
8092
8093 * character.c (Funibyte_string): New function.
8094 (syms_of_character): Defsubr it.
8095
80962008-02-01 Jason Rumney <jasonr@gnu.org>
8097
8098 * w32term.c [USE_FONT_BACKEND]:
8099 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8100 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8101 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8102 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8103 (x_free_frame_resources): Sync with xterm.c.
8104
81052008-02-01 Andreas Schwab <schwab@suse.de>
8106
8107 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8108 char-table size.
8109
81102008-02-01 Kenichi Handa <handa@m17n.org>
8111
8112 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8113
81142008-02-01 Kenichi Handa <handa@m17n.org>
8115
8116 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8117 font_otf_gpos, add font_drive_otf.
8118
8119 * fontset.c (fontset_find_font): Pay attention to font size
8120 specified for a font.
8121 (reorder_font_vector): Check contents of font_def.
8122
8123 * font.c (struct otf_list): Delete it.
8124 (otf_list): Make it a lisp variable.
8125 (otf_open): Use lispy otf_list.
8126 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8127 (check_otf_features): New function.
8128 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8129 New functions.
8130 (font_drive_otf): New function merging font_otf_gsub and
8131 font_otf_gpos.
8132 (font_open_for_lface): New arg spec. Change argument order.
8133 (font_load_for_face): Adjust for the change of font_open_for_lface.
8134 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8135 Ffont_otf_gpos.
8136 (syms_of_font): Staticpro otf_list. Delete defsubr of
8137 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8138
8139 * xfaces.c (set_font_frame_param): Adjust for the change of
8140 font_open_for_lface.
8141
8142 * font.h (font_open_for_lface): Adjust prototype.
8143 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8144 member otf_drive.
8145 (font_otf_gsub, font_otf_gpos): Delete externs.
8146 (font_drive_otf): Extern it.
8147
81482008-02-01 Kenichi Handa <handa@m17n.org>
8149
8150 * font.c (font_at): If the window W is not on a window system,
8151 return Qnil.
8152
8153 * coding.c (produce_chars, encode_coding): Don't call
8154 insert_from_gap if no characters to produce.
8155
81562008-02-01 Kenichi Handa <handa@m17n.org>
8157
8158 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8159 Fclear_face_cache.
8160
8161 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8162
81632008-02-01 Miles Bader <miles@gnu.org>
8164
8165 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8166 Parse "--disable-font-backend" option.
8167 (standard_args): Add "--disable-font-backend" option.
8168
81692008-02-01 Kenichi Handa <handa@m17n.org>
8170
8171 * fontset.c (fontset_find_font): New function.
8172 (fontset_font): Use fontset_find_font.
8173 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8174 Register the specified font for all Latin characters.
8175 (new_fontset_from_font): Register the specified font for all Latin
8176 characters.
8177 (dump_fontset): For a realized fontset, include the base fontset
8178 name in the returned vector.
8179
81802008-02-01 Kenichi Handa <handa@m17n.org>
8181
8182 * character.h (CHAR_STRING): Cast C to unsigned on calling
8183 char_string.
8184
8185 * character.c (char_string): Type of arg C changed to unsigned.
8186 Signal an error if C is an invalid character code.
8187
8188 * editfns.c (general_insert_function, Fchar_to_string):
8189 Use CHARACTERP, not INTEGERP.
8190
81912008-02-01 Kenichi Handa <handa@m17n.org>
8192
8193 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8194 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8195
8196 * regex.c (analyse_first): Fix for multibyte characters in "case
8197 charset:" and "case categoryspec:".
8198
81992008-02-01 Andreas Schwab <schwab@suse.de>
8200
8201 * Makefile.in (LIBES): Move standard libraries to the end.
8202
82032008-02-01 Kenichi Handa <handa@m17n.org>
8204
8205 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8206 nonzero, don't shrink the buffer nextb.
8207
8208 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8209
8210 * coding.c (coding_alloc_by_making_gap): New arg offset.
8211 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8212 offset.
8213 (decode_coding_iso_2022): Update coding->safe_charsets.
8214 (decode_coding_gap): Temporarily set
8215 current_buffer->text->inhibit_shrinking to 1.
8216
82172008-02-01 Kenichi Handa <handa@m17n.org>
8218
8219 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8220 indexing into elements of s->cmp and s->char2b.
8221
82222008-02-01 Juanma Barranquero <lekktu@gmail.com>
8223
8224 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8225
82262008-02-01 Kenichi Handa <handa@m17n.org>
8227
8228 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8229 target_multibyte instead of multibyte.
8230 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8231 (bcmp_translate): Change the argument name from multibyte to
8232 target_multibyte.
8233
82342008-02-01 Kenichi Handa <handa@m17n.org>
8235
8236 These changes are to compile a regexp into a pattern that can be
8237 used both for multibyte and unibyte targets.
8238
8239 * Makefile.in (search.o): Depend on charset.h.
8240
8241 * character.c (multibyte_char_to_unibyte_safe): New function.
8242
8243 * search.c: Include "charset.h".
8244 (compile_pattern_1): Delete argument multibyte. Don't set
8245 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8246 (compile_pattern): Don't compare cp->buf.target_multibyte.
8247 Compare cp->buf.charset_unibyte.
8248 (compile_pattern): Set cp->buf.target_multibyte.
8249
8250 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8251
8252 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8253
8254 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8255 multibyte. Change callers.
8256 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8257 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8258 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8259 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8260 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8261 (regex_compile): Make the compiled pattern usable both for
8262 multibyte and unibyte targets.
8263 (analyse_first): Make the fastmap usable both for multibyte and
8264 unibyte targets.
8265 (TRANSLATE_VIA_MULTIBYTE): Delete.
8266 (re_match_2_internal): Pay attention to the case that the
8267 multibyteness of bufp and target may be different.
8268
82692008-02-01 Kenichi Handa <handa@m17n.org>
8270
8271 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8272 empty box occupy at least one column width.
8273
82742008-02-01 Miles Bader <miles@gnu.org>
8275
8276 * Makefile.in: Remove redundant HAVE_XFT clause.
8277
82782008-02-01 Kenichi Handa <handa@m17n.org>
8279
8280 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8281
82822008-02-01 Kenichi Handa <handa@m17n.org>
8283
8284 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8285 being nil.
8286
82872008-02-01 Kenichi Handa <handa@m17n.org>
8288
8289 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8290
82912008-02-01 Kenichi Handa <handa@m17n.org>
8292
8293 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8294
82952008-02-01 Kenichi Handa <handa@m17n.org>
8296
8297 * search.c (simple_search): Fix previous change.
8298
82992008-02-01 Kenichi Handa <handa@m17n.org>
8300
8301 * xftfont.c (ftfont_font_format): Extern declaration.
8302
8303 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8304
8305 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8306 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8307
8308 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8309 (ftfont_font_format): Fix previous change.
8310
8311 * font.h (Ffont_xlfd_name): EXFUN it.
8312
8313 * font.c (font_parse_xlfd): Fix the array size of `f'.
8314 (register_font_driver): Use EQ to compare driver->type.
8315
8316 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8317 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8318 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8319
83202008-02-01 Kenichi Handa <handa@m17n.org>
8321
8322 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8323 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8324
83252008-02-01 Kenichi Handa <handa@m17n.org>
8326
8327 * xfont.c (xfont_open): Set font->format.
8328
8329 * xftfont.c (xftfont_open): Set font->format.
8330
8331 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8332 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8333 (ftfont_open): Set font->format.
8334 (ftfont_font_format): New function.
8335
8336 * font.h (struct font): New member format.
8337
8338 * font.c (Qopentype): New variable.
8339 (syms_of_font): Defsym it.
8340 (Fquery_font): Change the format of the last element of the return
8341 value.
8342
83432008-02-01 Kenichi Handa <handa@m17n.org>
8344
8345 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8346 last resort.
8347
83482008-02-01 Kenichi Handa <handa@m17n.org>
8349
8350 * coding.c (detect_coding_charset): Fix detection of multi-byte
8351 charset.
8352
83532008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8354
8355 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8356
83572008-02-01 Kenichi Handa <handa@m17n.org>
8358
8359 * xdisp.c (get_next_display_element): Set it->face_id for the
8360 first component of a composition.
8361 (x_produce_glyphs): Check if the font is changed or not for composition.
8362
83632008-02-01 Kenichi Handa <handa@m17n.org>
8364
8365 * fontset.c (Qlatin): New variable.
8366 (syms_of_fontset): Define it as a lisp symbol.
8367 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8368
83692008-02-01 Kenichi Handa <handa@m17n.org>
8370
8371 * font.c (font_unparse_fcname): Pay attention to the case that
8372 some of font property is a null string.
8373
83742008-02-01 Kenichi Handa <handa@m17n.org>
8375
8376 * term.c: Include "composite.h".
8377 (encode_terminal_code): Output all components of composition.
8378 Check the size of encode_terminal_src.
8379 (produce_glyphs): For composition, call produce_composite_glyph.
8380 (append_composite_glyph, produce_composite_glyph): New functions.
8381
8382 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8383 is not found, get font_info from the current ascii face.
8384
83852008-02-01 Kenichi Handa <handa@m17n.org>
8386
8387 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8388 buffer-file-name to Qnil before calling insert_from_buffer.
8389
8390 * font.c (font_unparse_fcname): Pay attention to the case that
8391 foundry is a null string.
8392
83932008-02-01 Kenichi Handa <handa@m17n.org>
8394
8395 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8396
8397 * font.c (Qunicode_sip): New variable.
8398 (syms_of_font): Declare it as a Lisp symbol.
8399
8400 * font.h (Qunicode_sip): Extern it.
8401
84022008-02-01 Kenichi Handa <handa@m17n.org>
8403
8404 * composite.c (get_composition_id): Pay attention to TAB component.
8405
8406 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8407 TAB. Adjust for the change of s->char2b which always points to
8408 the first element of allocated memory.
8409
8410 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8411
8412 * xdisp.c (handle_composition_prop): Set it->c to the first
8413 non-TAB component.
8414 (fill_composite_glyph_string): Change argument.
8415 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8416 (x_produce_glyphs): Fix handling of left/right padding.
8417
84182008-02-01 Kenichi Handa <handa@m17n.org>
8419
8420 * coding.c (detect_coding_system): Fix for handling off
8421 inhibit_iso_escape_detection. Fix for the case that no coding
8422 system is defined for a specific coding category.
8423
84242008-02-01 Kenichi Handa <handa@m17n.org>
8425
8426 * font.c (font_matching_entity): Delete unused local var.
8427
8428 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8429 opening a font.
8430
8431 * fileio.c (Finsert_file_contents): On recovering a file, assume
8432 Unix-like eol.
8433 (choose_write_coding_system): On auto-saving a file, force
8434 Unix-like eol.
8435
8436 * coding.c (setup_coding_system): Fix setting of
8437 coding->common_flags based on eol_type.
8438 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8439 inherit from it.
8440
84412008-02-01 Kenichi Handa <handa@m17n.org>
8442
8443 * alloc.c (NSTATICS): Increas to 0x600.
8444
84452008-02-01 Kenichi Handa <handa@m17n.org>
8446
8447 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8448 (ftfont_list): Don't check :name property.
8449 (ftfont_match): New function.
8450 (ftfont_pattern_entity): If the pattern doesn't contain
8451 FC_SPACING, don't assume FC_MONO.
8452
8453 * font.h (struct font_driver): New member `match'.
8454 (font_update_drivers): Adjust prototype.
8455
8456 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8457 property of FONT.
8458 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8459 them unconditionally.
8460 (font_matching_entity): New function.
8461 (font_open_by_name): Try font_matching_entity if exact match is
8462 not found.
8463 (font_update_drivers): Delete the arg FONT. Return a list of
8464 actually used backends. Don't free faces, font caches here.
8465 Don't store data in frame parameters. Don't call x_set_font.
8466 (Ffont_spec): Store :name property as is.
8467 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8468 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8469 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8470 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8471 Call font->driver->otf_gsub instead of font_otf_gsub.
8472
8473 * frame.c (x_set_font_backend): Do more works that were done in
8474 font_update_drivers before.
8475
8476 * xfont.c (xfont_match): New function.
8477 (xfont_driver): Set xfont_driver.match to xfont_match.
8478 (xfont_draw): Set font in GC if necessary.
8479
8480 * ftxfont.c (ftxfont_match): New function.
8481 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8482
8483 * xftfont.c (xftfont_match): New function.
8484 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8485
84862008-02-01 Kenichi Handa <handa@m17n.org>
8487
8488 * font.h (struct font): New member scalable.
8489 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8490 (font_otf_gsub): Adjust prototype.
8491
8492 * font.c (font_otf_capability): Fix handling of the default langsys.
8493 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8494 Check the contents of SPEC.
8495 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8496 (check_gstring): New function.
8497 (REPLACEMENT_CHARACTER): New macro.
8498 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8499 glyph codes of GSTRING.
8500 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8501 (font_prepare_composition): Set cmp->glyph_len.
8502 (font_open_entity): Set font->scalable.
8503 (Ffont_get): Handle :otf property.
8504 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8505 functions.
8506 (Fquery_font): Use font->font.full_name.
8507 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8508 Sfont_otf_alternates.
8509
8510 * ftfont.c (ftfont_open): Set font->font.full_name and
8511 font->font.name properly. Fix calculation of font->font.height
8512 and font->min_width.
8513
8514 * ftxfont.c (ftxfont_create_gcs): New function.
8515 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8516 (ftxfont_draw_backgrond): Fix filling region.
8517 (ftxfont_default_fid): New function.
8518 (ftxfont_open): Set xfont->fid to the return value of
8519 ftxfont_default_fid.
8520 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8521 (ftxfont_done_face): Free only GCs that are created by
8522 ftxfont_create_gcs.
8523 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8524
8525 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8526 Clip to src->width, etc (not src->clip_XXX).
8527
8528 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8529 FontBackend frame parameter.
8530
85312008-02-01 Kenichi Handa <handa@m17n.org>
8532
8533 * font.h (struct font_driver_list): New member `on'.
8534 (Fclear_font_cache): EXFUN it.
8535 (font_update_drivers): Extern it.
8536
8537 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8538 (font_list_entities): Check driver_list->on.
8539 (register_font_driver): Initalize `on' member to 0.
8540 (font_update_drivers): New function.
8541 (Fclear_font_cache): Check driver_list->on.
8542
8543 * frame.h (Qfont_backend): Extern it.
8544 (x_set_font_backend): Extern it.
8545
8546 * frame.c (Qfont_backend): New variable.
8547 (frame_parms): New element for font-backend.
8548 (x_set_font_backend): New function.
8549
8550 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8551 FontBackend frame parameter.
8552 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8553 x_set_font_backend.
8554
8555 * xfont.c (xfont_list): Don't try listing by :name property if the
8556 name is not for XLFD.
8557
85582008-02-01 Kenichi Handa <handa@m17n.org>
8559
8560 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8561 (LGLYPH_SET_TO): New macros.
8562 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8563 element of G is vector or not.
8564 (font_at): Extern it.
8565
8566 * font.c: Include window.h.
8567 (font_lispy_object): New function.
8568 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8569 end of valid glyph.
8570 (font_close_object): Fix getting (struct font *).
8571 (font_at): New function.
8572 (Ffont_get): If FONT is a font-object, get entity from it.
8573 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8574 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8575 range check.
8576 (Ffont_at): New function.
8577 (syms_of_font): Defsubr Sfont_at.
8578
8579 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8580 before the entry for Qcomposition.
8581 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8582 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8583 the font in gstring.
8584 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8585 LGLYPH_FORM (g) to detect the end of valid glyph.
8586 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8587 we are composing with gstring.
8588
8589 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8590 Check if adjustment is vector or not.
8591
8592 * Makefile.in (font.o): Make it depends on window.h.
8593
85942008-02-01 Kenichi Handa <handa@m17n.org>
8595
8596 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8597 adjustment is vector or not.
8598
85992008-02-01 Miles Bader <miles@gnu.org>
8600
8601 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8602
86032008-02-01 Kenichi Handa <handa@m17n.org>
8604
8605 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8606 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8607 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8608
8609 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8610 (DEVICE_DELTA): Fix typo.
8611 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8612 LGLYPH format.
8613
8614 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8615 the change of LGLYPH format.
8616
86172008-02-01 Kenichi Handa <handa@m17n.org>
8618
8619 * ftfont.c (ftfont_list): Fix typo.
8620 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8621
86222008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8623
8624 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8625
8626 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8627 xftface_info is non-NULL.
8628
86292008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8630
8631 * ftfont.c (ftfont_list): Move misplaced #endif.
8632
86332008-02-01 Kenichi Handa <handa@m17n.org>
8634
8635 * ftfont.c (ftfont_list): Pay attention to the case that
8636 FC_CAPABILITY is not defined.
8637
86382008-02-01 Kenichi Handa <handa@m17n.org>
8639
8640 * xftfont.c (xftfont_open): Set charset related members to -1.
8641
8642 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8643 QCname.
8644 (ftfont_open): Set charset related members to -1.
8645
8646 * fontset.c (Votf_script_alist): New variable.
8647 (syms_of_fontset): Initialize it.
8648 (fontset_font): Delete unused variable.
8649
8650 * fontset.h (Votf_script_alist): Extern it.
8651
8652 * font.c (font_find_for_lface): Optimize code.
8653
8654 * font.h (font_close_object, font_merge_old_spec): Extern them.
8655
86562008-02-01 Kenichi Handa <handa@m17n.org>
8657
8658 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8659 (syms_of_font): Initialize them.
8660 (font_pixel_size): Allow float value in dpi.
8661 (font_prop_validate_type): Delete.
8662 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8663 Change caller.
8664 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8665 (font_prop_validate_extra): Delete.
8666 (font_prop_validate_spacing): New function.
8667 (font_property_table): Add elements for all known properties.
8668 (get_font_prop_index): Rename from check_font_prop_name. New
8669 argument FROM. Change caller.
8670 (font_prop_validate): Validate all known properties.
8671 (font_put_extra): Delete argument force. Change caller.
8672 (font_expand_wildcards): Make it static. Fix the way of shrinking
8673 the possible range.
8674 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8675 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8676 Change caller.
8677 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8678 (font_parse_fcname): Delete argument merge. Fix parsing of point
8679 size. Don't validate properties values here. Change caller.
8680 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8681 (font_open_by_name): Delete unused variable.
8682 (Ffont_spec): Likewise. Validate property values.
8683 (Ffont_match_p): New function.
8684
8685 * font.h (QCscalable): Extern it.
8686 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8687
8688 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8689
8690 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8691 (xfont_list_pattern): New function.
8692 (xfont_list): Use xfont_list_pattern.
8693
86942008-02-01 Kenichi Handa <handa@m17n.org>
8695
8696 * font.h (Flist_fonts): EXFUN it.
8697
86982008-02-01 Jason Rumney <jasonr@gnu.org>
8699
8700 * w32term.c (w32_initialize): Add back smoothing_type and
8701 smoothing_enabled definitions.
8702
87032008-02-01 Kenichi Handa <handa@m17n.org>
8704
8705 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8706 s->face->font on determining underline position.
8707
87082008-02-01 Kenichi Handa <handa@m17n.org>
8709
8710 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8711 (font_has_char): Accept font-object too.
8712 (font_find_for_lface): Try at first with a size specified in face.
8713
87142008-02-01 Kenichi Handa <handa@m17n.org>
8715
8716 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8717 font_open_by_name.
8718
87192008-02-01 Kenichi Handa <handa@m17n.org>
8720
8721 * font.h (QCspacing, QCdpi): Extern them.
8722 (enum font_spacing): New enum.
8723 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8724
8725 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
8726 (QCspacing, QCdpi): New variables.
8727 (syms_of_font): Initialize them.
8728 (font_pixel_size): New function.
8729 (font_put_extra): New function.
8730 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8731 in FONT_EXTRA.
8732 (font_parse_fcname): Handle enumerated values (e.g. bold).
8733 Fix handling font size. Add QCname property that contains only
8734 unknown properties.
8735 (font_score): Change argument. Change caller. Pay attention to
8736 FONT_PIXEL_SIZE_QUANTUM.
8737 (font_sort_entites, font_list_entities, font_find_for_lface)
8738 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8739 (Ffont_spec): Add QCname property that contains only unknown properties.
8740
8741 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8742 include weight in listing pattern, instead check weight of each
8743 listed font. Don't include scalable in pattern. Pay attention to
8744 FONT_PIXEL_SIZE_QUANTUM.
8745
87462008-02-01 Kenichi Handa <handa@m17n.org>
8747
8748 * font.c (font_parse_fcname): Fix parsing of point-size.
8749 (font_unparse_fcname): Produce symbolic names for style properties.
8750 (font_list_entities): Handle float size correctly.
8751 (font_open_by_name): Prefer `normal' property values if the name
8752 doesn't specify them.
8753
8754 * fontset.c (Finternal_char_font): Use font_get_name, not
8755 Ffont_xlfd_name.
8756
8757 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8758 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8759 pattern. Don't force scalable.
8760
8761 * xftfont.c (xftfont_open): For generating a name, start from
8762 96-byte buffer.
8763
87642008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8765
8766 * frame.h (x_new_fontset2): Fix prototype.
8767
87682008-02-01 Kenichi Handa <handa@m17n.org>
8769
8770 * font.h (struct font_driver): Delete member parse_name.
8771 (font_match_p, font_get_spec, font_parse_fcname)
8772 (font_unparse_fcname): Extern them.
8773 (font_get_name): Adjust prototype.
8774
8775 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8776 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8777 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8778 unnecessary checks for weight, slant, and swidth.
8779 (font_parse_fcname): New function.
8780 (font_unparse_fcname): New function.
8781 (font_parse_name): New function.
8782 (font_match_p): New function.
8783 (font_get_name): Change return value to Lisp string.
8784 (font_get_spec): New function.
8785 (Qunspecified, Qignore_defface): Don't extern them.
8786 (font_find_for_lface): Assume that LFACE is fully specified.
8787 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8788 object, use it for FACE.
8789 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8790 driver->parse_name.
8791 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8792
8793 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8794 prototype.
8795
8796 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8797 argument F. Don't call Fnew_fontset. Instead, directly call
8798 make_fontset.
8799
8800 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8801
8802 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8803 of x_new_fontset2.
8804
8805 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8806 (Qsans__serif): New variables.
8807 (ftfont_generic_family_list): New variable.
8808 (syms_of_ftfont): Initialize the above variables.
8809 (ftfont_pattern_entity): Delete argument NAME.
8810 (ftfont_list_generic_family): New function.
8811 (ftfont_parse_name): Delete this function.
8812 (ftfont_list): Try generic family only when FcFontList found no font.
8813 (ftfont_list_family): Fix args to FcObjectSetBuild.
8814
8815 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8816 object in attrs[LFACE_FONT_INDEX].
8817 (set_lface_from_font_name): Cancel all changes for font-backend.
8818 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8819 function.
8820 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8821 font object in QCfont attribute.
8822 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8823 (realize_default_face) [USE_FONT_BACKEND]: Call
8824 set_lface_from_font_and_fontset.
8825
8826 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8827 "fixed", and signal error here if no suitable font was found.
8828
8829 * xfont.c (xfont_parse_name): Delete this function.
8830
8831 * xftfont.c (xftfont_open): Change coding style of error
8832 handling. Generate fontconfig's fontname pattern.
8833
8834 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8835 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8836
8837 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8838 Both args FONTSET and FONT_OBJECT must be existing ones.
8839
88402008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8841
8842 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8843
88442008-02-01 Kenichi Handa <handa@m17n.org>
8845
8846 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8847
8848 * font.h (struct font): Fix typo.
8849
8850 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8851 XLFD_XXX_INDEX.
8852 (enum xlfd_field_mask): New enum.
8853 (intern_font_field): Changed argument. Change caller. If digits
8854 are followed by non-digits, return a symbol.
8855 (font_expand_wildcards): New function.
8856 (font_parse_xlfd): Fix wildcard handling.
8857 (Ffont_spec): If :name is specified, reflect the info in the other
8858 properties.
8859
8860 * ftfont.c (ftfont_pattern_entity): Fix typo.
8861 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8862 locale.
8863
88642008-02-01 Kenichi Handa <handa@m17n.org>
8865
8866 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8867
8868 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8869 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8870 registry doesn't specify encoding part.
8871 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8872 (font_open_by_name): At first try parsing the name.
8873 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8874 as Lisp symbols.
8875
8876 * fontset.c (reorder_font_vector): Pay attention to the case that
8877 the 3rd element of font_def is nil.
8878 (fontset_font): For the default fontset, append one more fontset
8879 elements for a script-based font specification. Don't add script
8880 attribute on finding a font.
8881 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8882 font name.
8883 (fontset_ascii_font): If a font can't be opened, return nil.
8884
8885 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8886 (ftfont_pattern_entity): New function.
8887 (ftfont_get_cache): Assume that freetype_font_cache is already
8888 initialized.
8889 (ftfont_list): Handle the case that a file is specified in font
8890 name. Use ftfont_pattern_entity to generate entities.
8891 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8892 (syms_of_ftfont): Initialize freetype_font_cache.
8893
8894 * xftfont.c (xftfont_open): Make the font name fontconfig's
8895 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8896 (xftfont_close): Free font->font.name if not NULL.
8897
8898 * xfont.c (xfont_list): If script is specified for a font, return
8899 null_vector.
8900 (xfont_list_family): Declare argument type.
8901
8902 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8903 name, set LFACE_FONT (lface) to nil.
8904
8905 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8906 return Qnil.
8907
89082008-02-01 Kenichi Handa <handa@m17n.org>
8909
8910 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8911 (standard_args): Add "-enable-font-backend".
8912
89132008-02-01 Kenichi Handa <handa@m17n.org>
8914
8915 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8916 (struct xftdraw_list, xftdraw_list): Delete them.
8917 (register_xftdraw, check_xftdraw): Delete them.
8918 (xftfont_prepare_face): Don't call register_xftdraw.
8919 (xftfont_done_face): Don't call check_xftdraw.
8920 (xftfont_draw): Get background color only when with_background is
8921 nonzero.
8922
8923 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8924
89252008-02-01 Kenichi Handa <handa@m17n.org>
8926
8927 These changes are for the new font handling codes.
8928
8929 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8930 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8931 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8932 (FONTSRC, FONTOBJ): New variables.
8933 (obj): Add $(FONTOBJ).
8934 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8935 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8936 @LIBOTF_LIBS@.
8937 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
8938 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
8939
8940 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
8941
8942 * character.h (Vscript_representative_chars): Extern it.
8943
8944 * character.c (Vscript_representative_chars): New variable.
8945 (syms_of_character): Declare it as a Lisp variable.
8946
8947 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8948 enable_font_backend is nonzero, accept the composition method
8949 COMPOSITION_WITH_GLYPH_STRING.
8950
8951 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8952 enumeration COMPOSITION_WITH_GLYPH_STRING.
8953
8954 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8955 members clip_x, clip_y, clip_width, and clip_height.
8956 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8957
8958 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8959 --enable-font-backend. Call syms_of_font.
8960
8961 * fns.c (assoc_no_quit): New function.
8962
8963 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8964 (face_for_font, new_fontset_from_font)
8965 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8966
8967 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8968 (fontset_font, fontset_ascii, face_for_char)
8969 (make_fontset_for_ascii_face, Ffont_info)
8970 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8971 is nonzero, use font-backend mechanism.
8972 (find_font_encoding): Make it non-static.
8973 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8974 New functions.
8975
8976 * frame.h (struct frame): New members resx and resy.
8977 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8978 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8979
8980 * frame.c [USE_FONT_BACKEND]: Include "font.h".
8981 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
8982
8983 * lisp.h (assoc_no_quit): Extern it.
8984
8985 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8986 Through out the file, use FONT_INFO_FROM_FACE instead of
8987 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8988 rif->per_char_metric.
8989 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8990 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8991 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8992 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8993 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8994 nonzero, use font-backend mechanism.
8995 (get_per_char_metric): New function.
8996
8997 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8998 (set_lface_from_font_name)
8999 (set_font_frame_param, free_realized_face)
9000 (prepare_face_for_display, clear_face_gcs)
9001 (Finternal_set_font_selection_order, realize_x_face)
9002 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9003 font-backend mechanism.
9004 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9005 (load_face_font) [USE_FONT_BACKEND]: Abort.
9006 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9007 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9008
9009 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9010 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9011 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9012 nonzero, register all available font drivers. Call
9013 x_default_font_parameter for deciding a font.
9014 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9015
9016 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9017 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9018 (x_set_glyph_string_clipping_exactly)
9019 (x_compute_glyph_string_overhangs)
9020 (x_draw_glyph_string_foreground)
9021 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9022 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9023 enable_font_backend is nonzero, use font-backend mechanism.
9024 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9025
90262008-02-01 Kenichi Handa <handa@m17n.org>
9027
9028 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9029 system_eol_type.
9030 (syms_of_coding): Initialize system_eol_type.
9031
9032 * process.c (Fset_process_coding_system): Inherit system's eol
9033 format if necessary.
9034
90352008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9036
9037 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9038
90392008-02-01 Kenichi Handa <handa@m17n.org>
9040
9041 * coding.c (decode_eol): Pay attention to buffer relocation in
9042 del_range_2.
9043 (decode_coding): Call decode_eol before restoring undo_list.
9044
90452008-02-01 Kenichi Handa <handa@m17n.org>
9046
9047 * charset.c (Fdefine_charset_internal): Fix setting of
9048 emacs_mule_bytes.
9049
90502008-02-01 Kenichi Handa <handa@m17n.org>
9051
9052 * keyboard.c (read_char): Check if C is a character or not before
9053 looking up Vkeyboard_translate_table.
9054
90552008-02-01 Kenichi Handa <handa@m17n.org>
9056
9057 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9058 condition to terminate the loop.
9059
90602008-02-01 Kenichi Handa <handa@m17n.org>
9061
9062 * coding.c (produce_composition): Compare charbuf[i] instead of
9063 args[i] against 0.
9064 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9065
90662008-02-01 Kenichi Handa <handa@m17n.org>
9067
9068 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9069 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9070 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9071 detect_coding.
9072 (emacs_mule_char): Handle old style (Emacs 20) component character
9073 of a composition.
9074 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9075 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9076 composition rule.
9077 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9078
90792008-02-01 Kenichi Handa <handa@m17n.org>
9080
9081 * coding.c (encode_coding_ccl): Allocate destination dynamically
9082 when necessary.
9083
90842008-02-01 Kenichi Handa <handa@m17n.org>
9085
9086 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9087 the loop. When quitted, show a proper error message.
9088
90892008-02-01 Kenichi Handa <handa@m17n.org>
9090
9091 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9092 src->clip_head and src->clip_tail temporarily instead of src->hl.
9093
9094 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9095 character sequence.
9096 (Fccl_execute_on_string): Use ASET, not XSET.
9097
90982008-02-01 Kenichi Handa <handa@m17n.org>
9099
9100 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9101
91022008-02-01 Kenichi Handa <handa@m17n.org>
9103
9104 * coding.c (decode_coding): Fix the condition of terminating the
9105 decoding loop.
9106
91072008-02-01 Kenichi Handa <handa@m17n.org>
9108
9109 * data.c (Faset): On setting a character bigger than 255 in a
9110 unibyte string, signal an error instead of make the string multibyte.
9111
91122008-02-01 Kenichi Handa <handa@m17n.org>
9113
9114 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9115 made by a mapping table.
9116
91172008-02-01 Kenichi Handa <handa@m17n.org>
9118
9119 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9120 not.
9121 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9122 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9123
9124 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9125 s->face is NULL or not.
9126
91272008-02-01 Kenichi Handa <handa@m17n.org>
9128
9129 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9130 (x_draw_glyph_string): Fix drawing of right_overhang and
9131 left_overhang around/on cursor.
9132
9133 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9134
91352008-02-01 Kenichi Handa <handa@m17n.org>
9136
9137 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9138
91392008-02-01 Kenichi Handa <handa@m17n.org>
9140
9141 * coding.c (Fdefine_coding_system_internal)
9142 (Fdefine_coding_system_alias): Avoid a duplicated element in
9143 Vcoding_system_alist.
9144
91452008-02-01 Kenichi Handa <handa@m17n.org>
9146
9147 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9148
9149 * coding.c (Qcoding_system_define_form): New variable.
9150 (syms_of_coding): Intern and staticpro it.
9151 (Fcoding_system_p): Check Qcoding_system_define_form.
9152 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9153
9154 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9155 Fcoding_system_p.
9156 (CHECK_CODING_SYSTEM): If ID is not available, call
9157 Fcheck_coding_system.
9158 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9159 Try also Fcheck_coding_system.
9160
91612008-02-01 Kenichi Handa <handa@m17n.org>
9162
9163 * coding.c (code_conversion_restore): GCPRO arg.
9164
91652008-02-01 Kenichi Handa <handa@m17n.org>
9166
9167 * character.c (lisp_string_width): Check multibyteness of STRING.
9168
91692008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9170
9171 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9172 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9173 (decode_mac_font_name): Use decode_coding_c_string instead of
9174 decode_coding.
9175 (x_load_font): Initialize fontp->fontset to -1. Set
9176 fontp->encoding_type.
9177
91782008-02-01 Kenichi Handa <handa@m17n.org>
9179
9180 * search.c (search_buffer): Give up BM search on case-fold-search
9181 if one of a target character has a case-equivalence of different
9182 byte length even if that target charcter is an ASCII.
9183 (simple_search): Fix calculation of byte length of matched text.
9184 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9185
91862008-02-01 Kenichi Handa <handa@m17n.org>
9187
9188 * coding.c (decode_coding): Fix handling of invalid bytes.
9189
91902008-02-01 Kenichi Handa <handa@m17n.org>
9191
9192 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9193 Unicode characters.
9194
91952008-02-01 Kenichi Handa <handa@m17n.org>
9196
9197 * coding.c (encode_coding_object): If a pre-write-conversion
9198 function makes a new buffer, kill it.
9199
92002008-02-01 Kenichi Handa <handa@m17n.org>
9201
9202 * coding.c (QCascii_compatible_p): New variable.
9203 (syms_of_coding): Initialize it.
9204 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9205 calling string_char.
9206 (record_conversion_result): Add `default:' case.
9207 (coding_charset_list): Delete unused variable `coding_type'.
9208 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9209 property in the plist of the coding system.
9210 (Fcoding_system_put): Check QCascii_compatible_p.
9211
92122008-02-01 Miles Bader <miles@gnu.org>
9213
9214 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9215 removed calculation of frame `f', as it's now used.
9216
92172008-02-01 Kenichi Handa <handa@m17n.org>
9218
9219 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9220 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9221 (UNIDATA): New variable.
9222 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9223 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9224 $(RUN_TEMACS) unconditionally.
9225
92262008-02-01 Kenichi Handa <handa@m17n.org>
9227
9228 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9229 (admindir): New variable.
9230 ($(lispsource)international/charprop.el): New target.
9231
92322008-02-01 Miles Bader <miles@gnu.org>
9233
9234 * character.c (chars-in-region): Remove obsolete function.
9235 (syms_of_character): Remove its initialization.
9236
92372008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9238
9239 * w32select.c (validate_coding_system)
9240 (setup_windows_coding_system): New functions.
9241 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9242 setup_windows_coding_system.
9243 (setup_config, Fw32_get_clipboard_data): Use
9244 validate_coding_system.
9245 (Fx_selection_exists): Move call to setup_config to a place
9246 where signals are allowed.
9247
9248 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9249 (Fcheck_coding_system): Add declarations.
9250
92512008-02-01 Kenichi Handa <handa@m17n.org>
9252
9253 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9254
92552008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9256
9257 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9258 string as the second argument for x_new_fontset.
9259
92602008-02-01 Kenichi Handa <handa@m17n.org>
9261
9262 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9263 (encode_coding_object): Use safe_call instead of call2.
9264
92652008-02-01 Kenichi Handa <handa@m17n.org>
9266
9267 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9268
9269 * Makefile.in (lisp): Include charprop.el.
9270
92712008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9272
9273 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9274 Not sure if it's unnecessary.
9275
92762008-02-01 Steven Tamm <steventamm@mac.com>
9277
9278 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9279 some possibly unnecessary fontset checking code that crashed
9280 when creating a new frame.
9281
92822008-02-01 Kenichi Handa <handa@m17n.org>
9283
9284 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9285 lookup_face.
9286
9287 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9288
9289 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9290
92912008-02-01 Kenichi Handa <handa@m17n.org>
9292
9293 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9294 (coding_charset_list): New function.
9295
9296 * coding.h (coding_charset_list): Extern it.
9297
92982008-02-01 Kenichi Handa <handa@m17n.org>
9299
9300 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9301 concatenation of family and registry.
9302
93032008-02-01 Kenichi Handa <handa@m17n.org>
9304
9305 * character.h (BYTE8_STRING): Fix typo.
9306
9307 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9308 string to multibyte (sync to HEAD).
9309
9310 * casefiddle.c (casify_region): Handle changes in byte-length
9311 using replace_range_2 (sync to HEAD).
9312
93132008-02-01 Andreas Schwab <schwab@suse.de>
9314
9315 * chartab.c (map_char_table): GCPRO table and arg.
9316
93172008-02-01 Kenichi Handa <handa@m17n.org>
9318
9319 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9320 already at limit.
9321
93222008-02-01 Kenichi Handa <handa@m17n.org>
9323
9324 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9325 instead of fast_c_string_match_ignore_case.
9326 (find_font_encoding): Change argument to Lisp_Object. Use
9327 fast_string_match_ignore_case instead of
9328 fast_c_string_match_ignore_case. Change caller.
9329
93302008-02-01 Kenichi Handa <handa@m17n.org>
9331
9332 * xdisp.c (get_next_display_element): In unibyte case, decide to
9333 display in octal form by checking a character by
9334 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9335
9336 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9337
9338 * character.c (unibyte_has_multibyte_table): New variable.
9339
9340 * character.h (unibyte_has_multibyte_table): Extern it.
9341 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9342
93432008-02-01 Kenichi Handa <handa@m17n.org>
9344
9345 * coding.c (encode_coding_iso_2022): Fix handling of charset
9346 annotation.
9347
93482008-02-01 Kenichi Handa <handa@m17n.org>
9349
9350 * coding.c (setup_coding_system): If coding_system is nil, use
9351 Qundecided.
9352 (Fterminal_coding_system): Return nil if terminal coding system is
9353 `undecided'.
9354 (syms_of_coding): Define coding-system `undecided' here. Setup
9355 terminal_coding as `undecided'.
9356
93572008-02-01 Kenichi Handa <handa@m17n.org>
9358
9359 * xdisp.c (message_dolog, set_message_1): Call
9360 unibyte_char_to_multibyte with arg type int.
9361
9362 * lread.c (read1): Fix reading of a char-table.
9363
9364 * print.c (print_object): Include sub char-table in circularities
9365 detection.
9366
93672008-02-01 Kenichi Handa <handa@m17n.org>
9368
9369 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9370 Append the found sequences in car of ARGS instead of prepending.
9371
93722008-02-01 Kenichi Handa <handa@m17n.org>
9373
9374 * fileio.c (report_file_error): Make a unibyte string from
9375 strerror (errorno).
9376 (Fsubstitute_in_file_name): Fix the arg to
9377 unibyte_char_to_multibyte. It is evaluated twice.
9378
93792008-02-01 Kenichi Handa <handa@m17n.org>
9380
9381 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9382
93832008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9386 BOM is not found.
9387 (detect_coding, detect_coding_system): Optimization for ISO-2022
9388 when no 8-bit data is found.
9389
93902008-02-01 Jason Rumney <jasonr@gnu.org>
9391
9392 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9393
93942008-02-01 Kenichi Handa <handa@m17n.org>
9395
9396 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9397 CHARS.
9398
93992008-02-01 Steven Tamm <steventamm@mac.com>
9400
9401 * macterm.c (mac_encode_char): Add charset argument and update
9402 to use encoding_type.
9403 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9404 switch to pure fontset.
9405 (decode_mac_font_name): Temporarily remove decoding.
9406 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9407 (x_load_font): Temporarily remove encoding.
9408
94092008-02-01 Kenichi Handa <handa@m17n.org>
9410
9411 * xfaces.c (Fface_font): If frame is not on a window system,
9412 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9413 refer to face->font.
9414 (split_font_name_into_vector, build_font_name_from_vector)
9415 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9416 when HAVE_WINDOW_SYSTEM is defined.
9417
94182008-02-01 Kenichi Handa <handa@m17n.org>
9419
9420 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9421 (x_produce_glyphs): Fix setting of members of cmp in case
9422 cmp->glyph_len is zero.
9423
9424 * fontset.c (Fset_fontset_font): Fix docstring.
9425 (Ffontset_info): Make it backward compatible. New arg ALL.
9426
94272008-02-01 Kim F. Storm <storm@cua.dk>
9428
9429 * process.c (read_process_output): Grow decoding_buf when needed;
9430 this could cause a crash in allocate_string and compact_small_strings.
9431
94322008-02-01 Kenichi Handa <handa@m17n.org>
9433
9434 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9435
94362008-02-01 Kenichi Handa <handa@m17n.org>
9437
9438 * coding.c (setup_coding_system): Set coding->common_flags
9439 correctly for raw-text.
9440 (consume_chars): On encoding unibyte text by raw-text, don't check
9441 multibyte form.
9442 (encode_coding): On encoding by raw-text, never use translation tables.
9443
9444 * fileio.c (e_write): Short cut for the case of no encoding.
9445
94462008-02-01 Kenichi Handa <handa@m17n.org>
9447
9448 * coding.c (detect_coding, detect_coding_system): Delete unused
9449 variables.
9450
94512008-02-01 Kenichi Handa <handa@m17n.org>
9452
9453 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9454 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9455
94562008-02-01 Kenichi Handa <handa@m17n.org>
9457
9458 * coding.c (Ffind_coding_systems_region_internal): Include
9459 raw-text and no-conversion in the result.
9460
94612008-02-01 Kenichi Handa <handa@m17n.org>
9462
9463 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9464 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9465 FONT_DEF.
9466 (font_def_arg, add_arg, from_arg, to_arg): New args.
9467 (set_fontset_font): Change argument.
9468 (Fset_fontset_font): Fix for the case that TARGET is a script
9469 name and charset name.
9470 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9471
94722008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * fontset.c (fontset_font): Rename from fontset_face. Change return
9475 value.
9476 (face_suitable_for_char_p, face_for_char): Adjust for the change
9477 of fontset_font.
9478 (make_fontset_for_ascii_face): Fix setting of the fontset element
9479 for ASCII.
9480 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9481 to get a font name.
9482 (Ffontset_info): Adjust for the change of fontset_font.
9483
9484 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9485
9486 * character.h (LEADING_CODE_LATIN_1_MIN)
9487 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9488
94892008-02-01 Kenichi Handa <handa@m17n.org>
9490
9491 * editfns.c (check_translation): New function.
9492 (Ftranslate_region_internal): Handle M:N mapping.
9493
94942008-02-01 Kenichi Handa <handa@m17n.org>
9495
9496 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9497
94982008-02-01 Kenichi Handa <handa@m17n.org>
9499
9500 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9501 goto invalid_code.
9502 (decode_coding_iso_2022): Fix handling of invalid designation.
9503
9504 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9505 after calling code_conversion_save.
9506
95072008-02-01 Kenichi Handa <handa@m17n.org>
9508
9509 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9510
9511 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9512
9513 * fontset.c: Include "intervals.h".
9514 (fontset_face): Fix comparing of Lisp_Objects.
9515 (free_face_fontset, new_fontset_from_font_name): Fix
9516 Lisp_Object/int mixup.
9517
9518 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9519
9520 * coding.c: Add many prototypes for static functions.
9521 (get_translation_table): Allow max_lookup to be NULL.
9522 (decode_coding, Ffind_coding_systems_region_internal)
9523 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9524 get_translation_table with max_lookup NULL.
9525
95262008-02-01 Kenichi Handa <handa@m17n.org>
9527
9528 * coding.c (get_translation_table): Declare it as Lisp_Object.
9529 (LOOKUP_TRANSLATION_TABLE): New macro.
9530 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9531 instead of CHAR_TABLE_REF.
9532
95332008-02-01 Kenichi Handa <handa@m17n.org>
9534
9535 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9536 annotation data format.
9537 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9538 Change arguments FROM and TO to single argument NCHARS. Change caller.
9539 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9540 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9541 (decode_coding_ccl, decode_coding_charset): Pay attention to
9542 coding->charbuf_used.
9543 (get_translation): New function.
9544 (produce_chars): New arguments translation_table and last_block.
9545 Translate characters here. Return number of carryover chars.
9546 Change caller.
9547 (produce_composition): New argument pos. Change caller.
9548 Adjust for the change of annotation data format.
9549 (produce_charset, produce_annotation): Likewise.
9550 (decode_coding, encode_coding): Don't call translate_chars.
9551 (consume_chars): New arg translation_table. Change caller.
9552 (translate_chars): Delete.
9553 (syms_of_coding): Make translation-table's number of extra slots 2.
9554
95552008-02-01 Kenichi Handa <handa@m17n.org>
9556
9557 * search.c (simple_search): Fix setting this_pos_byte in backward
9558 search.
9559
9560 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9561 byte sequence.
9562 (detect_coding_ccl): Fix setting of the variable valids.
9563
95642008-02-01 Kenichi Handa <handa@m17n.org>
9565
9566 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9567
9568 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9569
9570 * editfns.c (Ftranslate_region_internal): Rename from
9571 Ftranslate_region. Accept a char-table in TABLE.
9572 (syms_of_editfns): Defsubr Stranslate_region_internal.
9573
9574 * xfaces.c (set_lface_from_font_name): If a font is specified for
9575 a frame, generate a fontset from the font.
9576 (build_scalable_font_name): If the scalable font is requested for
9577 a specific size, don't change that size.
9578 (try_font_list): Try a scalable font also in the case that a
9579 pattern string is specified.
9580
95812008-02-01 Kenichi Handa <handa@m17n.org>
9582
9583 * xfaces.c (Fface_font): New optional arg CHARACTER.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * charset.h (CHARSET_OFFSET): New macro.
9588
95892008-02-01 Kenichi Handa <handa@m17n.org>
9590
9591 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9592
9593 * fontset.c (fontset_face): Handle the case that repertory is a
9594 char-table.
9595 (find_font_encoding): Return nil for unknown encoding.
9596 (Fset_fontset_font): Ignore a font of unknown encoding.
9597
95982008-02-01 Kenichi Handa <handa@m17n.org>
9599
9600 * keymap.c (describe_vector): Handle default value of a char table.
9601
9602 * fontset.c (fontset_face): Handle fallback fonts correctly.
9603 (Ffontset_info): Return infomation about fallback fonts.
9604
96052008-02-01 Kenichi Handa <handa@m17n.org>
9606
9607 * fontset.c (FONTSET_DEFAULT): New macro.
9608 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9609 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9610 the case that it is nil.
9611 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9612 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9613
9614 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9615 subset or superset.
9616
96172008-02-01 Kenichi Handa <handa@m17n.org>
9618
9619 * emacs.c (main): Call init_charset after syms_of_XXX.
9620
9621 * charset.c (Vcharset_map_directory): Delete.
9622 (Vcharset_map_path): New variable.
9623 (load_charset_map_from_file): Use Vcharset_map_path instead.
9624 (init_charset): Initialize Vcharset_map_path.
9625 (syms_of_charset): Delete declaration of "charset-map-directory",
9626 add declaration of "charset-map-path".
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9631 ASCII only string.
9632
9633 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9634
9635 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9636 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9637
96382008-02-01 Kenichi Handa <handa@m17n.org>
9639
9640 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9641
9642 * coding.c (QCmnemonic, QCdefalut_char)
9643 (QCdecode_translation_table, QCencode_translation_table)
9644 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9645 (get_translation_table): Return a list of translation tables if
9646 necessary.
9647 (decode_coding): Call get_translation_table with ENCODEP 0.
9648 (char_encodable_p): If translation_table is non-nil, always call
9649 translate_char.
9650 (Fdefine_coding_system_internal): Accept list of translation
9651 tables as :encode-translation-table and :decode-translation-table.
9652 (Fcoding_system_put): New function.
9653 (syms_of_coding): Declare new symbols. Defsubr
9654 Scoding_system_put.
9655 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9656 typically JISX0212.
9657
9658 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9659 when the charset is superset type.
9660
9661 * character.c (translate_char): Accept list of translation tables.
9662
96632008-02-01 Kenichi Handa <handa@m17n.org>
9664
9665 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9666 (CODING_ATTR_TRANS_TBL): New macro.
9667
9668 * coding.c (get_translation_table): New function.
9669 (translate_chars): Fix the bug of skipping annotation data.
9670 (decode_coding, encode_coding): Utilize get_translation_table.
9671 (char_encodable_p, Funencodable_char_position): Translate char if
9672 necessary.
9673 (Ffind_coding_systems_region_internal)
9674 (Fcheck_coding_systems_region): Setup translation table for encode
9675 in a coding system attribute vector in advance.
9676 (Fdefine_coding_system_internal): Allow a symbol as translation
9677 table. For shift-jis type coding system, allow 4th charset.
9678
96792008-02-01 Kenichi Handa <handa@m17n.org>
9680
9681 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9682
9683 * xdisp.c (get_next_display_element): Pass -1 as POS to
9684 FACE_FOR_CHAR if displaying a C-string.
9685
96862008-02-01 Kenichi Handa <handa@m17n.org>
9687
9688 * composite.c (get_composition_id): Handle xoff and yoff in a
9689 composition rule.
9690
9691 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9692 (struct composition): New member lbearing and rbearing.
9693
9694 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9695 (x_get_glyph_overhangs): Handle a composition glyph.
9696 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9697
9698 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9699 composition glyph.
9700
97012008-02-01 Kenichi Handa <handa@m17n.org>
9702
9703 * print.c: Include charset.h.
9704 (Vprint_charset_text_property): New variable.
9705 (Qdefault): Extern it.
9706 (PRINT_STRING_NON_CHARSET_FOUND)
9707 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9708 (print_check_string_result): New variable.
9709 (print_check_string_charset_prop): New function.
9710 (print_prune_charset_plist): New variable.
9711 (print_prune_string_charset): New function.
9712 (print_object): Call print_prune_string_charset if
9713 Vprint_charset_text_property is not t.
9714 (print_interval): Print nothing if interval->plist is nil.
9715 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9716 variable. Init and staticpro print_prune_charset_plist.
9717
97182008-02-01 Kenichi Handa <handa@m17n.org>
9719
9720 * fontset.c (new_fontset_from_font_name): Use the specified font
9721 for all characters in the new fontset.
9722
9723 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9724 OBJECT args.
9725
9726 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9727 OBJECT args for composition too.
9728
9729 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9730 OBJECT args.
9731
97322008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9735
9736 * fontset.c (reorder_font_vector): Adjust for the change of
9737 FONT_DEF format.
9738 (fontset_face): New arg id. Change caller.
9739 (face_for_char): New args pos and object.
9740 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9741 (fs_query_fontset): Check NAME by Fassoc too.
9742 (Fset_fontset_font): Allow non-XLFD font name.
9743 (Ffontset_info): Adjust for the change of FONT_DEF format.
9744
9745 * fontset.h (face_for_char): Adjust prototype.
9746
9747 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9748 (append_space, extend_face_to_end_of_line)
9749 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9750 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9751
9752 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9753 POS and OBJECT args.
9754
9755 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9756 POS and OBJECT args.
9757
97582008-02-01 Jason Rumney <jasonr@gnu.org>
9759
9760 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9761 of GlobalAlloc'ed memory.
9762
97632008-02-01 Kenichi Handa <handa@m17n.org>
9764
9765 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9766
9767 * charset.h (charset_table_used): Delete extern.
9768
9769 * charset.c (charset_table_used): Make it static.
9770 (map_charset_chars): Fix args to c_function with.
9771
9772 * chartab.c (map_sub_char_table_for_charset): Fix args to
9773 c_function with.
9774
9775 * coding.h (enum coding_result_code): Delete
9776 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9777
9778 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9779 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9780 (Vlast_code_conversion_error): New variables.
9781 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9782 (ONE_MORE_BYTE): Record error if any instead of signaling an
9783 error. If non-ASCII multibyte char is found, return the negative
9784 value of the code. All callers changed to check it.
9785 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9786 (record_conversion_result): New function. Change all codes setting
9787 coding->result to call this function.
9788 (detect_coding_utf_8, decode_coding_utf_8)
9789 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9790 Don't use the local variable incomplete.
9791 (emacs_mule_char): Change the second arg to `const'.
9792 (decode_coding): Fix of flushing out unprocessed data.
9793 (make_conversion_work_buffer): Fix making of a work buffer.
9794 (decode_coding_object): Return coding->dst_object.
9795
9796 * fontset.c (set_fontset_font): Fix args.
9797
9798 * lisp.h (CHARACTERBITS): Define as 22.
9799
9800 * process.c (send_process): Be sure to set coding->src_multibyte.
9801
9802 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * xdisp.c (handle_auto_composed_prop): Give limit to
9807 Fnext_single_char_property_change.
9808
98092008-02-01 Kenichi Handa <handa@m17n.org>
9810
9811 * composite.c (syms_of_composite): Don't make the composition hash
9812 table weak.
9813
9814 * fontset.c (Fset_fontset_font): Fix docstring.
9815
9816 * lisp.h (detect_coding_system): Adjust prototype.
9817
9818 * fileio.c (kill_workbuf_unwind): Delete this function.
9819 (Finsert_file_contents): Adjust the call of detect_coding_system.
9820 Get conversion_buffer by code_conversion_save. Use the macro
9821 CODING_MAY_REQUIRE_DECODING. After decoding, update
9822 coding_system.
9823
9824 * coding.h (make_conversion_work_buffer): Delete extern.
9825 (code_conversion_save): Extern it.
9826
9827 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9828 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9829 (decode_coding_utf_8): Don't do eol converion.
9830 (detect_coding_utf_16): Check coding->src_chars, not
9831 coding->src_bytes. Add heuristics for those that have no signature.
9832 (decode_coding_emacs_mule, decode_coding_iso_2022)
9833 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9834 Don't do eol converion.
9835 (adjust_coding_eol_type): Return a new coding system.
9836 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9837 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9838 each change.
9839 (decode_coding): Pay attention to undo_list. Do eol conversion for
9840 all types of coding-systems (if necessary).
9841 (Vcode_conversion_work_buf_list): Delete it.
9842 (Vcode_conversion_reused_workbuf): Rename from
9843 Vcode_conversion_reused_work_buf.
9844 (Vcode_conversion_workbuf_name): New variable.
9845 (reused_workbuf_in_use): New variable.
9846 (make_conversion_work_buffer): Delete the arg DEPTH.
9847 (code_conversion_restore): Change argument to cons.
9848 (code_conversion_save): Delete the argument BUFFER. Change callers.
9849 (detect_coding_system): New argument src_chars. Change callers.
9850 Fix for utf-16 detection.
9851 (init_coding_once): Don't use ISO_carriage_return.
9852 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9853 reused_workbuf_in_use.
9854
98552008-02-01 Kenichi Handa <handa@m17n.org>
9856
9857 * keymap.c (store_in_keymap): Pay attention to the case that idx
9858 is a cons specifying a character range.
9859
98602008-02-01 Kenichi Handa <handa@m17n.org>
9861
9862 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9863 HANDLED_RECOMPUTE_PROPS.
9864
9865 * coding.c (Fdefine_coding_system_internal): Fix checking of
9866 ascii compatibility.
9867
98682008-02-01 Kenichi Handa <handa@m17n.org>
9869
9870 * charset.c (find_charsets_in_text): Delete unused locale variable.
9871 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9872
9873 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9874 Resync charset_list to Vemacs_mule_charset_list.
9875
9876 * keymap.c (store_in_keymap): Pay attention to the case that idx
9877 is a cons specifying a character range.
9878
98792008-02-01 Kenichi Handa <handa@m17n.org>
9880
9881 * composite.c (update_compositions): Bind inhibit-read-only, etc
9882 to t before calling remove-list-of-text-properties.
9883
9884 * print.c (print_object): Always print ASCII chars as is.
9885
98862008-02-01 Kenichi Handa <handa@m17n.org>
9887
9888 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9889
9890 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9891 is a char table.
9892
98932008-02-01 Kenichi Handa <handa@m17n.org>
9894
9895 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9896
98972008-02-01 Kenichi Handa <handa@m17n.org>
9898
9899 * xfaces.c (set_lface_from_font_name): Fix for the case that
9900 FONTNAME is not fontset name.
9901
99022008-02-01 Kenichi Handa <handa@m17n.org>
9903
9904 * fns.c (base64_encode_1): Fix previous change.
9905
99062008-02-01 Kenichi Handa <handa@m17n.org>
9907
9908 * fontset.c (set_fontset_font): New function.
9909 (Fset_fontset_font): If a font is specified for a charset, use
9910 map_charset_chars to store the font spec in a fontset.
9911
99122008-02-01 Kenichi Handa <handa@m17n.org>
9913
9914 * fontset.c (fontset_face): Create a fallback fontset on demand.
9915 (make_fontset): Don't create a fallback fontset here.
9916 (free_face_fontset): Free a fallback fontset (if any) too.
9917 (n_auto_fontsets): Delete this variable.
9918 (auto_fontset_alist): New variable.
9919 (new_fontset_from_font_name): Check auto_fontset_alist.
9920 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9921 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9922 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9923 Defsubr Sfontset_list_all.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9928
99292008-02-01 Kenichi Handa <handa@m17n.org>
9930
9931 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9932
99332008-02-01 Kenichi Handa <handa@m17n.org>
9934
9935 * editfns.c (Fgoto_char): Fix docstring.
9936
99372008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * insdel.c (insert_from_gap): Adjust intervals correctly.
9940
99412008-02-01 Jason Rumney <jasonr@gnu.org>
9942
9943 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9944 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9945 (w32_initialize): Try to load it.
9946 (x_get_font_repertory): Use it if available.
9947 (w32_encode_char): Add shortcut for unicode output.
9948
9949 * w32fns.c (w32_load_system_font): Default charset to -1.
9950 (x_to_w32_charset): Match all fonts for unicode.
9951 (w32_to_x_charset): New parameter matching. Don't return partial
9952 or wildcard charsets.
9953 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9954 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9955 (w32_to_x_font): Match charset to real charset.
9956 (enum_font_cb2): Always list unicode versions.
9957
9958 * makefile.w32-in (temacs): Increase EMHEAP.
9959
99602008-02-01 Jason Rumney <jasonr@gnu.org>
9961
9962 * w32term.c (w32_encode_char): New charset parameter.
9963 font_info.encoding becomes encoding_type.
9964 (x_get_font_repertory): New function. Warning: stub only!
9965 (x_new_font): Return quickly if font already set.
9966 (x_new_fontset): fontsetname parameter is Lisp_Object.
9967 Use new fs_query_fontset. Try new_fontset_from_font_name.
9968 Use fontset_name for return value.
9969
9970 * w32term.h: Declare x_get_font_repertory.
9971
9972 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
9973 place of find_charset_in_text. Use encode_coding_object in place
9974 of encode_coding.
9975 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9976 decode_coding.
9977
9978 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9979 of x_new_fontset.
9980 (w32_load_system_font): Initialize charset as unicode.
9981 font_info.encoding becomes encoding_type.
9982 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9983 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
9984 (syms_of_w32fns): Set get_font_repertory_func.
9985
9986 * w32console.c: Include character.h. Use terminal_encode_buffer
9987 from term.c.
9988 (write_glyphs): Use new version of encode_terminal_code. Use
9989 encode_coding_object in place of encode_coding.
9990
9991 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9992 encoding becomes encoding_type.
9993
9994 * term.c (terminal_encode_buffer): Make externally visible.
9995
9996 * makefile.w32-in: Add character.h dependancies.
9997 (character.o, chartab.o): New targets.
9998
99992008-02-01 Kenichi Handa <handa@m17n.org>
10000
10001 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10002 CODING_ID_EOL_TYPE.
10003
100042008-02-01 Andreas Schwab <schwab@suse.de>
10005
10006 * coding.c (produce_chars): Revert last change.
10007
100082008-02-01 Kenichi Handa <handa@m17n.org>
10009
10010 * charset.h (charset_unicode): Extern it.
10011
10012 * charset.c (string_xstring_p): Check by (C >= 0x100).
10013 (find_charsets_in_text): Change format of the arc CHARSETS. New
10014 arg MULTIBYTE.
10015 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10016 change of find_charsets_in_text.
10017 (Fsplit_char): Fix doc. Never return unknown.
10018
10019 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10020
10021 * coding.c (Fdefine_coding_system_alias): Update
10022 Vcoding_system_list.
10023
10024 * fontset.c (load_font_get_repertory): Pay attention to the case
10025 that ENCODING of a font is specified by a char-table.
10026
10027 * xterm.c (x_get_font_repertory): Handle the case that the
10028 encoding of font is other than Unicode.
10029
100302008-02-01 Kenichi Handa <handa@m17n.org>
10031
10032 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10033 if a character is encodable by the terminal coding system. If
10034 not, produces proper number of `?'s. Update
10035 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10036 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10041 variables.
10042 (encode_terminal_code): Change argument. Encode multiple
10043 characters at once. Store the result of encoding in
10044 terminal_encode_buffer.
10045 (write_glyphs, insert_glyphs): Adjust for the change of
10046 encode_terminal_code.
10047 (term_init): Initialize terminal_encode_buffer and
10048 terminal_encode_buf_size.
10049
10050 * coding.c (consume_chars): If coding->src_object is nil, don't
10051 check annotation.
10052
100532008-02-01 Kenichi Handa <handa@m17n.org>
10054
10055 * character.c (char_string): Use ASCII_CHAR_P instead of
10056 SINGLE_BYTE_CHAR_P.
10057
100582008-02-01 Kenichi Handa <handa@m17n.org>
10059
10060 * xdisp.c (handle_auto_composed_prop): Check if the last
10061 characters of auto-composed region is newly composed with the
10062 following characters.
10063 (handle_composition_prop): Fix checking of point being inside
10064 composition.
10065
100662008-02-01 Kenichi Handa <handa@m17n.org>
10067
10068 * fns.c (concat): Don't change multibyteness of the result by
10069 concatenating an 8-bit character.
10070
10071 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10072 multibyteness of the result when newelt is an 8-bit character.
10073
100742008-02-01 Dave Love <fx@gnu.org>
10075
10076 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10077 EMACS_INT.
10078
10079 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10080
10081 * xfaces.c (face_numeric_value): Declare dim size_t.
10082 (Finternal_lisp_face_equal_p): Remove unused f.
10083
10084 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10085 (MATRIX_ROW): Remove unused vars.
10086 (draw_glyphs, x_insert_glyphs, fast_find_position)
10087 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10088 byte/char counts.
10089
10090 * regex.c (regex_compile): Remove unused var.
10091
10092 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10093
10094 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10095 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10096
10097 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10098
10099 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10100
10101 * fileio.c (Fwrite_region): Remove unused var.
10102
10103 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10104 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10105
10106 * composite.c (Fremove_list_of_text_properties): Declare.
10107
10108 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10109 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10110 (coding_inherit_eol_type): Remove unused attrs.
10111 (detect_coding): Cast arg of detect_eol.
10112
10113 * charset.c (syms_of_charset): Remove unused var p.
10114 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10115 byte/char counts.
10116
10117 * casetab.c (set_case_table): Remove unused var.
10118
10119 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10120 unused vars.
10121
101222008-02-01 Dave Love <fx@gnu.org>
10123
10124 * xterm.c (x_bitmap_mask): Declare.
10125
101262008-02-01 Dave Love <fx@gnu.org>
10127
10128 * xterm.c (x_term_init): Fix type error.
10129
10130 * lisp.h: Add Funibyte_char_to_multibyte.
10131
10132 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10133 (Fset_coding_system_priority): Doc fix.
10134
10135 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10136
10137 * indent.c (check_composition): Make start and end EMACS_INT.
10138
10139 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10140
10141 * xdisp.c (handle_composition_prop, check_point_in_composition):
10142 Make buffer positions EMACS_INT.
10143
10144 * composite.c (find_composition, run_composition_function)
10145 (update_compositions, Ffind_composition_internal): Make buffer
10146 positions EMACS_INT.
10147
10148 * composite.h (find_composition, update_compositions): Make
10149 position args EMACS_INT.
10150
10151 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10152
10153 * intervals.c (get_property_and_range):
10154 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10155
10156 * unexalpha.c: Don't include varargs.h.
10157
101582008-02-01 Dave Love <fx@gnu.org>
10159
10160 * coding.h (ENCODE_UTF_8): New.
10161
10162 * Makefile.in (gtkutil.o): Depend on coding.h.
10163
10164 * coding.c (Fset_coding_system_priority): Doc fix.
10165
101662008-02-01 Kenichi Handa <handa@m17n.org>
10167
10168 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10169 the case of auto saving.
10170
101712008-02-01 Andreas Schwab <schwab@suse.de>
10172
10173 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10174 `range' from GC.
10175
101762008-02-01 Kenichi Handa <handa@m17n.org>
10177
10178 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10179
101802008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * fileio.c (choose_write_coding_system): Return a decided coding system.
10183 (Fwrite_region): Set Vlast_coding_system_used to the return value
10184 of choose_write_coding_system.
10185
101862008-02-01 Kenichi Handa <handa@m17n.org>
10187
10188 * charset.c (Fset_charset_priority): Pay attention to duplicated
10189 arguments.
10190
10191 * coding.c (QCcategory): New variable.
10192 (syms_of_coding): Defsym it. Set all elements of
10193 Vcoding_category_table and their symbol values.
10194 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10195 coding-category-XXX, and coding-category-list.
10196 (Fdefine_coding_system_internal): Add category in the plist.
10197
101982008-02-01 Kenichi Handa <handa@m17n.org>
10199
10200 * callproc.c (Fcall_process): Handle carryover correctly.
10201
10202 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10203 (raw_text_coding_system): Check NILP (coding_system).
10204 (coding_inherit_eol_type): Check NILP (coding_system) and
10205 NILP (parent).
10206 (consume_chars): Fix for the case of raw-text.
10207
10208 * process.c (read_process_output): Handle carryover correctly.
10209
102102008-02-01 Dave Love <fx@gnu.org>
10211
10212 * regex.c (re_search_2): Fix last change.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10217 target_multibyte. Even in a unibyte case, return a converted
10218 multibyte char.
10219 (GET_CHAR_AFTER): New macro.
10220 (PATFETCH): Translate via multibyte char.
10221 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10222 (SETUP_MULTIBYTE_RANGE): New macro.
10223 (regex_compile): Setup compiled code so that its multibyteness
10224 matches that of a target. Fix the handling of "[X-YZ]" using
10225 SETUP_MULTIBYTE_RANGE.
10226 (analyse_first) <charset>: For filling fastmap for all multibyte
10227 characters, don't check by BASE_LEADING_CODE_P.
10228 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10229 the same as RE_MULTIBYTE_P (bufp) now.
10230 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10231 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10232 (TRANSLATE_VIA_MULTIBYTE): New macro.
10233 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10234 It is the same as RE_MULTIBYTE_P (bufp) now.
10235 <exactn>: Translate via multibyte.
10236 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10237 translate it.
10238 <charset, charset_not>: Fetch a character by
10239 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10240 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10241 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10242 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10243 by GET_CHAR_AFTER.
10244 (bcmp_translate): Likewise.
10245
10246 * search.c (compile_pattern): Check the member target_multibyte,
10247 not the member multibyte of buf.
10248
10249 * lread.c (read1): While reading a string, set force_singlebyte
10250 and force_multibyte correctly.
10251
10252 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10253 up of unibyte_to_multibyte_table.
10254
102552008-02-01 Kenichi Handa <handa@m17n.org>
10256
10257 * coding.c (setup_coding_system): If coding has
10258 post-read-conversion or pre-write-conversion, set
10259 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10260 respectively.
10261 (decode_coding_gap): Run post-read-conversion if any.
10262
10263 * fileio.c (Finsert_file_contents): Even if we read into a
10264 unibyte buffer, check if we must decode the result or not.
10265
102662008-02-01 Kenichi Handa <handa@m17n.org>
10267
10268 * coding.c (make_conversion_work_buffer): Change the work buffer
10269 name to the same one as that of Emacs 21.
10270
102712008-02-01 Kenichi Handa <handa@m17n.org>
10272
10273 * coding.h (make_conversion_work_buffer): Adjust prototype.
10274 (code_conversion_restore): Don't extern it.
10275
10276 * coding.c (detected_mask): Delete unused variable.
10277 (decode_coding_iso_2022): Pay attention to the byte sequence of
10278 CTEXT extended segment, and retain those bytes as is.
10279 (decode_coding_ccl): Delete unused variable `valids'.
10280 (setup_coding_system): Delete unused variable `category'.
10281 (consume_chars): Delete unused variable `category'. Make it work
10282 for non-multibyte case.
10283 (make_conversion_work_buffer): Change argument.
10284 (saved_coding): Delete unused variable.
10285 (code_conversion_restore): Don't check saved_coding->destination.
10286 (code_conversion_save): New function.
10287 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10288 instead of record_unwind_protect.
10289 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10290 (detect_coding_system): Delete unused variable `mask'.
10291 (Fdefine_coding_system_internal): Delete unused variable id.
10292
10293 * fileio.c (kill_workbuf_unwind): New function.
10294 (Finsert_file_contents): On replacing, call
10295 make_conversion_work_buffer with correct args, and call
10296 record_unwind_protect with the first arg kill_workbuf_unwind.
10297
10298 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10299
103002008-02-01 Kenichi Handa <handa@m17n.org>
10301
10302 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10303 (fontset_add): Fix for the case that TO is less than TO1.
10304 (Ffontset_info): Don't use fallback fontset on checking the
10305 default fontset.
10306 (dump_fontset): New function for debugging.
10307
10308 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10309 coding_type is Qcharset.
10310
103112008-02-01 Kenichi Handa <handa@m17n.org>
10312
10313 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10314 (map_char_table): Don't inherit the value from the parent on
10315 initializing VAL. Adjust for the above change.
10316
103172008-02-01 Kenichi Handa <handa@m17n.org>
10318
10319 * coding.c (Qsignature, Qendian): Delete these variables.
10320 (syms_of_coding): Don't initialize them.
10321 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10322 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10323 detect_info->found.
10324 (decode_coding_utf_16): Don't detect BOM here.
10325 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10326 is NOT utf_16_without_bom.
10327 (setup_coding_system): For a coding system of type utf-16, check
10328 if the attribute :endian is Qbig or not (not nil or not), and set
10329 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10330 (detect_coding): If coding type is utf-16 and BOM detection is
10331 required, detect it.
10332 (Fdefine_coding_system_internal): For a coding system of type
10333 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10334
103352008-02-01 Kenichi Handa <handa@m17n.org>
10336
10337 * coding.c (coding_set_source): Fix for the case that the current
10338 buffer is different from coding->src_object.
10339 (decode_coding_object): Don't use the conversion work buffer if
10340 DST_OBJECT is a buffer.
10341
103422008-02-01 Dave Love <fx@gnu.org>
10343
10344 * lread.c (read_emacs_mule_char) [len==2]: Index
10345 emacs_mule_charset correctly.
10346
103472008-02-01 Dave Love <fx@gnu.org>
10348
10349 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10350 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10351 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10352 treated specially.)
10353 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10354 (detected_mask): Remove Big5 bits.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 The following changes are to make the font rescaling facility
10359 compatible with Emacs 21.
10360
10361 * xfaces.c (Vface_font_rescale_alist): Rename from
10362 Vface_resizing_fonts.
10363 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10364 (font_rescale_ratio): Rename from font_resizing_ratio.
10365 (split_font_name): Set font->rescale_ratio.
10366 (better_font_p): Pay attention to font->rescale_ratio.
10367 (build_scalable_font_name): Likewise. Change RESX, and RESY
10368 fields.
10369 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10370
103712008-02-01 Kenichi Handa <handa@m17n.org>
10372
10373 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10374 (Qutf_16_le): Remove these variables.
10375 (syms_of_coding): Don't DEFSYM them.
10376 (decode_coding_utf_16): Fix handling of BOM.
10377 (encode_coding_utf_16): Fix handling of BOM.
10378
103792008-02-01 Kenichi Handa <handa@m17n.org>
10380
10381 * fileio.c (Finsert_file_contents): On replacing, before decoding
10382 the file into the work buffer, set point of the work buffer to the end.
10383
103842008-02-01 Dave Love <fx@gnu.org>
10385
10386 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10387
103882008-02-01 Dave Love <fx@gnu.org>
10389
10390 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10391 and fix C types.
10392
103932008-02-01 Kenichi Handa <handa@m17n.org>
10394
10395 * xdisp.c (SKIP_GLYPHS): New macro.
10396 (set_cursor_from_row): Pay attention to string display properties.
10397
10398 * category.c (copy_category_entry): Fix for the case that RANGE
10399 is an integer.
10400
10401 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10402
10403 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10404
104052008-02-01 Kenichi Handa <handa@m17n.org>
10406
10407 * charset.c (Fcharset_id_internal): New function.
10408 (syms_of_charset): Defsubr it.
10409
10410 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10411 with the last arg charset_list acquired from coding.
10412 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10413 the attribute coding_attr_ccl_valids.
10414
10415 * coding.h (enum define_coding_ccl_arg_index): Set the first
10416 member coding_arg_ccl_decoder to coding_arg_max.
10417
10418 * ccl.h (ccl_driver): Adjust prototype.
10419
10420 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10421 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10422 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
10423 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10424 last arg Qnil.
10425
104262008-02-01 Kenichi Handa <handa@m17n.org>
10427
10428 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10429 call encode_char.
10430
10431 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10432
104332008-02-01 Dave Love <fx@gnu.org>
10434
10435 * composite.c (syms_of_composite): Make composition_hash_table weak.
10436
104372008-02-01 Kenichi Handa <handa@m17n.org>
10438
10439 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10440 (font_name_registry): Don't extern them.
10441 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10442
10443 * fontset.h (Qfontset): Don't extern it.
10444 (new_fontset_from_font_name): Extern it.
10445
10446 * fontset.c: Give 8 extra slots to fontset objects.
10447 (Qfontset_info): New variable.
10448 (syms_of_fontset): Defsym it.
10449 (FONTSET_FALLBACK): New macro.
10450 (fontset_face): Try also the default fontset.
10451 (make_fontset): Realize a fallback fontset from the default fontset.
10452 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10453 using split_font_name_into_vector and build_font_name_from_vector.
10454 (Fset_fontset_font): Access the elements of font_spec by enum
10455 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10456 name by using split_font_name_into_vector.
10457 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10458 generate a proper font name from the fontset name. Update
10459 Vfontset_alias_alist.
10460 (n_auto_fontsets): New variable.
10461 (new_fontset_from_font_name): New function.
10462 (Ffont_info): Store the information about fonts generated from the
10463 default fontset in the first extra slot of the returned char-table.
10464
10465 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10466 (font_name_registry): Delete function.
10467 (split_font_name_into_vector): New function.
10468 (build_font_name_from_vector): New function.
10469 (font_list): The argument REGISTRY is now a list of registry names.
10470 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10471 specifies an explicit font name, return the name as is. Make a
10472 list of registy names.
10473
10474 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10475 of x_new_fontset.
10476 (Fx_create_frame): Don't call x_new_fontset here. Just use
10477 x_list_fonts to check the existence of fonts.
10478
10479 * xterm.h (x_new_fontset): Adjust prototype.
10480
10481 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10482 string. Use new_fontset_from_font_name to create a fontset from a
10483 font name.
10484
104852008-02-01 Kenichi Handa <handa@m17n.org>
10486
10487 * syntax.c (Vfind_word_boundary_function_table): New name for
10488 Vnext_word_boundary_function_table.
10489 (find-word-boundary-function-table): New name for
10490 next-word-boundary-function-table.
10491
104922008-02-01 Dave Love <fx@gnu.org>
10493
10494 * Makefile.in: Fix some dependencies.
10495
10496 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10497 set it to nil before returning.
10498
10499 * composite.c (update_compositions): Fix type error.
10500
10501 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10502
105032008-02-01 Kenichi Handa <handa@m17n.org>
10504
10505 * xterm.c (x_new_font): Optimize for the case that the font is
10506 already set for the frame.
10507
105082008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * chartab.c (char_table_ascii): Check if the char table contents
10511 is sub-char-table or not.
10512 (char_table_set, char_table_set_range): Fix argument to
10513 char_table_ascii.
10514
10515 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10516 (detect_coding_utf_8, detect_coding_utf_16)
10517 (detect_coding_emacs_mule, detect_coding_iso_2022)
10518 (detect_coding_sjis, detect_coding_big5)
10519 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10520 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10521 sequence is valid in this coding system. Change callers.
10522 (MAX_ANNOTATION_LENGTH): New macro.
10523 (ADD_ANNOTATION_DATA): New macro.
10524 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10525 ADD_ANNOTATION_DATA. Change the format of annotation data.
10526 (ADD_CHARSET_DATA): New macro.
10527 (emacs_mule_char): New argument ID. Change callers.
10528 (decode_coding_emacs_mule, decode_coding_iso_2022)
10529 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10530 Produce charset annotation data in coding->charbuf.
10531 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10532 to charset annotation data in coding->charbuf.
10533 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10534 coding->common_flags if the coding system is iso-2022 based and
10535 uses designation.
10536 (produce_composition): Adjust for the new annotation data format.
10537 (produce_charset): New function.
10538 (produce_annotation): Handle charset annotation.
10539 (handle_composition_annotation, handle_charset_annotation): New
10540 functions.
10541 (consume_chars): Handle charset annotation. Utilize the above two
10542 functions.
10543 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10544 buffer, get the deleted text as a string and set
10545 coding->src_object to that string.
10546 (detect_coding, detect_coding_system): Use the new struct
10547 coding_detection_info.
10548
10549 * coding.h (struct coding_detection_info): New structure.
10550 (struct coding_system): Adjust prototype of the member `detector'.
10551 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10552
105532008-02-01 Kenichi Handa <handa@m17n.org>
10554
10555 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10556
105572008-02-01 Dave Love <fx@gnu.org>
10558
10559 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10560 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10561 to new local and nullify apropos_accumulate before returning.
10562 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10563
105642008-02-01 Kenichi Handa <handa@m17n.org>
10565
10566 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10567 correctly.
10568
105692008-02-01 Dave Love <fx@gnu.org>
10570
10571 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10572
105732008-02-01 Kenichi Handa <handa@m17n.org>
10574
10575 The following changes are to make character composition happen
10576 automatically on displaying.
10577
10578 * Makefile.in (lisp, shortlisp): Add composite.elc.
10579
10580 * composite.h (Qauto_composed, Vauto_composition_function)
10581 (Qauto_composition_function): Extern them.
10582
10583 * composite.c (Vcomposition_function_table)
10584 (Qcomposition_function_table): Delete variables.
10585 (Qauto_composed, Vauto_composition_function)
10586 (Qauto_composition_function): New variables.
10587 (run_composition_function): Don't call
10588 compose-chars-after-function.
10589 (update_compositions): Clear `auto-composed' text property.
10590 (compose_chars_in_text): Delete this function.
10591 (syms_of_composite): Staticpro Qauto_composed and
10592 Qauto_composition_function. Declare Vauto_composition_function as
10593 a Lisp variable.
10594
10595 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10596
10597 * xdisp.c (it_props): Add an entry for Qauto_composed.
10598 (handle_auto_composed_prop): New function.
10599
10600 * xselect.c (selection_data_to_lisp_data): Don't call
10601 compose_chars_in_text.
10602
106032008-02-01 Dave Love <fx@gnu.org>
10604
10605 * keyboard.c (read_char): Modify checking around use of
10606 Vkeyboard_translate_table.
10607
10608 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10609 and fix C types.
10610
106112008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10614 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10615 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10616 the case that the last byte is '\r' correctly.
10617 (decode_coding): Flush out the unprocessed data correctly.
10618 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10619
106202008-02-01 Dave Love <fx@gnu.org>
10621
10622 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10623 Add XK_ISO... case.
10624 (xaw_scroll_callback): Revert last change.
10625
106262008-02-01 Kenichi Handa <handa@m17n.org>
10627
10628 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10629
106302008-02-01 Kenichi Handa <handa@m17n.org>
10631
10632 * xfaces.c (Vface_resizing_fonts): New variable.
10633 (struct font_name): New member `resizing_ratio'.
10634 (font_resizing_ratio): New function.
10635 (split_font_name): Set font->resizing_ratio.
10636 (better_font_p): Pay attention to font->resizing_ratio.
10637 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10638 RESX, and RESY fields.
10639 (try_alternative_families): Try scalable fonts if
10640 Vscalable_fonts_allowed is not Qt.
10641 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10642
106432008-02-01 Dave Love <fx@gnu.org>
10644
10645 * xterm.c (xaw_scroll_callback): Cast correctly.
10646
106472008-02-01 Dave Love <fx@gnu.org>
10648
10649 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10650 (lispy_kana_keys): Comment out.
10651 (make_lispy_event) [XK_kana_A]: Comment out.
10652
10653 * xterm.c (xaw_scroll_callback): Cast call_data.
10654 (XTread_socket): Deal with ASCII keysyms.
10655 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10656
106572008-02-01 Dave Love <fx@gnu.org>
10658
10659 * xterm.c (Vx_keysym_table): New.
10660 (syms_of_xterm): Initialize it.
10661 (XTread_socket): Use it.
10662 From head: Eliminate incorrect optimization that tried to avoid
10663 decoding the output of X*LookupString.
10664 (x_get_font_repertory): Delete charset declaration.
10665
106662008-02-01 Kenichi Handa <handa@m17n.org>
10667
10668 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10669 return 0.
10670 (Fdefine_coding_system_internal): Setup
10671 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10672
106732008-02-01 Dave Love <fx@gnu.org>
10674
10675 * coding.c (Fcheck_coding_system): Doc fix.
10676
10677 * editfns.c (Finsert_byte): Return a proper value.
10678
106792008-02-01 Kenichi Handa <handa@m17n.org>
10680
10681 * coding.c (decode_coding): Fix args to translate_chars. Pay
10682 attention to Vstandard_translation_table_for_decode.
10683 (encode_coding): Fix args to translate_chars. Pay attention to
10684 Vstandard_translation_table_for_encode.
10685
10686 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10687 SINGLE_BYTE_CHAR_P.
10688
10689 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10690 not by SINGLE_BYTE_CHAR_P.
10691
10692 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10693 SINGLE_BYTE_CHAR_P.
10694
10695 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10696 SINGLE_BYTE_CHAR_P.
10697
10698 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10699 by SINGLE_BYTE_CHAR_P.
10700
10701 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10702 SINGLE_BYTE_CHAR_P.
10703
107042008-02-01 Dave Love <fx@gnu.org>
10705
10706 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10707
107082008-02-01 Dave Love <fx@gnu.org>
10709
10710 * fns.c (Flanginfo): Fix typo.
10711
10712 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10713
107142008-02-01 Kenichi Handa <handa@m17n.org>
10715
10716 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10717 (detect_coding_emacs_mule, detect_coding_iso_2022)
10718 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10719 incomplete byte sequence. Don't update *mask when correctly detected.
10720 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10721 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10722 (detect_coding, detect_coding_system): Adjust for the changes above.
10723
107242008-02-01 Kenichi Handa <handa@m17n.org>
10725
10726 * character.c (char_string): Rename from
10727 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10728 (string_char): Rename from string_char.
10729
10730 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10731 if C is greater than MAX_3_BYTE_CHAR.
10732 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10733 string_char instead of string_char_with_unification.
10734
107352008-02-01 Dave Love <fx@gnu.org>
10736
10737 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * keymap.c (push_key_description): Pay attention to force_multibyte.
10742
10743 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10744
107452008-02-01 Dave Love <fx@gnu.org>
10746
10747 * charset.c (define_charset_internal): Rename `supprementary'.
10748
10749 * Makefile.in (lisp, shortlisp): Remove latin-N.
10750
107512008-02-01 Dave Love <fx@gnu.org>
10752
10753 * xfns.c (x_window, x_window): Use use_xim.
10754
10755 * xterm.c (use_xim): Initialize.
10756 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10757 (x_term_init): Maybe set use_xim.
10758
10759 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10760
107612008-02-01 Kenichi Handa <handa@m17n.org>
10762
10763 * search.c (search_buffer): Fix case-fold-search of multibyte
10764 characters.
10765 (boyer_moore): Rename the last argument to char_high_bits.
10766
107672008-02-01 Kenichi Handa <handa@m17n.org>
10768
10769 * xdisp.c (display_string): Fix for the case of zero width glyph.
10770
10771 * xfns.c (x_set_font): Change the error message of the case that
10772 x_new_fontset returns Qt.
10773
10774 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10775 (Finternal_set_lisp_face_attribute): Use signal_error for the
10776 error of invalid fontset.
10777
10778 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10779 fontset, return Qt.
10780
107812008-02-01 Dave Love <fx@gnu.org>
10782
10783 * unexelf.c (unexec): Make .got handling not SGI-specific.
10784
10785 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10786
10787 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10788
10789 * keyboard.c (read_key_sequence): Fix type error.
10790
10791 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10792 type error.
10793
10794 * fontset.c (fontset_add): Return Lisp_Object.
10795
107962008-02-01 Dave Love <fx@gnu.org>
10797
10798 * charset.h (charset_ordered_list_tick): Declare extern.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 The following changes (and some of 2008-02-01 changes of mine) are
10803 for handling syntax, category, and case conversion for unibyte
10804 characters by converting them to multibyte on the fly. With these
10805 changes, we don't have to setup syntax and case tables for unibyte
10806 characters in each language environment.
10807
10808 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10809 multibyte if necessary.
10810
10811 * bytecode.c (Fbyte_code): Likewise.
10812
10813 * character.h (LEADING_CODE_LATIN_1_MIN)
10814 (LEADING_CODE_LATIN_1_MAX): New macros.
10815 (unibyte_to_multibyte_table): Extern it.
10816 (unibyte_char_to_multibyte): New macro.
10817 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10818 (CHAR_LEADING_CODE): New macro.
10819 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10820
10821 * character.c (unibyte_to_multibyte_table): New variable.
10822 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10823 (multibyte_char_to_unibyte): If C is an eight-bit character,
10824 convert it to the corresponding byte value.
10825
10826 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10827 not 1, signals an error. Update the elements of
10828 unibyte_to_multibyte_table.
10829 (init_charset_once): Initialize unibyte_to_multibyte_table.
10830 (syms_of_charset): Define the charset `iso-8859-1'.
10831
10832 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10833 as is without converting it to unibyte. In a unibyte buffer,
10834 convert C to multibyte before checking the syntax.
10835
10836 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10837
10838 * minibuf.c (Fminibuffer_complete_word): Use the macro
10839 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10840
10841 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10842
10843 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10844 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10845 that is zero, convert an eight-bit char to multibyte.
10846 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10847 non-emacs case.
10848 (PATFETCH): Convert an eight-bit char to multibyte.
10849 (HANDLE_UNIBYTE_RANGE): New macro.
10850 (regex_compile): Setup the compiled pattern for multibyte chars
10851 even if the given regex string is unibyte. Use PATFETCH_RAW
10852 instead of PATFETCH in many places. To handle `charset'
10853 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10854 only for ASCII chars.
10855 (analyse_first) <exactn>: Simplify because the compiled pattern
10856 is multibyte.
10857 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10858 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10859 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10860 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10861 multibyte always 1.
10862 (re_search_2): In emacs, set the locale variable multibyte to 1,
10863 otherwise to 0. New local variable target_multibyte. Check it
10864 to decide the multibyteness of STR1 and STR2. If
10865 target_multibyte is zero, convert unibyte chars to multibyte
10866 before translating and checking fastmap.
10867 (TARGET_CHAR_AND_LENGTH): New macro.
10868 (re_match_2_internal): In emacs, set the locale variable multibyte
10869 to 1, otherwise to 0. New local variable target_multibyte. Check
10870 it to decide the multibyteness of STR1 and STR2. Use
10871 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10872 <charset, charset_not>: If multibyte is nonzero, check fastmap
10873 only for ASCII chars. Call bcmp_translate with
10874 target_multibyte, not with multibyte.
10875 <begline>: Declare the local variable C as `unsigned'.
10876 (bcmp_translate): Change the last arg name to target_multibyte.
10877
10878 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10879 the regexp pattern and the matching target. Set cp->buf.multibyte
10880 to the multibyteness of the regexp pattern. Set
10881 cp->but.target_multibyte to the multibyteness of the matching target.
10882 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10883 FETCH_STRING_CHAR_ADVANCE.
10884 (Freplace_match): Convert unibyte chars to multibyte.
10885
10886 * syntax.c (char_quoted, back_comment, scan_words)
10887 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10888 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10889 unibyte chars to multibyte.
10890 (skip_chars): Delete the arg syntaxp, and move the code for
10891 handling syntaxes to skip_syntaxes. Change callers.
10892 Fix the case that the multibyteness of STRING and the current
10893 buffer doesn't match.
10894 (skip_syntaxes): New function.
10895 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10896 SINGLE_BYTE_CHAR_P.
10897
108982008-02-01 Kenichi Handa <handa@m17n.org>
10899
10900 * xfaces.c (QCfontset): New variable.
10901 (LFACE_FONTSET): New macro.
10902 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10903 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10904 (Finternal_set_lisp_face_attribute)
10905 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10906 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10907 check also LFACE_FONTSET_INDEX.
10908 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10909 attrs[LFACE_FONT_INDEX].
10910 (syms_of_xfaces): Intern and staticpro QCfontset.
10911
10912 * dispextern.h (enum lface_attribute_index): New member
10913 LFACE_FONTSET_INDEX.
10914
10915 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10916
109172008-02-01 Kenichi Handa <handa@m17n.org>
10918
10919 * coding.c (coding_set_destination): Fix coding->destination for
10920 the case converting a region.
10921 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10922 (encode_coding_object): Fix coding->dst_pos and
10923 coding->dst_pos_byte for the case converting a region.
10924
10925 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10926
10927 * character.h (BYTE8_STRING): New macro.
10928
10929 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10930
109312008-02-01 Kenichi Handa <handa@m17n.org>
10932
10933 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10934 characters by octal form.
10935
10936 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10937
10938 * buffer.h (_fetch_multibyte_char_len): Delete extern.
10939 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10940 _fetch_multibyte_char_len.
10941 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10942
10943 * casetab.c (set_canon, set_identity, shuffle): Simplify.
10944
10945 * casefiddle.c (casify_object): Simplify. Handle the case that
10946 the case conversion change the byte length.
10947 (casify_region): Likewise.
10948
10949 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
10950
10951 * character.c (_fetch_multibyte_char_len): Delete this variable.
10952 (syms_of_character): Setup Vprintable_chars.
10953
10954 * editfns.c (Fchar_equal): Fix for the unibyte case.
10955 (Finsert_byte): New function.
10956 (syms_of_editfns): Defsubr it.
10957
10958 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10959 of direct code 0x3ffff.
10960
10961 * search.c (Freplace_match): Fix for the unibyte case.
10962
109632008-02-01 Kenichi Handa <handa@m17n.org>
10964
10965 * lread.c (safe_to_load_p): Fix the logic.
10966
10967 * syntax.c (scan_words): Don't treat characters belonging to
10968 different scripts as constituting a word.
10969
10970 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10971
10972 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
10973
10974 * emacs.c (main): In the case of --unibyte, instead of aborting on
10975 finding non-empty buffer, make it unibyte.
10976
109772008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10980 to create a fontset.
10981
109822008-02-01 Dave Love <fx@gnu.org>
10983
10984 * character.c (Funibyte_char_to_multibyte): Doc fix.
10985
10986 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10987
109882008-02-01 Kenichi Handa <handa@m17n.org>
10989
10990 * fontset.c (fontset_add): Make the type `int'.
10991 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10992
10993 * character.c (unibyte_char_to_multibyte)
10994 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
10995 charset_unibyte, not charset_primary.
10996
10997 * charset.h (charset_unibyte): Extern it instead of charset_primary.
10998
10999 * charset.c (charset_unibyte): Rename from charset_primary.
11000 (Funibyte_charset): Rename from Fprimary_charset.
11001 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11002 (syms_of_charset): Adjust for the above changes.
11003
11004 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11005 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11006 it->multibyte_p is zero.
11007
11008 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11009 Delete extern.
11010
110112008-02-01 Kenichi Handa <handa@m17n.org>
11012
11013 * coding.c (Fdefine_coding_system_internal): Fix category setting
11014 for a coding system of type iso-2022.
11015
110162008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11019
110202008-02-01 Kenichi Handa <handa@m17n.org>
11021
11022 * syntax.c (Vnext_word_boundary_function_table): New variable.
11023 (next-word-boundary-function-table): Declare it as a Lisp variable
11024 in syms_of_syntax.
11025 (scan_words): Call functions in Vnext_word_boundary_function_table
11026 if any.
11027
11028 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11029
11030 * fontset.c (fs_load_font): If fontp->charset is not negative,
11031 return fontp without setting its members.
11032
110332008-02-01 Dave Love <fx@gnu.org>
11034
11035 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11036
11037 * m/sparc.h (HAVE_ALLOCA): Delete.
11038
11039 * s/irix6-5.h: Don't include strings.h.
11040 (bcopy, bzero, bcmp): Don't undef.
11041
11042 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11043
11044 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11045 (TIOCSIGSEND): Don't test IRIX6.
11046 (bcopy, bzero, bcmp): Define conditionally.
11047
110482008-02-01 Kenichi Handa <handa@m17n.org>
11049
11050 * buffer.c (Qas, Qmake, Qto): New variables.
11051 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11052 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11053
11054 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11055 we are inserting a process output into a multibyte buffer.
11056
11057 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11058 multibyte_char_to_unibyte.
11059
11060 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11061 by the primary charset, make it eight-bit char.
11062 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11063
11064 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11065 (charset_8_bit__control, charset_8_bit_graphic)
11066 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11067 (define_charset_internal): New function.
11068 (syms_of_charset): Call define_charset_internal for pre-defined
11069 charsets.
11070
11071 * charset.h (charset_8_bit): Extern it.
11072
11073 * coding.c (make_conversion_work_buffer): Adjust for the change
11074 of Fset_buffer_multibyte.
11075 (encode_coding_raw_text): Increment p0 in the loop.
11076
11077 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11078
11079 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11080 for the change of Fset_buffer_multibyte.
11081
11082 * fns.c (Fstring_to_multibyte): New function.
11083 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11084
110852008-02-01 Dave Love <fx@gnu.org>
11086
11087 * xfns.c (x_put_x_image): Declare args.
11088
11089 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11090 (try_font_list): Declare an arg.
11091
11092 * xdisp.c (message2_nolog, set_message): Declare an arg.
11093
11094 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11095
11096 * syntax.c (scan_sexps_forward): Declare an arg.
11097
11098 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11099 Declare an arg.
11100
11101 * lisp.h (Fnew_fontset): Declare.
11102
11103 * keymap.c (push_key_description): Call CHARACTERP correctly.
11104
11105 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11106 (face_for_char): Delete unused vars.
11107 (Fset_fontset_font): Doc fix. Delete unused vars.
11108
11109 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11110
11111 * composite.c (update_compositions): Declare arg.
11112
11113 * cm.c (calccost, cmgoto): Declare args.
11114
11115 * charset.c: Remove `emacs' conditional. Doc fixes.
11116 (map_char_table_for_charset): Declare.
11117
11118 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11119
11120 * ccl.c: Remove `emacs' conditional.
11121
111222008-02-01 Kenichi Handa <handa@m17n.org>
11123
11124 The following changes are to allow specifying multiple font
11125 patterns for a character range (specified by script or charset).
11126
11127 * Makefile.in (abbrev.o): Depend on syntax.h.
11128 (xfaces.o): Depend on charset.h.
11129
11130 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11131 SINGLE_BYTE_CHAR_P.
11132
11133 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11134
11135 * character.h (Vchar_script_table): Extern it.
11136
11137 * character.c (Vscript_alist): Delete.
11138 (Vchar_script_table, Qchar_script_table): New variable.
11139 (syms_of_character): Declare Vchar_script_table as a lisp variable
11140 and initialize it.
11141
11142 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11143 have property char-table-extra-slots, make no extra slot.
11144
11145 * dispextern.h (struct face): Delete member `charset'.
11146 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11147 SINGLE_BYTE_CHAR_P.
11148 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11149 Add prototypes.
11150 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11151 (generate_ascii_font_name): Rename from generate_ascii_font.
11152
11153 * fontset.h (get_font_repertory_func): New prototype.
11154 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11155 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11156
11157 * fontset.c (Qprepend, Qappend): New variables.
11158 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11159 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11160 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11161 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11162 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11163 (load_font_get_repertory): New functions.
11164 (fontset_set): Delete.
11165 (fontset_face): New arg FACE. Return face ID, not face.
11166 Complete re-write to handle new fontset structure. Change caller.
11167 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11168 (face_for_char): Don't call lookup_face.
11169 (make_fontset_for_ascii_face): New arg FACE.
11170 (fs_load_font): New arg CHARSET_ID. Don't check
11171 Vfont_encoding_alist here.
11172 (find_font_encoding): New function.
11173 (list_fontsets): Use STRINGP, not ! NILP.
11174 (accumulate_script_ranges): New function.
11175 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11176 re-written to handle new fontset structure.
11177 (Ffontset_font): Return a copy of element.
11178 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11179 docstring of font-encoding-alist.
11180
11181 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11182 (Fset_fotset_font): Fix arguments to 5.
11183
11184 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11185
11186 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11187 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11188 (highlight_trailing_whitespace): Adjust for the change of
11189 lookup_named_face.
11190
11191 * xfaces.c: Include charset.h.
11192 (load_face_font): Delete argument C. Change caller.
11193 (generate_ascii_font_name): Rename from generate_ascii_font.
11194 (font_name_registry): New function.
11195 (cache_face): Store ascii faces before non-ascii faces in buckets.
11196 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11197 Lookup only ascii faces.
11198 (lookup_non_ascii_face): New function.
11199 (lookup_named_face): Delete argument C. Change caller.
11200 (lookup_derived_face): Delete argument C. Change caller.
11201 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11202 a string, just call font_list with it.
11203 (choose_face_font): Delete arguments FACE and C. New arg
11204 FONT_SPEC. Change caller.
11205 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11206 Change caller.
11207 (realize_non_ascii_face): New function.
11208 (realize_x_face): Call load_face_font here.
11209 (realize_tty_face): Delete argument C. Change caller.
11210 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11211 get a face ID.
11212 (dump_realized_face): Don't print charset of FACE.
11213
11214 * xfns.c (x_set_font): Always call x_new_fontset and
11215 store_frame_parameter.
11216 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11217 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11218
11219 * xterm.h (x_get_font_repertory): Extern it.
11220
11221 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11222 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11223 it->multibyte_p is zero.
11224 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11225 (x_new_fontset): If FONTSETNAME doesn't match any existing
11226 fontsets, create a new one.
11227 (x_get_font_repertory): New function.
11228
112292008-02-01 Kenichi Handa <handa@m17n.org>
11230
11231 * coding.c (Ffind_coding_systems_region_internal): Detect an
11232 ASCII only string correctly.
11233
11234 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11235 version is 0.
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * lread.c: Include "coding.h".
11240 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11241 (load_each_byte, unread_char): New variables.
11242 (readchar_backlog): Delete.
11243 (readchar): Return a character unless load_each_byte is nonzero.
11244 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11245 cons. If unread_char is not -1, simply return it.
11246 (unreadchar): Handle the case that readcharfun is
11247 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11248 (read_multibyte): Delete.
11249 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11250 (read_emacs_mule_char): New functions.
11251 (Fload): Even if the file doesn't have the extension ".elc", if
11252 safe_to_load_p returns a positive version number, assume that the
11253 file contains bytecompiled code. If the version is less than 22,
11254 load the file while decoding multibyte sequences by emacs-mule.
11255 (readevalloop): Don't use readchar_backlog.
11256 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11257 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11258 (read_escape): Delete the arg BYTEREP.
11259 (read1): Set load_each_byte to 1 temporarily while handling
11260 #@NUMBER. Don't call read_multibyte.
11261 (read_vector): Call Fread with a cons. If readcharfun is
11262 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11263 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11264 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11265 and Qload_force_doc_strings.
11266
112672008-02-01 Kenichi Handa <handa@m17n.org>
11268
11269 * xdisp.c (face_before_or_after_it_pos): Call
11270 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11271
112722008-02-01 Kenichi Handa <handa@m17n.org>
11273
11274 * character.h (TRAILING_CODE_P): New macro.
11275 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11276 (string_char_with_unification): Fix prototype.
11277 (Vscript_alist): Extern it.
11278
11279 * character.c (Vscript_alist): New variable.
11280 (string_char_with_unification, str_as_unibyte)
11281 (string_escape_byte8): Add `const' to local variables.
11282 (syms_of_character): Declare script-alist as a Lisp variable.
11283
11284 * charset.h (Vcharset_ordered_list): Extern it.
11285 (charset_ordered_list_tick): Extern it.
11286 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11287 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11288 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11289 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11290 (Funify_charset): Adjust for the change of Funify_charset.
11291
11292 * charset.c (charset_ordered_list_tick): New variable.
11293 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11294 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11295 deunify intead of unify a charset.
11296 (string_xstring_p): Add `const' to local variables.
11297 (find_charsets_in_text): Add `const' to arguments and local variables.
11298 (encode_char): Adjust for the change of Funify_charset. Fix
11299 detecting of invalid code.
11300 (Fset_charset_priority): Increment charset_ordered_list_tick.
11301 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11302 and TO_CODE.
11303
11304 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11305 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11306 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11307 (decode_coding_ccl, consume_chars)
11308 (Ffind_coding_systems_region_internal)
11309 (Fcheck_coding_systems_region): Add `const' to local variables.
11310
11311 * print.c (print_object): Use octal form for printing the
11312 contents of a bool vector.
11313
113142008-02-01 Dave Love <fx@gnu.org>
11315
11316 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11317 <version == 20>: Refuse to load.
11318
113192008-02-01 Dave Love <fx@gnu.org>
11320
11321 * fns.c: Move coding.h.
11322 (Qcodeset, Qdays, Qmonths): New.
11323 (concat): Use CHARACTERP instead of INTEGERP.
11324 (Flocale_codeset): Delete.
11325 (Flanginfo): New function.
11326 (syms_of_fns): Change accordingly.
11327
11328 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11329
113302008-02-01 Dave Love <fx@gnu.org>
11331
11332 * casetab.c (init_casetab_once, init_casetab_once): Fix
11333 CHAR_TABLE_SET call.
11334
11335 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11336
11337 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11338
11339 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11340 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11341 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11342
11343 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11344
11345 * coding.c (ENCODE_DESIGNATION, decode_eol)
11346 (make_conversion_work_buffer, code_conversion_restore)
11347 (Fdefine_coding_system_internal): Convert Lisp types.
11348 (code_conversion_restore): Use EQ, not ==.
11349 (Fencode_coding_string): Fix code_convert_string call.
11350
11351 * coding.h (code_convert_region): Fix prototype.
11352
11353 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11354
11355 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11356 (Ffontset_info): Convert Lisp types.
11357
11358 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11359
11360 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11361
11362 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11363
11364 * chartab.c: Include "...h", not <...h> in some cases.
11365
11366 * callproc.c (Fcall_process): Remove unused variables.
11367
113682008-02-01 Dave Love <fx@gnu.org>
11369
11370 * coding.c (Fset_coding_system_priority): Allow null arg list.
11371
113722008-02-01 Dave Love <fx@gnu.org>
11373
11374 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11375 (Fself_insert_and_exit): Use CHARACTERP.
11376
11377 * callproc.c (Fcall_process): Remove unused vars.
11378
11379 * xterm.c (XTread_socket): Add extra dead keysyms.
11380
11381 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11382
11383 * dispextern.h: Remove prototypes for redraw_frame,
11384 redraw_garbaged_frames.
11385
11386 * cmds.c (Fself_insert_command): Use CHARACTERP.
11387
11388 * chartab.c (make_sub_char_table): Remove unused var.
11389 (Fset_char_table_default, Fmap_char_table): Doc fix.
11390
11391 * keymap.c (access_keymap): Remove generic char code.
11392 (push_key_description): Use CHARACTERP.
11393
113942008-02-01 Dave Love <fx@gnu.org>
11395
11396 * charset.c: Doc fixes.
11397 (Funify_charset): Extra checking.
11398
113992008-02-01 Dave Love <fx@gnu.org>
11400
11401 * lread.c: Remove some unused variables.
11402 (safe_to_load_p): If safe, return the magic number version byte.
11403 (Fload): Maybe use load-with-code-conversion.
11404
114052008-02-01 Kenichi Handa <handa@m17n.org>
11406
11407 * category.c (Fmodify_category_entry): Don't modify the contents
11408 of category_set for characters out of the range. Avoid
11409 unnecessary modification.
11410
11411 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11412 Vchar_unify_table. The default value of the table is now nil.
11413
11414 * character.c (syms_of_character): Setup Vchar_width_table for
11415 eight-bit-control and raw-byte chars.
11416
11417 * charset.h (enum define_charset_arg_index): Delete
11418 charset_arg_parents and add charset_arg_subset and
11419 charset_arg_superset.
11420 (enum charset_attr_index): Delete charset_parents and add
11421 charset_subset and charset_superset.
11422 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11423 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11424 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11425 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11426 (CHARSET_SUPERSET): New macros.
11427 (charset_work): Extern it.
11428 (ENCODE_CHAR): Use charset_work.
11429 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11430 (map_charset_chars): Extern it.
11431
11432 * charset.c (load_charset_map): Set the default value of encoder
11433 and deunifier char-tables to nil.
11434 (map_charset_chars): Change argument. Change callers. Use
11435 map_char_table_for_charset instead of map_char_table.
11436 (Fmap_charset_chars): New optional args from_code and to_code.
11437 (Fdefine_charset_internal): Adjust for the change of
11438 `define-charset' (:parents -> :subset or :superset).
11439 (charset_work): New variable.
11440 (encode_char, syms_of_charset): Adjust for the change of
11441 Fdefine_charset_internal.
11442 (Ffind_charset_string): Setup the vector `charsets' correctly.
11443
11444 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11445 the previous change.
11446 (char_table_ref_and_range): Adjust for the above change.
11447 (map_sub_char_table_for_charset): New function.
11448 (map_char_table_for_charset): New function.
11449
11450 * keymap.c (describe_vector): Handle a char-table directly here.
11451 (describe_char_table): Delete.
11452
11453 * lisp.h (map_charset_chars): Delete.
11454
114552008-02-01 Dave Love <fx@gnu.org>
11456
11457 * fns.c (count_combining): Comment out (unused).
11458 (Flocale_codeset): New.
11459 (syms_of_fns): Defsubr it.
11460
11461 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11462 (size_t): Remove.
11463
114642008-02-01 Dave Love <fx@gnu.org>
11465
11466 * Makefile.in (chartab.o): Depend on charset.h.
11467
114682008-02-01 Kenichi Handa <handa@m17n.org>
11469
11470 * character.c (syms_of_character): Set the default value of
11471 Vprintable_chars to Qnil.
11472
114732008-02-01 Dave Love <fx@gnu.org>
11474
11475 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11476
114772008-02-01 Kenichi Handa <handa@m17n.org>
11478
11479 * charset.c (load_charset_map): Handle the case that from < to
11480 correctly.
11481
11482 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11483 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11484 Pay attention to raw-8-bit chars.
11485
114862008-02-01 Kenichi Handa <handa@m17n.org>
11487
11488 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11489 It is not bytecompiled now.
11490
11491 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11492 (charset_jisx0208): New variables.
11493 (Fdefine_charset_internal): Setup them if appropriate.
11494 (init_charset_once): Initialize them to -1.
11495
11496 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11497 (charset_jisx0208): Extern them.
11498
11499 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11500 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11501 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11502 (setup_iso_safe_charsets): Fix arguments to Fassq.
11503 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11504 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11505 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11506 (encode_coding_iso_2022): Change the 1st arg to
11507 ENCODE_ISO_CHARACTER to a variable.
11508
115092008-02-01 Kenichi Handa <handa@m17n.org>
11510
11511 * charset.h (enum define_charset_arg_index): New enums
11512 charset_arg_min_code and charset_arg_max_code.
11513 (struct charset): New member char_index_offset.
11514
11515 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11516 Take charset->char_index_offset into account.
11517 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11518 args[charset_arg_max_code]. Setup charset.char_index_offset.
11519 (syms_of_charset): Fix args to Fdefine_charset_internal.
11520
115212008-02-01 Dave Love <fx@gnu.org>
11522
11523 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11524
115252008-02-01 Dave Love <fx@gnu.org>
11526
11527 * coding.c: Doc fixes.
11528 (Fcoding_system_aliases): Fix return value.
11529 (Qmac): Remove (duplicated) definition.
11530
115312008-02-01 Dave Love <fx@gnu.org>
11532
11533 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11534 functions.
11535
11536 * character.c (Fstring): Doc fix.
11537
11538 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11539
11540 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11541 ids.
11542 (font-encoding-alist): Doc fix.
11543
115442008-02-01 Dave Love <fx@gnu.org>
11545
11546 * term.c (costs_set): Declare static, non-initialized for pcc.
11547 (encode_terminal_code): Remove unused var.
11548
11549 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11550 for K&R.
11551
11552 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11553
11554 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11555 (suffixes): Move out of make_subsidiaries for K&R.
11556
11557 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11558
11559 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11560
115612008-02-01 Dave Love <fx@gnu.org>
11562
11563 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11564
11565 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11566
115672008-02-01 Yong Lu <lyongu@asia-infonet.com>
11568
11569 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11570
11571 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11572
115732008-02-01 Kenichi Handa <handa@m17n.org>
11574
11575 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11576 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11577
115782008-02-01 Kenichi Handa <handa@m17n.org>
11579
11580 * coding.c (decode_coding_charset): Adjust for the change of
11581 Fdefine_coding_system_internal.
11582 (Fdefine_coding_system_internal): For a coding system of
11583 `charset' type, store a list of charset IDs in
11584 `charset_attr_charset_valids' element of coding attributes.
11585
115862008-02-01 Kenichi Handa <handa@m17n.org>
11587
11588 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11589 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11590 caller. Handle 2-byte and 3-byte charsets correctly.
11591 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11592 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11593 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11594 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11595 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11596 sequence.
11597 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11598 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11599 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11600 and alt&rule composition.
11601 (decode_coding_iso_2022): Handle composition correctly.
11602 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11603
11604 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11605 re-defining a charset. If the charset has :emacs-mule-id, setup
11606 emacs_mule_bytes.
11607 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11608
116092008-02-01 Kenichi Handa <handa@m17n.org>
11610
11611 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11612 (encode_coding_big5, encode_coding_charset): If coding requires safe
11613 encoding, produce a character specified by
11614 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11615
116162008-02-01 Dave Love <fx@gnu.org>
11617
11618 * xterm.c (XSetIMValues): Declare.
11619
11620 * process.c: Conditionally include sys/wait.h, pty.h.
11621
11622 * print.c (print_object): Fix print format for 64-bit systems.
11623
11624 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11625
11626 * buffer.c (emacs_strerror): Declare.
11627
11628 * fontset.c (Fclear_face_cache): Declare.
11629 (accumulate_font_info): Comment-out (unused).
11630 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11631 variables.
11632
11633 * character.h (string_escape_byte8): Declare.
11634
11635 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11636 unused vars.
11637 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11638 (Fmap_charset_chars): Doc fix.
11639
11640 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11641 (Fset_coding_system_priority, Fset_coding_system_priority)
11642 (Fdefine_coding_system_internal): Doc fix.
11643
116442008-02-01 Dave Love <fx@gnu.org>
11645
11646 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11647
116482008-02-01 Kenichi Handa <handa@m17n.org>
11649
11650 * character.c (string_escape_byte8): Make multibyte string with
11651 correct size.
11652
11653 * charset.c (Fmake_char): Delete unnecessary code.
11654
116552008-02-01 Kenichi Handa <handa@m17n.org>
11656
11657 * xfns.c (x_encode_text): Allocate coding.destination here, and
11658 call encode_coding_object with dst_object Qnil.
11659
11660 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11661 multibyte form correctly.
11662
11663 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11664 against Vfont_encoding_alist.
11665
11666 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11667 handling of charset list.
11668 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11669 (decode_coding_object): Move point to coding->dst_pos before
11670 calling post-read-conversion function.
11671 (encode_coding_object): Give correct arguments to
11672 pre-write-conversion. Ignore the return value of
11673 pre-write-conversion function. Pay attention to the case that
11674 pre-write-conversion changes the current buffer. If dst_object is
11675 Qt, even if coding->src_bytes is zero, allocate at least one byte
11676 to coding->destination.
11677
11678 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11679
11680 * charset.c (Fmake_char): Make it more backward compatible.
11681 (Fmap_charset_chars): Fix docstring.
11682
116832008-02-01 Dave Love <fx@gnu.org>
11684
11685 * coding.c: Doc fixes.
11686 (Fdefine_coding_system_alias): Use names, not symbols, in
11687 coding-system-alist.
11688
116892008-02-01 Kenichi Handa <handa@m17n.org>
11690
11691 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11692 of calling free_realized_face.
11693
116942008-02-01 Yong Lu <lyongu@asia-infonet.com>
11695
11696 * charset.c (read_hex): Don't treat SPC as a comment starter.
11697 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11698 (Fdecode_char): Fix typo.
11699
117002008-02-01 Kenichi Handa <handa@m17n.org>
11701
11702 * charset.h (struct charset): New member `code_space_mask'.
11703
11704 * coding.c (coding_set_source): Delete the local variable beg_byte.
11705 (encode_coding_charset, Fdefine_coding_system_internal):
11706 Delete the local variable charset.
11707 (Fdefine_coding_system_internal): Setup
11708 attrs[coding_attr_charset_valids] correctly.
11709
11710 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11711 member to check if CODE is valid or not.
11712 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11713 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11714 is within the range of charset->min_code and carset->max_code.
11715
117162008-02-01 Dave Love <fx@gnu.org>
11717
11718 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11719
11720 * dispextern.h (generate_ascii_font): Fix return type.
11721
11722 * xfaces.c (generate_ascii_font): Fix arg declaration.
11723
11724 * coding.c (coding_inherit_eol_type)
11725 (Fset_terminal_coding_system_internal)
11726 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11727
117282008-02-01 Kenichi Handa <handa@m17n.org>
11729
11730 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11731 multiple charsets correctly.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * search.c (boyer_moore): Fix handling of multibyte character
11736 translation.
11737
11738 * xdisp.c (display_mode_element): When the variable `elt' is
11739 changed, update `this' and `lisp_string'.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11744
11745 * callproc.c (Fcall_process): Be sure to give the current buffer
11746 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11747
11748 * charset.c (struct charset_map_entries): New struct.
11749 (load_charset_map): Rename from parse_charset_map. New args
11750 entries and n_entries. Change caller.
11751 (load_charset_map_from_file): Rename from load_charset_map.
11752 Change caller. New arg control_flag. Call load_charset_map at
11753 the tail.
11754 (load_charset_map_from_vector): New function.
11755 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11756 (encode_char): If the charset is compact, change a character index
11757 to a code point.
11758
11759 * coding.c (coding_alloc_by_making_gap): Check the case that the
11760 source and destination are the same correctly.
11761 (decode_coding_raw_text): Set coding->consumed_char and
11762 coding->consumed to 0.
11763 (produce_chars): If coding->chars_at_source is nonzero, update
11764 coding->consumed_char and coding->consumed before calling
11765 alloc_destination.
11766 (Fdefine_coding_system_alias): Register ALIAS in
11767 Vcoding_system_alist.
11768 (syms_of_coding): Define `no-conversion' coding system at the tail.
11769
11770 * fileio.c (Finsert_file_contents): Set coding_system instead of
11771 val. If the current buffer is multibyte, always call
11772 decode_coding_gap.
11773
11774 * xfaces.c (try_font_list): Give higher priority to fontset's
11775 family than face's family.
11776
117772008-02-01 Kenichi Handa <handa@m17n.org>
11778
11779 * callproc.c (Fcall_process): Be sure to give the current buffer
11780 to decode_coding_c_string.
11781
11782 * xfaces.c (try_font_list): Give a family specified in a fontset
11783 higher priority than a family specified in a face.
11784
117852008-02-01 Kenichi Handa <handa@m17n.org>
11786
11787 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11788 Fix arguments to insert_from_buffer.
11789
11790 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11791
117922008-02-01 Kenichi Handa <handa@m17n.org>
11793
11794 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11795 (decode_coding_gap): Set coding->dst_multibyte correctly.
11796
117972008-02-01 Kenichi Handa <handa@m17n.org>
11798
11799 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11800 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11801 (encode_coding_utf_16): Substitute coding->default_char for
11802 non-Unicode characters.
11803 (decode_coding): Don't call record_insert here.
11804 (setup_coding_system): Initialize `surrogate' of
11805 coding->spec.utf_16 to 0.
11806 (EMIT_ONE_BYTE): Fix for multibyte case.
11807
11808 * insdel.c (insert_from_gap): Call record_insert.
11809
118102008-02-01 Kenichi Handa <handa@m17n.org>
11811
11812 * casefiddle.c (casify_region): Fix multibyte case.
11813
11814 * character.c (c_string_width): Add return type `int'.
11815 (char_string_with_unification): Delete arg ADVANCED.
11816
11817 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11818 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11819 (CHAR_STRING_ADVANCE): Make it do-while statement.
11820
11821 * chartab.c (sub_char_table_set_range): Optimize for the case
11822 DEPTH == 3. Add workaround code for a GCC optimization bug.
11823
11824 * charset.c (parse_charset_map): Remove an unused variable.
11825
11826 * coding.c: Delete unused variables.
11827
11828 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11829 earlier. If inserted is zero and the coding system doesn't
11830 require flushing, don't call decode_coding_gap.
11831
11832 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11833
118342008-02-01 Kenichi Handa <handa@m17n.org>
11835
11836 The following changes are for using Unicode as an internal
11837 character model, and use UTF-8 format for buffer/string
11838 representation.
11839
11840 * .gdbinit (xchartable): Adjust for the change of char table structure.
11841 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11842
11843 * Makefile.in (obj): Add character.o and chartab.o.
11844 (lisp, shortlisp): Remove utf-8.elc.
11845 (*.o): For many files, change dependency on charset.h to
11846 character.h, and add dependency on character.h.
11847 (character.o, chartab.o): New targets.
11848
11849 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11850 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11851 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11852 of "charset.h".
11853
11854 * dired.c, filelock.c: Include "character.h".
11855
11856 * alloc.c: Include "character.h" instead of "charset.h".
11857 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11858 (syms_of_alloc): Remove defsubr for Smake_char_table.
11859
11860 * buffer.c: Include "character.h" instead of "charset.h", don't
11861 include "coding.h".
11862 (Fset_buffer_multibyte): Adjust for UTF-8.
11863
11864 * buffer.h: EXFUN Fbuffer_live_p.
11865
11866 * callproc.c: Include "character.h" instead of "charset.h".
11867 (Fcall_process): Big change for the new code-conversion APIs.
11868
11869 * casetab.c: Include "character.h" instead of "charset.h".
11870 (set_canon, set_identity, shuffle): Adjust for the new
11871 map_char_table spec.
11872 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11873 accessing the char table structure.
11874
11875 * chartab.c: New file that implements char table.
11876
11877 * category.c: Include "character.h".
11878 (copy_category_entry): New function.
11879 (copy_category_table): Call map_char_table and copy_category_entry.
11880 (Fmake_category_table): Initialize all top-level slots.
11881 (char_category_set): New function.
11882 (modify_lower_category_set): Delete.
11883 (Fmodify_category_entry): Call char_table_ref_and_range.
11884
11885 * category.h (CATEGORY_SET): Just call char_category_set.
11886
11887 * ccl.c: Include "character.h".
11888 (Qccl, Qcclp): New variables.
11889 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11890 it's less than 256.
11891 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11892 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11893 and DST type.
11894 (ccl_driver): Change types of argument, adjust code accordingly.
11895 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11896 ccl_driver.
11897 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11898
11899 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11900 New members src_multibyte, dst_multibyte, consumed, and produced.
11901 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11902 (CODING_SPEC_CCL_PROGRAM): New macro.
11903 (ccl_driver): Update prototype.
11904 (Qccl, Qcclp, Fccl_program_p): Extern them.
11905 (CHECK_CCL_PROGRAM): New macro.
11906
11907 * character.c, character.h, chartab.c: New files.
11908
11909 * charset.c: Mostly re-written. Move character and multibyte sequence
11910 handling codes to character.c.
11911
11912 * charset.h: Mostly re-written. Move character and multibyte sequence
11913 handling codes to character.h.
11914
11915 * coding.c, coding.h: Mostly re-written.
11916
11917 * composite.c: Include "character.h" instead of "charset.h".
11918 (CHAR_WIDTH): Move to character.h.
11919 (HASH_KEY, HASH_VALUE): Delete.
11920
11921 * composite.h (enum composition_method): Change order of enumeration
11922 symbols.
11923
11924 * data.c: Include "character.h" instead of "charset.h".
11925 (Faref): Call CHAR_TABLE_REF for a char table.
11926 (Faset): Call CHAR_TABLE_SET for a char table.
11927
11928 * dispextern.h (free_realized_face, check_face_attribytes)
11929 (generate_ascii_font): Extern them.
11930 (free_realized_multibyte_face): Delete extern.
11931
11932 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
11933 table structure.
11934
11935 * editfns.c: Include "character.h" instead of "charset.h".
11936 (Fchar_to_string): Always call CHAR_STRING.
11937
11938 * emacs.c (main): Call init_charset_once, init_charset,
11939 syms_of_chartab, and syms_of_character.
11940
11941 * fileio.c: Include "character.h" instead of "charset.h".
11942 (Finsert_file_contents): Big change for the new code-conversion API.
11943 (choose_write_coding_system, Fwrite_region): Likewise.
11944 (build_annotations_2): Delete.
11945 (e_write): Big change for the new code-conversion API.
11946
11947 * fns.c: Include "character.h" instead of "charset.h".
11948 (copy_sub_char_table): Move to chartab.c.
11949 (Fcopy_sequence): Call copy_char_table for a char table.
11950 (concat): Delete codes calling count_multibyte.
11951 (string_char_to_byte, string_byte_to_char): Adjust for the new
11952 multibyte form.
11953 (internal_equal): Adjust for the change of char table structure.
11954 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11955 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11956 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11957 (char_table_translate, optimize_sub_char_table)
11958 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
11959 chartab.c.
11960 (char_table_ref_and_index): Delete.
11961 (HASH_KEY, HASH_VALUE): Move to lisp.h.
11962 (Fmd5): Call preferred_coding_system instead of accessing
11963 Vcoding_category_list. Adjust for the new code-conversion API.
11964 (syms_of_fns): Move defsubr for char table related functions to
11965 chartab.c.
11966
11967 * fontset.c: Mostly re-written.
11968
11969 * fontset.h (struct font_info): Change type of the member encoding_type.
11970 (enum FONT_SPEC_INDEX): New enum.
11971 (fontset_font_pattern, fs_load_font): Update prototype.
11972 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
11973
11974 * indent.c: Include "character.h" instead of "charset.h".
11975 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
11976
11977 * insdel.c: Include "character.h" instead of "charset.h".
11978 (copy_text): Don't refer to Vnonascii_translation_table.
11979 (insert_from_gap): New function.
11980
11981 * keyboard.c: Include "character.h" instead of "charset.h".
11982 (command_loop_1): Never call direct_output_forward_char before
11983 a non-ASCII character.
11984 (read_char): If Vkeyboard_translate_table is a char table, always
11985 translate a character.
11986
11987 * keymap.c: Include "character.h".
11988 (store_in_keymap): Handle the case that IDX is a cons.
11989 (Fdefine_key): Handle the case that KEY is a cons and the car part
11990 is also a cons (range).
11991 (push_key_description): Adjust for the new character code.
11992 (describe_vector): Call describe_char_table for a char table.
11993 (describe_char_table): New function.
11994
11995 * keymap.h (describe_char_table): Extern it.
11996
11997 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11998 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
11999 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12000 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12001 Delete.
12002 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12003 structure.
12004 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12005 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12006 (CHARTAB_SIZE_BITS_3): New macros.
12007 (chartab_size): Extern it.
12008 (struct Lisp_Char_Table): Re-design.
12009 (struct Lisp_Sub_Char_Table): New structure.
12010 (HASH_KEY, HASH_VALUE): Move from fns.c.
12011 (CHARACTERBITS): Define as 22.
12012 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12013 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12014 (GC_SUB_CHAR_TABLE_P): New macro.
12015 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12016 (code_convert_string_norecord): Deleted extern.
12017 (init_character_once, syms_of_character, init_charset)
12018 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12019
12020 * lread.c: Include "character.h".
12021 (read_multibyte): New arg NBYTES.
12022 (read_escape): Change the meaning of returned *BYTEREP.
12023 (to_multibyte): Delete.
12024 (read1): Adjust the handling of char table and string.
12025
12026 * print.c: Include "character.h" instead of "charset.h".
12027 (print_string): Convert 8-bit raw bytes to octal form by
12028 string_escape_byte8.
12029 (print_object): Adjust for the new multibyte form. Print 8-bit
12030 raw bytes always in octal form. Handle sub char table correctly.
12031
12032 * process.c: Include "character.h" instead of "charset.h".
12033 (read_process_output, send_process): Adjust for the new
12034 code-conversion API.
12035
12036 * puresize.h (BASE_PURESIZE): Increase.
12037
12038 * regex.c: Include "character.h" instead of "charset.h".
12039 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12040 (regex_compile): Accept a range whose starting and ending
12041 character have different leading bytes.
12042 (analyse_first): Adjust for the above change.
12043
12044 * search.c: Include "character.h" instead of "charset.h".
12045 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12046 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12047
12048 * syntax.c: Include "character.h" instead of "charset.h".
12049 (syntax_parent_lookup): Delete.
12050 (Fmodify_syntax_entry): Accept a cons as CHAR.
12051 (skip_chars): Adjust for the new multibyte form.
12052 (init_syntax_once): Call char_table_set_range instead of directly
12053 accessing the structure of a char table.
12054
12055 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12056 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12057 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12058 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12059
12060 * term.c: Include "buffer.h" and "character.h".
12061 (encode_terminal_code, write_glyphs): Adjust for the new
12062 code-conversion API.
12063 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12064
12065 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12066
12067 * xdisp.c: Include "character.h".
12068 (get_next_display_element): Adjust for the new multibyte form.
12069 (disp_char_vector): Adjust for the new char table structure.
12070 (decode_mode_spec_coding): Adjust for the new structure of
12071 coding system.
12072 (decode_mode_spec): Adjust for the new code-conversion API.
12073
12074 * xfaces.c: Include "character.h" instead of "charset.h".
12075 (load_face_font): Adjust for the change of choose_face_font and
12076 FS_LOAD_FONT.
12077 (generate_ascii_font): New function.
12078 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12079 (set_font_frame_param): Adjust for the change of choose_face_font.
12080 (free_realized_face): Make it public.
12081 (free_realized_faces_for_fontset): Rename from
12082 free_realized_multibyte_face. Free also faces realized for ASCII.
12083 (choose_face_font): Change arguments. Adjust for the change of
12084 fontset_font_pattern and FS_LOAD_FONT.
12085
12086 * xfns.c: Include "character.h".
12087 (x_encode_text): Adjust for the new code-conversion API.
12088
12089 * xselect.c: Don't include "charset.h".
12090 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12091
12092 * xterm.c: Include "character.h".
12093 (x_encode_char): New argument CHARSET. Change caller.
12094 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12095 Call ENCODE_CHAR instead of SPLIT_CHAR.
12096 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12097 CHAR_WIDTH instead of CHARSET_WIDTH.
12098 (XTread_socket): Adjust for the new code-conversion API.
12099 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12100 (x_load_font): Adjust for the change of struct font.
12101
121022008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12103
12104 * xfaces.c (face_at_buffer_position): Remove unused vars.
12105
121062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12107
12108 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12109 Fix overflow checking.
12110
121112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12112
12113 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12114 Cancel previous change.
12115
121162008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12117
12118 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12119 ccl->eight_bit_control. Fix check for buffer overflow.
12120 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12121 (ccl_driver): Initialize extra_bytes to 0.
12122
121232008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12124
12125 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12126 return it ORed with ctrl_modifier.
12127
121282008-01-29 Miles Bader <miles@gnu.org>
12129
12130 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12131
121322008-01-28 Jason Rumney <jasonr@gnu.org>
12133
12134 * w32.c (stat): Don't double check for networked drive.
12135
121362008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12137
12138 * window.c (run_window_configuration_change_hook): New function.
12139 Code extracted from set_window_buffer. Set the selected frame.
12140 (set_window_buffer): Use it.
12141 * window.h (run_window_configuration_change_hook): Declare.
12142 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12143
12144 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12145
121462008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12147
12148 * Makefile.in: Remove references to unused macros.
12149
121502008-01-26 Eli Zaretskii <eliz@gnu.org>
12151
12152 * w32.c (g_b_init_get_sid_sub_authority)
12153 (g_b_init_get_sid_sub_authority_count): New static variables.
12154 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12155 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12156 (init_user_info): Use them to retrieve uid and gid.
12157 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12158 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12159 st_uid and st_gid of the file.
12160
121612008-01-26 Jason Rumney <jasonr@gnu.org>
12162
12163 * w32.c (logon_network_drive): New function.
12164 (stat): Use it.
12165
121662008-01-26 Chong Yidong <cyd@stupidchicken.com>
12167
12168 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12169 invisible text covered with an ellipsis.
12170
121712008-01-25 Richard Stallman <rms@gnu.org>
12172
12173 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12174 jump back to beginning. Move some other initializations after that.
12175 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12176 New variables.
12177 (syms_of_xdisp): Init them.
12178
12179 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12180
12181 * buffer.c (reset_buffer_local_variables):
12182 Implement `permanent-local-hook'.
12183 (Qpermanent_local_hook): New variable.
12184 (syms_of_buffer): Init and staticpro it.
12185
121862008-01-25 Michael Albinus <michael.albinus@gmx.de>
12187
12188 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12189
121902008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12191
12192 * fns.c (Fclrhash): Return TABLE.
12193
121942008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12195
12196 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12197 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12198 is set even without positional changes.
12199 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12200
12201 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12202
122032008-01-23 Jason Rumney <jasonr@gnu.org>
12204
12205 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12206
12207 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12208 the unicode range available in MULE by locale-coding-system.
12209 Improve dbcs lead byte detection. Set event timestamp and modifiers
12210 earlier.
12211
122122008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12213
12214 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12215 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12216 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12217 when used on child processes.
12218
122192008-01-21 Michael Albinus <michael.albinus@gmx.de>
12220
12221 * dbusbind.c (Fdbus_method_return_internal): Rename from
12222 Fdbus_method_return.
12223 (Fdbus_unregister_object): Move to dbus.el.
12224 (Fdbus_call_method, Fdbus_method_return_internal)
12225 (Fdbus_send_signal): Improve debug messages.
12226
122272008-01-20 Martin Rudalics <rudalics@gmx.at>
12228
12229 * undo.c (undo_inhibit_record_point): New variable.
12230 (syms_of_undo): Initialize it.
12231 (record_point): Don't record point when undo_inhibit_record_point
12232 is set.
12233
122342008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12235
12236 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12237
12238 * xdisp.c (Qauto_hscroll_mode): New var.
12239 (syms_of_xdisp): Initialize it.
12240 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12241 window's buffer.
12242 (hscroll_windows): Don't check automatic_hscrolling_p here.
12243
12244 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12245 vscroll if we're setting window-buffer to the value it already has.
12246
122472008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12248
12249 * m/intel386.h: Remove references to XENIX.
12250
122512008-01-17 Andreas Schwab <schwab@suse.de>
12252
12253 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12254 instead of HAVE_X86_64_LIB64_DIR.
12255 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12256
122572008-01-17 Glenn Morris <rgm@gnu.org>
12258
12259 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12260 to HAVE_X86_64_LIB64_DIR.
12261
122622008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12263
12264 * s/irix3-3.h:
12265 * s/irix4-0.h:
12266 * s/386-ix.h:
12267 * s/domain.h:
12268 * s/hpux9-x11r4.h:
12269 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12270
12271 * sysdep.c: Remove code containing references to symbols defined
12272 by unsupported systems.
12273
122742008-01-16 Glenn Morris <rgm@gnu.org>
12275
12276 * coding.c (select-safe-coding-system-function): Doc fix.
12277
122782008-01-15 Glenn Morris <rgm@gnu.org>
12279
12280 * config.in: Revert 2008-01-13 change: this is a generated file.
12281
122822008-01-13 Tom Tromey <tromey@redhat.com>
12283
12284 * lisp.h: Fix typo.
12285
122862008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12287
12288 * m/sequent-ptx.h:
12289 * m/sequent.h:
12290 * s/ptx.h:
12291 * s/ptx4-2.h:
12292 * s/ptx4.h: Remove files for systems no longer supported.
12293
12294 * callproc.c (Fcall_process): Fix previous change.
12295
122962008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12297
12298 * unexsunos4.c: Remove file, system not supported anymore.
12299
12300 * m/mips.h:
12301 * m/intel386.h:
12302 * callproc.c:
12303 * config.in:
12304 * ecrt0.c:
12305 * emacs.c:
12306 * fileio.c:
12307 * frame.c:
12308 * getpagesize.h:
12309 * keyboard.c:
12310 * lread.c:
12311 * process.c:
12312 * puresize.h:
12313 * sysdep.c:
12314 * systty.h:
12315 * syswait.h:
12316 * unexec.c:
12317 * xdisp.c:
12318 * alloc.c: Remove code containing references to symbols defined by
12319 unsupported systems.
12320
123212008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12322
12323 * coding.c (detect_coding_mask): Fix previous change.
12324
123252008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12326
12327 * coding.c (detect_coding_iso2022): New arg
12328 latin_extra_code_state. Allow Latin extra codes only
12329 when *latin_extra_code_state is nonzero.
12330 (detect_coding_mask): If there is a NULL byte, detect the encoding
12331 as UTF-16 or binary. If Latin extra codes exist, detect the
12332 encoding as ISO-2022 only when there's no other proper encoding is
12333 found.
12334
123352008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12336
12337 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12338 #ifdef MAC_OS.
12339
123402008-01-08 Richard Stallman <rms@gnu.org>
12341
12342 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12343
123442008-01-06 Nick Roberts <nickrob@snap.net.nz>
12345
12346 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12347 menu bar in parentheses.
12348
123492008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12350
12351 * m/7300.h:
12352 * m/acorn.h:
12353 * m/alliant-2800.h:
12354 * m/alliant.h:
12355 * m/alliant1.h:
12356 * m/alliant4.h:
12357 * m/altos.h:
12358 * m/amdahl.h:
12359 * m/apollo.h:
12360 * m/att3b.h:
12361 * m/aviion-intel.h:
12362 * m/aviion.h:
12363 * m/celerity.h:
12364 * m/clipper.h:
12365 * m/cnvrgnt.h:
12366 * m/convex.h:
12367 * m/cydra5.h:
12368 * m/delta88k.h:
12369 * m/dpx2.h:
12370 * m/dual.h:
12371 * m/elxsi.h:
12372 * m/f301.h:
12373 * m/gould-np1.h:
12374 * m/gould.h:
12375 * m/i860.h:
12376 * m/ibmps2-aix.h:
12377 * m/ibmrt-aix.h:
12378 * m/ibmrt.h:
12379 * m/irist.h:
12380 * m/is386.h:
12381 * m/isi-ov.h:
12382 * m/mega68.h:
12383 * m/mg1.h:
12384 * m/news-r6.h:
12385 * m/news-risc.h:
12386 * m/news.h:
12387 * m/nh3000.h:
12388 * m/nh4000.h:
12389 * m/ns16000.h:
12390 * m/ns32000.h:
12391 * m/nu.h:
12392 * m/orion.h:
12393 * m/orion105.h:
12394 * m/paragon.h:
12395 * m/pfa50.h:
12396 * m/plexus.h:
12397 * m/pyramid.h:
12398 * m/pyrmips.h:
12399 * m/sh3el.h:
12400 * m/sps7.h:
12401 * m/sr2k.h:
12402 * m/stride.h:
12403 * m/sun1.h:
12404 * m/sun2.h:
12405 * m/sun3-68881.h:
12406 * m/sun3-fpa.h:
12407 * m/sun3-soft.h:
12408 * m/sun3.h:
12409 * m/sun386.h:
12410 * m/symmetry.h:
12411 * m/tad68k.h:
12412 * m/tahoe.h:
12413 * m/targon31.h:
12414 * m/tek4300.h:
12415 * m/tekxd88.h:
12416 * m/tower32.h:
12417 * m/tower32v3.h:
12418 * m/ustation.h:
12419 * m/wicat.h:
12420 * m/xps100.h:
12421 * s/cxux.h:
12422 * s/cxux7.h:
12423 * s/dgux.h:
12424 * s/dgux4.h:
12425 * s/dgux5-4-3.h:
12426 * s/dgux5-4r2.h:
12427 * s/esix.h:
12428 * s/esix5r4.h:
12429 * s/hiuxmpp.h:
12430 * s/hiuxwe2.h:
12431 * s/iris3-5.h:
12432 * s/iris3-6.h:
12433 * s/isc2-2.h:
12434 * s/isc3-0.h:
12435 * s/isc4-0.h:
12436 * s/isc4-1.h:
12437 * s/newsos5.h:
12438 * s/newsos6.h:
12439 * s/osf1.h:
12440 * s/osf5-0.h:
12441 * s/riscix1-1.h:
12442 * s/riscix12.h:
12443 * s/sco4.h:
12444 * s/sco5.h:
12445 * s/sunos4-0.h:
12446 * s/sunos4-1.h:
12447 * s/sunos413.h:
12448 * s/sunos4shr.h:
12449 * s/umax.h:
12450 * s/unipl5-2.h:
12451 * s/xenix.h:
12452 * cxux-crt0.s:
12453 * unexapollo.c:
12454 * unexconvex.c:
12455 * unexenix.c:
12456 * unexsni.c: Remove files for systems no longer supported.
12457
12458 * m/intel386.h: Remove references to unsupported systems.
12459
12460 * w32.c (get_emacs_configuration): Remove reference to i860.
12461
12462 * sysdep.c: Remove dead code.
12463
124642008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12465
12466 * s/rtu.h:
12467 * m/masscomp.h: Remove files. Platform is obsolete.
12468
124692008-01-04 Michael Albinus <michael.albinus@gmx.de>
12470
12471 * dbusbind.c (Fdbus_method_return): New function.
12472 (xd_read_message): Add the serial number to the event.
12473 (Fdbus_register_method): Activate the function.
12474
124752008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12476
12477 * keyboard.c (read_key_sequence): Fix typo.
12478
124792008-01-03 Michael Albinus <michael.albinus@gmx.de>
12480
12481 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12482 (xd_signature, xd_append_arg): Handle element type detection for
12483 empty arrays.
12484 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12485 SDATA () calls; this must be solved more general.
12486 (Fdbus_register_signal): Use SBYTES instead of strlen.
12487
124882008-01-03 Magnus Henoch <magnus@zemdatav>
12489
12490 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12491 unsigned int for byte values (necessary for big-endian platform).
12492 (Fdbus_call_method): Handle the case of no returned arguments.
12493
124942007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12495
12496 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12497
124982007-12-31 Magnus Henoch <mange@freemail.hu>
12499
12500 * dbusbind.c (xd_signature): Signature of variant is just "v".
12501
125022007-12-30 Michael Albinus <michael.albinus@gmx.de>
12503
12504 * dbusbind.c: Fix several errors and compiler warnings.
12505 Reported by Tom Tromey <tromey@redhat.com>.
12506 (XD_ERROR, XD_DEBUG_MESSAGE)
12507 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12508 (xd_append_arg): Part for basic D-Bus types rewritten.
12509 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12510 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12511 appropriate.
12512 (xd_read_message): Return Qnil. Don't signal an error; it is not
12513 useful during event reading.
12514 (Fdbus_register_signal): Signal an error if the check for
12515 FUNCTIONP fails.
12516 (Fdbus_register_method): New function. The implementation is not
12517 complete, the call of the function signals an error therefore.
12518 (Fdbus_unregister_object): New function, renamed from
12519 Fdbus_unregister_signal. The initial check signals an error, if
12520 the object is not well formed.
12521
125222007-12-30 Richard Stallman <rms@gnu.org>
12523
12524 * textprop.c (get_char_property_and_overlay):
12525 Signal error if POSITION is out of range in a buffer.
12526
125272007-12-29 Martin Rudalics <rudalics@gmx.at>
12528
12529 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12530 because the original parameters are in pure storage now.
12531
125322007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12533
12534 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12535
125362007-12-22 Eli Zaretskii <eliz@gnu.org>
12537
12538 * callint.c (syms_of_callint) <command-history>: Add reference to
12539 history-length in the doc string.
12540
125412007-12-17 Jason Rumney <jasonr@gnu.org>
12542
12543 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12544 before passing as wParam.
12545
125462007-12-22 Michael Albinus <michael.albinus@gmx.de>
12547
12548 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12549 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12550 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12551 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12552 as number.
12553 (Fdbus_call_method): Fix docstring.
12554
125552007-12-21 Michael Albinus <michael.albinus@gmx.de>
12556
12557 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12558 New macros.
12559 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12560 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12561 Simplify.
12562 (xd_signature): New function.
12563 (xd_append_arg): Compute also signatures. Major rewrite.
12564 (xd_retrieve_arg): Make debug messages friendly.
12565 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12566 Check for signatures of arguments.
12567
125682007-12-19 Michael Albinus <michael.albinus@gmx.de>
12569
12570 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12571 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12572 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12573 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12574 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12575 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12576 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12577 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12578 (xd_retrieve_value): Remove. Functionality included in ...
12579 (xd_append_arg): New function.
12580 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12581
125822007-12-16 Michael Albinus <michael.albinus@gmx.de>
12583
12584 * dbusbind.c (top): Include <stdio.h>.
12585 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12586 dbus_message_new_method_call and dbus_message_new_signal.
12587 (Fdbus_register_signal): Rename unique_name to uname.
12588 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12589 non-existing unique name. Fix typos in matching rule. Return an
12590 object which is useful in Fdbus_unregister_signal.
12591 (Fdbus_unregister_signal): Reimplementation, in order to remove
12592 only the corresponding entry.
12593 (Vdbus_registered_functions_table): Change the order of entries.
12594 Apply these changes in xd_read_message and Fdbus_register_signal.
12595
125962007-12-16 Andreas Schwab <schwab@suse.de>
12597
12598 * fileio.c (Finsert_file_contents): Fix overflow check to not
12599 depend on undefined integer overflow.
12600
126012007-12-14 Jason Rumney <jasonr@gnu.org>
12602
12603 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12604 for characters above 127.
12605
126062007-12-13 Jason Rumney <jasonr@gnu.org>
12607
12608 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12609 before dereferencing array.
12610 (lookup_vk_code): Remove zero comparison.
12611
126122007-12-14 Michael Albinus <michael.albinus@gmx.de>
12613
12614 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12615 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12616 Use `unsigned int' instead of `uint'.
12617 (xd_read_message, Fdbus_register_signal): Split expressions into
12618 multiple lines before operators "&&" and "||", according to the
12619 GNU Coding Standards.
12620
126212007-12-14 Eli Zaretskii <eliz@gnu.org>
12622
12623 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12624
126252007-12-12 Juri Linkov <juri@jurta.org>
12626
12627 * buffer.c (Frename_buffer): In interactive spec replace
12628 `read-buffer' with `read-string' that uses `buffer-name-history'
12629 as history, and the current buffer's name as default.
12630
126312007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12632
12633 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12634 manipulating the backtrace manually.
12635 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12636 (struct backtrace, backtrace_list): Remove.
12637 (command_loop_1): Remove dead var `no_direct'.
12638
12639 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12640 preserve non-built-in buffer-local variables.
12641 (Fkill_all_local_variables): Don't re-create&re-set permanent
12642 buffer-local variables.
12643
126442007-12-09 Juri Linkov <juri@jurta.org>
12645
12646 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12647 Lisp code that uses `read-buffer' with current buffer as default.
12648
126492007-12-08 Michael Albinus <michael.albinus@gmx.de>
12650
12651 * dbusbind.c (xd_read_message): Generate an event for every
12652 registered handler. There might be several handlers registered
12653 for the same signal.
12654 (Fdbus_register_signal): Don't overwrite a registration for the
12655 same signal. Add a new registration if handlers are different.
12656 (Vdbus_registered_functions_table): Rework doc string.
12657
126582007-12-07 Michael Albinus <michael.albinus@gmx.de>
12659
12660 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12661 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12662 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12663 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12664 Unify argument lists.
12665 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12666 arguments and hash table keys. Use unique name for service.
12667 (Fdbus_unregister_signal): Remove checks.
12668 (Vdbus_registered_functions_table): Fix doc string.
12669
126702007-12-05 Magnus Henoch <mange@freemail.hu>
12671
12672 * process.c (make_process): Initialize pty_flag to 0.
12673
126742007-12-05 Jason Rumney <jasonr@gnu.org>
12675
12676 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12677 specified XBMs.
12678
126792007-12-05 Richard Stallman <rms@gnu.org>
12680
12681 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12682
126832007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12684
12685 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12686 New variable.
12687 (mac_try_close_socket) [MAC_OSX]: New function.
12688 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12689 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12690
12691 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12692 Use mac_try_close_socket.
12693
126942007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12695
12696 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12697 reloc_base.
12698 (copy_dysymtab): Compute relocation base here.
12699 (rebase_reloc_address) [__ppc64__]: New function.
12700 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12701 changed.
12702
127032007-12-05 Jason Rumney <jasonr@gnu.org>
12704
12705 * w32proc.c (sys_spawnve): Quote args with wildcards.
12706
127072007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12708
12709 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12710 __objc_* sections.
12711 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12712
127132007-12-05 Michael Albinus <michael.albinus@gmx.de>
12714
12715 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12716 Move check for Vdbus_registered_functions_table to
12717 xd_read_queued_messages.
12718 (xd_read_queued_messages): Protect xd_read_message calls by
12719 internal_condition_case_1.
12720
127212007-12-04 Michael Albinus <michael.albinus@gmx.de>
12722
12723 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12724 Qdbus_system_bus and Qdbus_session_bus, respectively.
12725 (Vdbus_intern_symbols): Remove.
12726 (Vdbus_registered_functions_table): New hash table.
12727 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12728 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12729 Rewrite in order to manage registered functions by hash table
12730 Vdbus_registered_functions_table.
12731
127322007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12733
12734 * xterm.c: Update URL to Window Manager Specification in comment.
12735
127362007-12-02 Michael Albinus <michael.albinus@gmx.de>
12737
12738 * config.in (HAVE_DBUS): Add.
12739
12740 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12741 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12742 (obj): Add $(DBUS_OBJ).
12743 (LIBES): Add $(DBUS_LIBS).
12744 (dbusbind.o): New target.
12745
12746 * dbusbind.c: New file.
12747
12748 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12749
12750 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12751 (Qdbus_event): New Lisp symbol.
12752 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12753 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12754 (keys_of_keyboard ): Define dbus-event.
12755
12756 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12757
127582007-12-01 Richard Stallman <rms@gnu.org>
12759
12760 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12761
127622007-11-30 Jason Rumney <jasonr@gnu.org>
12763
12764 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12765 (w32con_reset_terminal_modes): Clear screen buffer.
12766 (w32_face_attributes): Don't use color indexes that are out of range.
12767 Only reverse the default colors.
12768
12769 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12770 WINDOWSNT.
12771
12772 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12773
127742007-11-29 Jason Rumney <jasonr@gnu.org>
12775
12776 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12777 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12778 if the terminal colors are initialized.
12779 (unspecified_fg, unspecified_bg): Remove unused declarations.
12780
127812007-11-29 Andreas Schwab <schwab@suse.de>
12782
12783 * keyboard.c (apply_modifiers): Fix typo.
12784
127852007-11-29 Richard Stallman <rms@gnu.org>
12786
12787 * keymap.c (Fcurrent_local_map): Doc fix.
12788
127892007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12790
12791 * s/gnu-kfreebsd.h: New file.
12792
127932007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12794
12795 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12796 Don't cast redundantly.
12797
12798 * keyboard.c (KEY_TO_CHAR): New macro.
12799 (parse_modifiers, apply_modifiers): Accept integer arguments.
12800 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12801 for chars and symbol keys.
12802 After doing such remapping, apply function-key-map again.
12803
128042007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12805
12806 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12807 compiled anymore.
12808
128092007-11-26 Andreas Schwab <schwab@suse.de>
12810
12811 * process.c (list_processes_1): Fix indentation level of the
12812 command column.
12813
128142007-11-23 Andreas Schwab <schwab@suse.de>
12815
12816 * editfns.c (Fformat): Handle %c specially since it requires the
12817 argument to be of type int.
12818
128192007-11-23 Markus Triska <markus.triska@gmx.at>
12820
12821 * emacs.c (main): Call init_editfns before init_process, since
12822 init_process sets Vprocess_connection_type depending on OS release.
12823
128242007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12825
12826 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12827 (find_symbol_value): Use do_symval_forwarding.
12828
12829 * data.c (set_internal): Set the value in the `cons-cell' (for
12830 Buffer_Local_values) not only for frame-local variables.
12831
128322007-11-22 Andreas Schwab <schwab@suse.de>
12833
12834 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12835 values to sprintf.
12836 * keymap.c (Fsingle_key_description): Likewise.
12837 * print.c (print_object): Likewise.
12838
128392007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12840
12841 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12842 file for image is nil.
12843
128442007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12845
12846 * term.c: Include stdarg.h.
12847 (fatal): Implement using varargs.
12848 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12849
128502007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12851
12852 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12853 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12854 Update call to buffer_slot_type_mismatch.
12855 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12856 (buffer_slot_type_mismatch): Update.
12857 * buffer.c (buffer_local_types): Remove.
12858 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12859 (defvar_per_buffer): Set the type in the buffer_objfwd.
12860
128612007-11-21 Jason Rumney <jasonr@gnu.org>
12862
12863 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12864 CreateFileMapping returns NULL on failure.
12865
128662007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12867
12868 * search.c (Fset_match_data): Remove the `evaporate' feature.
12869 (unwind_set_match_data): Don't use the `evaporate' feature.
12870
128712007-11-21 Jason Rumney <jasonr@gnu.org>
12872
12873 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12874
12875 * w32console.c (w32con_write_glyphs): Remove unused variables.
12876
128772007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12878
12879 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12880
12881 * s/darwin.h (MULTI_KBOARD): Remove.
12882
12883 * macfns.c (x_create_tip_frame, Fx_create_frame)
12884 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12885
128862007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12887
12888 * buffer.c (Fbuffer_local_value): Remove redundant test.
12889 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12890 than in `current-buffer' to match the comment.
12891 Do the swap using swap_in_global_binding.
12892
12893 * data.c (store_symval_forwarding, set_internal):
12894 * eval.c (specbind): Remove dead code.
12895
12896 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12897 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12898 Since we do not want to see internal Lisp_*fwd objects here.
12899
129002007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12901
12902 * sysdep.c (init_system_name): Use getaddrinfo if available.
12903
12904 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12905 (x_scroll_bar_note_movement): start, end, with, height in struct
12906 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12907
129082007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12909
12910 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12911
129122007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12913
12914 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12915 This undoes Richard's change of 14-Oct-2002.
12916
12917 * alloc.c (allocate_other_vector):
12918 * lisp.h (allocate_other_vector): Remove.
12919
12920 * window.c (struct save_window_data): Move non-lisp data to the end
12921 and make it `int' rather than Lisp_Object.
12922 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12923 Done wrap/unwrap integer values.
12924 (Fset_window_configuration, compare_window_configurations):
12925 Update use of fields to their new types.
12926
12927 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12928 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12929 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12930 (SET_SCROLL_BAR_X_WINDOW): Remove.
12931 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12932 Access the new x_window field directly.
12933 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12934 Don't wrap/unwrap integers into Lisp_Objects.
12935 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12936 (x_scroll_bar_report_motion):
12937 Don't wrap/unwrap integers into Lisp_Objects.
12938 (x_term_init): Use SDATA.
12939 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12940 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12941 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12942 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12943 * xfns.c (x_set_background_color):
12944 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12945 Access the new x_window field directly.
12946
12947 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12948 (allocate_pseudovector): Make non-static.
12949
12950 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12951 (allocate_pseudovector): Declare.
12952 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
12953
129542007-11-15 Andreas Schwab <schwab@suse.de>
12955
12956 * editfns.c (Fformat): Correctly format EMACS_INT values.
12957 Also take precision into account when formatting an integer.
12958
12959 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12960
129612007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12962
12963 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12964 (syms_of_keyboard): Defsubr it.
12965
12966 * data.c (swap_in_global_binding): Fix longstanding bug where
12967 store_symval_forwarding was not called with the right second argument,
12968 thus causing objfwd-ing from being dropped.
12969
129702007-11-14 Juanma Barranquero <lekktu@gmail.com>
12971
12972 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12973 (Fx_display_pixel_height, Fx_display_planes)
12974 (Fx_display_color_cells, Fx_server_max_request_size)
12975 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12976 (Fx_display_visual_class, Fx_display_save_under):
12977 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12978 (Fx_display_pixel_height, Fx_display_planes)
12979 (Fx_display_color_cells, Fx_server_max_request_size)
12980 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12981 (Fx_display_mm_height, Fx_display_mm_width)
12982 (Fx_display_backing_store, Fx_display_visual_class)
12983 (Fw32_select_font, Fx_display_save_under):
12984 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12985 (Fx_display_pixel_height, Fx_display_planes)
12986 (Fx_display_color_cells, Fx_server_max_request_size)
12987 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12988 (Fx_display_save_under): Fix typos in docstrings.
12989
129902007-11-14 Juanma Barranquero <lekktu@gmail.com>
12991
12992 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12993 corresponding to deleted entries; they are an implementation detail.
12994 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12995 Remove variables.
12996 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12997 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12998 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12999 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13000 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13001 (Fw32_define_rgb_color, Fw32_load_color_file)
13002 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13003 Fix typos in docstrings.
13004 (Fx_server_version): Reflow docstring.
13005 (Fw32_shell_execute): Doc fixes.
13006
130072007-11-13 Juanma Barranquero <lekktu@gmail.com>
13008
13009 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13010 if w32_parse_hot_key returned nil.
13011
130122007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13013
13014 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13015
130162007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13017
aac0c6e3
MR
13018 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13019
13020 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13021
13022 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13023 Remove W32_SCROLL_BAR_CLICK_EVENT.
13024
13025 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13026 Add MULTIMEDIA_KEY_EVENT.
13027
13028 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13029 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13030 (make_lispy_event) [WINDOWSNT]: Use it to translate
13031 MULTIMEDIA_KEY_EVENT.
13032
13033 * w32term.h (WM_APPCOMMAND): Define if not already.
13034 (GET_APPCOMMAND_LPARAM): Likewise.
13035
13036 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13037 WM_APPCOMMAND.
13038
13039 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13040 (syms_of_w32fns): Export and initialize it.
13041 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13042
130432007-11-09 Chong Yidong <cyd@stupidchicken.com>
13044
13045 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13046 twice.
13047
13048 * xdisp.c (handle_face_prop): Fix last change.
13049
130502007-11-09 Richard Stallman <rms@gnu.org>
13051
13052 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13053 not just for after-strings and before-strings.
13054 Call face_for_overlay_string and pass the overlay to it.
13055 (handle_display_prop): Determine whether property came from an overlay.
13056 Pass OVERLAY arg to handle_single_display_spec.
13057 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13058 (load_overlay_strings): Fill in it->string_overlays.
13059 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13060
13061 * xfaces.c (face_for_overlay_string): Function renamed from
13062 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13063
13064 * dispextern.h (struct it): New elt string_overlays.
13065 New elt from_overlay, also in stack.
13066 Rearrange a few elements.
13067 (face_for_overlay_string): Decl renamed from
13068 face_at_buffer_position_no_overlays, and add argument.
13069
130702007-11-09 Richard Stallman <rms@gnu.org>
13071
13072 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13073 to get the base face for an overlay string.
13074
13075 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13076
13077 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13078
13079 * xdisp.c (handle_stop): Move some code out of loop.
13080
130812007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13082
13083 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13084 Fix conversion from Lisp object to ATSUFontID.
13085
130862007-11-09 Jason Rumney <jasonr@gnu.org>
13087
13088 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13089
130902007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13091
13092 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13093 Don't assume regions are aligned to page boundary.
13094 (print_load_command_name): Add LC_UUID if defined.
13095
130962007-11-09 Richard Stallman <rms@gnu.org>
13097
13098 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13099
131002007-11-07 Jason Rumney <jasonr@gnu.org>
13101
13102 * s/windows95.h: Remove.
13103
131042007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13105
13106 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13107 abort with a message on unhandled store_type values.
13108
131092007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13110
13111 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13112 Remove HAVE_X11R5 and HAVE_X11R4.
13113
131142007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13115
13116 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13117
131182007-11-01 Johan Bockgård <bojohan@gnu.org>
13119
13120 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13121 Don't set s->stippled_p here, since it has already been set by
13122 x_set_glyph_string_gc from x_draw_glyph_string.
13123
131242007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13125
13126 * sunfns.c: Remove file.
13127
13128 * m/sun386.h:
13129 * m/sun2.h:
13130 * m/sparc.h: Remove Sun windows code.
13131
131322007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13133
13134 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13135 (init_keyboard): Set current_kboard's window-system to nil.
13136 (tty_read_avail_input): Typo.
13137 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13138
131392007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13140
13141 * s/usg5-4.h:
13142 * s/usg5-3.h:
13143 * s/ptx.h:
13144 * m/is386.h:
13145 * m/ibmps2-aix.h:
13146 * Makefile.in: Remove all mentions of X10.
13147
13148 * dispnew.c (syms_of_display): Don't mention version 10.
13149
131502007-10-28 Juanma Barranquero <lekktu@gmail.com>
13151
13152 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13153 ($(BLD)/abbrev.$(O)): Remove.
13154
131552007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13156
13157 Rewrite abbrev.c in Elisp.
13158 * image.c (Qcount): Don't declare as extern.
13159 (syms_of_image): Initialize and staticpro `Qcount'.
13160 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13161 * emacs.c (main): Don't call syms_of_abbrev.
13162 * Makefile.in (obj): Remove abbrev.o.
13163 (abbrev.o): Remove.
13164 * abbrev.c: Remove.
13165
131662007-10-26 Martin Rudalics <rudalics@gmx.at>
13167
13168 * window.c (window_min_size_2): Don't count header-line.
13169
131702007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13171
13172 * frame.h (struct frame): Move all bit fields after the first bit
13173 field to take advantage of the available space. Group all the
13174 chars together to reduce wasted space due to padding.
13175
131762007-10-26 Juanma Barranquero <lekktu@gmail.com>
13177
13178 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13179
13180 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13181 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13182 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13183 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13184 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13185 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13186 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13187 (last_marked, mark_object_loop_halt): Make static.
13188
13189 * frame.c (syms_of_frame) <delete-frame-functions>:
13190 Fix typo in docstring.
13191
131922007-10-25 Juanma Barranquero <lekktu@gmail.com>
13193
13194 * w32.c (init_environment): Fix tiny memory leak.
13195 (w32_get_resource): Remove unused variable `ok'.
13196
131972007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13198
13199 Make `window-system' into a keyboard-local variable (rather than
13200 frame-local as done originally by multi-tty).
13201
13202 * keyboard.h (struct kboard): Add Vwindow_system.
13203 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13204 (mark_kboards): Mark Vwindow_system.
13205
13206 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13207 (init_display): Don't set the obsolete `window-system' frame-param.
13208
13209 * xterm.c (x_term_init):
13210 * w32term.c (w32_create_terminal):
13211 * term.c (init_tty): Set Vwindow_system.
13212 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13213 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13214
13215 * xfns.c (Fx_create_frame, x_create_tip_frame):
13216 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13217 * macfns.c (Fx_create_frame):
13218 Don't set the obsolete `window-system' frame-param.
13219
13220 * frame.h (Qwindow_system): Remove.
13221 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13222 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13223
132242007-10-24 Richard Stallman <rms@gnu.org>
13225
13226 * frame.c (x_figure_window_size): For fullscreen case,
13227 set USPosition | PPosition without clobbering rest of window_prompting.
13228
13229 * keyboard.c (Fcurrent_idle_time): Doc fix.
13230
13231 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13232
132332007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13234
13235 * process.c (unwind_request_sigio): Only define if __ultrix__.
13236
13237 * callproc.c (child_setup): Remove spurious *.
13238
13239 * lisp.h (Fget_text_property): Declare.
13240 (have_menus_p): Declare it here rather than in sys-dep header files.
13241 * macterm.h (have_menus_p):
13242 * msdos.h (have_menus_p):
13243 * xterm.h (have_menus_p): Remove.
13244
13245 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13246 (Fmake_variable_frame_local): Just check the variable's const-ness
13247 rather than checking nil or t.
13248
132492007-10-22 Jason Rumney <jasonr@gnu.org>
13250
13251 * w32fns.c: Include math.h.
13252 (w32_abort): Declaration moved to nt/config.nt.
13253
13254 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13255 (abort): Redefinition moved to nt/config.nt.
13256
13257 * m/windowsnt.h: Remove.
13258
132592007-10-22 Juanma Barranquero <lekktu@gmail.com>
13260
13261 * emacs.c (Fdump_emacs): Fix typo in message.
13262 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13263 <installation-directory>: Reflow docstring.
13264
132652007-10-22 Juri Linkov <juri@jurta.org>
13266
13267 * minibuf.c: Allow minibuffer default to be a list of default values.
13268 With empty input use the first element of this list as returned default.
13269 (string_to_object)
13270 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13271 (read_minibuf): If defalt is cons, set histstring to its car.
13272 (Fread_string): If default_value is cons, set val to its car.
13273 (Fread_buffer): If def is cons, use its car.
13274 (Fcompleting_read): If defalt is cons, set val to its car.
13275
132762007-10-21 Michael Albinus <michael.albinus@gmx.de>
13277
13278 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13279
132802007-10-20 Juanma Barranquero <lekktu@gmail.com>
13281
13282 * doc.c (Fdocumentation): Check for advice in all cases.
13283
132842007-10-19 Chong Yidong <cyd@stupidchicken.com>
13285
13286 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13287
132882007-10-19 Richard Stallman <rms@gnu.org>
13289
13290 * doc.c (Fdocumentation): Check for and handle an advised function.
13291
132922007-10-19 Juanma Barranquero <lekktu@gmail.com>
13293
13294 * process.c (Fset_process_filter): Doc fix.
13295
132962007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13297
13298 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13299 which caused key-translation-map to applied repeatedly (thus breaking
13300 double-mode).
13301
133022007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13303
13304 * xselect.c (x_own_selection, x_handle_selection_clear)
13305 (x_clear_frame_selections):
13306 * w32menu.c (list_of_panes, list_of_items):
13307 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13308 * textprop.c (validate_plist, interval_has_all_properties)
13309 (interval_has_some_properties, interval_has_some_properties_list)
13310 (add_properties, text_property_list):
13311 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13312 * minibuf.c (Fassoc_string):
13313 * macselect.c (x_own_selection, x_clear_frame_selections)
13314 (Fx_disown_selection_internal):
13315 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13316 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13317
133182007-10-17 Chong Yidong <cyd@stupidchicken.com>
13319
13320 * process.c: Link to libs for calling res_init() if available.
13321 (Fmake_network_process): Call res_init() before getaddrinfo or
13322 gethostbyname, if possible.
13323
133242007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13325
13326 * lread.c (read1): Set pvectype for char_tables.
13327
13328 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13329 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13330 Add type checks.
13331 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13332
13333 * alloc.c (free_misc): Use XMISCTYPE.
13334 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13335
133362007-10-17 Glenn Morris <rgm@gnu.org>
13337
13338 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13339 (syms_of_minibuf): Add Qcompletion_ignore_case.
13340 * dired.c (Qcompletion_ignore_case): Change to external.
13341 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13342 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13343 (Fread_file_name): Use it rather than intern'ing.
13344
13345 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13346 (Fread_coding_system): Ignore case of user input.
13347
133482007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13349
13350 * xdisp.c (handle_display_prop): Ignore display specs after
13351 replacing one when string text is being replaced.
13352 (handle_single_display_spec): Pretend as if characters with display
13353 property haven't been consumed only when buffer text is being replaced.
13354
133552007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13356
13357 * xfns.c (Fx_create_frame, Fx_display_list):
13358 * window.c (window_fixed_size_p, enlarge_window)
13359 (shrink_window_lowest_first):
13360 * macterm.c (init_font_name_table):
13361 * macfns.c (Fx_create_frame, Fx_display_list):
13362 * lread.c (close_load_descs):
13363 * keyboard.c (read_char_x_menu_prompt):
13364 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13365 * coding.c (code_convert_region_unwind): Test the type of an object
13366 rather than just !NILP before extracting data from it.
13367
13368 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13369
13370 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13371 (XMISCANY): New macro.
13372 (XMISCTYPE): Use it.
13373 (struct Lisp_Misc_Any): New type.
13374 (union Lisp_Misc): Use it.
13375 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13376 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13377 (find_symbol_value, set_internal, default_value, Fset_default)
13378 (Fmake_variable_buffer_local, Fmake_local_variable)
13379 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13380 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13381 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13382 * alloc.c (allocate_buffer): Set the size and tag.
13383 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13384 Use XMISCANY.
13385 (die): Follow the GNU convention for error messages.
13386 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13387 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13388 tag any more.
13389 (set_buffer_internal_1):
13390 * frame.c (store_frame_param):
13391 * eval.c (specbind):
13392 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13393
13394 * doc.c (Fsnarf_documentation): Simplify.
13395
133962007-10-14 Juanma Barranquero <lekktu@gmail.com>
13397
13398 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13399 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13400
134012007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13402
13403 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13404
134052007-10-14 Juanma Barranquero <lekktu@gmail.com>
13406
13407 * eval.c (do_autoload): Don't save autoloads.
13408
13409 * data.c (Ffset): Save autoload of the function being set.
13410
134112007-10-07 John Paul Wallington <jpw@pobox.com>
13412
13413 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13414 parameter before setting up faces.
13415
134162007-10-13 Eli Zaretskii <eliz@gnu.org>
13417
13418 * ccl.c (Fregister_code_conversion_map):
13419 * keyboard.c (append_tool_bar_item): Reformat last change.
13420
13421 * lisp.h (eabs): Rename from `abs'. All callers changed.
13422
134232007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13424
13425 * buffer.c (add_overlay_mod_hooklist):
13426 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13427 * fontset.c (make_fontset):
13428 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13429 (append_tool_bar_item):
13430 * macmenu.c (grow_menu_items):
13431 * w32menu.c (grow_menu_items):
13432 * xmenu.c (grow_menu_items): Use larger_vector.
13433
134342007-10-13 Eli Zaretskii <eliz@gnu.org>
13435
13436 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13437 selected frame'' on MSDOS).
13438
134392007-10-12 Martin Rudalics <rudalics@gmx.at>
13440
13441 * frame.c (Qexplicit_name): New variable.
13442 (x_report_frame_params): Report it in parameter alist.
13443 (syms_of_frame): Intern and staticpro it.
13444
134452007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13446
13447 * macfns.c (x_create_tip_frame): Set terminal for frame.
13448
134492007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13450
13451 * frame.c (Qenvironment): Remove.
13452 (syms_of_frame) <Qenvironment>: Don't initialize.
13453 (Fdelete_frame): Don't treat the `environment' param specially.
13454 * frame.h (Qenvironment): Don't declare.
13455 * callproc.c (set_initial_environment): Don't set unused frame param.
13456
13457 * frame.c (Fframe_with_environment): Remove.
13458 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13459
13460 * lisp.h (Fframe_with_environment): Don't declare.
13461
134622007-10-10 Juanma Barranquero <lekktu@gmail.com>
13463
13464 * indent.c (indent_tabs_mode, last_known_column)
13465 (last_known_column_modified): Make static.
13466 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13467
134682007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13469
13470 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13471
134722007-10-09 Jason Rumney <jasonr@gnu.org>
13473
13474 * w32term.c (x_set_window_size): Disable code that attempts to tell
13475 Lisp code about a size change before it actually happens.
13476
134772007-10-09 Richard Stallman <rms@gnu.org>
13478
13479 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13480 return HANDLED_RETURN.
13481
134822007-10-08 Martin Rudalics <rudalics@gmx.at>
13483
13484 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13485 when there's an unread command event.
13486
13487 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13488 window autoselection act appropriately when leaving selected frame.
13489 (syms_of_frame): Initialize focus_follows_mouse.
13490 * frame.h (focus_follows_mouse): Extern it.
13491 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13492 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13493 * msdos.c (dos_rawgetc): Likewise.
13494 * w32term.c (w32_read_socket): Likewise.
13495 * xterm.c (handle_one_xevent): Likewise.
13496 * xdisp.c (syms_of_xdisp): In doc-string of
13497 mouse-autoselect-window mention focus-follows-mouse.
13498
134992007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13500
13501 * macterm.c (mac_load_query_font): Fix missing return value.
13502 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13503 Add BLOCK_INPUT.
13504
135052007-10-08 Richard Stallman <rms@gnu.org>
13506
13507 * xdisp.c (get_window_cursor_type): Implement documented behavior
13508 for cursor-in-non-selected-windows = t.
13509
135102007-10-08 Jason Rumney <jasonr@gnu.org>
13511
13512 * w32.c (w32_get_resource): Always close registry keys.
13513
135142007-10-08 Jason Rumney <jasonr@gnu.org>
13515
13516 * makefile.w32-in (LIBS): Add COMCTL32.
13517
13518 * w32fns.c (globals_of_w32fns): Init common controls.
13519
135202007-10-08 Richard Stallman <rms@gnu.org>
13521
13522 * image.c (our_memory_buffer): Rename from omfib_buffer.
13523
135242007-10-08 Richard Stallman <rms@gnu.org>
13525
13526 * buffer.c (Foverlays_at): Doc fix.
13527
135282007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13529
13530 * fns.c (Fplist_put): Preserve uneven tail data.
13531
135322007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13533
13534 * termhooks.h (enum event_kind): Remove trailing comma.
13535
13536 * frame.h (enum): Remove trailing comma.
13537
135382007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13539
13540 * w32proc.c (delete_child): Don't terminate threads of zombies.
13541
135422007-10-08 Martin Rudalics <rudalics@gmx.at>
13543
13544 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13545
13546 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13547 last-repeatable-command.
13548 (init_kboard): Initialize Vlast_repeatable_command.
13549 (command_loop_1): Set it to real_this_command unless that was
13550 bound to an input event.
13551 (mark_kboards): Mark it.
13552
135532007-10-08 Richard Stallman <rms@gnu.org>
13554
13555 * eval.c (condition-case): Doc fix.
13556
135572007-10-08 Masatake YAMATO <jet@gyve.org>
13558
13559 * xfaces.c (tty_supports_face_attributes_p): Fix code
13560 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13561 was copied and not edited.
13562
135632007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13564
13565 Add new `input-decode-map' keymap and use it for terminal
13566 escape sequences.
13567 * keyboard.h (struct kboard): Add Vinput_decode_map.
13568 Remove Vlocal_key_translation_map.
13569 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13570 (init_kboard): Init input-decode-map.
13571 Replace local-key-translation-map back with key-translation-map.
13572 (syms_of_keyboard): Declare input-decode-map.
13573 Remove local-key-translation-map. Update docstrings.
13574 (mark_kboards): Mark Vinput_decode_map.
13575 Don't mark Vlocal_key_translation_map.
13576 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13577 Replace local-key-translation-map back with key-translation-map.
13578 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13579 Bind in input-decode-map rather than function-key-map.
13580
13581 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13582 This was made redundant by the previous introduction of XSETPVECTYPE.
13583
135842007-10-09 Richard Stallman <rms@gnu.org>
13585
13586 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13587
135882007-09-29 Richard Stallman <rms@gnu.org>
13589
13590 * eval.c (internal_condition_case_2, internal_condition_case_1)
13591 (internal_condition_case): Reenable abort if x_catching_errors ()
13592 to see if that really happens and why.
13593
135942007-10-06 Andreas Schwab <schwab@suse.de>
13595
13596 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13597
135982007-10-04 Juanma Barranquero <lekktu@gmail.com>
13599
13600 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13601
136022007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13603
13604 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13605
136062007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13607
13608 * window.h (struct window):
13609 * window.c (struct save_window_data, struct saved_window):
13610 * termhooks.h (struct terminal):
13611 * process.h (struct Lisp_Process):
13612 * frame.h (struct frame):
13613 * buffer.h (struct buffer):
13614 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13615 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13616 The size field of (pseudo)vectors is now unsigned.
13617 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13618
13619 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13620 Turn `count' into an integer.
13621
13622 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13623 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13624 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13625 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13626 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13627
13628 * alloc.c (allocate_pseudovector): New fun.
13629 (ALLOCATE_PSEUDOVECTOR): New macro.
13630 (allocate_window, allocate_terminal, allocate_frame)
13631 (allocate_process): Use it.
13632 (mark_vectorlike): New function.
13633 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13634 (mark_terminals): Use it.
13635 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13636 (Fmake_byte_code): Use XSETPVECTYPE.
13637
13638 * frame.c (Fframe_parameters): Minor simplification.
13639
13640 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13641
13642 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13643
13644 * buffer.c (Fget_buffer_create, init_buffer_once):
13645 * lread.c (defsubr):
13646 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13647
13648 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13649 defined differently in the m/*.h files.
13650 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13651 (XSETPVECTYPE): New macro.
13652 (XSETPSEUDOVECTOR): Use it.
13653
13654 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13655 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13656
13657 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13658 * lread.c (defvar_per_buffer):
13659 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13660
13661 * window.c (candidate_window_p): Only consider as visible frames that
13662 are on the same terminal.
13663
13664 * m/ibms390x.h (MARKBIT): Remove unused macro.
13665
136662007-10-01 Juanma Barranquero <lekktu@gmail.com>
13667
13668 * lread.c (Fload): Fix typo in docstring.
13669
136702007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13671
13672 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13673 of a non-zero value can't yield zero.
13674
136752007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13676
13677 * term.c (term_clear_mouse_face, term_mouse_highlight)
13678 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13679
13680 * print.c (safe_debug_print): Use XHASH.
13681
13682 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13683 Lisp elements such as tags.
13684 (XHASH): New macro.
13685 (EQ): Use it.
13686 (SREF, SSET, STRING_COPYIN): Use SDATA.
13687 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13688
13689 * alloc.c (mark_terminal): Remove left-over declaration.
13690 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13691 (allocate_vectorlike): Remove type argument. Adjust callers.
13692 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13693 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13694
13695 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13696 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13697 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13698 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13699 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13700 Use them.
13701
13702 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13703 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13704 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13705
137062007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13707
13708 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13709 loaded by default.
13710
137112007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13712
13713 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13714 on this tty.
13715 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13716
13717 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13718 Update all users.
13719 (handle_one_term_event): Use Gpm_DrawPointer.
13720 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13721 Signal errors instead of returning nil. Always return nil.
13722 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13723 Make it a noop if gpm-mouse was not activated.
13724 (syms_of_term): Update names.
13725
137262007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13727
13728 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13729 (init_sys_modes): Check that gpm_tty is the current tty.
13730
13731 * alloc.c (allocate_terminal): Set the vector size to only count the
13732 lisp fields. Initialize those to nil.
13733 (mark_object): Don't treat terminals specially.
13734 (mark_terminal): Remove.
13735 (mark_terminals): Use mark_object instead.
13736
13737 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13738 the GC to the beginning.
13739
13740 * indent.h:
13741 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13742
13743 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13744
137452007-09-25 Jason Rumney <jasonr@gnu.org>
13746
13747 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13748
13749 * w32console.c (create_w32cons_output): Remove.
13750
13751 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13752
13753 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13754 (reset_sys_modes): Use reset_terminal_modes_hook.
13755
137562007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13757
13758 * eval.c (do_autoload): Don't output any message.
13759
137602007-09-24 Juri Linkov <juri@jurta.org>
13761
13762 * emacs.c (standard_args): Change priority of "--no-splash"
13763 from 40 to 3. Add "--no-desktop" with the same priority.
13764
137652007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13766
13767 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13768 and optimize the case where they are all 1.
13769
137702007-09-23 Johannes Weiner <hannes@saeurebad.de>
13771
13772 * lisp.h (abs): Define if not defined.
13773 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13774 Don't define `abs', since it's defined in lisp.h.
13775
137762007-09-22 Eli Zaretskii <eliz@gnu.org>
13777
13778 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13779 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13780 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13781 (init_tty): Use DEV_TTY instead of "/dev/tty".
13782 [WINDOWSNT]: No need to protect from NAME arg being null.
13783
137842007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13785
13786 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13787 up the tty state.
13788
137892007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13790
13791 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13792 (gpm_tty): Change its type.
13793 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13794 (gpm_tty): Change its type and initialize it.
13795 (Fterm_open_connection): Check the frame is indeed a tty.
13796 Use the new gpm_tty.
13797 (Fterm_close_connection): Use the new gpm_tty.
13798 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13799 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13800
138012007-09-21 Juanma Barranquero <lekktu@gmail.com>
13802
13803 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13804 underline_color, to draw strike-through.
13805
138062007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13807
13808 * lisp.h (allocate_terminal): Declare.
13809
13810 * window.c (candidate_window_p): Consider frames that are being placed
13811 by the user as somewhere between visible and iconified.
13812 (window_loop): Prefer windows on the current frame.
13813 (Fselect_window): Move the use of select-frame to the beginning so we
13814 can just delegate all the work (it'll call us back anyway).
13815
13816 * frame.c (Qdisplay_environment_variable):
13817 * frame.h (Qdisplay_environment_variable): Delete.
13818
13819 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13820 of the first arg, since that value may be a union.
13821
13822 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13823 parameter rather than Qdisplay_environment_variable. If all else
13824 fails, look for DISPLAY in initial-environment.
13825
138262007-09-21 Glenn Morris <rgm@gnu.org>
13827
13828 * Makefile.in (emacstool): Remove target.
13829 (lisp, shortlisp): Remove termdev.elc.
13830
138312007-09-21 Markus Triska <markus.triska@gmx.at>
13832
13833 * xterm.c (x_delete_display): Compile session management conditionally.
13834
138352007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13836
13837 * callproc.c (getenv_internal_1): New function.
13838 (getenv_internal): Use it.
13839 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13840
13841 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13842 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13843 (Fset_terminal_parameter): Work with dead terminals as well.
13844 (Fmodify_terminal_parameters): Remove.
13845
13846 * terminal.c (get_terminal): Handle terminals.
13847 Make sure the terminal returned is live.
13848 (create_terminal): Use allocate_terminal.
13849 (mark_terminals): Move to alloc.c.
13850 (delete_terminal): Use terminal->name as liveness status.
13851 NULL out fields after freeing their contents.
13852 Don't deallocate the object.
13853 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13854 rather than an int.
13855 (Fterminal_live_p): Accept non-integer arguments.
13856 (Fterminal_list): Return terminal objects rather than an ints.
13857
13858 * alloc.c (enum mem_type): New member for `terminal' objects.
13859 (allocate_terminal): New function.
13860 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13861 Handle terminals.
13862 (mark_terminal): New fun.
13863 (mark_terminals): Move from terminal.c.
13864
13865 * term.c (get_tty_terminal): Don't treat output_initial specially.
13866 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13867 (delete_tty): Use terminal->name as liveness status.
13868
13869 * termhooks.h (struct terminal): Make it into a pseudovector.
13870 Remove `deleted' replaced by checking `name's nullness.
13871
13872 * print.c (print_object): Handle terminals.
13873
13874 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13875 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13876
13877 * frame.c (make_terminal_frame):
13878 * keyboard.c (tty_read_avail_input):
13879 * w32term.c (x_delete_terminal):
13880 * xfns.c (Fx_create_frame, x_create_tip_frame):
13881 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13882
138832007-09-20 Glenn Morris <rgm@gnu.org>
13884
13885 * process.c (Fmake_network_process): Doc fix.
13886
138872007-09-19 Jason Rumney <jasonr@gnu.org>
13888
13889 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13890
138912007-09-19 Michaël Cadilhac <michael@cadilhac.name>
13892
13893 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13894 Fix a C warning regarding variable constness.
13895
13896 * xterm.c (handle_one_xevent): Fix a C warning.
13897
138982007-09-18 Jason Rumney <jasonr@gnu.org>
13899
13900 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13901
139022007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13903
13904 * gtkutil.c (gdpy_def): New variable.
13905 (xg_initialize): Initialize gdpy_def.
13906 (xg_display_close): If no other display exists, set gdpy_def to a
13907 new connection.
13908
139092007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13910
13911 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13912 when we have no file name for the icon.
13913 (xg_tool_bar_expose_callback): Remove.
13914 (xg_create_tool_bar): Don't connect expose signal to
13915 xg_tool_bar_expose_callback.
13916 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13917
139182007-09-16 Andreas Schwab <schwab@suse.de>
13919
13920 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13921 values instead of zapping them.
13922
139232007-09-14 Glenn Morris <rgm@gnu.org>
13924
13925 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13926 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13927 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13928 scope and rename to omfib_buffer for clarity.
13929 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13930
139312007-09-14 Kenichi Handa <handa@m17n.org>
13932
13933 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13934
139352007-09-13 Jason Rumney <jasonr@gnu.org>
13936
13937 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13938
13939 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13940
13941 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13942 (mac_term_init): Call here instead, passing rif.
13943
139442007-09-13 Glenn Morris <rgm@gnu.org>
13945
13946 * s/hpux.h: No longer define `static' as nothing.
13947
139482007-09-13 Johan Bockgård <bojohan@gnu.org>
13949
13950 * callint.c (Fcall_interactively): Remove unused var `fun'.
13951
139522007-09-12 Romain Francoise <romain@orebokech.com>
13953
13954 * window.c (prefer_window_split_horizontally, display_buffer):
13955 Revert 2007-09-08 change.
13956
139572007-09-12 Glenn Morris <rgm@gnu.org>
13958
13959 * alloca.c: Remove file.
13960 * Makefile.in (alloca): Do not undef.
13961 (allocaobj, alloca.o): Remove.
13962 (otherobj): Remove allocaobj.
13963 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13964 * regex.c (C_ALLOCA): Remove all references and code that was only
13965 used when this was defined.
13966 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13967 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
13968 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13969
13970 * Makefile.in (SOURCES, unlock, relock): Delete.
13971
13972 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13973 (menu_grab_callback): All uses changed.
13974
13975 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13976 (x_reply_selection_request): All uses changed.
13977
139782007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13979
13980 * lread.c (load_warn_old_style_backquotes): Change message to look
13981 better when it appears in the middle of byte-compiler messages.
13982
139832007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13984
13985 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13986
13987 * xterm.c (x_create_terminal): Add comment.
13988
13989 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13990
139912007-09-10 Richard Stallman <rms@gnu.org>
13992
13993 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13994
139952007-09-10 Michaël Cadilhac <michael@cadilhac.name>
13996
13997 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13998 (DEFUN): Document `intspec', use it instead of `prompt'.
13999
14000 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14001
14002 * data.c (Finteractive_form): If the interactive specification starts
14003 with a `(', use it as a Lisp form.
14004
14005 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14006 name and file modes.
14007
14008 * callint.c (Fcall_interactively): Comment fixes.
14009
140102007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14011
14012 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14013 and compiled functions.
14014
140152007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14016
14017 * window.c (prefer_window_split_horizontally): New variable.
14018 (display_buffer): Consider splitting window horizontally depending
14019 on prefer_window_split_horizontally.
14020
140212007-09-08 Eli Zaretskii <eliz@gnu.org>
14022
14023 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14024
140252007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14026
14027 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14028
14029 * frame.c (x_set_frame_parameters): Check number is positive before
14030 using XFASTINT.
14031
14032 * window.c (freeze_window_start): Don't presume selected_window holds
14033 a window object.
14034 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14035
140362007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14037
14038 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14039
140402007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14041
14042 * window.c (Vsplit_window_preferred_function): New var.
14043 (Fdisplay_buffer): Use it.
14044 (syms_of_window): Export, and initialize it.
14045
140462007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14047
14048 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14049
140502007-09-06 Glenn Morris <rgm@gnu.org>
14051
14052 * gtkutil.c (menu_grab_callback) <cnt>:
14053 * xselect.c (x_reply_selection_request) <cnt>: Move static
14054 variable to file scope.
14055
140562007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14057
14058 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14059 consistent values of selected_frame and selected_window.
14060
140612007-09-04 Jason Rumney <jasonr@gnu.org>
14062
14063 * w32console.c (initialize_w32_display): Zero unused hooks.
14064
140652007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14066
14067 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14068 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14069
140702007-09-04 Jason Rumney <jasonr@gnu.org>
14071
14072 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14073 in w32console.c. Set up input. Remove XXX comments that have been
14074 confirmed as correct.
14075
14076 * s/ms-w32.h (MULTI_KBOARD): Define.
14077
14078 * w32console.c (one_and_only_w32cons): Remove.
14079 (initialize_w32_display): Take terminal argument.
14080
14081 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14082 initialize_w32_display.
14083 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14084
14085 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14086
14087 * keyboard.c (discard_mouse_events): Discard it.
14088 (make_lispy_event): Translate it to a lisp event.
14089 (lispy_wheel_names): Add wheel-left and right events.
14090 (syms_of_keyboard): Enlarge wheel_syms.
14091
14092 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14093 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14094
14095 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14096
14097 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14098 from WM_MOUSEHWHEEL.
14099 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14100
14101 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14102 terminal.
14103
14104 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14105 keyboard for the terminal.
14106
141072007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14108
14109 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14110 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14111 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14112 and resume-tty-function to resume-tty-hook.
14113 (Fsuspend_tty, Fresume_tty): Use new names.
14114
141152007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14116
14117 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14118 if it starts with "n:".
14119
141202007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14121
14122 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14123
141242007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14125
14126 * frame.h:
14127 * frame.c (Qterm_environment_variable): Remove.
14128 (syms_of_frame): Don't init and staticpro it.
14129
14130 * callproc.c (getenv_internal): Remove special case for $TERM.
14131
14132 * callproc.c (Vinitial_environment): New variable.
14133 (set_initial_environment): Initialize it.
14134 (syms_of_callproc): Declare it.
14135 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14136 TERM under which a process runs is never related to the TERM in which
14137 Emacs is running.
14138
141392007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14140
14141 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14142 * s/darwin.h: ... do it here.
14143
141442007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14145
14146 * lisp.h (set_initial_environment): Rename from set_global_environment.
14147
14148 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14149 removed by mistake on the multi-tty branch.
14150
14151 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14152 (Fmodify_frame_parameters): Return a value.
14153
14154 * image.c (png_load): Comment-out var only used in commented-out code.
14155
14156 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14157 before passing it to mark_object.
14158
14159 * xfaces.c (internal_resolve_face_name): Return a value.
14160 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14161
14162 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14163 (x_icon): Comment-out var only used in commented-out code.
14164
141652007-08-29 Romain Francoise <romain@orebokech.com>
14166
14167 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14168 QUIT hasn't been provided.
14169
141702007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14171
14172 * callproc.c (child_setup, getenv_internal): Use the
14173 display-environment-variable and term-environment-variable frame params.
14174 (set_initial_environment): Initialise Vprocess_environment.
14175
14176 * config.in: Disable multi-keyboard support on a mac.
14177
14178 * frame.c (Qterm_environment_variable)
14179 (Qdisplay_environment_variable): New variables.
14180 (syms_of_frame): Intern and staticpro them.
14181 (Fmake_terminal_frame): Disable output method test.
14182
14183 * frame.h: Declare them here.
14184
14185 * macfns.c (x_set_mouse_color): Get rif from the frame.
14186 (x_set_tool_bar_lines): Don't use updating_frame.
14187 (mac_window): Add 2 new parameters for consistency with other systems.
14188 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14189 frame parameters following what is done in X11 and w32. Don't use
14190 FRAME_MAC_DISPLAY_INFO.
14191 (Fx_open_connection, start_hourglass): Remove window-system check.
14192 (x_create_tip_frame): Get the keyboard from the terminal.
14193
14194 * macmenu.c: Reorder includes.
14195 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14196
14197 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14198 terminal parameter.
14199 (x_clear_frame): Add a frame parameter.
14200 (note_mouse_movement): Get rif from the frame.
14201 (mac_term_init): Initialize the terminal.
14202 (mac_initialize): Make static and move terminal initialization ...
14203 (mac_create_terminal): ... to this new function.
14204
14205 * macterm.h (struct mac_display_info): Add terminal.
14206 (mac_initialize): Delete declaration.
14207
14208 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14209
14210 * sysdep.c: Comment out text after #endif.
14211
14212 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14213 is defined. Better initialize ttys in windows. Use terminal
14214 specific mouse_position_hook.
14215
14216 * termhooks.h (union display_info): Add mac_display_info.
14217
14218 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14219 Set the default minibuffer frame, window_system and the rest of the
14220 frame parameters following what is done in X11.
14221
14222 * w32term.c (w32_initialize): Make static.
14223
14224 * xselect.c (x_handle_selection_clear): Only access
14225 terminal->kboard when MULTI_KBOARD is defined.
14226
14227 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14228 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14229
142302007-08-29 Jason Rumney <jasonr@gnu.org>
14231
14232 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14233 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14234
14235 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14236 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14237
14238 * keyboard.c (restore_kboard_configuration): Only define when
14239 MULTI_KBOARD defined.
14240
14241 * makefile.w32-in: Update dependancies from Makefile.in.
14242 (OBJ1): Add terminal.$(O)
14243
14244 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14245 Don't define function body.
14246 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14247
14248 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14249
14250 * w32.c (request_sigio, unrequest_sigio): Remove.
14251
14252 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14253 (w32con_clear_frame, w32con_clear_end_of_line)
14254 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14255 (w32con_delete_glyphs, w32con_set_terminal_window)
14256 (scroll_line, w32_sys_ring_bell): Add frame arg.
14257 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14258 Add terminal arg.
14259 (PICK_FRAME): Remove.
14260 (w32con_write_glyphs): Use frame specific terminal coding.
14261 (one_and_only_w32cons): New global variable.
14262 (initialize_w32_display): Use it for storing hooks.
14263 (create_w32cons_output): New function.
14264
14265 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14266 arg a frame.
14267
14268 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14269 Set window_system.
14270 (x_set_tool_bar_lines): Don't use updating_frame.
14271 (Fx_create_frame): Set terminal and ref count.
14272 (Fx_open_connection): Remove window-system check.
14273
14274 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14275
14276 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14277 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14278 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14279 Add frame arg.
14280 (x_delete_terminal, w32_create_terminal): New functions.
14281 (w32_term_init): Create a terminal.
14282 (w32_initialize): Move terminal specific initialization to
14283 w32_create_terminal.
14284
14285 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14286 (w32_clear_rect, w32_clear_area): Use background from frame.
14287 (w32_display_info): Add terminal.
14288 (w32_sys_ring_bell, x_delete_display): Declare here.
14289
14290 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14291
14292 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14293
142942007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14295
14296 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14297 Fix get_named_tty calls for the controlling tty.
14298
142992007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14300
14301 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14302
143032007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14304
14305 * term.c (tty_insert_glyphs): Add missing first parameter.
14306
143072007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14308
14309 * buffer.c (Fbuffer_list, Fbury_buffer):
14310 Take frame->buried_buffer_list into account.
14311
14312 * cm.c (current_tty): New variable, for cmputc().
14313 (cmputc): Use it.
14314 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14315 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14316 (cmgoto): Add tty parameter. Pass it on to calccost().
14317 Use emacs_tputs() instead of tputs().
14318
14319 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14320 tputs().
14321 (current_tty): New variable, for cmputc().
14322 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14323
14324 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14325 (internal_condition_case, internal_condition_case_1)
14326 (internal_condition_case_2): Don't abort when x_catching_errors.
14327
14328 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14329 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14330 prevent crashes caused by bogus longjmps in read_char.
14331
14332 * keymap.h (Fset_keymap_parent): Add EXFUN.
14333
14334 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14335 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14336 Remove redundant definition.
14337
14338 * macfns.c (x_set_mouse_color, x_make_gc):
14339 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14340
14341 * w32term.c (x_free_frame_resources):
14342 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14343 (w32_initialize): Use the accessor macros for terminal characteristics.
14344
14345 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14346 Use the accessor macros for terminal characteristics.
14347 * msdos.c (internal_terminal_init): Use the accessor macros for
14348 terminal characteristics.
14349 (ScreenVisualBell, internal_terminal_init):
14350 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14351
14352 * termopts.h (no_redraw_on_reenter): Declare.
14353
14354 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14355 (mark_terminals, mark_ttys): Declare.
14356 (Fgarbage_collect): Call them.
14357 (mark_object): Mark buried_buffer_list.
14358
14359 * prefix-args.c: Include stdlib.h for exit.
14360
14361 * syssignal.h: Add comment.
14362
14363 * indent.c: Include stdio.h.
14364
14365 * window.h (Vinitial_window_system): Declare.
14366 (Vwindow_system): Delete declaration.
14367
14368 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14369
14370 * image.c (lookup_image): Don't initialize `c' until the xasserts
14371 have been run.
14372
14373 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14374 FRAME_FOREGROUND_PIXEL.
14375
14376 * print.c (print_preprocess): Don't lose print_depth levels while
14377 iterating.
14378
14379 * widget.c (update_from_various_frame_slots):
14380 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14381
14382 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14383 frames.
14384 (window_internal_height): Remove bogus make_number call.
14385 (init_window_once): Call make_terminal_frame with two zero parameters.
14386
14387 * fileio.c (Fread_file_name): Update comment.
14388
14389 * callint.c (Fcall_interactively):
14390 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14391 Make sure it is correctly unwound.
14392
14393 * xsmfns.c (x_session_close): New function.
14394
14395 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14396 Delete declarations.
14397
14398 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14399 (x_output): Remove background_pixel and foreground_pixel fields.
14400 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14401 (x_delete_device, x_session_close): Declare.
14402
14403 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14404 (read_filtered_event): Call `read_char' with a local
14405 `wrong_kboard_jmpbuf'.
14406
14407 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14408 Don't call single_kboard_state. Use FRAME_RIF.
14409
14410 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14411 systems.
14412
14413 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14414 (Fframe_with_environment, Fset_input_meta_mode)
14415 (Fset_quit_char): EXFUN.
14416 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14417 (init_sys_modes, reset_sys_modes): Update prototypes.
14418 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14419
14420 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14421 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14422 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14423 Delete declarations.
14424 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14425 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14426 New declarations.
14427
14428 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14429 already does that during init_display(). Call syms_of_keymap
14430 before syms_of_keyboard. Call `syms_of_terminal'.
14431 Call set_initial_environment, not set_process_environment.
14432 (shut_down_emacs): Call reset_all_sys_modes() instead of
14433 reset_sys_modes().
14434
14435 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14436 (internal_resolve_face_name, resolve_face_name_error): New functions.
14437 (resolve_face_name): Protect against loops and errors thrown by Fget.
14438 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14439 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14440
14441 * scroll.c: Replace CURTTY() with local variables throughout the
14442 file (where applicable).
14443 (calculate_scrolling, calculate_direct_scrolling)
14444 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14445 characteristics.
14446
14447 * keymap.c (Vfunction_key_map): Remove.
14448 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14449 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14450 (Vkey_translation_map): Remove.
14451 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14452 (Fdescribe_buffer_bindings)
14453 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14454 Update for terminal-local key-translation-map.
14455
14456 * Makefile.in (callproc.o): Update dependencies.
14457 (lisp, shortlisp): Add termdev.elc.
14458 (obj): Add terminal.o.
14459 (terminal.o): Add dependencies.
14460 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14461 (data.o, fns.o): Add termhooks.h dependency.
14462 (SOME_MACHINE_LISP): Add dnd.elc.
14463 (minibuf.o): Fix typo.
14464 Update dependencies.
14465
14466 * data.c (do_symval_forwarding, store_symval_forwarding)
14467 (find_symbol_value): Use the selected frame's keyboard, not
14468 current_kboard.
14469
14470 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14471 Vwindow_system.
14472
14473 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14474 Fmenu_bar_open.
14475 (syms_of_xmenu): Update defsubr.
14476 (mouse_position_for_popup, Fx_popup_menu)
14477 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14478 (set_frame_menubar, free_frame_menubar)
14479 (create_and_show_popup_menu, xmenu_show, )
14480 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14481 an X frame.
14482
14483 * xselect.c (x_own_selection): Abort if not an X frame.
14484 (some_frame_on_display): Check if it is an X frame.
14485 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14486
14487 * coding.c: Include frame.h and termhooks.h.
14488 (terminal_coding, keyboard_coding): Delete.
14489 (Fset_terminal_coding_system_internal)
14490 (Fset_keyboard_coding_system_internal)
14491 (Fkeyboard_coding_system)
14492 (Fterminal_coding_system): Add a terminal parameter.
14493 Get terminal_coding from the terminal.
14494 (init_coding_once): Don't call setup_coding_system here.
14495
14496 * dispextern.h (set_scroll_region, turn_off_insert)
14497 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14498 (tty_clear_end_of_line, tty_setup_colors)
14499 (delete_tty, updating_frame)
14500 (produce_special_glyphs, produce_glyphs, write_glyphs)
14501 (insert_glyphs): Remove.
14502 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14503 (tty_turn_off_highlight, get_tty_size): Add declaration.
14504 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14505
14506 * frame.h (enum output_method): Add output_initial.
14507 (struct x_output): Delete.
14508 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14509 Access foreground_pixel and background_pixel directly from the frame.
14510 (tty_display): Delete.
14511 (struct frame): Add buried_buffer_list, foreground_pixel,
14512 background_pixel and terminal. Delete kboard.
14513 (union output_data): Add tty.
14514 (FRAME_KBOARD): Get the kboard from the terminal.
14515 (FRAME_INITIAL_P): New macro.
14516 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14517 (Qterm_environment_variable, Qdisplay_environment_variable)
14518 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14519 New declarations.
14520
14521 * termchar.h (tty_output, tty_display_info): New structures.
14522 (tty_list): Declare.
14523 (FRAME_TTY, CURTTY): New macros.
14524 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14525 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14526 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14527 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14528
14529 * callproc.c: Include frame.h and termhooks.h, for terminal
14530 parameters.
14531 (add_env): New function.
14532 (child_setup): Use it.
14533 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14534 (getenv_internal): Fix get_terminal_param call.
14535 (Fgetenv_internal, egetenv): Update doc.
14536 (syms_of_callproc): Initialize Vprocess_environment to nil.
14537 Register and initialize them. Remove obsolete defvars. Update doc
14538 strings.
14539 (child_setup): Handle Vlocal_environment_variables.
14540 (getenv_internal): Add terminal parameter.
14541 Handle Vlocal_environment_variables.
14542 (Fgetenv_internal): Add terminal parameter.
14543 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14544 environment in a frame (not terminal) parameter. Update doc strings.
14545 (set_initial_environment): Rename from set_global_environment.
14546 Store Emacs environment in initial frame parameter.
14547
14548 * xdisp.c (redisplay_internal): Update references to
14549 `previous_terminal_frame'.
14550 (display_mode_line, Fformat_mode_line): Replace calls to
14551 `push_frame_kboard' with `push_kboard'.
14552 (get_glyph_string_clip_rects): Add extra parentheses and
14553 braces to prevent compiler warnings.
14554 (calc_pixel_width_or_height): Add xassert to check that the
14555 frame is alive. Don't call `lookup_image' on a termcap frame.
14556 (message2_nolog, message3_nolog, redisplay_internal)
14557 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14558 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14559 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14560 (Fx_display_pixel_width, Fx_display_pixel_height)
14561 (Fx_display_planes, Fx_display_color_cells)
14562 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14563 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14564 (Fx_display_backing_store, Fx_display_visual_class)
14565 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14566 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14567
14568 * xfns.c (x_set_foreground_color x_set_background_color)
14569 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14570 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14571 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14572 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14573 terminal that is being deleted.
14574 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14575 frame parameter, and make sure it overrides any user-supplied setting.
14576 (Fx_close_connection, Fx_synchronize): Unify argument names with
14577 the rest of the DEFUNs.
14578
14579 * dispnew.c (Fsend_string_to_terminal): Update call to
14580 `get_tty_terminal'.
14581 (Fredraw_frame, Fsend_string_to_terminal)
14582 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14583 FRAME_TERMCAP_P and FRAME_TTY.
14584 (window_change_signal): Don't believe width/height values that are
14585 impossibly small.
14586 (Vinitial_window_system): Rename from Vwindow_system.
14587 (termscript, Wcm, rif): Delete.
14588
14589 * termhooks.h (struct terminal): New struct containing the
14590 previously global text display hooks and new members NAME,
14591 DELETED and PARAM_ALIST.
14592 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14593 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14594 (FRAME_RIF): New macros.
14595 (get_terminal_param, get_device): New declarations.
14596 (termscript): Delete declaration.
14597
14598 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14599 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14600 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14601 FRAME_FOREGROUND_PIXEL.
14602 (x_fully_uncatch_errors): Disable definition.
14603 (x_scroll_bar_expose): Fix reference to foreground pixel.
14604 (XTread_socket): Disable loop on all X displays.
14605 (x_delete_terminal): Don't set terminal->deleted and let
14606 delete_terminal delete the frames on the terminal.
14607 (x_delete_display): Doc update to reflect changes in
14608 delete_terminal.
14609 (x_display_info) <terminal>: Move member earlier in the struct.
14610 (deleting_tty): Remove old variable.
14611 (Fsuspend_tty): Call clear_tty_hooks.
14612 (Fresume_tty, init_tty): Call set_tty_hooks.
14613 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14614 errors on X frames.
14615 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14616 (handle_one_xevent): Initialize `f' to NULL.
14617 (x_delete_terminal, x_create_terminal): New functions.
14618 (XTset_terminal_modes, XTreset_terminal_modes)
14619 (XTread_socket, x_connection_closed, x_term_init)
14620 (x_term_init, x_delete_display): Add terminal parameter.
14621 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14622 X connections.
14623
14624 * frame.c: Include termchar.h.
14625 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14626 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14627 (Qdisplay_environment_variable): New vars.
14628 (Fframep): Deal with output_initial.
14629 (Fframe-live-p): Doc fix.
14630 (Fwindow-system): New function.
14631 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14632 (make_terminal_frame): Don't create frames on a terminal that is
14633 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14634 (store_frame_param): Check for found_for_frame before calling XFRAME.
14635 (Fmake_terminal_frame): Handle NULL tty names correctly.
14636 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14637 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14638 frames to refer to a deleted frame in their 'environment parameter.
14639 (Fframe_with_environment): New function.
14640 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14641 (get_future_frame_param): New function.
14642 (Fmake_terminal_frame): Use it.
14643 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14644
14645 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14646 * sysdep.c (reset_sys_modes): Update for renames.
14647
14648 * keyboard.c (tty_read_avail_input): New function.
14649 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14650 (syms_of_keyboard): Defsubr them.
14651 (Fset_input_meta_mode, Fset_quit_char): New functions.
14652 (Fset_input_mode): Split to above functions.
14653 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14654 parameter. Use it in call to `read_char'.
14655 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14656 Set wrong_kboard_jmpbuf correctly in recursive calls.
14657 Use current_kboard to access Vkeyboard_translate_table.
14658 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14659 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14660 Update longjmp invocations. Remember the original current_kboard,
14661 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14662 changes it. Comment out unnecessary calls to
14663 `record_single_kboard_state' and `any_kboard_state'.
14664 Update recursive calls.
14665 (wrong_kboard_jmpbuf): Remove global variable.
14666 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14667 Handle deleted interrupted_kboards correctly; that is a legal
14668 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14669 and read_char calls. Abort if interrupted_kboard died in read_char.
14670 (any_kboard_state, single_kboard_state)
14671 (push_frame_kboard): Remove function.
14672 (pop_kboard): Switch out of single_kboard mode if the kboard has
14673 been deleted. Remove unused variable. Help debugging by not
14674 changing current_kboard unnecessarily. Set current_kboard to the
14675 kboard of the selected frame when the stored kboard object has
14676 been deleted before pop_kboard.
14677 (temporarily_switch_to_single_kboard): Change first parameter to a
14678 frame pointer. Throw an error when caller wants to change kboards
14679 while in single_kboard mode. Don't push_kboard if we weren't in
14680 single kboard state. Don't pop_kboard if we popped into any
14681 kboard state.
14682 (restore_kboard_configuration): Abort if pop_kboard changed the
14683 kboard in single_kboard mode. Call pop_kboard only after setting
14684 up single_kboard mode.
14685 (Frecursive_edit): Switch to single_kboard mode only in nested
14686 command loops.
14687 (cmd_error, command_loop, command_loop_1, timer_check):
14688 Comment out unnecessary call to `any_kboard_state' and
14689 `record_single_kboard_state'.
14690 (delete_kboard): Exit single_kboard mode if we have just deleted
14691 that kboard. Use FRAME_KBOARD.
14692 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14693 `fatal_error_signal'.
14694 (record_single_kboard_state): Don't push_kboard if we weren't in
14695 single kboard state. Don't pop_kboard if we popped into any
14696 kboard state.
14697 (push_frame_kboard): Rename to push_kboard.
14698 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14699 (read_avail_input): Read input from all terminals.
14700 (mark_kboards): Also mark Vkeyboard_translate_table.
14701 (kbd_buffer_store_event_hold): Simplify condition.
14702 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14703 (Vkeyboard_translate_table): Move to struct kboard.
14704 (init_kboard): Initialize Vkeyboard_translate_table.
14705 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14706 Vkeyboard_translate_table. Update doc strings. Update docs of
14707 local-function-key-map and function-key-map.
14708
14709 * terminal.c: New file.
14710
14711 * term.c: Include errno.h.
14712 (Vring_bell_function, device_list, initial_device)
14713 (next_device_id, ring_bell, update_begin, update_end)
14714 (set_terminal_window, cursor_to, raw_cursor_to)
14715 (clear_to_end, clear_frame, clear_end_of_line)
14716 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14717 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14718 (syms_of_term): Move their initialization to terminal.c.
14719 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14720 (Ftty_display_color_cells)
14721 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14722 (clear_tty_hooks, set_tty_hooks)
14723 (init_tty, maybe_fatal): New functions.
14724 (Ftty_type): Return nil if terminal is not on a tty instead of
14725 throwing an error. Doc update.
14726 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14727 Doc update. Initialize new subrs and variables.
14728 (delete_tty): Use terminal->deleted.
14729 (tty_set_terminal_modes): Rename from set_terminal_modes.
14730 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14731 (set_scroll_region): Rename to `tty_set_scroll_region'.
14732 (turn_on_insert): Rename to `tty_turn_on_insert'.
14733 (turn_off_insert): Rename to `tty_turn_off_insert'.
14734 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14735 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14736 (toggle_highligh): Rename to `tty_toggle_highlight'.
14737 (background_highlight): Rename to `tty_background_highlight'.
14738 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14739 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14740 (tty_set_scroll_region, tty_background_highlight)
14741 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14742 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14743 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14744 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14745 Add static modifier.
14746 (tty_reset_terminal_modes, tty_set_terminal_window)
14747 (tty_set_scroll_region, tty_background_highlight)
14748 (tty_highlight_if_desired, tty_cursor_to)
14749 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14750 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14751 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14752 renames.
14753
147542007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14755
14756 * keyboard.c: Qrtl is new.
14757 (parse_tool_bar_item): Handle :rtl keyword.
14758 (syms_of_keyboard): Intern :rtl keyword.
14759
14760 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14761
14762 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14763 so no Lisp code is executed.
14764 (file_for_image, find_rtl_image): New functions.
14765 (xg_get_image_for_pixmap): Use file_for_image.
14766 (update_frame_tool_bar): If direction is RTL, use RTL image if
14767 defined. Use Gtk stock images if defined.
14768
147692007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14770
14771 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14772 for nonexistent or zero-width glyph in composition glyph.
14773
147742007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14775
14776 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14777
14778 * xdisp.c (Finvisible_p): New function.
14779 (syms_of_xdisp): defsubr it.
14780
147812007-08-24 Juanma Barranquero <lekktu@gmail.com>
14782
14783 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14784 Doc fixes.
14785
147862007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14787
14788 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14789
147902007-08-24 Martin Rudalics <rudalics@gmx.at>
14791
14792 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14793 whether decoding has modified buffer contents.
14794
147952007-08-24 Jason Rumney <jasonr@gnu.org>
14796
14797 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14798 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14799 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14800 (init_svg_functions) [HAVE_NTGUI]: New function.
14801 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14802 (svg_load_image): Use them.
14803 (svg_load_image) [HAVE_NTGUI]: Implement background.
14804
148052007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14806
14807 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14808 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14809 (LIBX): Remove @RSVG_LIBS@.
14810 (LIBES): Add $(RSVG_LIBS).
14811
14812 * image.c (svg_load_image): Blend with specified background if exists.
14813 Use IMAGE_BACKGROUND. Add Mac OS Support.
14814
14815 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14816 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14817 Remove macros.
14818 [MAC_OSX] (socket_callback): Do nothing.
14819 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14820 ReceiveNextEvent.
14821 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14822 socket_callback.
14823 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14824
148252007-08-22 Glenn Morris <rgm@gnu.org>
14826
14827 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14828
148292007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14830
14831 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14832
14833 * image.c: Add support for SVG images. Some additional comments
14834 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14835 (svg_image_p): New function to test for SVG image.
14836 (svg_load): New function to load SVG image.
14837 (svg_load_image): New function, helper for svg_load.
14838 (Qsvg): New Lisp_object.
14839 (svg_keyword_index): New enum.
14840 (svg_format): New static `image_keyword' struct.
14841 (svg_type): New static `image_type' struct.
14842 (librsvg/rsvg.h): Include it.
14843
148442007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14845
14846 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14847
148482007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14849
14850 * lread.c (Qold_style_backquotes): New var.
14851 (syms_of_lread): Init and staticpro it.
14852 (load_warn_old_style_backquotes): New fun.
14853 (Fload): Use them to warn about old style backquotes.
14854 (end_of_file_error, Fload): Remove unused vars.
14855
14856 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14857
14858 * lread.c (Vold_style_backquotes): New var.
14859 (syms_of_lread): Init and export it to Elisp.
14860 (read1): Set it when we find an old-style (back)quote.
14861
148622007-08-22 Jason Rumney <jasonr@gnu.org>
14863
14864 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14865
148662007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14867
14868 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14869
148702007-08-19 Richard Stallman <rms@gnu.org>
14871
14872 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14873
148742007-08-19 Andreas Schwab <schwab@suse.de>
14875
14876 * alloc.c (pure): Round PURESIZE up.
14877
148782007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14879
14880 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14881 active frame.
14882
148832007-08-16 Richard Stallman <rms@gnu.org>
14884
14885 * eval.c (Fcommandp): Add parens to clarify.
14886
14887 * minibuf.c (Fall_completions): Use enum for type of table.
14888
14889 * emacs.c (USAGE2): Improve text.
14890
148912007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14892
14893 * term.c (tty_default_color_capabilities): Declare static
14894 variables in file scope, to avoid HPUX compiler problem.
14895
148962007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14897
14898 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14899 to gtk_toolbar_insert.
14900
149012007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14902
14903 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14904
14905 * insdel.c (reset_var_on_error): New fun.
14906 (signal_before_change, signal_after_change):
14907 Use it to reset (after|before)-change-functions to nil in case of error.
14908 Bind inhibit-modification-hooks to t.
14909 Don't bind (after|before)-change-functions to nil while they run.
14910
149112007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14912
14913 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14914 filling pixmap with stippled background.
14915
149162007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14917
14918 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14919 Don't use invisible frame as parent window for repositioning.
14920
149212007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14922
14923 * print.c (new_backquote_output): Rename from old_backquote_output.
14924 (print): Inverse its logic (according to its name) so as to match the
14925 behavior of new_backquote_flag in lread.c.
14926
149272007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14928
14929 * gmalloc.c (posix_memalign): New function.
14930
14931 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14932 ActivateControl/DeactivateControl here.
14933 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14934 frame-notice-user-settings is non-nil.
14935 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14936 for kEventParamFMFontStyle.
14937 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14938 mac_pass_command_to_system and mac_pass_control_to_system here.
14939 (XTread_socket): Call ActivateControl/DeactivateControl here.
14940 (XTread_socket) [TARGET_API_MAC_CARBON]:
14941 Check mac_pass_command_to_system and mac_pass_control_to_system here.
14942 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14943 for window repositioning.
14944
149452007-08-08 Glenn Morris <rgm@gnu.org>
14946
14947 * Replace `iff' in doc-strings and comments.
14948
149492007-08-07 Chong Yidong <cyd@stupidchicken.com>
14950
14951 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14952
149532007-08-07 Martin Rudalics <rudalics@gmx.at>
14954
14955 * fileio.c (Finsert_file_contents): Run format-decode and
14956 after_insert_file_functions on entire buffer when REPLACE is
14957 non-nil and inhibit modification_hooks and point_motion_hooks.
14958 For consistency, run after_insert_file_functions iff something
14959 got inserted. Move signal_after_change and update_compositions
14960 after code running after_insert_file_functions. Make sure that
14961 undo_list doesn't record intermediate steps of the decoding process.
14962
149632007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14964
14965 * emacs.c (main)
14966 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14967 Call malloc_enable_thread on interactive startup.
14968
14969 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
14970 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14971 [USE_PTHREAD]: Conditionalize with it.
14972 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14973 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14974 New functions.
14975
149762007-08-06 Chong Yidong <cyd@stupidchicken.com>
14977
14978 * xdisp.c (redisplay_window): When restoring original buffer
14979 position, make sure it is still valid.
14980
14981 * image.c (png_load): Ignore png-supplied background color.
14982
149832007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14984
14985 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14986 Use kCFAbsoluteTimeIntervalSince1970.
14987
14988 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14989 New variable.
14990 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14991 event loop should be quit.
14992 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14993 Quit dialog event loop if quit_dialog_event_loop is set.
14994
14995 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14996 (Selection): New typedef. Use instead of ScrapRef.
14997 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14998 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14999 (mac_clear_selection): Rename from clear_scrap.
15000 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15001 scrap_has_target_type. All uses changed.
15002 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15003 (mac_selection_has_target_p): New functions.
15004 (mac_put_selection_value): Rename from put_scrap_string.
15005 (mac_get_selection_value): Rename from get_scrap_string.
15006 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15007 (put_scrap_private_timestamp, scrap_has_target_type)
15008 (get_scrap_private_timestamp): Remove functions.
15009 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15010 (x_own_selection, x_get_local_selection):
15011 Use mac_valid_selection_value_p.
15012 (x_own_selection): Don't use put_scrap_private_timestamp.
15013 Record OWNERSHIP-INFO into Vselection_alist instead.
15014 (x_get_local_selection): Don't check type if request is local.
15015 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15016 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15017
150182007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15019
15020 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15021 add comment explaining why.
15022
150232007-08-03 Richard Stallman <rms@gnu.org>
15024
15025 * fileio.c (Fvisited_file_modtime): Use make_time.
15026
150272007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15028
15029 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15030 build.
15031
150322007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15033
15034 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15035
150362007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15037
15038 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15039
150402007-07-30 Richard Stallman <rms@gnu.org>
15041
15042 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15043
150442007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15045
15046 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15047
150482007-07-28 Nick Roberts <nickrob@snap.net.nz>
15049
15050 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15051 remote default-directory.
15052
15053 * buffer.c (mode-line-format): Update doc string.
15054
150552007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15056
15057 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15058 scroll bar gap.
15059 (x_scroll_bar_create): Set bar->fringe_extended_p.
15060 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15061 on frame edge. Check fringe background extension. Don't clear
15062 extended fringe background area.
15063
15064 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15065 (w32_fill_area): Enclose multiple statements with do ... while (0).
15066
15067 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15068 Extend fringe background to scroll bar gap.
15069 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15070 Set bar->fringe_extended_p.
15071 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15072 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15073 background extension. Don't clear extended fringe background area.
15074
15075 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15076 New member fringe_extended_p.
15077
150782007-07-25 Glenn Morris <rgm@gnu.org>
15079
15080 * Relicense all FSF files to GPLv3 or later.
15081
15082 * COPYING: Switch to GPLv3.
15083
150842007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15085
15086 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15087
15088 * data.c (Finteractive_form): Check for the presence of an
15089 `interactive-form' symbol property more thoroughly.
15090
15091 * data.c (Finteractive_form): Use an `interactive-form' property if
15092 present, analogous to the function-documentation property.
15093
150942007-07-24 Jason Rumney <jasonr@gnu.org>
15095
15096 * w32fns.c (x_real_positions): Get real position from OS instead of
15097 calculating it.
15098
150992007-07-23 Jason Rumney <jasonr@gnu.org>
15100
15101 * filelock.c (current_lock_owner): Allow for @ sign in username.
15102
151032007-07-22 Nick Roberts <nickrob@snap.net.nz>
15104
15105 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15106 remote default-directory.
15107
15108 * buffer.c (mode-line-format): Describe above case in doc string.
15109
151102007-07-20 Eli Zaretskii <eliz@gnu.org>
15111
15112 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15113 Define if not defined.
15114
151152007-07-18 Jason Rumney <jasonr@gnu.org>
15116
15117 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15118
151192007-07-18 Richard Stallman <rms@gnu.org>
15120
15121 * data.c (Fsetq_default): Doc fix.
15122
15123 * eval.c (Fsetq): Doc fix.
15124
151252007-07-18 Juanma Barranquero <lekktu@gmail.com>
15126
15127 * coding.c (Ffind_operation_coding_system):
15128 * eval.c (For, Fand): Doc fixes.
15129 Reported by Johan Bockgård.
15130
151312007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15132
15133 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15134
15135 * xterm.h: Declare x_ewmh_activate_frame.
15136
15137 * xterm.c (x_ewmh_activate_frame): New function.
15138 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15139
151402007-07-17 Martin Rudalics <rudalics@gmx.at>
15141
15142 * window.c (Fdisplay_buffer): If largest or LRU window is the
15143 only window, split it even if it is not eligible for splitting.
15144 This restores the original behavior broken by the 2007-07-15
15145 change.
15146
151472007-07-17 Glenn Morris <rgm@gnu.org>
15148
15149 * abbrev.c (abbrev_check_chars): New function.
15150 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15151 Call abbrev_check_chars to check abbrev characters are word
15152 constituents. Doc fix.
15153
151542007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15155
15156 * process.c (Fstart_process, Fmake_network_process)
15157 (read_process_output): Fix up last changes.
15158
151592007-07-16 Eli Zaretskii <eliz@gnu.org>
15160
15161 * makefile.w32-in (clean): Don't delete *~.
15162
151632007-07-16 Andreas Schwab <schwab@suse.de>
15164
15165 * window.c (Fdisplay_buffer): Use NILP.
15166 (Fset_window_scroll_bars): Likewise.
15167
151682007-07-15 Martin Rudalics <rudalics@gmx.at>
15169
15170 * window.c (window_min_size_2): New function.
15171 (window_min_size_1, size_window, Fdisplay_buffer)
15172 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15173 windows without mode- or header-lines when window-min-height is
15174 too small.
15175 (size_window): Reset nodelete_p after testing it, following an
15176 earlier note by Kim F. Storm.
15177 (display_buffer): Do not set split_height_threshold to twice the
15178 value of window_min_height to avoid changing the value of a
15179 customizable variable. Rather explicitly check whether the
15180 height of the window that shall be splitted is at least as large
15181 as split_height_threshold.
15182 (Fwindow_full_width_p): New defun.
15183 (syms_of_window): Defsubr it.
15184
15185 * window.h: Add EXFUN for Fwindow_full_width_p.
15186
151872007-07-14 Jason Rumney <jasonr@gnu.org>
15188
15189 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15190
151912007-07-14 Richard Stallman <rms@gnu.org>
15192
15193 * eval.c (maybe_call_debugger): New function.
15194 (find_handler_clause): Use maybe_call_debugger.
15195 Call it when the handler says `debug'.
15196 Eliminate DEBUGGER_VALUE_PTR.
15197 (Fsignal): Eliminate debugger_value.
15198 (Qdebug): New variable.
15199 (syms_of_eval): Initialize it.
15200
152012007-07-14 Juanma Barranquero <lekktu@gmail.com>
15202
15203 * eval.c (Fprogn):
15204 * keyboard.c (Ftrack_mouse):
15205 * print.c (Fwith_output_to_temp_buffer):
15206 * window.c (Fsave_window_excursion): Doc fix.
15207
152082007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15209
15210 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15211
152122007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15213
15214 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15215 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15216 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15217 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15218 Remove unused encoding_carryover.
15219 * process.c: Adjust all functions accordingly.
15220
152212007-07-12 Richard Stallman <rms@gnu.org>
15222
15223 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15224
152252007-07-11 Jason Rumney <jasonr@gnu.org>
15226
15227 * makefile.w32-in (LIBS): Include OLE32.
15228
15229 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15230 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15231
152322007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15233
15234 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15235 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15236 from a Lisp_Object into a bare pointer.
15237 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15238 Adjust the code correspondingly.
15239
15240 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15241
15242 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15243 (term_show_mouse_face): Remove unused var `j'.
15244 (handle_one_term_event): Remove unused vars `i' and `j'.
15245 Don't cast return value of ttyname since it's not necessary.
15246
152472007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15248
15249 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15250 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15251
15252 * fns.c (map_char_table): Use an array of int for `indices' rather than
15253 an array of Lisp_Objects (which are only ever integers anyway).
15254 (Fmap_char_table): Update caller.
15255 * lisp.h: Update prototype.
15256 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15257 * fontset.c (Ffontset_info):
15258 * casetab.c (set_case_table): Update callers.
15259
15260 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15261
15262 * keymap.c (struct accessible_keymaps_data)
15263 (struct where_is_internal_data): New structures.
15264 (accessible_keymaps_1, where_is_internal_1): Use them to change
15265 interface to adhere to the one used by map_keymap.
15266 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15267 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15268
15269 * keymap.h (map_keymap_function_t): More informative prototype.
15270
152712007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15272
15273 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15274 (looking_at_1): Don't change search_regs and last_thing_searched
15275 if `inhibit-changing-match-data' is non-nil.
15276 (string_match_1, search_buffer, set_search_regs): Likewise.
15277 (syms_of_search): Add Lisp level definition for
15278 `inhibit-changing-match-data' and set it to nil.
15279 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15280 start and end of the match, instead of using values in search_regs.
15281
152822007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15283
15284 * minibuf.c (Fcompleting_read): New value `confirm-only'
15285 for `require-match'.
15286
152872007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15288
15289 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15290 part of the 2007-06-27 change to syms_of_fileio.
15291
152922007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15293
15294 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15295 Check WINDOWP before using XWINDOW. Consolidate return statements.
15296
152972007-06-27 Richard Stallman <rms@gnu.org>
15298
15299 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15300
153012007-06-27 Juanma Barranquero <lekktu@gmail.com>
15302
15303 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15304
153052007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15306
15307 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15308 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15309 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15310 (_free_internal, memalign): Use them.
15311 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15312 Initialize to PTHREAD_MUTEX_INITIALIZER.
15313 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15314 (morecore_nolock): Rename from morecore. All uses changed.
15315 Use only nolock versions of internal allocation functions.
15316 (_malloc_internal_nolock, _realloc_internal_nolock)
15317 (_free_internal_nolock): New functions created from
15318 _malloc_internal, _realloc_internal, and _free_internal.
15319 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15320 Copy hook value to automatic variable before its use.
15321 (memalign): Copy hook value to automatic variable before its use.
15322
153232007-06-26 Kenichi Handa <handa@m17n.org>
15324
15325 * coding.c (Ffind_operation_coding_system): Docstring improved.
15326 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15327
153282007-06-25 David Kastrup <dak@gnu.org>
15329
15330 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15331 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15332 cater for additional parameter.
15333
15334 * keymap.h: Adjust number of parameters to `current-active-maps'.
15335
15336 * doc.c (Fsubstitute_command_keys): Adjust call of
15337 `current-active-maps'.
15338
153392007-06-25 David Kastrup <dak@gnu.org>
15340
15341 * callint.c (Fcall_interactively): Make the parsing of interactive
15342 specs somewhat more readable.
15343
153442007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15345
15346 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15347 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15348 if extended background has already been filled.
15349
153502007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15351
15352 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15353 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15354
15355 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15356 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15357 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15358 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15359 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15360 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15361 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15362 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15363 Run timers during dialog popup.
15364 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15365
153662007-06-21 Jason Rumney <jasonr@gnu.org>
15367
15368 * image.c (convert_mono_to_color_image): Swap fore and background.
15369
153702007-06-20 Jason Rumney <jasonr@gnu.org>
15371
15372 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15373 (w32_free_bdf_font): Unmap memory not handle.
15374
153752007-06-20 Sam Steingold <sds@gnu.org>
15376
15377 * gmalloc.c (__morecore): Fix the declaration to comply with the
15378 definition.
15379
153802007-06-20 Juanma Barranquero <lekktu@gmail.com>
15381
15382 * w32term.c (w32_delete_display): Remove leftover declaration.
15383 (w32_define_cursor, w32_initialize): Make static.
15384
15385 * w32.c (_wsa_errlist): Fix typo in error message.
15386 (init_environment): Ignore any environment variable from the
15387 registry having a null value.
15388
153892007-06-20 Glenn Morris <rgm@gnu.org>
15390
15391 * Makefile.in (LIBGIF): Default to -lgif.
15392
153932007-06-17 Jason Rumney <jasonr@gnu.org>
15394
15395 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15396 unicode strings.
15397
153982007-06-16 Juanma Barranquero <lekktu@gmail.com>
15399
15400 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15401 Fix typo in docstring.
15402
154032007-06-16 Eli Zaretskii <eliz@gnu.org>
15404
15405 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15406 and their keybindings.
15407
154082007-06-15 Chong Yidong <cyd@stupidchicken.com>
15409
15410 * composite.c (update_compositions): Fix last fix.
15411
154122007-06-14 Jason Rumney <jasonr@gnu.org>
15413
15414 * w32.c (get_process_times_fn): New function pointer.
15415 (globals_of_w32): Intialize it if present in kernel32.dll.
15416 (w32_get_internal_run_time): New function.
15417
15418 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15419
154202007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15421
15422 * composite.c (update_compositions): Check the validness of
15423 compositions.
15424
154252007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15426
15427 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15428 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15429
15430 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15431 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15432
15433 * macgui.h (USE_MAC_TOOLBAR): New define.
15434
15435 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15436 Return immediately unless popup is activated.
15437
15438 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15439 background to scroll bar gap.
15440 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15441 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15442 scroll bars on frame edge. Check fringe background extension.
15443 Don't clear extended fringe background area.
15444 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15445 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15446 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15447 [USE_MAC_TOOLBAR]: New macros.
15448 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15449 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15450 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15451 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15452 [USE_MAC_TOOLBAR]: New functions.
15453 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15454 manually if previous repositioning has failed.
15455 (mac_handle_keyboard_event): Use precomputed event kind.
15456 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15457 as tool bar item click. Handle mouse movement over tool bar items.
15458
15459 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15460 toolbar_win_gravity.
15461 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15462 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15463 Add externs.
15464
15465 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15466 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15467
154682007-06-14 Chong Yidong <cyd@stupidchicken.com>
15469
15470 * image.c (search_image_cache): Remove unused variable.
15471
154722007-06-13 Chong Yidong <cyd@stupidchicken.com>
15473
15474 * xfns.c, xmenu.c: Link to xaw3d if available.
15475
154762007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15477
15478 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15479 frame_foreground and frame_background.
15480
15481 * image.c (lookup_image): Save frame foreground and background colors.
15482 (search_image_cache): Check if saved and current frame colors match.
15483
154842007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15485
15486 * regex.c (regex_compile): Remove the `regnum' counter.
15487 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15488
154892007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15490
15491 * term.c: Include intervals.h to declare Fget_text_property.
15492
154932007-06-10 Jason Rumney <jasonr@gnu.org>
15494
15495 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15496
154972007-06-08 Juanma Barranquero <lekktu@gmail.com>
15498
15499 * callint.c (Fcall_interactively):
15500 * editfns.c (Fdelete_and_extract_region):
15501 * fileio.c (Fread_file_name):
15502 * fns.c (Fmapconcat):
15503 * keyboard.c (cmd_error_internal):
15504 * keymap.c (Fkey_description):
15505 * lread.c (openp):
15506 * minibuf.c (read_minibuf):
15507 * search.c (wordify):
15508 * sunfns.c (sel_read):
15509 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15510 * xfns.c (x_default_scroll_bar_color_parameter):
15511 * xmenu.c (menu_help_callback):
15512 * xselect.c (Fx_get_atom_name):
15513 * xterm.c (x_term_init): Use empty_unibyte_string.
15514
155152007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15516
15517 * alloc.c (init_strings): Initialize canonical empty strings.
15518 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15519 canonical empty string when the requested size is 0.
15520
15521 * emacs.c (empty_unibyte_string): Rename from empty_string.
15522 (empty_multibyte_string): New canonical empty string.
15523 (syms_of_emacs): Don't initialize empty_string.
15524
15525 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15526 string, if appropriate.
15527 (empty_unibyte_string, empty_multibyte_string): New externs.
15528 (empty_string): Remove extern.
15529
15530 * lread.c (syms_of_lread): Use empty_unibyte_string.
15531
155322007-06-07 Jason Rumney <jasonr@gnu.org>
15533
15534 * s/ms-w32.h: Don't define HAVE_TZNAME.
15535
15536 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15537
155382007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15539
15540 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15541
15542 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15543 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15544
15545 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15546 Don't call next handler.
15547 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15548 Remove argument. Install handler to application.
15549 (set_frame_menubar): Don't change deep_p.
15550 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15551 FRAME_OUTER_TO_INNER_DIFF_Y.
15552 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15553 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15554 [HAVE_DIALOGS]: New macros.
15555 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15556 Use them.
15557 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15558
15559 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15560 init_service_handler. All callers changed. Return OSStatus value.
15561
15562 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15563 All callers changed so as not to call SetPortWindowPort.
15564 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15565 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15566 mac_draw_string_common.
15567 (mac_draw_image_string_qd): Likewise.
15568 (mac_draw_string_common): Use them. Add INLINE.
15569 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15570 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15571 GetGlobalMouse.
15572 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15573 and FRAME_OUTER_TO_INNER_DIFF_Y.
15574 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15575 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15576 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15577 repositioning window to mac_handle_window_event.
15578 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15579 saving window location to mac_handle_window_event
15580 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15581 (install_menu_target_item_handler): Remove argument in extern.
15582 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15583 Also accept command events.
15584 (do_keystroke): New function created from XTread_socket.
15585 (init_command_handler): Remove functions.
15586 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15587 and save window location by kEventWindowShowing and kEventWindowHiding
15588 handlers here. Don't call next handler for window state change and
15589 focus events.
15590 (mac_handle_application_event, mac_handle_keyboard_event)
15591 [TARGET_API_MAC_CARBON]: New functions.
15592 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15593 kEventWindowShowing and kEventWindowHiding events. Move installation
15594 of mouse, font, text input and menu target item handlers to
15595 install_application_handler.
15596 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15597 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15598 New function.
15599 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15600 Register it.
15601 (XTread_socket) [TARGET_API_MAC_CARBON]:
15602 Consolidate SendEventToEventTarget calls.
15603 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15604 Move application activation handler to mac_handle_application_event.
15605 Move keyboard handler to mac_handle_keyboard_event.
15606 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15607 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15608 init_command_handler. Call install_application_handler.
15609
15610 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15611 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15612
156132007-06-07 Glenn Morris <rgm@gnu.org>
15614
15615 * emacs.c (main): Use `emacs-copyright' in --version output.
15616
156172007-06-06 Chong Yidong <cyd@stupidchicken.com>
15618
15619 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15620
156212007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15622
15623 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15624
15625 * macgui.h: Replace WindowPtr with WindowRef.
15626
15627 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15628 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15629 Replace ControlHandle with ControlRef.
15630 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15631
15632 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15633 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15634 Replace ControlHandle with ControlRef.
15635 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15636 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15637
15638 * macterm.h (struct scroll_bar): Rename member control_handle_low
15639 and control_handle_high to control_ref_low and control_ref_high.
15640 All uses changed.
15641 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15642 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15643 respectively. All uses changed.
15644 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15645 (install_window_handler, remove_window_handler): Replace WindowPtr
15646 with WindowRef in externs.
15647
156482007-06-05 Juanma Barranquero <lekktu@gmail.com>
15649
15650 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15651
156522007-06-03 Nick Roberts <nickrob@snap.net.nz>
15653
15654 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15655
15656 * frame.c (Fmouse_position, Fmouse_pixel_position):
15657 Condition on HAVE_GPM too.
15658
15659 * term.c (term_mouse_highlight): Remove unused variables.
15660 (Fterm_open_connection): Set gpm_zerobased to 1.
15661 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15662 Use zero based co-ordinates.
15663 (handle_one_term_event): Report a drag as mouse movement too.
15664
15665 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15666
156672007-06-03 Chong Yidong <cyd@stupidchicken.com>
15668
15669 * image.c (search_image_cache): New function. Require background
15670 color match if background color is unspecified in the image spec.
15671 (uncache_image, lookup_image): Use it.
15672
156732007-06-01 Juanma Barranquero <lekktu@gmail.com>
15674
15675 * window.c (Fshrink_window): Reflow docstring.
15676
156772007-06-02 Chong Yidong <cyd@stupidchicken.com>
15678
15679 * Version 22.1 released.
15680
156812007-06-01 Richard Stallman <rms@gnu.org>
15682
15683 * xfns.c (x_encode_text): Add GCPRO.
15684
156852007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15686
15687 * xfns.c (x_set_name_internal): Save encoded name before
15688 x_encode_text in case string data is relocated.
15689
156902007-05-31 Richard Stallman <rms@gnu.org>
15691
15692 * buffer.c (syms_of_buffer): Doc fix.
15693
156942007-05-30 Nick Roberts <nickrob@snap.net.nz>
15695
15696 * sysdep.c (init_sys_modes): Add rather than replace with
15697 O_NONBLOCK.
15698
15699 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15700 term_mouse_moveto.
15701
15702 * termhooks.h (term_mouse_moveto): New extern.
15703
15704 * term.c (mouse_face_window): Rename...
15705 (Qmouse_face_window): ...to this.
15706 (term_show_mouse_face, term_clear_mouse_face)
15707 (term_mouse_highlight): Use Qmouse_face_window.
15708 (term_mouse_moveto): New function.
15709 (term_mouse_position): Make it work.
15710 (syms_of_term): Uncomment assignment to mouse_position_hook.
15711 Staticpro Qmouse_face_window.
15712
157132007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15714
15715 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15716 around current_column call.
15717
157182007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15719
15720 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15721 * xdisp.c (next_element_from_buffer):
15722 * window.c (delete_window):
15723 * term.c (term_mouse_highlight):
15724 * msdos.c (getdefdir):
15725 * macterm.c (mac_create_bitmap_from_bitmap_data)
15726 (init_font_name_table):
15727 * fns.c (Fsxhash):
15728 * data.c (Fmake_local_variable):
15729 * ccl.c (ccl_driver): Likewise.
15730
157312007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15732
15733 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15734 Call mac_wakeup_from_rne on window size change.
15735
157362007-05-25 Chong Yidong <cyd@stupidchicken.com>
15737
15738 * image.c (uncache_image): Fix typo.
15739
157402007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15741
15742 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15743
157442007-05-22 Richard Stallman <rms@gnu.org>
15745
15746 * xterm.c (x_connection_closed): Remove NO_RETURN.
15747
157482007-05-22 Martin Rudalics <rudalics@gmx.at>
15749
15750 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15751
157522007-05-21 Chong Yidong <cyd@stupidchicken.com>
15753
15754 * image.c (uncache_image): New function.
15755 (Fimage_refresh): New function.
15756
157572007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15758
15759 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15760
157612007-05-20 Nick Roberts <nickrob@snap.net.nz>
15762
15763 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15764 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15765
157662007-05-20 Nick Roberts <nickrob@snap.net.nz>
15767
15768 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15769 conditional on [HAVE_GPM_H].
15770
157712007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15772
15773 * syntax.c (skip_chars): Update syntax-table only after we checked that
15774 the new location is valid.
15775
157762007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15777
15778 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15779 mac_get_window_bounds.
15780
157812007-05-20 Nick Roberts <nickrob@snap.net.nz>
15782
15783 * Makefile.in (LIBGPM): Allow it to be set from configure.
15784 If set then link Emacs with it.
15785
15786 * config.in: Regenerate.
15787
15788 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15789 New externs.
15790
15791 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15792 Include gpm.h.
15793 (handle_one_term_event, term_gpm): New externs.
15794
15795 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15796 and allow it to be interrupted by SIGIO.
15797
15798 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15799 (wait_reading_process_output): Wait on gpm_fd too.
15800 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15801 (add_gpm_wait_descriptor_called_flag): New variable.
15802 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15803
15804 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15805 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15806 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15807 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15808 (make_lispy_event): Add case GPM_CLICK_EVENT.
15809 (read_avail_input): Handle mouse input.
15810
15811 * term.c (write_glyphs_with_face): New function.
15812 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15813 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15814 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15815 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15816 (last_mouse_x, last_mouse_y): New variables.
15817 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15818 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15819 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15820 (Fterm_close_connection): New functions.
15821 (term_init): Initialise mouse_face_window.
15822
158232007-05-19 Chong Yidong <cyd@stupidchicken.com>
15824
15825 * xdisp.c (redisplay_window): If first window line is a
15826 continuation line, recompute the new window start instead of
15827 recentering.
15828
158292007-05-18 Glenn Morris <rgm@gnu.org>
15830
15831 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15832 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15833
158342007-05-17 Glenn Morris <rgm@gnu.org>
15835
15836 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15837
158382007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15839
15840 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15841 dead key repeat and up events.
15842
158432007-05-14 Chong Yidong <cyd@stupidchicken.com>
15844
15845 * image.c (pbm_load): Check image size for monochrome pbm.
15846
158472007-05-13 Chong Yidong <cyd@stupidchicken.com>
15848
15849 * xterm.c (XTread_socket): Revert last change.
15850
158512007-05-12 Chong Yidong <cyd@stupidchicken.com>
15852
15853 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15854
15855 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15856
158572007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15858
15859 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15860 mixup (YAILOM).
15861
158622007-05-07 Andreas Schwab <schwab@suse.de>
15863
15864 * keymap.c (Flookup_key): Fix typo in last change.
15865
158662007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15867
15868 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15869 mapping for unibyte strings.
15870
158712007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15872
15873 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15874 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15875
158762007-04-29 Richard Stallman <rms@gnu.org>
15877
15878 * insdel.c (replace_range): For undo, record insertion first.
15879
158802007-04-29 Andreas Schwab <schwab@suse.de>
15881
15882 * lisp.h (VECSIZE): Use OFFSETOF.
15883
158842007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15885
15886 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15887 disabled lines.
15888
158892007-04-28 Richard Stallman <rms@gnu.org>
15890
15891 * lread.c (read_escape): In a string, \s is always space.
15892
158932007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15894
15895 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15896
15897 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15898 submenu for menu bar items.
15899
15900See ChangeLog.10 for earlier changes.
15901
15902;; Local Variables:
15903;; coding: utf-8
15904;; add-log-time-zone-rule: t
15905;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15906;; End:
15907
15908 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15909
15910 This file is part of GNU Emacs.
15911
15912 GNU Emacs is free software: you can redistribute it and/or modify
15913 it under the terms of the GNU General Public License as published by
15914 the Free Software Foundation, either version 3 of the License, or
15915 (at your option) any later version.
15916
15917 GNU Emacs is distributed in the hope that it will be useful,
15918 but WITHOUT ANY WARRANTY; without even the implied warranty of
15919 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15920 GNU General Public License for more details.
15921
15922 You should have received a copy of the GNU General Public License
15923 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
15924
15925;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40