Documented:
[bpt/emacs.git] / src / ChangeLog
CommitLineData
d8bdbe6f
CY
12008-10-27 Chong Yidong <cyd@stupidchicken.com>
2
d1a072bf
CY
3 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
4 over-sized glyph, draw it with the default glyph width.
5
e2e325aa
CY
6 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
7 glyph, draw it with the default glyph width.
8
9 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
10 glyph, draw it with the default glyph width.
11
d8bdbe6f
CY
12 * xdisp.c (try_scrolling): When computing the distance from the
13 scroll margin to PT, try moving some distance past the window
14 bottom before giving up.
15
7bfac547
MR
162008-10-27 Martin Rudalics <rudalics@gmx.at>
17
18 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
19 (Fset_window_buffer): Explain in doc-string that a window can be
20 "strongly" dedicated to its buffer.
21
4ff029f6
DN
222008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
23
24 * emacs.c (daemon_name): New variable.
25 (main): Deal with --daemon=SERVER_NAME.
26 (Fdaemonp): Return a name if one was passed to --daemon.
27
5790ef40
DN
282008-10-26 Romain Francoise <romain@orebokech.com>
29
f9bd0df9 30 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
31 (main): Create a pipe before forking, make the parent exit only after
32 the child has closed its end of the pipe. Move closing the
33 descriptors ...
34 (Fdaemon_initialized): ... here. New function.
35
f5385255
SM
362008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
37
4d632321
SM
38 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
39 the previous unoptimized table.
40
f5385255
SM
41 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
42 the distinction between non-nil and non-t value of `dedicated'.
43
6c56a0f3
CY
442008-10-25 Chong Yidong <cyd@stupidchicken.com>
45
46 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 47 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 48
fec89261
MR
492008-10-25 Martin Rudalics <rudalics@gmx.at>
50
51 * window.c (Fget_buffer_window, Fdelete_windows_on)
52 (Freplace_buffer_in_windows): Make buffer argument optional and
53 rename to buffer_or_name.
54
34fcddd0
CY
552008-10-24 Chong Yidong <cyd@stupidchicken.com>
56
f5385255
SM
57 * xdisp.c (handle_single_display_spec, handle_display_prop):
58 Undo 2005-05-16 change.
34fcddd0
CY
59 (handle_stop): Pop iterator if it's loaded with an empty string.
60 (get_overlay_strings_1): Don't save iterator if it's loaded with
61 an empty string (bug#1201).
62
064766f2
KH
632008-10-24 Kenichi Handa <handa@m17n.org>
64
65 * ftfont.c (ftfont_otf_features): Fix previous change.
66 (ftfont_otf_capability): Check FeatureList.FeatureCount before
67 calling ftfont_otf_features.
68
f9bd0df9 692008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
70
71 * font.c (font_match_p): Fix for the case that a vector of
72 characters is in script-representative-chars.
73
1dae9197
MA
742008-10-24 Michael Albinus <michael.albinus@gmx.de>
75
76 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 77 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
78 (xd_read_queued_messages): Catch Qdbus_error from the macros.
79 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
80 macro. (Bug#1186).
81
f9bd0df9 822008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
83
84 * s/sol2-10.h: New file.
85
878a4584
JB
862008-10-23 Juanma Barranquero <lekktu@gmail.com>
87
88 * xdisp.c (fill_glyph_string): Fix typo in source (though the
89 poor beast has survived 9+ years and the jump from xterm.c!).
90
cd265ca6
MR
912008-10-23 Martin Rudalics <rudalics@gmx.at>
92
93 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
94 Reword doc-string.
f5385255 95 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 96
472a4dc9
JB
972008-10-23 Juanma Barranquero <lekktu@gmail.com>
98
99 * character.c (syms_of_character) <script-representative-chars>:
100 <unicode-category-table>: Doc fixes.
101
159bd5a2
NF
1022008-10-23 Noah Friedman <friedman@splode.com>
103
104 * coding.c (make_conversion_work_buffer): Check that
105 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
106 Fget_buffer_create.
107
49f9c344
KH
1082008-10-23 Kenichi Handa <handa@m17n.org>
109
110 * font.c (font_add_log): Check the values of extra properties.
111
12bb3111
MR
1122008-10-22 Martin Rudalics <rudalics@gmx.at>
113
114 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
115 Reword doc-string.
116 (Fset_window_parameter): Use NILP.
117 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 118 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 119
bbeb4e99
JB
1202008-10-22 Juanma Barranquero <lekktu@gmail.com>
121
122 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
123
1242008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
125
126 * nsfns.m (ns_appkit_version): New function.
127 (x-server-version): Use it.
128 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
129 (x-server-vendor): Don't check_ns().
130
131 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
132
a9b555d3
JB
1332008-10-22 Juanma Barranquero <lekktu@gmail.com>
134
135 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
136 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
137
4626499f
KH
1382008-10-22 Kenichi Handa <handa@m17n.org>
139
e3681952
KH
140 * syntax.c (scan_words): Call word_boundary_p instead of comparing
141 scripts.
142
4626499f
KH
143 * category.c (word_boundary_p): Check scripts instead of charset.
144 Handle nil value in word-separating-categories and
145 word-combining-categories.
146 (syms_of_category): Fix docstrings of word-separating-categories
147 and word-combining-categories.
148
1560f91a
EZ
1492008-10-21 Eli Zaretskii <eliz@gnu.org>
150
151 * coding.c (Fencode_coding_region, Fdecode_coding_region)
152 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
153
f4668441
MR
1542008-10-21 Martin Rudalics <rudalics@gmx.at>
155
156 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
157 Rename arg "buffer" to "buffer_or_name".
158 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
159 it optional.
160 (no_switch_window): Remove since the return value is not used.
a9b555d3 161 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
162 Consider window as dedicated when Fwindow_dedicated_p returns a
163 non-nil value.
164 * lisp.h: Remove prototype for no_switch_window.
165
fd75ddb2
JD
1662008-10-21 Jan Djärv <jan.h.d@swipnet.se>
167
168 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
169 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
170
07295713
KH
1712008-10-21 Kenichi Handa <handa@m17n.org>
172
173 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
174 check Vlatin_extra_code_table.
175
712adc82
EZ
1762008-10-20 Eli Zaretskii <eliz@gnu.org>
177
178 * fileio.c (Fset_file_modes): Doc fix.
179
f549eb0b
MA
1802008-10-19 Michael Albinus <michael.albinus@gmx.de>
181
182 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
183 in arrays.
184
aac0c6e3
MR
1852008-10-19 Martin Rudalics <rudalics@gmx.at>
186
187 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
188 Mention kill-buffer in doc-string.
189 (Fset_window_buffer): Reinsert tem check removed in last commit.
190 (Fenlarge_window, Fshrink_window): Have argument names and
191 doc-string follow Elisp manual more closely.
192
1932008-10-18 Eli Zaretskii <eliz@gnu.org>
194
195 * fileio.c (Fset_file_modes): Doc fix.
196
1972008-10-18 Martin Rudalics <rudalics@gmx.at>
198
199 * window.c (Fwindow_width, Fset_window_start)
200 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
201 (Fdelete_windows_on, Freplace_buffer_in_windows):
202 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
203 (Fwindow_dedicated_p): Make window argument optional.
204 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
205 (Fset_window_buffer): Respect any non-nil dedicated value for
206 window. Rename "buffer" argument to "buffer_or_name".
207
2082008-10-18 Ulrich Mueller <ulm@gentoo.org>
209
210 * m/sh3.h: New file, machine description for SuperH.
211
2122008-10-17 Martin Rudalics <rudalics@gmx.at>
213
214 * window.c (Fsplit_window): Rename arg horflag to horizontal.
215
2162008-10-17 Kenichi Handa <handa@m17n.org>
217
218 * ftfont.c (ftfont_otf_features): Fix indexing
219 gsub_gpos->FeatureList.Feature. Check the validity of indices.
220
2212008-10-16 Magnus Henoch <mange@freemail.hu>
222
223 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
224 (Fdbus_call_method_asynchronously): Ditto.
225 This change makes C-h f display the argument list.
226
2272008-10-16 Chong Yidong <cyd@stupidchicken.com>
228
229 * fileio.c (Fexpand_file_name): Doc fix.
230
231 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
232 of :foreground and :background equivalent to unspecified (20.x
233 compatibility).
234
2352008-10-15 Eli Zaretskii <eliz@gnu.org>
236
237 * buffer.c (syms_of_buffer): Doc fix.
238
2392008-10-14 Kenichi Handa <handa@m17n.org>
240
241 * font.c (font_clear_prop): When clearing font width, clear the
242 average width field too.
243
2442008-10-12 Andreas Schwab <schwab@suse.de>
245
246 * ftfont.c (ftfont_shape_by_flt): Make static.
247 * ftfont.h (ftfont_shape_by_flt): Don't declare.
248
249 * font.c: Don't include <m17n-flt.h>.
250
2512008-10-10 Eli Zaretskii <eliz@gnu.org>
252
253 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
254
2552008-10-09 Eli Zaretskii <eliz@gnu.org>
256
257 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
258 away code.
259
2602008-10-09 Chong Yidong <cyd@stupidchicken.com>
261
262 * dispnew.c (update_text_area): Avoid looping due to large glyph
263 overhangs (bug#1070).
264
2652008-10-09 Kenichi Handa <handa@m17n.org>
266
267 * fontset.c (face_for_char): If face->fontset is negative, just
268 return ascii_face.
269
f5385255
SM
270 * font.c (font_delete_unmatched): Fix previous change.
271 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
272
2732008-10-09 Martin Rudalics <rudalics@gmx.at>
274
275 * frame.c (Fraise_frame): On text-only terminals select frame in
276 order to make it visible. (Bug#1061)
277
2782008-10-08 Chong Yidong <cyd@stupidchicken.com>
279
280 * fontset.c (fontset_find_font): Check frame validity.
281
2822008-10-07 Chong Yidong <cyd@stupidchicken.com>
283
a9b555d3 284 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
285 (xg_display_close): Allow Emacs to close all displays (bug#985).
286
2872008-10-06 Andreas Schwab <schwab@suse.de>
288
f5385255 289 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
290
2912008-10-06 Chong Yidong <cyd@stupidchicken.com>
292
f5385255 293 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 294
a9b555d3 295 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
296
297 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
298 during initialization.
299
3002008-10-04 Eli Zaretskii <eliz@gnu.org>
301
302 * xdisp.c (redisplay_internal): If frame switched, redisplay the
303 whole thing on MSDOS frames as well as on a TTY.
304
305 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
306 well as for TTY.
307 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
308 well as on a TTY.
309
310 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
311 as well as for TTY.
312
313 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
314
315 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
316 MSDOS frames as well.
317
3182008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
319
320 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
321 correct arguments.
322 * menu.c (find_and_return_menu_selection) Add cast.
323
3242008-10-03 Glenn Morris <rgm@gnu.org>
325
326 * emacs.c (USAGE1): Add --daemon.
327
3282008-10-02 Eli Zaretskii <eliz@gnu.org>
329
330 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
331 100, so it's in percents as advertised.
332
3332008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
334
335 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
336 (ns_output.current_cursor, ns_output.desired_cursor)
337 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
338 (FRAME_NEW_CURSOR_COLOR): Remove.
339
340 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 341 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
342 enumeration (HOLLOW_BOX_CURSOR, etc.).
343
344 * nsterm.m (ns_frame_rehighlight): Remove commented code.
345 (draw_window_cursor): Simplify code.
f5385255
SM
346 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
347 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 348 updates manually.
a9b555d3
JB
349 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
350 Use core Emacs cursor types.
aac0c6e3
MR
351
352 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
353 NS.
354
3552008-10-02 Martin Rudalics <rudalics@gmx.at>
356
357 * process.c (Faccept_process_output): Fix doc-string.
358
3592008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
360
361 * gmalloc.c (__sbrk): Also define for uClibc.
362
363 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
364 for uClibc.
365
3662008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
367
368 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
369 styles.
370 (nsfont_open): Reenable the cache.
371
3722008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
373
374 * font.c (font_matching_entity): Reflect ATTRS in font selection.
375 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
376
3772008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
378
379 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
380 a suspended terminal.
381
3822008-09-30 Michael Albinus <michael.albinus@gmx.de>
383
384 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
385
3862008-09-30 Eli Zaretskii <eliz@gnu.org>
387
388 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
389
3902008-09-30 Chong Yidong <cyd@stupidchicken.com>
391
392 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
393 in a continued line coincides with a line beginning.
394
3952008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
396
397 * nsfont.m (nsfont_trait_distance): Fix bug.
398 (nsfont_list): Return a list rather than a vector (syncs with Handa
399 changes of 2008-05-14).
400 (nsfont_open): Improve logging.
401
4022008-09-29 Andreas Schwab <schwab@suse.de>
403
404 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
405
4062008-09-28 Martin Rudalics <rudalics@gmx.at>
407
408 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
409 name as char-resolve-modifiers.
410 Reported by: Markus Triska <markus.triska@gmx.at>
411
4122008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
413
414 * dispnew.c (init_display): Return earlier when running as a daemon.
415
4162008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
417
418 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
419
4202008-09-27 Eli Zaretskii <eliz@gnu.org>
421
422 * composite.c (Fcomposition_get_gstring)
423 (Fcompose_region_internal, Fcompose_string_internal)
424 (Ffind_composition_internal): Doc fix.
425 (syms_of_composite) <compose-chars-after-function>: Doc fix.
426 (syms_of_composite) <auto-composition-function>: Doc fix.
427 (syms_of_composite) <composition-function-table>: Doc fix.
428
4292008-09-25 Chong Yidong <cyd@stupidchicken.com>
430
431 * search.c (wordify): New argument for lax word-ends.
432 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
433
4342008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
435
436 * lisp.h (is_daemon): Declare.
437 * dispnew.c (init_display): Do not try to initialize the terminal
438 when running as a daemon.
439
4402008-09-22 Chong Yidong <cyd@stupidchicken.com>
441
442 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
443 x_display_pixel_height.
444
4452008-09-22 Martin Rudalics <rudalics@gmx.at>
446
447 * undo.c (record_point): Don't call Fundo_boundary for first
448 change. (Bug#731)
449
4502008-09-22 Juanma Barranquero <lekktu@gmail.com>
451
452 * emacs.c (Fdaemonp): Doc fix.
453
4542008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
455
456 * emacs.c (main): Place #ifdef in the proper place.
457
4582008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
459
460 * emacs.c (standard_args): Add --daemon.
461 (main): Disconnect from the terminal when --daemon is passed.
462 (is_daemon): New variable.
463 (Fdaemonp): New function.
464 (syms_of_emacs): Defsubr it.
465
4662008-09-20 Chong Yidong <cyd@stupidchicken.com>
467
468 * xdisp.c (get_next_display_element): Handle string display
469 correctly when checking for the end of a box run.
470
4712008-09-20 Glenn Morris <rgm@gnu.org>
472
473 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
474 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
475 (Frename_file): Avoid copying to trash if a rename involves
476 a delete. (Bug#964).
477
4782008-09-20 Eli Zaretskii <eliz@gnu.org>
479
480 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
481 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
482 frames as well as termcap frames.
483 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
484 get_named_tty.
485
4862008-09-19 Eli Zaretskii <eliz@gnu.org>
487
488 * process.c (procfs_system_process_attributes): Fix cmdline in
489 case /proc/PID/cmdline is empty.
490
491 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
492 x_display_pixel_height.
493
4942008-09-19 Juanma Barranquero <lekktu@gmail.com>
495
496 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
497
498 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
499 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
500
5012008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
502
503 * dispextern.h (struct it): Move line_wrap away from the middle of
504 bitfields. Move voffset in struct iterator_stack_entry after the
505 bitfields. Move tab_width near after another short.
506
5072008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
508
509 * frame.h (struct frame): Move alpha from the middle of bitfields.
510
511 * window.h (struct window): Move frozen_window_start_p after the
512 rest of the bitfields to reduce padding.
513
5142008-09-18 Chong Yidong <cyd@stupidchicken.com>
515
516 * xterm.h (x_display_info): Remove `height' and `width' members.
517
518 * nsterm.h (ns_display_info): Remove `height' and `width' members.
519
520 * w32term.h (w32_display_info): Remove `height', `width',
521 `height_in', and `width_in' members.
522
523 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
524 functions.
525 (x_calc_absolute_position): Use them.
526 (x_term_init): Omit removed `height' and `width' members.
527
528 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
529 functions.
530 (w32_read_socket, x_calc_absolute_position): Use them.
531 (w32_initialize_display_info, w32_term_init): Omit removed members
532 of w32_display_info.
533
534 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
535 functions.
536 (ns_initialize_display_info): Omit removed members of
537 ns_display_info.
538
539 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
540 functions.
541 (x_calc_absolute_position): Use them.
542 (x_term_init): Omit removed `height' and `width' members.
543
544 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
545 (compute_tip_xy): Use x_display_pixel_height and
546 x_display_pixel_width.
547
548 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
549 x_display_pixel_width.
550
551 * xmenu.c (menu_position_func): Use x_display_pixel_height and
552 x_display_pixel_width.
553
5542008-09-18 Kenichi Handa <handa@m17n.org>
555
556 * composite.c (fill_gstring_header): Don't check FROM and TO here.
557 (composition_compute_stop_pos): Fix handling of static composition.
558 (Fcomposition_get_gstring): Check FROM and TO at first.
559
5602008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
561
562 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
563 mixup (YAILOM).
564
5652008-09-17 Chong Yidong <cyd@stupidchicken.com>
566
567 * indent.c (Fvertical_motion): Use position reported by iterator
568 instead of PT for determining screen motion (bug#943).
569
5702008-09-17 Romain Francoise <romain@orebokech.com>
571
572 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
573
5742008-09-17 Kenichi Handa <handa@m17n.org>
575
576 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
577
578 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
579 if necessary.
580
5812008-09-16 Kenichi Handa <handa@m17n.org>
582
583 * coding.c (make_conversion_work_buffer): Avoid calling
584 Fget_buffer_create if it is not necessary.
585
5862008-09-15 Martin Rudalics <rudalics@gmx.at>
587
588 * window.c (Fselect_window): Don't update window_select_count and
589 use_time when norecord is not nil.
590
5912008-09-14 Kenichi Handa <handa@m17n.org>
592
593 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
594 specpdl_ptr.
595
5962008-09-12 Kenichi Handa <handa@m17n.org>
597
598 * indent.c (scan_for_column): Don't handle automatic composition
599 if the current buffer is not associated with a window.
600
601 * composite.c (composition_reseat_it): If the current buffer is
602 not associated with a window, ignore the automatic composition.
603 (find_automatic_composition): Likewise.
604
6052008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
606
607 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
608 (Fgpm_mouse_stop): Use it.
609 * termhooks.h (close_gpm): Declare.
610 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
611 connection if Gpm_GetEvent fails.
612
613 * window.c (set_window_buffer): Always preserve current-buffer.
614
6152008-09-12 Glenn Morris <rgm@gnu.org>
616
617 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
618
6192008-09-11 Glenn Morris <rgm@gnu.org>
620
621 * charset.c (charset-map-path): Doc fix.
622
6232008-09-10 Kenichi Handa <handa@m17n.org>
624
625 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
626
627 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
628 compose a grapheme cluster with the preceding base glyph.
629
630 * composite.c (composition_compute_stop_pos): Fix previous change.
631 Reset cmp_it->id to -1 at first.
632
6332008-09-10 Glenn Morris <rgm@gnu.org>
634
635 * Makefile.in (character.o, chartab.o): Fix config.h typo.
636
6372008-09-09 Chong Yidong <cyd@stupidchicken.com>
638
639 * keyboard.c (read_key_sequence): Reapply translation maps when
640 switching keyboards.
641
6422008-09-09 Kenichi Handa <handa@m17n.org>
643
644 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
645 characters.
646
647 * composite.c (FORWARD_CHAR): Fix calculation
648 of (POSITION).pos_byte.
649 (composition_compute_stop_pos): Limit the search of composition to
650 at most 500 characters ahead. If we reach the limit or find a
651 newline, set cmp_it->ch to -2 and return 0.
652 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
653
6542008-09-08 Kenichi Handa <handa@m17n.org>
655
656 * indent.c (Fvertical_motion): Be sure to set
657 it_overshoot_expected if it.cmp_it.id is non-negative.
658
6592008-09-07 Andreas Schwab <schwab@suse.de>
660
661 * callproc.c (Fcall_process): Don't hold references to string data
662 across garbage collection. Move initialisation of new_argv down
663 to avoid compiler bug.
664
6652008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
666
667 * process.c (Fsystem_process_attributes): Doc fix.
668
6692008-09-07 Chong Yidong <cyd@stupidchicken.com>
670
671 * callproc.c (Fcall_process): Canonicalize current directory name.
672
673 * xdisp.c (move_it_to): When moving by vpos, ensure that the
674 iterator advances to the next line if the current line ends in a
675 continued tab.
676
6772008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
678
679 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
680 member to point to cmp_from.
681
682 * xdisp.c: Doc fix for references to gidx data member.
683
6842008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
685
686 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
687
6882008-09-07 Kenichi Handa <handa@m17n.org>
689
690 * composite.c (FORWARD_CHAR): Check STOP after
691 incrementing (POSITION).pos.
692
6932008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
694
695 * process.c (Fsystem_process_attributes): Doc fix.
696
6972008-09-06 Chong Yidong <cyd@stupidchicken.com>
698
699 * keyboard.c (Ftop_level): Doc fix.
700
7012008-09-06 Eli Zaretskii <eliz@gnu.org>
702
703 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
704 minibuffer, don't let lower part of menu invade the echo area.
705
706 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
707 "char *q" to access menu text and advance through it. Revert the
708 change that displayed ">" instead of ASCII character 0x10.
709
7102008-09-05 Eli Zaretskii <eliz@gnu.org>
711
712 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
713 toggle boxes and radio buttons on MS-DOS as well.
714
7152008-09-05 Kenichi Handa <handa@m17n.org>
716
717 * composite.c (autocmp_chars): Check lookback count.
718 (composition_compute_stop_pos): Set cmp_it->lookback.
719 (composition_reseat_it): Check lookback count.
720 (struct position_record): New struct.
721 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
722 (find_automatic_composition): New function.
723 (composition_adjust_point): Use find_automatic_composition.
724
725 * dispextern.h (struct composition_it): New member lookback.
726
7272008-09-02 Chong Yidong <cyd@stupidchicken.com>
728
729 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
730 if moving by a single line.
731
7322008-09-02 Andreas Schwab <schwab@suse.de>
733
734 * xterm.c (x_delete_display): Fix merge error.
735
736 * fileio.c (Fexpand_file_name): Remove unused variables.
737
7382008-09-02 Eli Zaretskii <eliz@gnu.org>
739
740 * fileio.c (Fexpand_file_name): Copy argument `name' into local
741 storage on all platforms, not just on DOS_NT.
742
7432008-09-02 Jason Rumney <jasonr@gnu.org>
744
745 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
746 mouse is not grabbed after menu is finished.
747
7482008-09-01 Chong Yidong <cyd@stupidchicken.com>
749
750 * xfaces.c (Finternal_set_alternative_font_family_alist)
751 (Finternal_set_alternative_font_registry_alist): Properly copy
752 entire alist structure.
753
7542008-09-01 Kenichi Handa <handa@m17n.org>
755
756 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
757 representative chars of the script is a vector.
758 (ftfont_list): Handle the case the representative chars of the
759 script is a vector.
760
761 * character.c (syms_of_character): Docstring of
762 script-representative-chars fixed.
763
7642008-08-31 Eli Zaretskii <eliz@gnu.org>
765
766 * msdos.c (BUILD_CHAR_GLYPH): New macro.
767 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
768 the menu. Allocate larger buffer for `text', to account for
769 possible ^C characters.
770
7712008-08-31 Martin Rudalics <rudalics@gmx.at>
772
773 * xdisp.c (prepare_menu_bars): Don't call
774 Vwindow_size_change_functions with arg Qt.
775
7762008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
777
778 * font.h (font_range):
779 * fileio.c (report_file_error):
780 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
781
7822008-08-30 Glenn Morris <rgm@gnu.org>
783
784 * data.c (Fmake_variable_frame_local): Doc fix.
785
786 * frame.c (Fmodify_frame_parameters): Doc fix.
787
7882008-08-30 Eli Zaretskii <eliz@gnu.org>
789
790 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
791 needed by GetTokenInformation.
792 (w32_system_process_attributes): Check return values of all system
793 APIs.
794
795 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
796 only when the state changes.
797 (IT_update_begin, IT_update_end): Add termscript trace.
798
799 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
800 clipboard is unavailable. Set dst to NULL if it doesn't point to
801 malloc'ed data.
802 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
803 passing random values to xfree.
804
805 * dispnew.c (init_display): Set `tty's association in frame's
806 parameters alist to the name of the terminal device, if that is
807 known.
808
8092008-08-29 Jason Rumney <jasonr@gnu.org>
810
811 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
812
8132008-08-29 Eli Zaretskii <eliz@gnu.org>
814
815 * composite.c (fill_gstring_body): Avoid compiler warnings.
816
817 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
818 LGLYPH_SET_CODE to avoid compiler warnings.
819
820 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
821
822 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
823
824 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
825 LGLYPH_SET_CODE.
826
8272008-08-29 Kenichi Handa <handa@m17n.org>
828
829 * fileio.c (report_file_error): Don't downcase the first character
830 of errstring if it is still unibyte.
831
8322008-08-29 Kenichi Handa <handa@m17n.org>
833
834 These changes are to re-implement the automatic composition so
835 that it doesn't use text properties.
836
837 * Makefile.in (ftfont.o): Depend on composite.h.
838 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
839
840 * character.h (Vunicode_category_table): Extern it.
841
842 * character.c (Vunicode_category_table): New variable.
843 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
844
845 * chartab.c (optimize_sub_char_table): Perform more greedy
846 optimization.
847
848 * composite.h (enum composition_method): Delete
849 COMPOSITION_WITH_GLYPH_STRING.
850 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
851 (Vcomposition_function_table): Extern it.
852 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
853 (composition_gstring_put_cache, composition_gstring_from_id)
854 (composition_gstring_p, composition_gstring_width)
855 (composition_compute_stop_pos, composition_reseat_it)
856 (composition_update_it, composition_adjust_point): Extern them.
857 (Fcomposition_get_gstring): EXFUN it.
858
859 * composite.c: Include window.h, frame.h, dispextern.h font.h.
860 (Vcomposition_function_table)
861 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
862 (gstring_hash_table, gstring_work, gstring_work_headers): New
863 variables.
864 (gstring_lookup_cache, composition_gstring_put_cache)
865 (composition_gstring_from_id, composition_gstring_p)
866 (composition_gstring_width, fill_gstring_header)
867 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
868 (composition_reseat_it, composition_update_it)
869 (composition_adjust_point, Fcomposition_get_gstring): New
870 functions.
871 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
872 and gstring_work_headers. DEFVAR_LISP composition-function-table.
873 Defsubr compostion_get_gstring.
874
875 * dispextern.h (struct glyph): New union u.cmp. Delete the member
876 cmp_id.
877 (struct glyph_string): Delete the member gidx. New members
878 cmp_id, cmp_from, and cmp_to.
879 (enum it_method): Delete GET_FROM_COMPOSITION.
880 (struct composition_it): New struct.
881 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
882 Delete c, len, cmp_id, cmp_len in u.comp.
883
884 * font.h (enum lgstring_indices): Delete it.
885 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
886 (enum lglyph_indices): Likewise.
887 (font_range): Extern adjusted.
888 (font_fill_lglyph_metrics): Extern it.
889
890 * font.c (QCf): New variable.
891 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
892 (font_prepare_composition): Delete this function.
893 (font_range): Type and arguments changed.
894 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
895 (font_fill_lglyph_metrics): New function.
896 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
897 changed.
898 (syms_of_font): DEFSYM QCf. Delete defsubr for
899 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
900 Sfont_shape_gstring.
901
902 * fontset.h (font_for_char): Extern it.
903
904 * fontset.c (font_for_char): New function.
905
906 * ftfont.c: Include composite.h.
907 (ftfont_resolve_generic_family): Add langset "en" to pattern.
908 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
909 LGSTRING_LENGTH.
910
911 * indent.c: Include composite.h and dispextern.h.
912 (check_composition): Delete this function.
913 (scan_for_column): Handle composition by
914 composition_compute_stop_pos, composition_reseat_it, and
915 composition_update_it.
916 (compute_motion): Likewise.
917 (Fvertical_motion): Fix checking of composition.
918
919 * keyboard.c (adjust_point_for_property): Check composition by
920 composition_adjust_point.
921
922 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
923 struct glyph_string.
924
925 * term.c (encode_terminal_code): Adjusted for the change of struct
926 glyph.
927 (append_composite_glyph): Adjusted for the change of struct it and
928 struct glyph.
929 (produce_composite_glyph): Likewise.
930
931 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
932 for the change of struct glyph_string.
933 (x_draw_glyph_string): Likewise.
934
935 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
936 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
937
938 * xdisp.c: Include font.h.
939 (it_props): Delete the entry for Qauto_composed.
940 (init_iterator): Initialize it->cmp_it.id to -1.
941 (compute_stop_pos): Call composition_compute_stop_pos.
942 (face_before_or_after_it_pos): Adjusted for the change of struct
943 it.
944 (handle_auto_composed_prop): Delete it.
945 (handle_composition_prop): Handle only static composition.
946 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
947 from xassert. Initialize it->cmp_it.stop_pos.
948 (push_it): Adjusted for the change of struct it.
949 (pop_it): Likewise.
950 (get_next_element): Delete next_element_from_composition.
951 (CHAR_COMPOSED_P): New macro.
952 (get_next_display_element): For automatic composition, get a face
953 from the font in the glyph-string.
954 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
955 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
956 case.
957 (next_element_from_string): Check if the character at the current
958 position is composed by CHAR_COMPOSED_P.
959 (next_element_from_buffer): Likewise.
960 (next_element_from_composition): Adjusted for the change of struct
961 it. Update it->cmp_it.
962 (dump_glyph): Adjusted for the change of struct glyph.
963 (fill_composite_glyph_string): Adjusted for the change of struct
964 it and struct glyph. Don't handle automatic composition here.
965 (fill_gstring_glyph_string): New function.
966 (x_get_glyph_overhangs): Handle automatic composition.
967 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
968 glyph.
969 (BUILD_GSTRING_GLYPH_STRING): New macro.
970 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
971 automatic composition.
972 (append_composite_glyph): Adjusted for the change of struct it and
973 struct glyph.
974 (x_produce_glyphs): Adjusted for the change of struct it.
975
976 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
977 the change of struct glyph_string.
978 (x_draw_glyph_string): Likewise.
979
9802008-08-29 Glenn Morris <rgm@gnu.org>
981
982 * buffer.c (word-wrap): Doc fix.
983 * xdisp.c (truncate-partial-width-windows): Doc fix.
984 Increase default to 50.
985
9862008-08-29 Chong Yidong <cyd@stupidchicken.com>
987
988 * xdisp.c (update_tool_bar_unwind): New function.
989 (update_tool_bar): Temporarily set selected frame before building
990 tool-bar items.
991
9922008-08-28 Michael Albinus <michael.albinus@gmx.de>
993
994 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
995 snprintf, respectively.
996 (xd_append_arg): Convert strings with Fstring_make_unibyte.
997
9982008-08-28 Chong Yidong <cyd@stupidchicken.com>
999
1000 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1001 LDFLAGS to GNUstep CC invocation.
1002
10032008-08-27 Chong Yidong <cyd@stupidchicken.com>
1004
1005 * indent.c (Fvertical_motion): Revert last change. Handle the
1006 general case where we are moving forward, and PT spans multiple
1007 screen lines.
1008
1009 * eval.c (find_handler_clause): Temporarily increase
1010 max-lisp-eval-depth while printing the backtrace buffer, to
1011 guarantee that help-mode code can run.
1012
10132008-08-27 Eli Zaretskii <eliz@gnu.org>
1014
1015 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1016 colors under -rv.
1017 (IT_set_frame_parameters): Don't swap foreground and background
1018 colors if `(reverse . t)' is present in the frame properties.
1019 (internal_terminal_init): Call init_frame_faces only for the
1020 initial frame.
1021
10222008-08-27 Andreas Schwab <schwab@suse.de>
1023
1024 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1025
10262008-08-27 Andreas Schwab <schwab@suse.de>
1027
1028 * search.c (search_buffer): Set char_base to zero only at the end.
1029
10302008-08-27 Kenichi Handa <handa@m17n.org>
1031
1032 * fileio.c (report_file_error): Fix handling of multibyte error
1033 string.
1034
10352008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1036
1037 * xterm.c (x_term_init): Temporarily hide the partially
1038 initialized terminal while calling vendor-specific-keysyms.
1039
10402008-08-26 Eli Zaretskii <eliz@gnu.org>
1041
1042 * msdos.c (internal_terminal_init): Most initializations done only
1043 once, especially initial_screen_colors[] and termscript open.
1044
10452008-08-26 Chong Yidong <cyd@stupidchicken.com>
1046
1047 * eval.c (Fcondition_case): Doc fix.
1048
1049 * widgetprv.h (EmacsFramePart): Change font member to the new font
1050 struct.
1051
1052 * widget.c: Include character.h and font.h for XSETFONT.
1053 (setup_frame_gcs): Compute X font id from font struct, just once.
1054
10552008-08-26 Eli Zaretskii <eliz@gnu.org>
1056
1057 * term.c (get_named_tty): Fix last change.
1058
10592008-08-26 Chong Yidong <cyd@stupidchicken.com>
1060
1061 * indent.c (Fvertical_motion): If moving forward starting from a
1062 multi-line string, move the iterator to the last line of that
1063 string.
1064
10652008-08-25 Eli Zaretskii <eliz@gnu.org>
1066
1067 * frame.c (do_switch_frame): Mark previously displayed frame as
1068 obscured for FRAME_MSDOS_P frames as well.
1069
10702008-08-24 Eli Zaretskii <eliz@gnu.org>
1071
1072 * frame.c (make_terminal_frame): Initialize f->terminal,
1073 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1074 Set the top frame to newly created frame.
1075 (Fmake_terminal_frame): Reuse the_only_display_info.
1076
1077 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1078 estimating available memory.
1079
10802008-08-23 David Reitter <david.reitter@gmail.com>
1081
1082 * nsterm.m (ns_draw_window_cursor): Don't call
1083 NSDisableScreenUpdates and NSEnableScreenUpdates on
1084 non-NS_IMPL_COCOA systems.
1085
10862008-08-23 Andreas Schwab <schwab@suse.de>
1087
1088 * process.c (procfs_system_process_attributes): Fix use of
1089 uninitialized variables.
1090
10912008-08-23 Eli Zaretskii <eliz@gnu.org>
1092
1093 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1094
1095 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1096 calling tty-set-up-initial-frame-faces.
1097
1098 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1099 MSDOS frames along with X frames.
1100
1101 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1102 addition to output_termcap.
1103
1104 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1105
1106 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1107 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1108 highlight.
1109
1110 * process.c [!subprocesses]: Define QCname.
1111 (syms_of_process): Intern and staticpro it.
1112
1113 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1114 Adjust for changes in encoding/decoding routines. Use
1115 encode_coding_object and decode_coding_object instead of
1116 encode_coding and decode_coding.
1117
1118 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1119 argument.
1120
1121 * dosfns.c: Include frame.h before termhooks.h.
1122 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1123 variable termscript.
1124
1125 * s/msdos.h (USER_FULL_NAME): Define.
1126 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1127
1128 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1129 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1130 pw->pw_gecos.
1131
1132 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1133 SELECTED_FRAME as additional (1st) argument.
1134 (tty_read_avail_input): Handle output_msdos_raw in
1135 addition to output_termcap.
1136
1137 * msdos.c: Include frame.h before termhooks.h.
1138 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1139 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1140 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1141 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1142 (IT_set_terminal_modes, IT_reset_terminal_modes)
1143 (IT_set_frame_parameters): Use tty->termscript instead of a global
1144 variable termscript.
1145 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1146 global variable terminal_coding. Don't refer to
1147 Vnonascii_translation_table.
1148 (internal_terminal_init): Set Vwindow_system in current_kboard.
1149 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1150 Announce date and time of session start, if termscript is open.
1151 Don't zero out the_only_display_info (it is done in
1152 term.c:init_tty). Open termscript only of not already open. Log
1153 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1154 here instead of dos_ttraw. Don't initialize display if this is an
1155 initial tty. Don't set FRAME_FONT.
1156 (Vwindow_system_version): Bump to 23.
1157 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1158 is available, set up mouse_position_hook.
1159 (dos_ttraw, IT_set_terminal_modes): If called with initial
1160 terminal, do nothing.
1161 (IT_set_frame_parameters): Handle the Qtty_type frame
1162 parameter by calling internal_terminal_init.
1163 (dos_set_window_size, show_mouse_face)
1164 (clear_mouse_face, IT_note_mode_line_highlight)
1165 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1166 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1167 (initialize_msdos_display): New function.
1168 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1169 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1170 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1171 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1172 Accept additional argument: a pointer to a frame. All callers
1173 changed.
1174 (request_sigio, unrequest_sigio): Don't define, now defined on
1175 sysdep.c.
1176 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1177
1178 * term.c [MSDOS]: Include msdos.h.
1179 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1180 conditional to DOS_NT. Allow only one call to this function in a
1181 session. Don't allocate a new struct tty_display_info; instead,
1182 reuse the_only_display_info. Call get_tty_size to get screen
1183 dimensions. Call init_baud_rate to set bad_rate.
1184 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1185 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1186 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1187 stdin/stdout.
1188 (get_tty_terminal, get_named_tty, Ftty_type)
1189 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1190 output_termcap.
1191 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1192 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1193 only when subprocesses are supported
1194
1195 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1196 f->output_data.x.
1197 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1198 terminal devices.
1199
1200 * msdos.h Remove definition of struct x_display_info and struct
1201 x_output.
1202 (FRAME_FONT): Use output_data.tty.
1203 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1204 (struct x_display_info): Renamed from display_info. All users in
1205 msdos.c changed.
1206 (struct x_output): Remove background_pixel and foreground_pixel.
1207 (the_only_display_info): Renamed from the_only_x_display.
1208 (dos_ttraw): Update prototype.
1209
1210 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1211 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1212
12132008-08-23 Jason Rumney <jasonr@gnu.org>
1214
1215 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1216 (fn_TIFFSetDirectory): New library function used.
1217 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1218 (tiff_load): Use :index to select among multiple images. Set count
1219 property when multiple images exist.
1220 (gif_format): Use :index, not :image.
1221
12222008-08-23 Chong Yidong <cyd@stupidchicken.com>
1223
1224 * xdisp.c (try_scrolling): Check INT_MAX instead of
1225 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1226 to obtain INT_MAX.
1227
12282008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1229
1230 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1231
12322008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1233
1234 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1235 GNUstep library location.
1236
12372008-08-21 Chong Yidong <cyd@stupidchicken.com>
1238
1239 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1240 before using it.
1241
1242 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1243
12442008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1245
1246 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1247 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1248 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1249 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1250 (EmacsApp-cursor_blink_handler): Remove declaration.
1251 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1252 match 01 Feb 2008 changes in xterm.c.
1253 (ns_read_socket): Add cast to avoid warning.
1254 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1255 GNUstep.
1256
12572008-08-20 Chong Yidong <cyd@stupidchicken.com>
1258
1259 * xselect.c (x_get_foreign_selection): Return nil if desired
1260 selection could not be obtained, instead of signalling an error.
1261
12622008-08-20 David Reitter <david.reitter@gmail.com>
1263
1264 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1265 * nsterm.m: Remove ns-specific code for cursor blinking.
1266 (ns_draw_window_cursor): Clear cursor properly rather than
1267 redrawing the area. Respect width of bar cursors.
1268 These changes enable the use of generic blink-cursor-mode and
1269 generic cursor types in NS and support smooth cursor movements (do
1270 not blink off after command).
1271 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1272 Nextstep, too.
1273
12742008-08-19 Kenichi Handa <handa@m17n.org>
1275
1276 * font.c (Vfont_log_deferred): New variable.
1277 (font_add_log): Check Vfont_log_deferred.
1278 (font_deferred_log): New function.
1279
1280 * font.h (font_deferred_log): Extern it.
1281
1282 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1283 for sorting.
1284 (face_for_char): Use deferred log.
1285
12862008-08-18 Kenichi Handa <handa@m17n.org>
1287
1288 * fontset.c (face_for_char): Add font log.
1289
1290 * font.c (font_add_log): Add the font properties :script, :lang,
1291 and :otf in the log.
1292
12932008-08-17 Chong Yidong <cyd@stupidchicken.com>
1294
1295 * xdisp.c: Remove dead code.
1296 (handle_invisible_prop, next_overlay_string): Defer call to
1297 setup_for_ellipsis.
1298 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1299
13002008-08-15 Chong Yidong <cyd@stupidchicken.com>
1301
1302 * xfaces.c (lookup_derived_face): Properly handle possible zero
1303 return value of get_lface_attributes.
1304 (merge_faces): Don't tell lookup_derived_face to signal an error
1305 if face is not found.
1306
1307 * dired.c (Fdirectory_files): Doc fix.
1308
1309 * process.c (make_process): Initialize kill_without_query struct
1310 member.
1311
13122008-08-15 Eli Zaretskii <eliz@gnu.org>
1313
1314 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1315 Alternative calculation of totphys for Visual Studio 6.
1316
1317 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1318
1319 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1320 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1321 All users changed.
1322 (stat): Only root directory passed to GetDriveType. Allow RAM
1323 disk as well as local fixed disk when w32-get-true-file-attributes
1324 is set to `local'.
1325 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1326 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1327 (w32_cached_id, w32_add_to_cache): New functions.
1328 (get_name_and_id): Look account names in the cache before calling
1329 lookup_account_sid.
1330 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1331 New initialization flags.
1332 (globals_of_w32): Initialize them to zero.
1333 (w32_system_process_attributes): Use w32_cached_id and
1334 w32_add_to_cache.
1335
13362008-08-14 Lawrence Mitchell <wence@gmx.li>
1337
1338 * lread.c (Fread_char, Fread_char_exclusive): If no character
1339 event is read before timeout is reached, return nil, rather than
1340 converting to a number.
1341
13422008-08-14 Chong Yidong <cyd@stupidchicken.com>
1343
1344 * fns.c (use_dialog_box): Doc fix.
1345
1346 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1347 on OS X.
1348
13492008-08-13 Chong Yidong <cyd@stupidchicken.com>
1350
1351 * frame.c (Qns_parse_geometry): New var.
1352 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1353
13542008-08-11 Chong Yidong <cyd@stupidchicken.com>
1355
1356 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1357 space character in calculating tabs.
1358
13592008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1360
1361 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1362
13632008-08-10 Glenn Morris <rgm@gnu.org>
1364
1365 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1366 silence gcc "limited range of data type" warnings in some
1367 make_fixnum_or_float calls.
1368
13692008-08-09 Eli Zaretskii <eliz@gnu.org>
1370
1371 * w32.c (w32_system_process_attributes): If the process does not
1372 exist, return nil.
1373
1374 * w32.c: Include thelp32.h, psapi.h and coding.h.
1375 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1376 declarations.
1377 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1378 (Process32Next_Proc): New typedefs.
1379 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1380 (g_b_init_process32_next, g_b_init_open_thread_token)
1381 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1382 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1383 (g_b_init_get_process_working_set_size)
1384 (g_b_init_global_memory_status_ex): New static variables.
1385 (globals_of_w32): Initialize them.
1386 (create_toolhelp32_snapshot, process32_first, process32_next)
1387 (open_thread_token, impersonate_self, revert_to_self)
1388 (get_process_memory_info, get_process_working_set_size)
1389 (global_memory_status, global_memory_status_ex): New wrapper
1390 functions.
1391 (w32_list_system_processes, w32_system_process_attributes)
1392 (enable_privilege, restore_privilege, ltime, process_times):
1393 New functions.
1394 (convert_time_raw): New function.
1395 (convert_time): Remove conversion of FILETIME into time in 100
1396 nsec units, call convert_time_raw instead.
1397
1398 * process.h (w32_list_system_processes, w32_system_process_attributes):
1399 Add prototypes.
1400 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1401 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1402 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1403 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1404
1405 * process.c (Fsystem_process_attributes): Doc fix.
1406
14072008-08-08 Chong Yidong <cyd@stupidchicken.com>
1408
1409 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1410 a continued multi-char glyph; if so, advance to the actual glyph.
1411
14122008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1413
1414 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1415
1416 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1417 (.m.o): Use it.
1418 * config.in: Regenerate.
1419
14202008-08-07 Chong Yidong <cyd@stupidchicken.com>
1421
1422 * xdisp.c (redisplay_window): Revert last change.
1423 (try_window): Check bottom scroll margin too.
1424
14252008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1426
1427 * config.in: Regenerate.
1428
1429 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1430 -list-load-path-shadows'.
1431 (nsgui.h): Reduce number of things depending on it.
1432
14332008-08-06 Chong Yidong <cyd@stupidchicken.com>
1434
1435 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1436 instead of window-end which does the wrong thing at eob.
1437 (try_cursor_movement): Minor optimization.
1438 (redisplay_window): If scroll margin is defined, don't assume
1439 window doesn't need scrolling.
1440
14412008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1442
1443 * config.in: Regenerate.
1444
1445 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1446 (mostlyclean): Don't delete *.d under NS.
1447
1448 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1449
14502008-08-06 Kenichi Handa <handa@m17n.org>
1451
1452 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1453
14542008-08-06 Andreas Schwab <schwab@suse.de>
1455
1456 * config.in: Regenerate.
1457
14582008-08-05 Chong Yidong <cyd@stupidchicken.com>
1459
1460 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1461 forcing a window start.
1462
1463 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1464 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1465
14662008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1467
1468 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1469 argument.
1470
14712008-08-05 Juanma Barranquero <lekktu@gmail.com>
1472
1473 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1474 <scroll-down-aggressively, before-change-functions>:
1475 <after-change-functions>: Reflow docstrings.
1476
14772008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1478 Ken Raeburn <raeburn@gnu.org>
1479
1480 Dock menu customization, based on a patch by Ken Raeburn, plus some
1481 other fixes.
1482 * nsmenu.m (dockMenu): New variable.
1483 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1484
1485 * nsterm.h (dockMenu): Declare.
1486
1487 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1488 (ns_term_init): Initialize dockMenu.
1489 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1490 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1491 left.
1492
1493 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1494
14952008-08-04 Chong Yidong <cyd@stupidchicken.com>
1496
1497 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1498
1499 * config.in: Regenerate.
1500
15012008-08-04 Seiji Zenitani <zenitani@mac.com>
1502
1503 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1504
15052008-08-04 Chong Yidong <cyd@stupidchicken.com>
1506
1507 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1508
15092008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1510
1511 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1512
1513 * keyboard.h: Comment an #endif.
1514
1515 * lisp.h (have_menus_p): Adjust comment.
1516
1517 * menu.c (find_and_return_menu_selection): Fix comparison with
1518 client_data.
1519
1520 * nsmenu.m (popup_activated_flag): New variable.
1521 (popup_activated): New function.
1522 (menu-or-popup-active-p): New exported lisp definition.
1523 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1524 when popup done.
1525 (ns_popup_dialog): Set popup_activated_flag.
1526
1527 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1528 version for GNUstep (handled by conditional typedef in nsterm.m).
1529 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1530 in rgb.txt).
1531
1532 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1533
1534 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1535
1536 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1537
1538 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1539 shortcircuit if popup_activated like GTK and X toolkit.
1540
1541 * m/inter386.h: Change DARWIN to DARWIN_OS.
1542
1543 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1544 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1545 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1546 comment on NO_SOCK_SIGIO.
1547
15482008-08-03 Chong Yidong <cyd@stupidchicken.com>
1549
1550 * nsterm.m (windowDidResize): Remove stopModal call.
1551
15522008-08-03 Andreas Schwab <schwab@suse.de>
1553
1554 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1555 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1556
15572008-08-02 Chong Yidong <cyd@stupidchicken.com>
1558
1559 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1560 Don't use uninitialized pointer variable when using getrlimit.
1561
15622008-08-02 Jason Rumney <jasonr@gnu.org>
1563
1564 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1565
15662008-08-02 Eli Zaretskii <eliz@gnu.org>
1567
1568 * alloc.c (NSTATICS): Bump to 0x640.
1569
1570 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1571
1572 * lisp.h: Add prototype for directory_files_internal.
1573
1574 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1575 New functions.
1576 (syms_of_process): Defsubr them. Add initializations for various
1577 Q* symbols used in procfs_system_process_attributes.
1578 (procfs_list_system_processes, procfs_system_process_attributes)
1579 [HAVE_PROCFS]: New functions.
1580 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1581 (procfs_get_total_memory): New functions.
1582
15832008-08-01 Juanma Barranquero <lekktu@gmail.com>
1584
1585 * xfaces.c (Fx_load_color_file): Fix previous change;
1586 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1587
15882008-08-01 Michael Albinus <michael.albinus@gmx.de>
1589
1590 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1591
15922008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1593
1594 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1595
15962008-08-01 Chong Yidong <cyd@stupidchicken.com>
1597
1598 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1599
1600 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1601 define NSApplicationDelegateReplySuccess.
1602 (EmacsView -converstationIdentifier): Use long instead of
1603 NSInteger for GNUstep, since it doesn't have NSInteger.
1604
1605 * xmenu.c: Revert last change.
1606
1607 * keyboard.h: Fix last change.
1608
16092008-08-01 Juanma Barranquero <lekktu@gmail.com>
1610
1611 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1612 on Windows.
1613
16142008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1615
1616 Warning clearing and clean-up in NS port.
1617 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1618 Add prototypes.
1619 * nsgui.h (FACE_DEFAULT): Remove, unused.
1620 (XGCValues): Change colors to unsigned long.
1621 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1622 nsterm.m.
1623 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1624 (ns_list_fonts): Remove, unused.
1625 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1626 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1627 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1628 (nsfont_draw): Compare face colors to 0, not nil.
1629 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1630 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1631 (-addSubmenuWithTitle:): Use NSMenuItem class.
1632 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1633 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1634 (ns_clip_to_row): Make gc arg a BOOL.
1635 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1636 ns_clip_to_row() call.
1637 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1638 used). Cast FRAME_FONT assignments.
1639 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1640 (ns_string_to_lispmod): Change arg to const char.
1641 (ns_term_init): Use NSMenuItem class.
1642 (EmacsApp -openFile:): Move to different section of file.
1643 (EmacsApp -application:openFiles:): Don't return a value, call
1644 -replyToOpenOrPrint:.
1645 (EmacsView -keyDown:): Fix up cast.
1646 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1647 (EmacsView -menuDown:): Cast tag in call to
1648 find_and_call_menu_selection().
1649 (ns_list_fonts): Remove, unused.
1650 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1651 (ns_fontname_to_xlfd): Make static.
1652 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1653 Remove prototypes (now in keyboard.h).
1654 (next_menubar_widget_id): Remove, unused.
1655 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1656 Remove prototypes (now in keyboard.h).
1657 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1658
16592008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1660
1661 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1662 (floatfns.o): Depend on syssignal.h.
1663 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1664
1665 * systty.h: Fix previous change that removed BSD_TERMIOS.
1666 Add comments to #ifdefs.
1667
16682008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1669
1670 * w32fns.c (w32-load-color-file): Remove.
1671 (x-open-connection): Use renamed Fx_load_color_file.
1672 * xfaces.c (x-load-color-file): Add.
1673 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1674 Emacs.clr.
1675 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1676
16772008-07-31 Michael Albinus <michael.albinus@gmx.de>
1678
1679 * dbusbind.c (Fdbus_call_method_asynchronously)
1680 (Fdbus_method_error_internal): New defuns.
1681 (xd_read_message): Handle also reply messages.
1682 (Vdbus_registered_functions_table): Extend docstring.
1683
16842008-07-31 Juanma Barranquero <lekktu@gmail.com>
1685
1686 * keyboard.c (gobble_input): Fix previous change.
1687
16882008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1689
1690 * bitmaps/README:
1691 * xfns.c:
1692 * termcap.c:
1693 * term.c:
1694 * syswait.h:
1695 * systty.h:
1696 * systime.h:
1697 * syssignal.h:
1698 * sysdep.c:
1699 * process.h:
1700 * process.c:
1701 * print.c:
1702 * ndir.h:
1703 * lread.c:
1704 * keyboard.c:
1705 * getpagesize.h:
1706 * floatfns.c:
1707 * fileio.c:
1708 * emacs.c:
1709 * doc.c:
1710 * dispnew.c:
1711 * dired.c:
1712 * data.c:
1713 * callproc.c:
1714 * buffer.c:
1715 * README:
1716 * Makefile.in:
1717 * s/template.h:
1718 * s/msdos.h:
1719 * m/vax.h: Remove VMS support.
1720 * s/vms.h:
1721 * vlimit.h:
1722 * uaf.h:
1723 * temacs.opt:
1724 * param.h:
1725 * ioctl.h: Remove file.
1726
17272008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1728
1729 * s/ms-w32.h (MULTI_KBOARD): Remove.
1730 * xterm.c:
1731 * xselect.c:
1732 * xfns.c:
1733 * window.c:
1734 * w32term.c:
1735 * w32fns.c:
1736 * terminal.c:
1737 * termhooks.h:
1738 * term.c:
1739 * sysdep.c:
1740 * keyboard.h:
1741 * keyboard.c:
1742 * frame.h:
1743 * frame.c:
1744 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1745 * config.in: Regenerate.
1746
17472008-07-30 Jason Rumney <jasonr@gnu.org>
1748
1749 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1750
1751 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1752 (w32font_open_internal): Get unicode version of textmetrics.
1753 Don't enable or disable glyph indices here.
1754 (w32font_open): Disable use of glyph indices.
1755
1756 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1757
17582008-07-30 Chong Yidong <cyd@stupidchicken.com>
1759
1760 * minibuf.c (Vread_buffer_function): Doc fix.
1761
17622008-07-30 John Paul Wallington <jpw@pobox.com>
1763
1764 * minibuf.c (read_buffer_completion_ignore_case): New var.
1765 (Fread_buffer): Use it.
1766
17672008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1768
1769 * systty.h (sensemode): Remove empty #if. Remove reference to
1770 BSD_TERMIOS, unused.
1771
1772 * sysdep.c: Remove reference to DGUX.
1773 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1774
1775 * config.in: Regenerate.
1776
17772008-07-30 Jason Rumney <jasonr@gnu.org>
1778
1779 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1780
17812008-07-29 Jason Rumney <jasonr@gnu.org>
1782
1783 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1784 is populated.
1785 (uniscribe_encode_char): Always use uniscribe.
1786 Avoid using context if cache is populated.
1787
17882008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1789
1790 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1791 open menu.
1792
1793 * gtkutil.c (menu_nav_ended): Remove.
1794 (create_menus): Remove signal connect for menu_nav_ended.
1795
17962008-07-28 Chong Yidong <cyd@stupidchicken.com>
1797
1798 * xdisp.c (redisplay_window): Check return value of
1799 compute_window_start_on_continuation_line before forcing a window
1800 start.
1801
18022008-07-28 Jason Rumney <jasonr@gnu.org>
1803
1804 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
1805
1806 * w32term.c (w32_enable_unicode_output, cleartype_active):
1807 Remove obsolete display options.
1808 (x_draw_glyph_string_background): Don't use old cleartype_active
1809 workaround.
1810 (w32_initialize): Remove cleartype_active initialization.
1811 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
1812
18132008-07-28 Andreas Schwab <schwab@suse.de>
1814
1815 * lisp.h (init_weak_hash_tables, syms_of_font)
1816 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1817 (remove_hash_entry): Don't declare.
1818 * eval.c (maybe_call_debugger): Make static and move before use.
1819 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1820 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1821 * xterm.h (x_set_frame_alpha): Declare.
1822
18232008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1824
1825 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1826 (create_menus): Connect selection-done to menu_nav_ended.
1827
18282008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1829
1830 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1831 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1832 parameter with read of 'alpha' one.
1833 (Qns_frame_parameter): Remove.
1834 * nsselection.m (selection-coding-system)
1835 (next-selection-coding-system, Vselection_coding_system)
1836 (Vnext_selection_coding_system): Drop.
1837
18382008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1839
1840 * nsfns.m (do-applescript, do_applescript): Rename to
1841 ns-do-applescript, ns_do_applescript, and move within file.
1842
18432008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1844
1845 Remove support for Mac Carbon.
1846 * mactoolbox.c:
1847 * macterm.h:
1848 * macterm.c:
1849 * macselect.c:
1850 * macmenu.c:
1851 * macgui.h:
1852 * macfns.c:
1853 * mac.c: Remove file.
1854 * s/darwin.h:
1855 * m/intel386.h:
1856 * xfaces.c:
1857 * xdisp.c:
1858 * window.c:
1859 * tparam.c:
1860 * termhooks.h:
1861 * termcap.c:
1862 * term.c:
1863 * syssignal.h:
1864 * sysselect.h:
1865 * sysdep.c:
1866 * process.c:
1867 * lread.c:
1868 * lisp.h:
1869 * keyboard.c:
1870 * image.c:
1871 * fringe.c:
1872 * frame.h:
1873 * frame.c:
1874 * fontset.c:
1875 * font.h:
1876 * font.c:
1877 * fns.c:
1878 * fileio.c:
1879 * emacs.c:
1880 * dispnew.c:
1881 * dispextern.h:
1882 * config.in:
1883 * atimer.c:
1884 * Makefile.in: Remove code for Carbon
1885
18862008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1887
1888 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
1889
18902008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1891
1892 * macterm.h (kCGBitmapByteOrder32Host): New define for
1893 non-universal SDKs.
1894
1895 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1896 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1897
1898 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1899 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
1900
19012008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
1902
1903 * w32inevt.c: Include dispextern.h.
1904
19052008-07-26 Andreas Schwab <schwab@suse.de>
1906
1907 * print.c (print_object): Fix off-by-one in last change.
1908
19092008-07-25 Juanma Barranquero <lekktu@gmail.com>
1910
1911 * term.c (syms_of_term): Don't initialize default_orig_pair,
1912 default_set_foreground and default_set_background on Windows.
1913
19142008-07-25 Jason Rumney <jasonr@gnu.org>
1915
1916 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1917 ScriptItemize. Clean up return value checking. Remove unused
1918 variables.
1919 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1920 shaping engine.
1921
1922 * w32font.c (w32font_has_char): Handle the case where we can't
1923 determine the script for a character.
1924
19252008-07-25 Chong Yidong <cyd@stupidchicken.com>
1926
1927 * term.c (syms_of_term): Initialize default_orig_pair,
1928 default_set_foreground, and default_set_background.
1929
1930 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1931 clash (bug#86).
1932 (getloadavg): Callers changed.
1933
1934 * image.c (svg_load_image): Fix last change.
1935 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1936 image size is valid. Use g_object_unref instead of deprecated
1937 rsvg_handle_free to free rsvg handle.
1938 (x_from_xcolors): Don't initialize pixmap (silence compiler).
1939
19402008-07-25 Jason Rumney <jasonr@gnu.org>
1941
1942 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1943 surrogates before looking up glyph index.
1944 (w32font_text_extents): Encode as surrogates if falling back to
1945 functions that need UTF-16 wide chars.
1946
1947 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1948 BMP as surrogates before looking up glyph index.
1949
19502008-07-25 Chong Yidong <cyd@stupidchicken.com>
1951
1952 * image.c (svg_load_image): Check for failure in return value of
1953 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1954
19552008-07-25 Jason Rumney <jasonr@gnu.org>
1956
1957 * w32font.c (Fx_select_font): Reverse sense of second arg.
1958
19592008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1960
1961 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1962 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1963
1964 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1965 (PURESIZE): Use it.
1966
19672008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1968
1969 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1970 * m/alpha.h (TEXT_END):
1971 * m/ibmrs6000.h (TEXT_END):
1972 * m/macppc.h (TEXT_END):
1973 * s/darwin.h (TEXT_END):
1974 * s/msdos.h (TEXT_END): Remove, unused.
1975 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1976 * s/cygwin.h: Remove comment.
1977
1978 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1979 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1980 * m/intel386.h (DOT_GLOBAL_START):
1981 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1982 (USG): Remove, file not used on USG platforms.
1983
1984 * Makefile.in (HAVE_X11): Remove empty #else.
1985
19862008-07-24 Andreas Schwab <schwab@suse.de>
1987
1988 * fileio.c (Finsert_file_contents): Properly adjust undo list
1989 after format conversion.
1990
19912008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1992
1993 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1994 (menu_nav_ended): Remove.
1995 (create_menus): Remove signal connect for menu_nav_ended.
1996 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1997 create_menus.
1998 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1999
20002008-07-23 Jason Rumney <jasonr@gnu.org>
2001
2002 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2003 with opened font.
2004 (w32font_open): Set font type to gdi.
2005
2006 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2007
20082008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2009
2010 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2011 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2012 defines it.
2013 * unexec.c (ADDR_CORRECT): Define unconditionally.
2014
2015 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2016
2017 * unexec.c: Remove code depending on !COFF and USG, the file is
2018 not used for such systems.
2019
2020 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2021 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2022 (LD_SWITCH_SYSTEM_1): Remove, update users.
2023
2024 * s/darwin.h (DATA_END):
2025 * m/intel386.h (DATA_END):
2026 * m/ibmrs6000.h (DATA_END):
2027 * m/alpha.h (DATA_END): Remove, unused.
2028
2029 * config.in: Regenerate.
2030 * s/ms-w32.h (subprocesses): Define unconditionally.
2031 * s/template.h (subprocesses): Update comment.
2032 * s/vms.h (subprocesses):
2033 * s/usg5-4.h (subprocesses):
2034 * s/hpux10-20.h (subprocesses):
2035 * s/gnu-linux.h (subprocesses):
2036 * s/cygwin.h (subprocesses):
2037 * s/bsd-common.h (subprocesses):
2038 * s/aix4-2.h (subprocesses):
2039 * s/darwin.h (subprocesses): Do not define, defined by default now.
2040
2041 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2042 Remove all references.
2043 (temacs): Add GNUstep specific ld flags.
2044
2045 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2046 similarly to what X does.
2047
20482008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2049
2050 * nsfns.m (x-list-fonts): Remove.
2051 (syms_of_nsfns): Drop the x-list-fonts declaration.
2052 * nsterm.m: Get rid of remaining "//" comments.
2053
20542008-07-22 Chong Yidong <cyd@stupidchicken.com>
2055
2056 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2057
2058 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2059 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2060 (Fns_own_selection_internal, Fx_disown_selection_internal)
2061 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2062
2063 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2064 ... */' style of docstrings. Doc fixes.
2065
20662008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2067
2068 * terminfo.c (UP, BC, PC): Undo previous change.
2069
2070 * nsfns.m: Rename ns prefixed functions/variables to the
2071 corresponding x versions. Update references.
2072
20732008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2074
2075 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2076
20772008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2078
2079 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2080 Remove forwarding functions.
2081 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2082 non-static.
2083 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2084 non-static.
2085 (ns_frame_parm_handlers): Use the new names.
2086 (syms_of_nsfns): Move to the end of file.
2087
2088 * nsterm.m (syms_of_nsterm): Move to the end of file.
2089
2090 * dispnew.c (init_display): Remove code for X10.
2091
20922008-07-22 Jason Rumney <jasonr@gnu.org>
2093
2094 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2095 bare drive.
2096
20972008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2098
2099 * nsterm.m (syms_of_nsterm): Remove debugging println.
2100
21012008-07-22 David Reitter <david.reitter@gmail.com>
2102
2103 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2104 Carbon implementation of the same functionality: execute arbitrary
2105 AppleScript code.
2106
21072008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2108
2109 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2110 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2111 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2112 (Fx_display_mm_height, Fx_display_mm_width)
2113 (Fx_display_backing_store, Fx_display_visual_class)
2114 (Fx_display_save_under, Fx_open_connection)
2115 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2116 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2117 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2118 (Fx_display_pixel_width, Fx_display_pixel_height)
2119 (Fx_display_usable_bounds, Fx_display_planes)
2120 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2121 ... */' style of docstrings.
2122
21232008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2124
2125 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2126 on this platform.
2127 (mips):
2128 * m/iris4d.h (mips): Do not define.
2129 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2130
2131 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2132
2133 * image.c:
2134 * nsfns.m:
2135 * nsselect.m:
2136 * nsterm.h:
2137 * nsterm.m: Rename ns prefixed functions/variables to the
2138 corresponding x versions. Update references.
2139
2140 * m/ibms390x.h (NO_REMAP): Do not undefine.
2141
2142 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2143
21442008-07-21 Chong Yidong <cyd@stupidchicken.com>
2145
2146 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2147 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2148 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2149 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2150 (Fns_display_mm_height, Fns_display_mm_width)
2151 (Fns_display_backing_store, Fns_display_visual_class)
2152 (Fns_display_save_under, Fns_open_connection)
2153 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2154 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2155 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2156 (Fns_display_pixel_width, Fns_display_pixel_height)
2157 (Fns_display_usable_bounds, Fx_display_planes)
2158 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2159
21602008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2161
2162 * print.c (print_object): Check print_depth before searching for
2163 circularities.
2164
21652008-07-21 Michael Albinus <michael.albinus@gmx.de>
2166
2167 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2168 only sprintf.
2169
21702008-07-21 Kenichi Handa <handa@m17n.org>
2171
2172 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2173
21742008-07-20 Andreas Schwab <schwab@suse.de>
2175
2176 * syntax.c (find_start_pos, find_start_value)
2177 (find_start_value_byte, find_start_begv, find_defun_start)
2178 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2179
21802008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2181
2182 * s/sol2-3.h: Insert contents of s/sol2.h.
2183 (LD_SWITCH_SYSTEM): Remove redundant definition.
2184 * s/sol2.h: Remove, unused.
2185
21862008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2187
2188 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2189
21902008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2191
2192 * Makefile.in (ns_appdir): Fix typo in find command.
2193
21942008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2195
2196 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2197
2198 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2199 added not supported anymore.
2200
2201 * s/usg5-4-2.h (LIBS_SYSTEM):
2202 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2203
2204 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2205 * s/lynxos.h (GETPGRP_NO_ARG):
2206 * s/hpux10-20.h (NO_SIOCTL_H):
2207 * s/gnu.h (GETPGRP_NO_ARG):
2208 * s/gnu-linux.h (NO_SIOCTL_H):
2209 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2210 * s/cygwin.h (GETPGRP_NO_ARG):
2211 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2212 (C_DEBUG_SWITCH): Remove duplicate definition.
2213
2214 * m/ibms390.h: Remove boilerplate comments.
2215
2216 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2217
2218 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2219 (wait_reading_process_output): Remove code for SunOS, platform not
2220 supported anymore. Use SOLARIS2 instead of sun.
2221
22222008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2223
2224 * font.c (font_open_by_name): Under NS, default lface height to zero.
2225 (font_open_for_lface): Under NS, set size based on frame fontsize.
2226 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2227 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2228
22292008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2230
2231 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2232 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2233 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2234 YES/NO.
2235 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2236 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2237 * Makefile.in (clean): Clear out build destination dir.
2238
22392008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2240
2241 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2242 xterm, xselect.
2243 * lisp.h: Remove declaration of hash_remove.
2244 * nsgui.h: Remove redefinitions of hash_remove.
2245 * fns.c (hash_remove): Rename to hash_remove_from_table.
2246
22472008-07-19 Seiji Zenitani <zenitani@mac.com>
2248
2249 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2250 strdup() the family UTF8String before modifying it.
2251
22522008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2253
2254 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2255 NS_FACE_BACKGROUND with 0 instead of nil.
2256 * nsfont.m (nsfont_draw): Same.
2257
22582008-07-19 Chong Yidong <cyd@stupidchicken.com>
2259
2260 * nsfns.m (ns_set_background_color): Fix crash.
2261
22622008-07-18 Chong Yidong <cyd@stupidchicken.com>
2263
2264 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2265
22662008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2267
2268 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2269
22702008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2271
2272 * gtkutil.c: Include <config.h> instead of "config.h".
2273
2274 * lisp.h (Foverlay_buffer): Add EXFUN.
2275
2276 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2277 child process to complete child_setup. Undo 2005-09-21 change.
2278
2279 * s/darwin.h: Mention setsid after vfork.
2280
22812008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2282
2283 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2284 Depend on macgui.h.
2285
2286 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2287 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2288
2289 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2290 and f19.
2291 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2292
2293 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2294 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2295 Remove enumerators.
2296
2297 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2298 Check if FACE_FROM_ID returns NULL.
2299
23002008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2301
2302 * w32inevt.c (change_frame_size): Remove extern declaration.
2303 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2304 change_frame_size.
2305
23062008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2307
2308 * getloadavg.c: Revert last change (2008-07-15).
2309
23102008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2311
2312 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2313 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2314 from configure.
2315
23162008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2317
2318 * s/sol2.h:
2319 * s/sol2-4.h: Reorganize conditionals.
2320
2321 * ecrt0.c: Remove code depending on m68000, not used anymore.
2322
2323 * fns.c (hash_remove): Make static.
2324 * lisp.h (hash_remove): Don't prototype.
2325
2326 * m/ibmrs6000.h:
2327 * m/ibms390x.h:
2328 * m/macppc.h: Remove boilerplate comments.
2329
2330 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2331 Solaris, which does not need them.
2332
2333 * m/vax.h: Remove comments about unsupported systems.
2334
2335 * s/darwin.h: Reorganize ifdefs.
2336
23372008-07-17 Andreas Schwab <schwab@suse.de>
2338
2339 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2340
23412008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2342
2343 Use SDATA. Follow coding convention of placing operators at
2344 beginning of next line rather than end of previous line, and placing
2345 spaces around infix operators.
2346
2347 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2348 in case it was defined already.
2349 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2350 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2351 ns_default.
2352 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2353 Lisp_Objects.
2354 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2355 (ns_defined_color, ns_color_to_lisp): Declare.
2356 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2357 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2358 it's accepted even with USE_LISP_UNION_TYPE.
2359 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2360 (update_frame_tool_bar): Remove apparently obsolete tests for
2361 non-integerness of f->tool_bar_lines.
2362 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2363 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2364 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2365 (nsfont_open): Don't confuse NULL for Qnil.
2366 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2367 * menu.h (find_and_call_menu_selection):
2368 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2369 (find_and_return_menu_selection): Always return something.
2370 * frame.h: Include dispextern.h for Display_Info.
2371 (display_x_get_resource): Declare.
2372
23732008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2374
2375 * syntax.c: Remove stdio.h include accidentally introduced in
2376 Emacs.app commit.
2377 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2378 NS_IMPL_COCOA.
2379 * keyboard.c (handle_async_input, input_available_signal): Remove
2380 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2381
23822008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2383
2384 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2385 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2386 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2387 Use SDATA.
2388
2389 * keymap.c: Remove all NS-specific code.
2390 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2391 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2392 where_is_preferred_modifier, return a different value depending on how
2393 preferred is the binding.
2394 (where_is_internal): Adjust accordingly.
2395 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2396 Adjust to new preferred_sequence_p.
2397 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2398 * keyboard.c (parse_solitary_modifier): Not static any more.
2399 * keyboard.h (parse_solitary_modifier): Declare.
2400
24012008-07-16 Andreas Schwab <schwab@suse.de>
2402
2403 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2404 of easymenu.
2405
24062008-07-16 Chong Yidong <cyd@stupidchicken.com>
2407
2408 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2409 that we don't move off the line.
2410
24112008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2412
2413 * keyboard.c (Qsuper): Remove.
2414 (parse_menu_item): Don't call where_is_internal specially for NS.
2415
24162008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2417
2418 * s/gnu-linux.h: Remove boilerplate comments.
2419
2420 * m/alpha.h (__ELF__): Consolidate conditions.
2421
2422 * m/m68k.h (linux): Use GNU_LINUX instead.
2423 Remove boilerplate comments.
2424
2425 * m/intel386.h: Undo refactoring from previous change.
2426 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2427 too, remove dead code.
2428 (linux): Use GNU_LINUX instead.
2429
24302008-07-16 Jason Rumney <jasonr@gnu.org>
2431
2432 * w32gui.h: Repeat 26 June changes lost by last change.
2433
24342008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2435
2436 * systty.h: Remove code for Aix on 386, unsupported platform.
2437
2438 * s/ms-w32.h: Remove boilerplate comments.
2439 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2440
2441 * s/gnu-linux.h (TERM): Remove support.
2442 (HAVE_SYSVIPC): Remove, unused.
2443 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2444 for this system.
2445
2446 * process.c: Remove support for IRIS, unused.
2447 Remove support for TERM, not relevant anymore.
2448
2449 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2450 used with the definition.
2451
2452 * s/aix4-2.h (static): Do not undef.
2453
2454 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2455 only used on Aix.
2456 (HAVE_SYSVIPC): Remove, unused.
2457
2458 * m/hp800.h (CANNOT_DUMP): Do not undef.
2459
2460 * m/alpha.h: Fix comment.
2461
2462 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2463 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2464 used by this configuration.
2465 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2466 * unexec.c: Remove code depending on HPUX and
2467 USG_SHARED_LIBRARIES, not used with this file. Remove code
2468 depending on IRIS, unused. Remove if 0-ed code.
2469
2470 * s/template.h: Remove comments about static.
2471
2472 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2473 Remove if 0-ed code.
2474 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2475 were the same as the default.
2476 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2477 Remove boilerplate comments.
2478 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2479 (HAVE_SYSVIPC): Remove, unused.
2480 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2481
2482 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2483 Remove boilerplate comments.
2484 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2485 Remove boilerplate comments.
2486 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2487 Remove boilerplate comments.
2488 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2489
2490 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2491 USG systems which do not use DATA_SEG_BITS.
2492 Refactor code. Remove boilerplate comments.
2493
2494 * m/ibms390.h:
2495 * m/m68k.h:
2496 * s/bsd-common.h:
2497 * s/cygwin.h:
2498 * s/darwin.h:
2499 * s/freebsd.h:
2500 * s/gnu.h:
2501 * s/msdos.h: Remove boilerplate comments.
2502
2503 * m/iris4d.h: Remove boilerplate comments and code for systems that
2504 do not use this file.
2505 (IRIS_4D): Remove, unused.
2506
2507 * m/mips.h: Remove boilerplate comments and code for systems that
2508 do not use this file.
2509 (SIGN_EXTEND_CHAR):
2510 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2511 * unexmips.c: Remove file, unused.
2512
2513 * editfns.c (Fuser_full_name): Replace the only use of
2514 USER_FULL_NAME with its value.
2515 * config.in: Regenerate.
2516
25172008-07-16 David Reitter <david.reitter@gmail.com>
2518
2519 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2520 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2521
25222008-07-16 Glenn Morris <rgm@gnu.org>
2523
2524 * emacs.c (system-type): Doc fix.
2525
25262008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2527
2528 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2529 If the cache doesn't work, let's fix it, rather than work around it.
2530
25312008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2532
2533 * Makefile.in: Correct additions for nsfont.o in last commit.
2534 * nsfont.m: New file (forgot last commit).
2535
25362008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2537
2538 * callproc.c (set_initial_environment): Initialize
2539 Vprocess_environment under CANNOT_DUMP (fixes crash when
2540 batch-compiling for bootstrap).
2541
25422008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2543 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2544
2545 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2546 fix crash due to different init order.
2547
25482008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2549
2550 Changes and additions for NeXTstep windowing system (Cocoa and
2551 GNUstep) support.
2552
2553 * Makefile.in:
2554 * config.in: Support defines and build commands for NS port.
2555 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2556 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2557 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2558 windowing.
2559 (struct face): Add synth_ital field.
2560 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2561 (init_display): Initialize Vinitial_window_system to "ns" when so
2562 compiled.
2563 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2564 (display_arg): Use under NS.
2565 (main): Under NS, allocate autorelease pool and handle command line
2566 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2567 (standard_args): Add NS-specific args.
2568 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2569 * font.c (DEFAULT_ENCODING): New variable.
2570 (font_find_for_lface): Use it.
2571 (syms_of_font): Load syms_of_nsfont under NS.
2572 * font.h: Declare nsfont_driver when compiled under NS.
2573 * fontset.c: When compiling under NS, include nsterm.h.
2574 (fontset_from_font): Autoconstruct fontset under NS.
2575 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2576 symbol, document and use it.
2577 (do_switch_frame): When for_deletion under Cocoa, add
2578 Fraise_frame(Qnil).
2579 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2580 (x_get_arg): Allow "yes" and "no" as boolean values.
2581 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2582 Qright under Cocoa.
2583 (focus-follows-mouse): Default to 0 under NS.
2584 * frame.h (enum output_method): Add output_ns.
2585 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2586 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2587 (FRAME_WINDOW_P): NS-specific definition.
2588 * fringe.c (max_used_fringe_bitmap): Make public.
2589 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2590 (getloadavg): Use NeXT code under descendant OS's.
2591 * image.c (includes and header section, x_create_bitmap_from_data)
2592 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2593 (image_background_transparent, x_clear_image_1)
2594 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2595 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2596 (x_to_xcolors, x_from_xcolors, x_disable_image)
2597 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2598 other GUIs, including XPM support using code originally written for
2599 Carbon GUI.
2600 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2601 using NS API.
2602 (image_ascent): Use font metrics macros instead of direct struct field
2603 access.
2604 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2605 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2606 Also, handle NS as GTK for menu bar purposes.
2607 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2608 toolkit where they differ.
2609 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2610 use cachelist, still needed under NS.
2611 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2612 (struct widget_value): Define it here for menu.c.
2613 * keymap.c (includes): Include modifier internals.
2614 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2615 NS.
2616 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2617 support for preferring sequences using certain modifiers, specified by
2618 the FIRSTONLY argument.
2619 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2620 under NS GNUstep implementation.
2621 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2622 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2623 * menu.c: Include nsterm.h under NS.
2624 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2625 (free_menubar_widget_tree_value, update_submenu_strings)
2626 (find_and_call_menu_selection): Treat NS as X and NT.
2627 (find_and_return_menu_selection): New function, used for popup menus.
2628 * nsgui.h:
2629 * nsterm.h:
2630 * nsfns.m:
2631 * nsimage.m:
2632 * nsmenu.m:
2633 * nsselect.m:
2634 * nsterm.m: New files.
2635 * process.c (wait_reading_process_output): Under NS, call ns_select()
2636 instead of plain select().
2637 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2638 beginning of buffer.
2639 * sysselect.h (init_process): Rename when compiling under Cocoa to
2640 avoid name conflict.
2641 * termhooks.h (display_info): Add ns_display_info to union.
2642 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2643 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2644 COCOA environment.
2645 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2646 unexec() signature. (Note, this will dump, but the resulting file
2647 crashes; unexosx is used instead; keeping around for reference and
2648 possible aid in getting dump working under GNUstep.)
2649 * w32gui.h (button_type, widget_value): Remove definitions (now in
2650 keyboard.h).
2651 * window.c: Include nsterm.h when compiling under NS.
2652 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2653 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2654 other GUI windowing systems.
2655 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2656 GTK.
2657 (x_consider_frame_title): Under NS, set icon type and frame
2658 modified-state indicator; use ns_set_name_as_filename() when using
2659 formatted title.
2660 (update_window_cursor): Make public when compiling under NS.
2661 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2662 (hourglass_atimer, Vhourglass_delay
2663 * xfaces.c (header section, init_frame_faces, clear_font_table)
2664 (defined_color, unload_color, x_face_list_fonts)
2665 (prepare_face_for_display): Add NS support parallel to other GUIs.
2666 Emulate GCs like other non-X GUIs.
2667 (split_font_name): Don't lowercase font name under NS.
2668 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2669 under NS.
2670 * s/darwin.h: Add support for compilation under NS.
2671
26722008-07-15 Jason Rumney <jasonr@gnu.org>
2673
2674 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2675 (w32_show_hourglass): Rename from show_hourglass.
2676 (w32_hide_hourglass): Rename from hide_hourglass.
2677 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2678 (Vhourglass_delay): Declare extern.
2679 (hourglass_started): Remove.
2680
2681 * xdisp.c (Vhourglass_delay): Remove static.
2682 (hourglass_started, start_hourglass, cancel_hourglass):
2683 Don't include these versions on WINDOWSNT.
2684
26852008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2686
2687 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2688 variables (formerly in xfns.c).
2689 (show_hourglass, hide_hourglass): New prototypes (same).
2690 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2691 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2692 in xfns.c).
2693 (syms_of_xdisp): Declare/initialize display-hourglass,
2694 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2695 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2696 formerly in xfns.c.
2697 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2698 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2699 (start_hourglass, cancel_hourglass): Remove.
2700 (show_hourglass, hide_hourglass): Remove prototypes and static
2701 modifiers.
2702 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2703 hourglass_atimer, hourglass_shown_p declaration/initialization.
2704 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2705 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2706 (start_hourglass, cancel_hourglass): Remove.
2707 (show_hourglass, hide_hourglass): Remove prototypes and static
2708 modifiers.
2709 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2710 hourglass_atimer, hourglass_shown_p declaration/initialization.
2711 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2712 (DEFAULT_HOURGLASS_DELAY): Remove.
2713 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2714 hourglass_shown_p declaration/initialization.
2715
27162008-07-14 Jason Rumney <jasonr@gnu.org>
2717
2718 * w32fns.c (w32_get_arg): Remove wrapper function.
2719 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2720 directly.
2721 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2722
27232008-07-14 Kenichi Handa <handa@m17n.org>
2724
2725 * xfont.c (xfont_open): Add workaround for X's bug.
2726
27272008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2728
2729 * fontset.c: Include <stdio.h> unconditionally.
2730
27312008-07-13 Michael Albinus <michael.albinus@gmx.de>
2732
2733 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2734 for filtering.
2735
27362008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2737
2738 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2739
2740 * m/macppc.h:
2741 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2742
2743 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2744 (SPECIAL_EMACS_INT):
2745 * m/ia64.h (SPECIAL_EMACS_INT):
2746 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2747 * s/gnu.h (NLIST_STRUCT):
2748 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2749 * s/gnu-linux.h (LINUX):
2750 * s/msdos.h (HAVE_FACES):
2751 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2752
2753 * systty.h:
2754 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2755 anymore.
2756
27572008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2758
2759 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2760 always defined as int.
2761
2762 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2763 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2764 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2765 * s/freebsd.h (HAVE_WAIT_HEADER):
2766 * s/bsd-common.h (HAVE_UNION_WAIT):
2767 * s/aix4-2.h (HAVE_WAIT_HEADER):
2768 * m/mips.h (HAVE_UNION_WAIT):
2769 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2770 (COFF, static): Do not define, they are undefined later in the file.
2771
2772 * process.c (update_status): Don't use a union.
2773 (status_convert):
2774 (sigchld_handler): Use int instead of WAITTYPE.
2775
27762008-07-12 Chong Yidong <cyd@stupidchicken.com>
2777
2778 * indent.c (Fvertical_motion): Restore hscroll before moving to
2779 goal column.
2780
27812008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2782
2783 * lisp.h: Remove left over code.
2784
27852008-07-11 Andreas Schwab <schwab@suse.de>
2786
2787 * lisp.h: Fix logic in last change.
2788
2789 * menu.h: New file.
2790 * menu.c: Include it.
2791 * xmenu.c: Likewise.
2792 * Makefile.in: Update dependencies.
2793
27942008-07-11 Kenichi Handa <handa@m17n.org>
2795
2796 * fontset.c (fontset_from_font): Cancel the previous change.
2797
27982008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2799
2800 * lisp.h:
2801 * w32heap.c:
2802 * emacs.c:
2803 * alloc.c: Replace all references of NO_UNION_TYPE with
2804 USE_LISP_UNION_TYPE.
2805
2806 * m/xtensa.h (NO_UNION_TYPE):
2807 * m/vax.h (NO_UNION_TYPE):
2808 * m/template.h (NO_UNION_TYPE):
2809 * m/sparc.h (NO_UNION_TYPE):
2810 * m/mips.h (NO_UNION_TYPE):
2811 * m/macppc.h (NO_UNION_TYPE):
2812 * m/m68k.h (NO_UNION_TYPE):
2813 * m/iris4d.h (NO_UNION_TYPE):
2814 * m/intel386.h (NO_UNION_TYPE):
2815 * m/ibms390x.h (NO_UNION_TYPE):
2816 * m/ibms390.h (NO_UNION_TYPE):
2817 * m/ibmrs6000.h (NO_UNION_TYPE):
2818 * m/ia64.h (NO_UNION_TYPE):
2819 * m/hp800.h (NO_UNION_TYPE):
2820 * m/arm.h (NO_UNION_TYPE):
2821 * m/amdx86-64.h (NO_UNION_TYPE):
2822 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2823 defining it the same.
2824
28252008-07-10 Chong Yidong <cyd@stupidchicken.com>
2826
2827 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
2828
28292008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2830
2831 * fileio.c:
2832 * sysdep.c
2833 * systty.h:
2834 * m/ibmrs6000.h:
2835 * m/iris4d.h:
2836 * s/aix4-2.h:
2837 * s/freebsd.h:
2838 * s/gnu-linux.h:
2839 * s/hpux10-20.h:
2840 * s/hpux11.h:
2841 * s/netbsd.h:
2842 * s/sol2-3.h:
2843 * s/sol2-4.h:
2844 * s/sol2.h:
2845 * s/usg5-4.h:
2846 * s/vms.h: Remove references to unused variables.
2847
28482008-07-10 Andreas Schwab <schwab@suse.de>
2849
2850 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2851 pattern before matching the generic family.
2852
28532008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2854
2855 * unexec.c:
2856 * s/vms.h:
2857 * s/usg5-4-2.h:
2858 * s/sol2-5.h:
2859 * s/freebsd.h:
2860 * s/darwin.h: Remove dead code.
2861
2862 * m/template.h:
2863 * m/sparc.h:
2864 * m/mips.h:
2865 * m/m68k.h:
2866 * m/iris4d.h:
2867 * m/intel386.h:
2868 * m/ibms390x.h:
2869 * m/ibms390.h:
2870 * m/ia64.h:
2871 * m/hp800.h:
2872 * m/arm.h:
2873 * m/amdx86-64.h: Remove dead code and references to unused
2874 and compiler defined symbols.
2875
2876 * unexmips.c:
2877 * unexelf.c: Remove references to desupported systems.
2878
2879 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2880
2881 * m/powermac.h: Remove boilerplate comments.
2882 (NO_REMAP): Remove unused definition.
2883
2884 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2885 define them.
2886
28872008-07-10 Kenichi Handa <handa@m17n.org>
2888
2889 * xfont.c (xfont_open): Log the reason of failure.
2890
28912008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2892
2893 * fontset.c (fontset_get_font_group):
2894 * font.c (font_check_otf): Specify argument types.
2895
28962008-07-09 Kenichi Handa <handa@m17n.org>
2897
2898 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2899 non-ASCII char is found.
2900
2901 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2902 (reorder_font_vector): Change the arg preferred_family to font.
2903 Prefer the spec matching with font.
2904 (fontset_get_font_group): New function.
2905 (fontset_find_font): Change the format of an element of a realized
2906 fontset. Use fontset_get_font_group.
2907 (fontset_font): Try the current fontset, the default fontset, the
2908 fallbacks of the current fontset, and the fallbacks of the default
2909 fontset in this order.
2910 (face_for_char): Delete the shortcut to use the current font.
2911 (fontset_from_font): Don't set fonts for Latin in the fontset.
2912
2913 * font.h (font_make_object, font_match_p): Adjust prototypes.
2914
2915 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2916
2917 * font.c (font_make_object): New arg entity and pixelsize.
2918 (font_check_otf_features, font_check_otf): New functions.
2919 (font_match_p): Check :lang, :script, and :otf properties.
2920
2921 * xfont.c (xfont_open): Adjust it for the change of
2922 font_make_object.
2923 (xfont_text_extents): Fix initial setting of metrics.
2924
2925 * ftfont.c (struct ftfont_info): New member index, delete member
2926 fc_charset_idx. Make the member order compatible with struct
2927 xftfont_info.
2928 (fc_charset_table): Change charset names to registry names.
2929 (ftfont_pattern_entity): Delete the args registry and
2930 fc_charset_idx. Change the value of :font-entity property
2931 to (FONTNAME . INDEX). Always set :registry property to
2932 `iso10646-1'.
2933 (struct ftfont_cache_data): New struct.
2934 (ftfont_lookup_cache): New arg for_face.
2935 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2936 (ftfont_driver): Set the member otf_capability.
2937 (ftfont_get_charset): Adjust it for the change of
2938 fc_charset_table.
2939 (OTF_TAG_SYM): New macro.
2940 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2941 for the change of fc_charset_table.
2942 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2943 ftfont_pattern_entity. Add FC_INDEX to objset.
2944 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2945 and ftfont_pattern_entity.
2946 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2947 font_make_object, struct ftfont_info.
2948 (ftfont_has_char): Use ftfont_get_fc_charset.
2949 (ftfont_otf_features, ftfont_otf_capability): New functions.
2950 (ftfont_shape): Use ftfont_get_otf.
2951 (ftfont_text_extents): Fix initial setting of metrics.
2952
2953 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2954 member order compatible with struct ftfont_info.
2955 (xftfont_open): Add FC_CHARSET to the pattern. Set
2956 xftfont_info->ft_size. Don't unlock the face. Check BDF
2957 properties if appropriate.
2958 (xftfont_close): Unlock the face.
2959 (xftfont_anchor_point, xftfont_shape): Deleted.
2960 (syms_of_xftfont): Don't set members anchor_point and shape of
2961 xftfont_driver.
2962
2963 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2964 font_make_object.
2965
2966 * w32font.c (w32font_open): Adjust it for the change of
2967 font_make_object.
2968 (w32font_open_internal): Don't set properties of font_object here.
2969
29702008-07-08 Chong Yidong <cyd@stupidchicken.com>
2971
2972 * macfns.c (x_create_tip_frame):
2973 * w32fns.c (x_create_tip_frame):
2974 * xfns.c (x_create_tip_frame): Pass parameter argument to
2975 face-set-after-frame-default.
2976
2977 * xfaces.c (Finternal_merge_in_global_face): Save merged
2978 attributes for the default face back into the face vector.
2979
29802008-07-08 Andreas Schwab <schwab@suse.de>
2981
2982 * fontset.h: Declare fontset_from_font. Don't declare
2983 new_fontset_from_font and fontset_from_font_name.
2984 * xterm.c: Include "fontset.h".
2985 * Makefile.in (xterm.o): Update dependencies.
2986
29872008-07-08 Glenn Morris <rgm@gnu.org>
2988
2989 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2990 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2991
29922008-07-07 Chong Yidong <cyd@stupidchicken.com>
2993
2994 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2995 (x_set_frame_parameters): Don't bind it.
2996
29972008-07-07 Juanma Barranquero <lekktu@gmail.com>
2998
2999 * w32fns.c (map_w32_filename): Declare extern.
3000
30012008-07-07 Jason Rumney <jasonr@gnu.org>
3002
3003 * w32term.c (WS_EX_LAYERED): Define if not already.
3004
30052008-07-06 Chong Yidong <cyd@stupidchicken.com>
3006
3007 * xfaces.c (set_font_frame_param): Don't try to set the font
3008 parameter if it is still unspecified in the lface.
3009
30102008-07-05 Chong Yidong <cyd@stupidchicken.com>
3011
3012 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3013 face if it didn't already exist.
3014
3015 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3016
30172008-07-05 Andreas Schwab <schwab@suse.de>
3018
3019 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3020
30212008-07-05 Chong Yidong <cyd@stupidchicken.com>
3022
3023 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3024 word-wrapping.
3025 (IT_DISPLAYING_WHITESPACE): New macro.
3026 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3027 when word-wrapping. Simplify word-wrapping logic. Use correct
3028 pixel positions when saving copies of the iterator.
3029 (display_line): Use proper wrap point if the last character on a
3030 line was preceded by whitespace.
3031
30322008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3033
3034 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3035
30362008-07-04 Kenichi Handa <handa@m17n.org>
3037
3038 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3039
3040 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3041
30422008-07-02 Jason Rumney <jasonr@gnu.org>
3043
3044 * xfns.c (syms_of_xfns): Only define x-select-font when both
3045 HAVE_FREETYPE and USE_GTK
3046
3047 * xdisp.c (next_element_from_display_vector): Move assignment out
3048 of if statement.
3049
30502008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3051
3052 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3053
3054 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3055 (syms_of_fileio): Initialize and export them.
3056 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3057
3058 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3059 (Fsystem_move_file_to_trash): New function.
3060 (syms_of_w32fns): Export it to lisp.
3061
30622008-07-01 Jason Rumney <jasonr@gnu.org>
3063
3064 * w32font.c (w32font_text_extents): Don't count overhang as part
3065 of width.
3066
30672008-06-30 Miles Bader <miles@gnu.org>
3068
3069 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3070 Add `avoid_cursor_p' field.
3071
3072 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3073 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3074 (append_glyph, append_composite_glyph, produce_image_glyph)
3075 (append_stretch_glyph): Initialize avoid_cursor_p.
3076 (get_it_property): Rename from `get_line_height_property'.
3077 (x_produce_glyphs): Use get_it_property.
3078 (handle_line_prefix, push_display_prop): New functions.
3079 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3080 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3081 New variables.
3082 (syms_of_xdisp): Initialize them.
3083
30842008-06-30 Kenichi Handa <handa@m17n.org>
3085
3086 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3087 XftDefaultSubstitute (they are called in XftFontMatch).
3088 (xftfont_open): Fix args to ftfont_font_format.
3089
3090 * ftfont.c (fc_charset_table): New member lang.
3091 (ftfont_resolve_generic_family): New arg pattern.
3092 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
3093 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3094 (ftfont_open): Fix args to ftfont_font_format.
3095 (ftfont_font_format): New arg filename.
3096
30972008-06-30 Chong Yidong <cyd@stupidchicken.com>
3098
3099 * xfaces.c (Finternal_merge_in_global_face): If default face was
3100 modified, realize it again. Update the font face attribute.
3101
31022008-06-29 Jason Rumney <jasonr@gnu.org>
3103
3104 * w32term.c (x_set_frame_alpha): Fix logic.
3105
31062008-06-29 Kenichi Handa <handa@m17n.org>
3107
3108 * fontset.c (Finternal_char_font): Return font-object instead of
3109 font-name.
3110
3111 * composite.c (get_composition_id): Fix the width calculation for TAB.
3112
31132008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3114
3115 * indent.c (Fvertical_motion): Properly handle float column arg.
3116
31172008-06-28 Jason Rumney <jasonr@gnu.org>
3118
3119 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3120 (pfnSetLayeredWindowAttributes): New function pointer.
3121 (w32_initialize): Initialize it when supported.
3122 (x_set_frame_alpha): New function.
3123
3124 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3125 (w32_frame_parm_handlers): Set alpha handler.
3126
3127 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3128
31292008-06-27 Jason Rumney <jasonr@gnu.org>
3130
3131 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3132 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3133 (w32_to_x_charset, x_to_w32_charset)
3134 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3135 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3136 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3137 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3138 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3139 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3140 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3141 (Qw32_charset_unicode): Remove.
3142 (syms_of_w32fns): Update for above changes.
3143
3144 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3145 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3146 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3147 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3148 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3149 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3150 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3151 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3152 (syms_of_w32font): Update for above changes.
3153
31542008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3155
3156 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3157 removed #if.
3158 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3159
31602008-06-26 Juanma Barranquero <lekktu@gmail.com>
3161 Eli Zaretskii <eliz@gnu.org>
3162
3163 * makefile.w32-in (LOCAL_FLAGS):
3164 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3165
3166 * sysdep.c (_spawnlp, _getpid):
3167 Declare with explicit _cdecl instead of _CRTAPI1.
3168
3169 * editfns.c (Fget_internal_run_time):
3170 Check for WINDOWSNT with #ifdef, not #if.
3171
31722008-06-26 Jason Rumney <jasonr@gnu.org>
3173
3174 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3175
3176 * w32term.c (x_draw_glyph_string_foreground)
3177 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3178 Use FONT_HANDLE macro.
3179 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3180
3181 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3182 (uniscribe_encode_char): Use FONT_HANDLE macro.
3183
3184 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3185 (w32font_text_extents): Use precast w32_font.
3186 (w32font_close): Free cached metrics.
3187 (w32font_open_internal): Allocate space for name on stack.
3188
31892008-06-26 Chong Yidong <cyd@stupidchicken.com>
3190
3191 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3192
31932008-06-26 Jason Rumney <jasonr@gnu.org>
3194
3195 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3196 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3197
31982008-06-26 Juanma Barranquero <lekktu@gmail.com>
3199
3200 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3201
32022008-06-26 Jason Rumney <jasonr@gnu.org>
3203
3204 * w32bdf.c, w32bdf.h: Remove obsolete files.
3205
3206 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3207
3208 * w32gui.h: Don't include w32bdf.h.
3209 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3210 Remove obsolete font support.
3211
3212 * w32font.h (struct w32font_info): Remove compat_w32_font.
3213 Add hfont member.
3214 (FONT_COMPAT): Remove obsolete macro.
3215
3216 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3217 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3218 (w32font_open_internal): Remove compat code. Set new hfont member.
3219 (Fx_select_font): Use new hfont member.
3220
3221 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3222 (uniscribe_encode_char): Use new hfont member.
3223
3224 * w32term.c (x_draw_glyph_string_foreground)
3225 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3226 (x_draw_glyph_string): Use metrics in w32font_info.
3227
32282008-06-26 Kenichi Handa <handa@m17n.org>
3229
3230 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3231
32322008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3233
3234 * unexnext.c:
3235 * m/ews4800.h:
3236 * m/hp9000s300.h:
3237 * m/ibm370aix.h:
3238 * m/mips-siemens.h:
3239 * m/ncr386.h:
3240 * m/next.h:
3241 * m/pmax.h:
3242 * m/powerpcle.h:
3243 * m/tandem-s2.h:
3244 * s/386bsd.h:
3245 * s/bsd386.h:
3246 * s/bsd4-1.h:
3247 * s/bsd4-2.h:
3248 * s/bsdos2-1.h:
3249 * s/bsdos2.h:
3250 * s/bsdos3.h:
3251 * s/bsdos4.h:
3252 * s/nextstep.h:
3253 * s/ultrix4-3.h:
3254 * s/usg5-0.h:
3255 * s/usg5-2-2.h:
3256 * s/usg5-2.h:
3257 * s/usg5-4-3.h:
3258 * s/ux4800.h:
3259 * s/uxpds.h:
3260 * s/uxpv.h: Remove support for obsolete systems.
3261 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3262 Remove, insert contents in s/hpux-10.20.h.
3263 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3264 Remove, insert contents in s/aix4-2.h.
3265 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3266 * s/bsd4-3.h: Rename to ...
3267 * s/bsd-common.h: ... this.
3268 * data.c:
3269 * doc.c:
3270 * ecrt0.c:
3271 * emacs.c:
3272 * fileio.c:
3273 * floatfns.c:
3274 * keyboard.c:
3275 * mem-limits.h:
3276 * print.c:
3277 * process.c:
3278 * sysdep.c:
3279 * syssignal.h:
3280 * systty.h:
3281 * syswait.h:
3282 * term.c:
3283 * unexec.c:
3284 * unexelf.c:
3285 * unexhp9k800.c:
3286 * m/hp800.h:
3287 * m/ibmrs6000.h:
3288 * m/mips.h:
3289 * m/vax.h:
3290 * s/darwin.h:
3291 * s/freebsd.h:
3292 * s/gnu.h:
3293 * s/ms-w32.h:
3294 * s/msdos.h:
3295 * s/netbsd.h:
3296 * s/template.h: Remove references to obsolete variables.
3297
3298 * Makefile.in: Add dependencies for all unexec files.
3299 (admindir): Remove unused variable.
3300 (UNEXEC_SRC): Remove references.
3301
33022008-06-25 Chong Yidong <cyd@stupidchicken.com>
3303
3304 * xfns.c (x_default_font_parameter): If Xft is available, first
3305 try Monospace-12 for the default font.
3306
33072008-06-25 Jason Rumney <jasonr@gnu.org>
3308
3309 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3310
33112008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3312
3313 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3314
3315 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3316
33172008-06-25 Juanma Barranquero <lekktu@gmail.com>
3318
3319 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3320 <scroll-conservatively>: Fix typo in docstring.
3321
3322 * xselect.c (Fx_send_client_event): Doc fix.
3323
33242008-06-25 Kenichi Handa <handa@m17n.org>
3325
3326 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3327
3328 * font.c (font_parse_fcname): Remove unused variables.
3329 (font_sort_entites): Delete the arg SPEC. Caller changed.
3330 Fix for the case of ! best_only.
3331 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3332
3333 * lisp.h (Fstring_to_unibyte): EXFUN it.
3334
3335 * character.h (str_to_unibyte): Extern it.
3336
3337 * character.c (str_to_unibyte): New function.
3338
3339 * fns.c (Fstring_to_unibyte): New function.
3340 (syms_of_fns): Defsubr it.
3341
33422008-06-24 Kenichi Handa <handa@m17n.org>
3343
3344 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3345 DPI too.
3346 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3347
33482008-06-24 Andreas Schwab <schwab@suse.de>
3349
3350 * Makefile.in (${lispsource}loaddefs.el): Rename from
3351 ../lisp/loaddefs.el.
3352 (bootstrap-clean): Do what distclean does but don't remove
3353 Makefile.
3354 (distclean): Depend on bootstrap-clean and remove Makefile.
3355
33562008-06-24 Chong Yidong <cyd@stupidchicken.com>
3357
3358 * buffer.h (struct buffer): New member word_wrap.
3359
3360 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3361 word-wrap.
3362 (init_buffer_once): Initialize them.
3363
3364 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3365 line_wrap enum possessing three possible values.
3366
3367 * termopts.h: Replace truncate_partial_width_windows with
3368 Vtruncate_partial_width_windows.
3369
3370 * dispnew.c (direct_output_for_insert): Avoid direct output when
3371 inserting a space with word wrap on.
3372
3373 * indent.c (compute_motion): Obey integer values of
3374 truncate-partial-width-windows.
3375
3376 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3377 replacing truncate_partial_width_windows.
3378 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3379 truncate only if the window width is below that integer.
3380 (start_display, resize_mini_window, produce_stretch_glyph)
3381 (display_string, move_it_in_display_line_to): Use line_wrap.
3382 (back_to_previous_visible_line_start, reseat_1): Reset
3383 string_from_display_prop_p.
3384 (display_line): Extend default face to end of line when wrapping.
3385
33862008-06-24 Kim F. Storm <storm@cua.dk>
3387
3388 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3389 to wrap continued lines at word boundaries.
3390
33912008-06-24 Jason Rumney <jasonr@gnu.org>
3392
3393 * font.c (Ffont_face_attributes): Multiply pixel size before point
3394 conversion to avoid multiplying rounding error.
3395
33962008-06-23 Jason Rumney <jasonr@gnu.org>
3397
3398 * w32term.c (x_draw_glyph_string_background)
3399 (x_draw_glyph_string): Remove old bdf font code.
3400
3401 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3402
34032008-06-22 Kenichi Handa <handa@m17n.org>
3404
3405 * font.c (font_find_for_lface): Try the adstyle specified in
3406 the property of LFACE_FONT of LFACE (if any).
3407
34082008-06-21 Seiji Zenitani <zenitani@mac.com>
3409 Ryo Yoshitake <ryo@shiftmode.net>
3410
3411 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3412
34132008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3414
3415 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3416 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3417 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3418 (witness-emacs): Remove.
3419 (lisp, shortlisp): Move loaddefs.el earlier.
3420 (mostlyclean): Forget about witness-emacs.
3421
34222008-06-22 Glenn Morris <rgm@gnu.org>
3423
3424 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3425 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3426
34272008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3428
3429 * Makefile.in (PRECOMP): Remove.
3430 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3431 (witness-emacs): Run `compile-first'.
3432 (.el.elc): Use the new compile-onefile target.
3433
34342008-06-21 Kenichi Handa <handa@m17n.org>
3435
3436 * xftfont.c (xftfont_open): Handle QCembolden only when
3437 FC_EMBOLDEN is defined.
3438
34392008-06-21 Andreas Schwab <schwab@suse.de>
3440
3441 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3442 (.el.elc): Likewise.
3443
34442008-06-21 Miles Bader <miles@gnu.org>
3445
3446 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3447 build dir, not the lisp source dir.
3448
34492008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3450
3451 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3452 (bootstrapclean): Remove.
3453 (.el.elc): New rule.
3454 (PRECOMP): New var.
3455 (../lisp/subdirs.el): Remove.
3456 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3457 (witness-emacs): New target.
3458 (mostlyclean): Remove witness-emacs as well.
3459 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3460 Add witness-emacs dependency.
3461
34622008-06-20 Chong Yidong <cyd@stupidchicken.com>
3463
3464 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3465 defined by the font.
3466
34672008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3468
3469 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3470 (bootstrap-clean): New target that keeps TAGS around.
3471 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3472 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3473
34742008-06-20 Jason Rumney <jasonr@gnu.org>
3475
3476 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3477 Remove obsolete font code.
3478
3479 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3480 to determine language support.
3481
34822008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3483
3484 * sysdep.c (cfsetspeed): New fun extracted from the code.
3485 (cfmakeraw): Move before first use.
3486
34872008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3488
3489 * sysdep.c (cfmakeraw): Provide fallback implementation.
3490 (serial_configure): Provide fallback implementation of cfsetspeed.
3491
34922008-06-20 Kenichi Handa <handa@m17n.org>
3493
3494 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3495 the pattern.
3496
3497 * fontset.c (fontset_from_font): Copy font_spec before changing
3498 the elements.
3499
3500 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3501
35022008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3503
3504 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3505 for explicit `font' parameters.
3506
3507 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3508
35092008-06-19 Kenichi Handa <handa@m17n.org>
3510
3511 * frame.c: Include <ctype.h>.
3512 (x_set_font_backend): Allow spacing characters in the X resource
3513 for FontBackend.
3514
35152008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3516
3517 * w32fns.c, xfns.c (Qfont_param): New var.
3518 (syms_of_w32fns): Initialize it.
3519 (x_default_font_parameter): Record explicit `font' into
3520 `font-parameter'.
3521
35222008-06-18 Kenichi Handa <handa@m17n.org>
3523
3524 * font.c (font_parse_xlfd): Fix previous change.
3525 (font_parse_fcname): Don't use :fc-unknown-spec.
3526 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3527 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3528 (font_add_log): Prepend the driver name to the resulting fonts.
3529
3530 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3531 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3532 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3533
3534 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3535 (QCembolden): New variables.
3536 (syms_of_xftfont): DEFSYM them.
3537 (xftfont_open): Call XftFontMatch. Don't trust the result of
3538 XftTextExtents8 if the pixel_size is less than 5.
3539
35402008-06-18 Andreas Schwab <schwab@suse.de>
3541
3542 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3543 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3544
35452008-06-18 Jason Rumney <jasonr@gnu.org>
3546
3547 * w32font.c (w32font_list, w32font_match): Add logging.
3548
3549 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3550
35512008-06-17 Chong Yidong <cyd@stupidchicken.com>
3552
3553 * font.c (font_parse_fcname): Store divider characters for
3554 unknown-spec list. For known key symbols, intern using correct
3555 symbol name.
3556
35572008-06-17 Kenichi Handa <handa@m17n.org>
3558
3559 * xfaces.c (realize_default_face): If the frame is not on window
3560 system, set the fontset of face to nil.
3561
35622008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3563
3564 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3565
35662008-06-16 Juanma Barranquero <lekktu@gmail.com>
3567
3568 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3569 (build_font_name_from_vector): Delete externs.
3570
3571 * xfaces.c (struct font_name): Don't declare.
3572
35732008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3574
3575 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3576
35772008-06-16 Chong Yidong <cyd@stupidchicken.com>
3578
3579 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3580
35812008-06-16 Juanma Barranquero <lekktu@gmail.com>
3582
3583 * font.c (Ffont_spec): Fix usage in docstring.
3584 (Ffont_face_attributes): Doc fix.
3585
35862008-06-16 Andreas Schwab <schwab@suse.de>
3587
3588 * font.c (Ffont_face_attributes): Fix definition.
3589
35902008-06-16 Jason Rumney <jasonr@gnu.org>
3591
3592 * font.h (font_style_symbolic_from_value): Remove.
3593
3594 * font.c (font_style_symbolic_from_value): Remove.
3595 (font_style_symbolic): Revert to pre 2008-06-13 version.
3596
3597 * w32font.c (w32_to_fc_weight): New function.
3598 (w32font_full_name, logfont_to_fcname): Use it.
3599
36002008-06-16 Kenichi Handa <handa@m17n.org>
3601
3602 * font.c (font_check_object): Delete it.
3603 (font_clear_cache): Check if a font-object is alive.
3604 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3605 font-object to nil.
3606 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3607 (font_at): Don't call font_check_object.
3608 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3609
36102008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3611
3612 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3613
36142008-06-16 Chong Yidong <cyd@stupidchicken.com>
3615
3616 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3617
36182008-06-15 Chong Yidong <cyd@stupidchicken.com>
3619
3620 * font.c (font_parse_fcname): Only one decimal point.
3621 (font_unparse_fcname): Handle data in family and foundry indices
3622 as symbols, not strings.
3623 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3624
3625 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3626
3627 * font.h (font_unparse_gtkname): Add prototype.
3628
36292008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3630
3631 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3632
36332008-06-15 Andreas Schwab <schwab@suse.de>
3634
3635 * font.c (font_update_drivers): Fix crash when no drivers match.
3636
36372008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3638
3639 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3640 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3641
36422008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3643
3644 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3645
36462008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3647
3648 * process.c (Fserial_process_configure, Fprocess_send_eof):
3649 Use EQ to compare Lisp_Objects.
3650
36512008-06-13 Jason Rumney <jasonr@gnu.org>
3652
3653 * w32fns.c (Fw32_select_font): Remove old font API function.
3654
3655 * w32font.c (logfont_to_fcname): New function.
3656 (Fx_select_font): New font dialog function compatible with
3657 GTK/fontconfig version.
3658
3659 * font.c (font_style_symbolic_from_value): New function.
3660 (font_style_symbolic): Use it.
3661
3662 * font.h (font_style_symbolic_from_value): Declare new function.
3663
36642008-06-13 Juanma Barranquero <lekktu@gmail.com>
3665
3666 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3667 <font-width-table>: Fix typos in docstrings.
3668
36692008-06-13 Daniel Engeler <engeler@gmail.com>
3670
3671 These changes add serial port access.
3672 * process.c: Add HAVE_SERIAL.
3673 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3674 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3675 (list_processes_1, select_wrapper, Fstop_process)
3676 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3677 (status_notify): Modify to handle serial processes.
3678 [HAVE_SERIAL] (Fserial_process_configure)
3679 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3680 New functions.
3681 * process.h (struct Lisp_Process): Add `type'.
3682 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3683 New functions.
3684 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3685 serial ports.
3686 (serial_open, serial_configure) New functions.
3687 * w32.h: Add FILE_SERIAL.
3688 (struct _child_process): Add ovl_read, ovl_write.
3689
36902008-06-13 Kenichi Handa <handa@m17n.org>
3691
3692 * dispextern.h (enum lface_attribute_index): New member
3693 LFACE_FOUNDRY_INDEX.
3694
3695 * font.c (font_score): Delete arg alternate_families. Check only
3696 weight, slant, width, and size. Ignore the difference of alias
3697 style symbols.
3698 (font_sort_entites): Adjust for the above change. Reflect the
3699 order of font-driver to scores.
3700 (font_list_entities): Don't check alternate_familes here.
3701 (font_clear_prop): Handle foundry.
3702 (font_update_lface): Don't parse "foundry-family" form here.
3703 Handle FONT_FOUNDRY_INDEX.
3704 (font_find_for_lface): Likewise. Handle alternate families here.
3705 If registry is nil, try iso8859-1 and ascii-0.
3706 (font_open_for_lface): Pay attention to size in ENTITY.
3707 (font_open_by_name): Simplify by calling font_load_for_lface.
3708 (free_font_driver_list): Delete it.
3709 (font_update_drivers): Preserve the order of backends.
3710 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3711 of font_score and font_sort_entites.
3712 (font_update_sort_order): Likewise.
3713
3714 * xfaces.c (LFACE_FOUNDRY): New macro.
3715 (check_lface_attrs): Check foundry.
3716 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3717 (merge_face_vectors): Check foundry.
3718 (merge_face_ref): Likewise.
3719 (Finternal_set_lisp_face_attribute): Likewise.
3720 (x_update_menu_appearance): Likewise.
3721 (Finternal_get_lisp_face_attribute): Likewise.
3722 (lface_hash): Likewise.
3723 (lface_same_font_attributes_p): Likewise.
3724 (x_supports_face_attributes_p): Likewise.
3725 (tty_supports_face_attributes_p): Likewise.
3726 (Finternal_set_alternative_font_family_alist): Intern strings.
3727 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3728 (realize_default_face): Set LFACE_FOUNDRY (lface).
3729
3730 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3731 font-driver at first.
3732
3733 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3734
37352008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3736
3737 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3738
37392008-06-12 Jim Meyering <meyering@redhat.com>
3740
3741 Make unexec_free handle NULL the same way free does.
3742 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3743
37442008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3745
3746 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3747 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3748 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3749 (WEAK_ALIAS): Simplify.
3750 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3751 when searching a unibyte buffer.
3752
37532008-06-12 Chong Yidong <cyd@stupidchicken.com>
3754
3755 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3756
37572008-06-12 Juanma Barranquero <lekktu@gmail.com>
3758
3759 * w32font.c: Include ctype.h.
3760
37612008-06-11 Jason Rumney <jasonr@gnu.org>
3762
3763 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3764 misreported as space.
3765 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3766 as aliases for registry iso10646-1.
3767
37682008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3769
3770 * buffer.c (clone_per_buffer_values): Skip `name'.
3771
37722008-06-11 Chong Yidong <cyd@stupidchicken.com>
3773
3774 * font.c (font_parse_fcname): Fix last change; accept decimal
3775 points in font size.
3776
37772008-06-10 Jason Rumney <jasonr@gnu.org>
3778
3779 * w32uniscribe.c (add_opentype_font_name_to_list):
3780 Skip non unicode fonts.
3781
37822008-06-10 Chong Yidong <cyd@stupidchicken.com>
3783
3784 * xfns.c (Fx_font_dialog): New function.
3785
3786 * gtkutil.c (xg_dialog_response_cb): Rename from
3787 xg_file_response_callback.
3788 (pop_down_dialog): Rename from pop_down_file_dialog.
3789 (xg_get_file_name): Callers changed.
3790 (xg_get_font_name): New function.
3791
3792 * gtkutil.h (xg_get_font_name): Insert prototype.
3793
37942008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3795
3796 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3797 x_underline_minimum_display_offset.
3798 (syms_of_xdisp): Declare it here rather than in xterm.c.
3799 * dispextern.h (underline_minimum_offset): Declare it.
3800 * w32term.c (x_draw_glyph_string): Use it.
3801 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3802 (syms_of_xterm): Don't declare it any more.
3803 (x_draw_glyph_string): Adjust to the new name.
3804
38052008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3806
3807 * xterm.c (x_underline_minimum_display_offset): New var.
3808 (x_draw_glyph_string): Use it.
3809 (syms_of_xterm): Declare it.
3810
38112008-06-10 Chong Yidong <cyd@stupidchicken.com>
3812
3813 * font.c (font_parse_fcname): Accept GTK-style font names too.
3814
38152008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3816
3817 * dired.c (file_name_completion): Don't return t if the match is exact
3818 but with different capitalization.
3819 * minibuf.c (Ftry_completion): Simplify.
3820
3821 * window.c (Vwindow_point_insertion_type): New var.
3822 (set_window_buffer): Use it.
3823 (syms_of_window): Init and export it to Lisp.
3824
38252008-06-10 Kenichi Handa <handa@m17n.org>
3826
3827 * font.h (font_intern_prop): Prototype adjusted.
3828
3829 * font.c (font_intern_prop): New arg force_symbol.
3830 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3831 Adjust for the change of font_intern_prop.
3832
3833 * ftfont.c (ftfont_pattern_entity):
3834 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3835 (w32_registry):
3836 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
3837 the change of font_intern_prop.
3838
38392008-06-09 Juanma Barranquero <lekktu@gmail.com>
3840
3841 * w32menu.c (digest_single_submenu): Declare extern.
3842
38432008-06-09 Jason Rumney <jasonr@gnu.org>
3844
3845 * w32term.c (x_make_frame_visible): Use alternate restore flags.
3846
3847 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3848 (parse_single_submenu): Remove.
3849 (digest_single_submenu): Remove.
3850 (syms_of_w32menu): Don't initialise variables that have moved
3851 to menu.c.
3852 (set_frame_menubar): Sync with version in xmenu.c.
3853 (w32_menu_show): Sync with xmenu_show in xmenu.c.
3854
3855 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3856 Make static again.
3857
38582008-06-09 Jason Rumney <jasonr@gnu.org>
3859
3860 Changes to w32 files related to the move of common menu code
3861 to menu.c on 2008-06-08 by Chong Yidong.
3862
3863 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3864 defs to w32gui.h.
3865 (single_keymap_panes, push_menu_item, push_menu_pane):
3866 Make globally visible.
3867
3868 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3869 (local_free, malloc_widget_value, free_widget_value)
3870 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3871 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3872 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
3873 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
3874 (menu_items, menu_items_allocated, menu_items_used)
3875 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3876 (init_menu_items, finish_menu_items, discard_menu_items)
3877 (grow_menu_items, push_submenu_start, push_submenu_end)
3878 (push_left_right_boundary, push_menu_pane, push_menu_item)
3879 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
3880 (free_menubar_widget_tree_value, parse_single_submenu)
3881 (update_submenu_strings): Remove functions.
3882 (xmalloc_widget_value): Remove and declare extern.
3883
3884 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3885 (OBJ1): Build it.
3886
3887 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3888 (local_heap, local_alloc, local_free, malloc_widget_value)
3889 (free_widget_value): Define here.
3890
38912008-06-09 Kenichi Handa <handa@m17n.org>
3892
3893 * font.h (Qascii_0): Extern it.
3894
3895 * font.c (Qascii_0): New variable.
3896 (syms_of_font): DEFSYM it.
3897 (font_open_by_name): If the registry "iso8859-1" fails, try also
3898 "ascii-0".
3899
3900 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3901
39022008-06-08 Kenichi Handa <handa@m17n.org>
3903
3904 * .gdbinit (xfont): New command.
3905
39062008-06-08 Andreas Schwab <schwab@suse.de>
3907
3908 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3909 * Makefile.in (menu.o): Update dependencies.
3910
3911 * Makefile.in (obj): Always add menu.o.
3912 * emacs.c (main): Always call syms_of_menu.
3913 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3914
39152008-06-08 Chong Yidong <cyd@stupidchicken.com>
3916
3917 * Makefile.in: Compile menu.c.
3918
3919 * lisp.h: Declare syms_of_menu.
3920
3921 * emacs.c (main): Call syms_of_menu.
3922
3923 * keyboard.h: Relocate platform-independent menu definitions from
3924 xmenu.c.
3925
3926 * menu.c: New file. Relocate platform-independent menu
3927 definitions from xmenu.c. Suggested by Adrian Robert.
3928
3929 * xmenu.c: Remove platform-independent menu definitions.
3930 (menu_items menu_items_inuse, menu_items_allocated)
3931 (menu_items_used, menu_items_n_panes)
3932 (menu_items_submenu_depth): Move to keyboard.h.
3933 (init_menu_items, finish_menu_items, unuse_menu_items)
3934 (discard_menu_items, restore_menu_items, save_menu_items)
3935 (grow_menu_items, push_submenu_start, push_submenu_end)
3936 (push_left_right_boundary, push_menu_pane, push_menu_item)
3937 (keymap_panes, single_keymap_panes, single_menu_item)
3938 (list_of_panes, list_of_items, find_and_call_menu_selection)
3939 (xmalloc_widget_value, free_menubar_widget_value_tree)
3940 (parse_single_submenu, digest_single_submenu)
3941 (update_submenu_strings): Move to menu.c.
3942
39432008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3944
3945 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3946
39472008-06-06 Miles Bader <miles@gnu.org>
3948
3949 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3950 face, not frame default.
3951
39522008-06-05 Martin Rudalics <rudalics@gmx.at>
3953
3954 * window.c (pop_up_windows, pop_up_frames)
3955 (display_buffer_reuse_frames, Vpop_up_frame_function)
3956 (Vdisplay_buffer_function, Veven_window_heights)
3957 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3958 (Vspecial_display_function, Vsame_window_buffer_names)
3959 (Vsame_window_regexps, split_height_threshold)
3960 (Vsplit_window_preferred_function): Move those vars to window.el.
3961 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3962 (Fdisplay_buffer): Move those functions to window.el.
3963 (syms_of_window): Remove corresponding declarations.
3964 (display_buffer): New function.
3965 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3966 * dispnew.c (Flast_nonminibuf_frame): New function.
3967 * buffer.c (Fpop_to_buffer): Move to window.el.
3968
39692008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3970
3971 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3972
39732008-06-05 Kenichi Handa <handa@m17n.org>
3974
3975 * coding.c (detect_coding): Fix previous change.
3976 (detect_coding_system): Likewise.
3977
39782008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3979
3980 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3981
3982 * keymap.c (Vminibuffer_local_filename_must_match_map):
3983 Rename from Vminibuffer_local_must_match_filename_map.
3984 (syms_of_keymap):
3985 * minibuf.c (Fcompleting_read): Adjust accordingly.
3986 * commands.h: Rename declaration as well.
3987
39882008-06-05 Kenichi Handa <handa@m17n.org>
3989
3990 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3991 family name.
3992 (Ffont_put): Likewise.
3993
3994 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3995 current font-spec.
3996
3997 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3998 is unspecified.
3999
4000 * xfaces.c (realize_x_face): If the font-related face attributes
4001 are the same as those of default face, realize a new fontset from
4002 default->fontset.
4003 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4004
40052008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4006
4007 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4008 (move_it_in_display_line): New wrapper.
4009
4010 * window.c (window_scroll_pixel_based_preserve_x)
4011 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4012 (window_scroll_pixel_based, window_scroll_line_based):
4013 Use them to preserve column positions.
4014 (syms_of_window): Initialize them.
4015
4016 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4017 (HPOS . VPOS) pair.
4018
4019 * dispextern.h (move_it_in_display_line): Declare.
4020
40212008-06-05 Juanma Barranquero <lekktu@gmail.com>
4022
4023 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4024 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4025 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4026
40272008-06-04 Juanma Barranquero <lekktu@gmail.com>
4028
4029 * window.c (Fset_window_parameter): Doc fix.
4030 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4031
40322008-06-04 Joakim Verona <joakim@verona.se>
4033
4034 * window.h (struct window): Add new member window_parameters.
4035
4036 * window.c (Fwindow_parameters, Fwindow_parameter)
4037 (Fset_window_parameter): New defuns.
4038 (syms_of_window): Defsubr the new defuns.
4039 (make_window): Initialize window_parameters to nil.
4040
40412008-06-04 John Paul Wallington <jpw@pobox.com>
4042
4043 * eval.c (Fdefmacro): Doc fix.
4044
40452008-06-04 Kenichi Handa <handa@m17n.org>
4046
4047 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4048 Be sure to call setup_coding_system when we find a proper coding system.
4049 (detect_coding_system): Fix handling of coding->head_ascii.
4050
40512008-06-03 Andreas Schwab <schwab@suse.de>
4052
4053 * font.c (font_prop_validate_spacing): Fix last change.
4054
40552008-06-03 Kenichi Handa <handa@m17n.org>
4056
4057 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4058 (font_parse_fcname): Fix handling of unknown key.
4059
4060 * xfont.c (xfont_list): Try an alias.
4061
4062 * charset.c (char_charset): Return NULL if the arg charset_list is
4063 specified and C doesn't belong to any of them.
4064
40652008-06-02 Chip Coldwell <coldwell@redhat.com>
4066
4067 * font.c (font_pixel_size): Don't take cdr of an integer.
4068
40692008-06-02 Jim Meyering <meyering@redhat.com>
4070
4071 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4072 * alloc.c (xfree): Return right away for a NULL arg.
4073 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4074 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4075 * mac.c (create_apple_event_from_event_ref): Likewise.
4076 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4077 Likewise.
4078 * doprnt.c (doprnt1): Likewise.
4079 * frame.c (frame): Likewise.
4080 * keyboard.c (wipe_kboard): Likewise.
4081 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4082 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4083 * term.c (tty_default_color_capabilities, maybe_fatal)
4084 (delete_tty): Likewise.
4085 * w16select.c (string): Likewise.
4086 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4087 * w32bdf.c (w32_free_bdf_font): Likewise.
4088 * w32fns.c (w32_unload_font): Likewise.
4089 * w32font.c (w32font_close): Likewise.
4090 * window.c (size_window): Likewise.
4091 * xselect.c (receive_incremental_selection): Likewise.
4092 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4093 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4094 * w32.c (stat): Likewise.
4095
4096 Remove useless if-before-free tests.
4097 * editfns.c (Fset_time_zone_rule): Likewise.
4098 * lread.c (nosuffix): Likewise.
4099 * ralloc.c (get_bloc): Likewise.
4100 * regex.c (reg_free): Likewise.
4101 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4102 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4103 * xsmfns.c (smc_save_yourself_CB): Likewise.
4104
41052008-06-02 Kenichi Handa <handa@m17n.org>
4106
4107 * font.c (font_find_for_lface): Handle float font size.
4108 (font_open_for_lface): Likewise.
4109
4110 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4111 comparing the properties.
4112
41132008-06-01 Jason Rumney <jasonr@gnu.org>
4114
4115 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4116 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4117 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4118 Don't add empty script list.
4119 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4120
41212008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4122
4123 * Makefile.in (dot, dotdot): Remove, update users.
4124 ".." has been used elsewhere in the file for a long time.
4125 (LIBXT_STATIC): Remove conditional based on unused variable.
4126
41272008-06-01 Miles Bader <miles@gnu.org>
4128
4129 * xfaces.c (Vface_remapping_alist): New variable.
4130 (syms_of_xfaces): Initialize it.
4131 (enum named_merge_point_kind): New type.
4132 (struct named_merge_point): Add `named_merge_point_kind' field.
4133 (push_named_merge_point): Make cycle detection respect different
4134 named-merge-point kinds.
4135 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4136 Remove face-name alias resolution.
4137 (lface_from_face_name): New definition using
4138 `lface_from_face_name_no_resolve'.
4139 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4140 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4141 (get_lface_attributes): New definition that layers face-remapping on
4142 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4143 (lookup_basic_face): New function.
4144 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4145 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4146 `get_lface_attributes'.
4147 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4148 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4149 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4150
4151 * xdisp.c (init_iterator): Pass base_face_id through
4152 `lookup_basic_face' when we actually use it as a face-id.
4153 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4154 DEFAULT_FACE_ID.
4155
4156 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4157 lookup the initial face-id.
4158
4159 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4160
41612008-06-01 Juanma Barranquero <lekktu@gmail.com>
4162
4163 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4164 (Fremove_text_properties): Fix typos in docstrings.
4165
41662008-05-31 Kenichi Handa <handa@m17n.org>
4167
4168 * font.c (font_list_entities): Fix the car part of data to be
4169 stored in the cache.
4170
4171 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4172
41732008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4174
4175 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4176 Add a `test' argument so another predicate than `equal' can be used.
4177 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4178 (map_char_table): Remove unused vars `c' and `i'.
4179 * lisp.h (Foptimize_char_table): Adjust declaration.
4180 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4181
41822008-05-30 Kenichi Handa <handa@m17n.org>
4183
4184 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4185 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4186 defined.
4187
41882008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4189
4190 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4191 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4192 frame-local settings for the same variable.
4193
41942008-05-30 Kenichi Handa <handa@m17n.org>
4195
4196 * fontset.c (Ffont_info): Move to font.c.
4197 (syms_of_fontset): Delete defsubr of Sfont_info.
4198
4199 * font.c (font_style_to_value, font_score): Delete casting of the
4200 args to xstcasecmp.
4201 (register_font_driver): Increment num_font_drivers only when
4202 registering the driver globally.
4203 (Ffont_info): Move from fontset.c. Handle a font object too.
4204 (syms_of_font): Defsubr Sfont_info.
4205
42062008-05-29 Kenichi Handa <handa@m17n.org>
4207
4208 * coding.h (enum define_coding_utf8_arg_index): New enum.
4209 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4210 coding_attr_utf_bom.
4211 (enum utf_bom_type): Rename from utf_16_bom_type.
4212 (struct utf_16_spec): Adjust for the above change.
4213 (struct coding_system): Add utf_8_bom in `spec' union.
4214
4215 * coding.c (CODING_UTF_8_BOM): New macro.
4216 (enum coding_category): Delete coding_category_utf_8, add
4217 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4218 coding_category_utf_8_sig.
4219 (CATEGORY_MASK_UTF_8): Delete it.
4220 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4221 (CATEGORY_MASK_UTF_8_SIG): New macros.
4222 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4223 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4224 CATEGORY_MASK_UTF_8_SIG.
4225 (CATEGORY_MASK_UTF_8): New macro.
4226 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4227 (detect_coding_utf_8): Check BOM.
4228 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4229 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4230 (encode_coding_utf_16): Likewise.
4231 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4232 (detect_coding, detect_coding_system): Handle utf-8-auto.
4233 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4234 (syms_of_coding): Fix setting up of Vcoding_category_table.
4235
42362008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4237
4238 * process.c (Faccept_process_output): If `millisec' is non-nil,
4239 `seconds' default to 0.
4240 (wait_reading_process_output): Also return non-nil if we read output
4241 from a non-running process.
4242
42432008-05-29 Jason Rumney <jasonr@gnu.org>
4244
4245 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4246 `raster' specified.
4247 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4248 in the uniscribe backend, but disallow any font that has no
4249 unicode subrange support.
4250
42512008-05-29 Juanma Barranquero <lekktu@gmail.com>
4252
4253 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4254 Fix typos in docstrings.
4255
42562008-05-29 Kenichi Handa <handa@m17n.org>
4257
4258 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4259 (Fx_family_fonts): Set frame correctly.
4260
42612008-05-28 Jason Rumney <jasonr@gnu.org>
4262
4263 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4264
42652008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4266
4267 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4268 calling build_annotations.
4269
42702008-05-28 Juanma Barranquero <lekktu@gmail.com>
4271
4272 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4273 (Fencode_coding_string):
4274 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4275 <latin-extra-code-table>: Fix typos in docstrings.
4276 (syms_of_coding) <coding-system-alist>: Doc fix.
4277 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4278
42792008-05-28 Kenichi Handa <handa@m17n.org>
4280
4281 * fontset.c (Ffont_info): Don't call font_close_object.
4282
4283 * font.c (font_parse_family_registry): Use Ffont_put to validate
4284 foundry and family.
4285 (font_delete_unmatched): Don't check spacing.
4286 (font_list_entities): Add spacing to the spec to list fonts.
4287
4288 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4289 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4290
4291 * coding.c (encode_coding_raw_text): Fix previous change.
4292 (encode_coding_object): When the dst_object is a buffer and is
4293 different from src_object, move gap to PT.
4294
42952008-05-27 Chong Yidong <cyd@stupidchicken.com>
4296
4297 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4298
42992008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4300
4301 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4302 all branches. Compute it differently.
4303
4304 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4305
43062008-05-27 Juanma Barranquero <lekktu@gmail.com>
4307
4308 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4309 into "else if () ... else ...".
4310
43112008-05-27 Jason Rumney <jasonr@gnu.org>
4312
4313 * w32font.c (w32font_open_internal): Determine if glyph indices
4314 are likely to work here.
4315
43162008-05-27 Chong Yidong <cyd@stupidchicken.com>
4317
4318 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4319 draw overlap glyphs with appropriate highlighting.
4320
43212008-05-27 Kenichi Handa <handa@m17n.org>
4322
4323 * xfont.c (xfont_open): Fix calculation of font->average_width.
4324
43252008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4326
4327 * casefiddle.c (casify_object): Try to guess better whether the
4328 argument is a byte or a char.
4329
43302008-05-26 Andreas Schwab <schwab@suse.de>
4331
4332 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4333 Always send multiples of format size.
4334
4335 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4336
43372008-05-26 Jason Rumney <jasonr@gnu.org>
4338
4339 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4340 (compute_metrics): Don't set failure if we just cleared the cache.
4341 (w32_weight_table): Remove unused variable.
4342 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4343 backwards compatibility.
4344
43452008-05-25 Kenichi Handa <handa@m17n.org>
4346
4347 * w32term.c (x_draw_glyph_string):
4348 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4349
4350 * xfaces.c: Delete unused function prototypes.
4351 (xstrlwr, font_frame): Delete them.
4352 (clear_face_cache): Delete unused variable.
4353
4354 * xftfont.c (xftfont_open): Delete unused variable.
4355 If underline_thickness is not 1, adjust underline_position.
4356
4357 * ftxfont.c (ftxfont_open): Delete unused variable.
4358
4359 * fontset.c (face_for_char): Optimize for the case of no charset
4360 property.
4361
4362 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4363 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4364 (otf_open, font_otf_capability, generate_otf_features)
4365 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4366 Comment out by surrounding "#if 0" and "#endif" for the moment.
4367 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4368 (syms_of_font): Codes for accessing above commented out.
4369
43702008-05-24 Eli Zaretskii <eliz@gnu.org>
4371
4372 * w32proc.c: Include dispextern.h.
4373
4374 * w32.c: Include dispextern.h.
4375
43762008-05-23 Juanma Barranquero <lekktu@gmail.com>
4377
4378 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4379 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4380 Fix typos in docstrings.
4381
43822008-05-23 Jason Rumney <jasonr@gnu.org>
4383
4384 * xsmfns.c: Remove includes that are already included by config.h.
4385
43862008-05-23 Kenichi Handa <handa@m17n.org>
4387
4388 * charset.c (Qemacs, charset_emacs): New variables.
4389 (char_charset): Fix for non-Unicode characters.
4390 (syms_of_charset): Define charset_emacs.
4391
4392 * w32term.c (x_draw_glyph_string): Be sure to update
4393 s->underline_thickness and s->underline_position. Be sure to draw
4394 underline within the current line area.
4395
4396 * xterm.c (x_draw_glyph_string): Be sure to update
4397 s->underline_thickness and s->underline_position. Be sure to draw
4398 underline within the current line area.
4399
4400 * fontset.c: Delete unused variables and add casting for char *
4401 throughout the file.
4402 (fontset_font): Try the fallback fonts of the current fontset
4403 before consulting the default fontset.
4404
4405 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4406
4407 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4408
44092008-05-22 Jason Rumney <jasonr@gnu.org>
4410
4411 * font.c: Don't include strings.h.
4412
4413 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4414
4415 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4416 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4417 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4418 to call xstrcasecmp.
4419
4420 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4421
4422 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4423
4424 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4425
4426 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4427
44282008-05-22 Kenichi Handa <handa@m17n.org>
4429
4430 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4431
4432 * font.c (font_prop_validate_style): Adjust for the format
4433 change of font_style_table.
4434
4435 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4436 two args.
4437
4438 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4439 two args.
4440
44412008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4442
4443 * minibuf.c (keys_of_minibuf): Delete.
4444 * lisp.h (keys_of_minibuf): Delete.
4445 * emacs.c (main): Don't call keys_of_minibuf.
4446
44472008-05-22 Kenichi Handa <handa@m17n.org>
4448
4449 * ftfont.c (ftfont_resolve_generic_family): Rename from
4450 ftfont_list_generic_family. Return a single family for each
4451 generic family.
4452 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4453 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4454 Call font_add_log.
4455 (ftfont_match): Call font_add_log.
4456
4457 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4458 (FONT_DEBUG): Define it.
4459 (font_add_log): Extern it.
4460 (font_assert): Rename from xassert.
4461
4462 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4463 (xfont_list_family): Call font_add_log.
4464 (xfont_match): Likewise.
4465 (memq_no_quit): Delete.
4466
4467 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4468 call of Ffont_xlfd_name.
4469
4470 * xfaces.c (struct table_entry, slant_table, weight_table)
4471 (swidth_table): Move to font.c.
4472
4473 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4474 xassert are changed to font_assert. Delete many unused variables.
4475 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4476 New variables.
4477 (struct table_entry): Move from xfaces.c and modified.
4478 (weight_table, slant_table, width_table): Move from xfaces.c and
4479 contents adjusted for the change of struct table_entry.
4480 (font_style_to_value, font_style_symbolic): Adjust for the
4481 format change of font_style_table.
4482 (font_parse_family_registry): Don't overwrite existing foundry and
4483 family of font_spec.
4484 (font_score): Fix calculation of diff for sizes.
4485 (font_sort_entites): Call font_add_log.
4486 (font_delete_unmatched): Return a newly created list.
4487 (font_list_entities): Fix previous change. Call font_add_log.
4488 (font_matching_entity, font_open_entity, font_close_entity):
4489 Call font_add_log.
4490 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4491 (Finternal_set_font_style_table): Delete.
4492 (BUILD_STYLE_TABLE): New macro.
4493 (build_style_table): New function.
4494 (Vfont_log, font_log_env_checked): New variables.
4495 (font_add_log): New function.
4496 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4497 Declare Lisp variables "font-weight-table", "font-slant-table",
4498 "font-width-table", and "font-log". Initialize font_style_table.
4499
45002008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4501
4502 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4503
45042008-05-21 Seiji Zenitani <zenitani@mac.com>
4505 Ryo Yoshitake <ryo@shiftmode.net>
4506
4507 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4508 (Vframe_alpha_lower_limit): New variable.
4509 (x_set_alpha): New function.
4510
4511 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4512
4513 * xfns.c (x-create-frame, Qalpha):
4514 Initialize the frame parameter `alpha'.
4515 * xterm.c (OPAQUE, OPACITY): New.
4516 (x_set_frame_alpha): New function.
4517 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4518
4519 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4520 * w32fns.c (w32_frame_parm_handlers): Likewise.
4521
45222008-05-20 Jason Rumney <jasonr@gnu.org>
4523
4524 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4525 truetype fonts to opentype list.
4526
45272008-05-20 Juanma Barranquero <lekktu@gmail.com>
4528
4529 * fontset.c (Ffontset_info): Doc fix.
4530 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4531 <ignore-relative-composition>: Fix typos in docstrings.
4532
4533 * font.c (syms-of-font) <font-encoding-alist>:
4534 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4535 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4536 (Ffont_otf_alternates): Doc fixes.
4537
45382008-05-20 Kenichi Handa <handa@m17n.org>
4539
4540 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4541 font.h through out the file.
4542 (FONT_DRIVERS): Rename from FONTOBJ.
4543 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4544 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4545
4546 * emacs.c (main): Call syms_of_font unconditionally.
4547
4548 * font.h (find_font_encoding): Extern it.
4549
4550 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4551 fontset.c.
4552 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4553 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4554 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4555 only when HAVE_WINDOW_SYSTEM is defined.
4556 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4557 when HAVE_WINDOW_SYSTEM is defined.
4558
4559 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4560 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4561
4562 * xfaces.c: Include font.h unconditionally.
4563 (merge_face_ref, merge_face_vectors)
4564 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4565
45662008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4567
4568 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4569 indirect_variable.
4570 * eval.c (lisp_indirect_variable): New fun.
4571 (Fuser_variable_p): Use it.
4572
45732008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4574
4575 * lisp.h (indirect_variable):
4576 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4577 Use Lisp_Symbol pointers rather than Lisp_Object.
4578 Adjust callers.
4579 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4580 To this end, change calling-convention.
4581
4582 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4583 if some non-hidden buffers are selected by string&pred.
4584
45852008-05-19 Chong Yidong <cyd@stupidchicken.com>
4586
4587 * process.c (wait_reading_process_output): Always check status
4588 when in batch mode.
4589
45902008-05-19 Kenichi Handa <handa@m17n.org>
4591
4592 * font.c (font_list_entities): Fix handling of cache.
4593 (font_matching_entity): Likewise.
4594
4595 * ftfont.c (cs_iso8859_1): Delete.
4596 (ft_face_cache): New variable.
4597 (struct ftfont_info): New member fc_charset_idx.
4598 (ftfont_build_basic_charsets): Delete.
4599 (fc_charset_table): New variable.
4600 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4601 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4602 Callers changed.
4603 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4604 (ftfont_spec_pattern): New argument fc_charset_idx.
4605 Check registry more rigidly. Change callers.
4606 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4607 change of :font-entity property of the font.
4608
4609 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4610 property of the font.
4611
46122008-05-18 Juanma Barranquero <lekktu@gmail.com>
4613
4614 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4615 (Funencodable_char_position, Fcheck_coding_systems_region)
4616 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4617 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4618 (Ffind_operation_coding_system, Fset_coding_system_priority)
4619 (Fcoding_system_eol_type): Doc fixes.
4620
46212008-05-17 Glenn Morris <rgm@gnu.org>
4622
4623 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4624
46252008-05-16 Eli Zaretskii <eliz@gnu.org>
4626
4627 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4628 and st_gid.
4629
4630 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4631 HAVE_WINDOW_SYSTEM is not defined.
4632
4633 * xfaces.c (merge_face_ref, merge_face_vectors)
4634 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4635 HAVE_WINDOW_SYSTEM is defined.
4636 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4637
46382008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4639
4640 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4641
46422008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4643
4644 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4645
46462008-05-15 Kenichi Handa <handa@m17n.org>
4647
4648 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4649 preference.
4650
46512008-05-15 Glenn Morris <rgm@gnu.org>
4652
4653 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4654
46552008-05-15 Chong Yidong <cyd@stupidchicken.com>
4656
4657 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4658 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4659
4660 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4661
46622008-05-15 Kenichi Handa <handa@m17n.org>
4663
4664 * ftfont.c (ftfont_list): Downcase family name to check generic
4665 families.
4666
4667 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4668 font-spec for QCfont value.
4669
4670 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4671 buffer. Check the return value of it.
4672
46732008-05-14 Jason Rumney <jasonr@gnu.org>
4674
4675 * w32term.c (w32_get_glyph_overhangs): Remove.
4676 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4677
46782008-05-14 Kenichi Handa <handa@m17n.org>
4679
4680 * font.c (font_prop_validate): Make nil a valid value.
4681 (font_clear_cache): Check if the cached vector of entities is nil
4682 or not.
4683
46842008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4685
4686 * emacs.c (main_thread): Conditionalize on
4687 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4688 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4689
4690 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4691 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4692 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4693
46942008-05-14 Kenichi Handa <handa@m17n.org>
4695
4696 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4697 has no corresponding coding system.
4698
46992008-05-14 Jason Rumney <jasonr@gnu.org>
4700
4701 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4702
4703 * w32font.h (w32font_open_internal): Update declaration.
4704
4705 * w32font.c (w32font_open_internal): Change last argument from
4706 w32font_info struct to font object. Fill in font object from
4707 font_entity. Get Outline metrics if possible. Use them to
4708 calculate underline position and thickness. Use xlfd name as name
4709 property. Don't set codepage.
4710 (w32font_open): Pass font_object to w32font_open_internal. Don't
4711 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4712 (w32font_draw): Use s->font.
4713 (clear_cached_metrics): Don't clear non-existent blocks.
4714
4715 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4716 font was not found.
4717 (x_draw_glyph_string): Use underline position and thickness from font.
4718
4719 * w32uniscribe.c (uniscribe_open): Pass font_object to
4720 w32font_open_internal.
4721
47222008-05-14 Kenichi Handa <handa@m17n.org>
4723
4724 These changes are to delete all legacy font-handling codes, and
4725 make Emacs use only font-backends.
4726
4727 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4728 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4729
4730 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4731
4732 * charset.h (Vcharset_non_preferred_head)
4733 (Vcurrent_iso639_language): Extern them.
4734
4735 * charset.c (Vcharset_non_preferred_head): New variable.
4736 (Vcurrent_iso639_language): New variable.
4737 (syms_of_charset): Declare it as a Lisp variable.
4738 (char_charset): Don't check non preferred charsets. As a last
4739 resort, return charset_unicode.
4740 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4741
4742 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4743 conditionals. Don't check enable_font_backend. Delete all codes
4744 used only when USE_FONT_BACKEND is not defined.
4745
4746 * dispextern.h (struct glyph_string): Change type of `font' to
4747 `struct font *'.
4748 (struct glyph_string): New member underline_position and
4749 underline_thickness.
4750 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4751 (struct face): Change type of `font' to `struct font *'. Remove
4752 members `font_name', `font_info_id'.
4753 (per_char_metric, encode_char): Delete externs.
4754 (calc_pixel_width_or_height): Adjust the prototype.
4755
4756 * emacs.c (enable_font_backend): Delete extern.
4757 (main): Don't set enable_font_backend. Don't check the command
4758 line argument "-disable-font-backend".
4759
4760 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4761 (enum font_property_index): New members FONT_DPI_INDEX,
4762 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4763 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4764 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4765 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4766 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4767 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4768 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4769 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4770 (struct font_spec, struct font_entity): New structs.
4771 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4772 (struct font): Many members from old "struct font_info" moved to
4773 here. Members font and entity deleted.
4774 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4775 the new font-related objects.
4776 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4777 (CHECK_FONT_GET_OBJECT): Likewise.
4778 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4779 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4780 (struct font_driver): New members case_sensitive anc check. Type
4781 of the member list and open changed.
4782 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4783 (font_symbolic_width, font_find_object, font_get_spec)
4784 (font_set_lface_from_name): Delete extern.
4785 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4786
4787 * font.c: Include <strings.h>.
4788 (enable_font_backend): Delete it.
4789 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4790 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4791 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4792 (null_string): Delete it.
4793 (null_vector): Make it static.
4794 (font_family_alist): Delete it.
4795 (Qnormal): Extern it.
4796 (QCextra, QClanguage): Delete it.
4797 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
4798 (font_make_spec, font_make_entity, font_make_object)
4799 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4800 the string. Callers changed.
4801 (font_pixel_size): Adjusted for the format change of font-related
4802 objects.
4803 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4804 (font_style_to_value, font_style_symbolic): New function.
4805 (build_font_family_alist): Delete it.
4806 (font_registry_charsets): Use Fassoc_string instead of
4807 assq_no_quit.
4808 (font_prop_validate_symbol): Don't return null_string.
4809 (font_prop_validate_style): Adjusted for the change of
4810 style-related values in a font vector.
4811 (font_property_table): Delete entries for QClanguage and
4812 QCantialias, add entries for QCavgwidth.
4813 (get_font_prop_index): Delete the 2nd argument FROM.
4814 (font_prop_validate): Arguments changed.
4815 (font_put_extra): Adjusted for the change of font-related objects.
4816 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4817 (font_parse_fcname, font_unparse_fcname)
4818 (font_prepare_composition): Likewise.
4819 (font_parse_family_registry): Renamed from font_merge_old_spec.
4820 (otf_open): Delete the 1st arg entity.
4821 (font_otf_capability): Adjusted for the above change.
4822 (font_score): New arg alternate_families. Adjusted for the change
4823 of font-related objects.
4824 (font_sort_entites): New arg best_only.
4825 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4826 Delete them.
4827 (font_match_p): Check alternate families.
4828 (font_find_object): Delete it.
4829 (font_check_object): New function.
4830 (font_clear_cache): Adjusted for the change of font-related objects.
4831 (font_delete_unmatched): New arg.
4832 (font_list_entities): Call font_driver->list with a spec that
4833 doesn't specify style-related properties.
4834 (font_matching_entity): Arguments changed. Caller changed.
4835 (font_open_entity): Adjusted for the change of font-related objects.
4836 (font_close_object, font_has_char, font_encode_char)
4837 (font_get_name, font_get_spec): Likewise.
4838 (font_spec_from_name, font_clear_prop, font_update_lface):
4839 New functions.
4840 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
4841 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4842 (font_at): Adjusted for the change of font-related objects.
4843 (font_range): New function.
4844 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
4845 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
4846 (Fcopy_font_spec, Fmerge_font_spec): New function.
4847 (Ffont_family_list): Renamed from list-families.
4848 (Finternal_set_font_style_table): Arguments changed.
4849 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4850 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4851 change of font-related objects.
4852 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
4853
4854 * fontset.h (struct font_info): Delete it. Most members go to
4855 struct font.
4856 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4857 (enum FONT_SPEC_INDEX): Delete it.
4858 (font_info, list_fonts_func, load_font_func, query_font_func)
4859 (set_frame_fontset_func, find_ccl_program_func)
4860 (get_font_repertory_func, new_fontset_from_font_name): Delete
4861 externs.
4862 (fontset_from_font_name): Extern it.
4863 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4864 (FONT_INFO_FROM_FACE): Deleted.
4865 (face_for_font): Adjust prototype.
4866
4867 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4868 conditionals. Don't check enable_font_backend. Delete all codes
4869 used only when USE_FONT_BACKEND is not defined.
4870 (get_font_info_func, list_font_func, load_font_func)
4871 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4872 (get_font_repertory_func): Delete them.
4873 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4874 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4875 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4876 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4877 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4878 (fontset_compare_rfontdef): New function.
4879 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
4880 rfont-defs by qsort. Adjusted for the change of font-group vector.
4881 (load_font_get_repertory): Deleted.
4882 (fontset_find_font): Use new macros to ref/set elements of
4883 font-def and rfont-def.
4884 (fontset_font): Fix the timing of remembering that no font for C.
4885 (free_face_fontset): Do nothing if the face has no fontset.
4886 (face_suitable_for_char_p): Use new macros to ref/set elements of
4887 rfont-def.
4888 (face_for_char): Likewise. Call face_for_char with font_object.
4889 (fs_load_font): Delete. Delete #pragma surrounding it.
4890 (fs_query_fontset): Use strcasecmp instead of strcmp.
4891 (generate_ascii_font_name): Adjusted for the format change of
4892 font-spec.
4893 (Fset_fontset_font): Likewise. Use new macros to set elements of
4894 font-def.
4895 (Fnew_fontset): Use font_unparse_xlfd to generate
4896 FONTSET_ASCII (fontset).
4897 (new_fontset_from_font_name): Deleted.
4898 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4899 a fontset is already created for the font. FIx updating of
4900 Vfontset_alias_alist.
4901 (fontset_ascii_font): Deleted.
4902 (Ffont_info): Adjusted for the format change of font-spec.
4903 (Finternal_char_font): Likewise.
4904 (Ffontset_info): Likewise.
4905 (syms_of_fontset): Don't check load_font_func.
4906
4907 * fns.c (internal_equal): Handle PREV_FONT.
4908
4909 * frame.h: Delete USE_FONT_BACKEND conditional.
4910
4911 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4912 conditionals. Don't check enable_font_backend. Delete all codes
4913 used only when USE_FONT_BACKEND is not defined.
4914 (x_set_font): Call x_new_font, not x_new_fontset2.
4915 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4916 already set for the frame.
4917
4918 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4919 a font-entity by font_make_entity. Use font_intern_prop instead
4920 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4921 font property. If a font is scalable, set avgwidth property to 0.
4922 Set font-entity property by font_put_extra.
4923 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4924 (ffont_driver): Adjusted for the change of struct font_driver.
4925 (ftfont_spec_pattern): New function.
4926 (ftfont_list): Return a list, not vector.
4927 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4928 (ftfont_list_family): Don't downcase names.
4929 (ftfont_free_entity): Deleted.
4930 (ftfont_open): Return a font-object. Adjusted for the change of
4931 struct font. Get underline_thickness and underline_position from
4932 font property. Don't update dpyinfo->smallest_font_height and
4933 dpyinfo->smallest_char_width.
4934 (ftfont_close): Don't free `struct font'.
4935 (ftfont_has_char): Adjusted for the format change of font-entity.
4936 (ftfont_encode_char, ftfont_text_extents): Likewise.
4937
4938 * ftxfont.c (ftxfont_list): Return a list, not vector.
4939 (ftxfont_open): Return a font-object. Adjusted for the change of
4940 struct font. Get underline_thickness and underline_position from
4941 font property. Don't update dpyinfo->smallest_font_height and
4942 dpyinfo->smallest_char_width.
4943 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
4944 (ftxfont_draw): Adjusted for the change of struct font.
4945
4946 * image.c (image_ascent): Don't include "charset.h". Include
4947 "character.h" and "font.h".
4948
4949 * lisp.h (enum pvec_type): New member PREV_FONT.
4950 (Fassoc_string): EXFUN it.
4951
4952 * print.c: Include font.h.
4953 (print_object): Handle font-related objects.
4954
4955 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4956 conditionals. Don't check enable_font_backend. Delete all codes
4957 used only when USE_FONT_BACKEND is not defined.
4958 (handle_auto_composed_prop): Do nothing if it->f is not on a
4959 window system. Check how many following characters can be
4960 displayed by the same font.
4961 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4962 'struct font *'.
4963 (get_char_face_and_encoding): Assign the whole encoding task to
4964 the `encode-char' method of a font driver.
4965 (fill_composite_glyph_string): Adjusted for the change of `struct
4966 face' and `struct glyph_string'.
4967 (fill_glyph_string): Likewise.
4968 (get_per_char_metric): Arguments changed.
4969 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4970 and `struct glyph_string'.
4971 (produce_stretch_glyph, calc_line_height_property)
4972 (x_produce_glyphs): Likewise.
4973
4974 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4975 conditionals. Don't check enable_font_backend. Delete all codes
4976 used only when USE_FONT_BACKEND is not defined. Use
4977 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4978 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4979 (Qp): Extern them.
4980 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4981 Deleted.
4982 (struct font_name): Deleted.
4983 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4984 (compare_fonts_by_sort_order): New function.
4985 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4986 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4987 Deleted.
4988 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4989 compare_fonts_by_sort_order.
4990 (Fx_font_family_list): Call Ffont_family_list.
4991 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4992 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4993 (face_symbolic_slant, face_symbolic_swidth)
4994 (split_font_name_into_vector, build_font_name_from_vector)
4995 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4996 (font_rescale_ratio, split_font_name, build_font_name)
4997 (free_font_names, sort_fonts, x_face_list_fonts)
4998 (face_font_available_p, sorted_font_list, cmp_font_names)
4999 (font_list_1, concat_font_list, font_list, remove_duplicates):
5000 Deleted.
5001 (Fx_list_fonts): Use Ffont_list.
5002 (LFACE_AVGWIDTH): Deleted.
5003 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5004 by FONTP.
5005 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5006 (set_lface_from_font_name): Delete it.
5007 (set_lface_from_font): Renamed from
5008 set_lface_from_font_and_fontset. Caller changed. Don't set
5009 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5010 for face.
5011 (merge_face_vectors): Copy font-spec if necessary.
5012 Clear properties of the font-spec if necessary.
5013 (merge_face_ref): Clear properties of the font-spec if necessary.
5014 (Finternal_set_lisp_face_attribute): Likewise.
5015 (set_font_frame_param): Use font_load_for_lface to load a
5016 font-object, and call Fmodify_frame_parameters with it.
5017 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5018 font name by Ffont_xlfd_name.
5019 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5020 QCslant, and QCwidth.
5021 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5022 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5023 Compare fonts by EQ.
5024 (lookup_non_ascii_face): Deleted.
5025 (face_for_font): The 2nd argument changed.
5026 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5027 Check atomic font properties by case insensitive.
5028 (realize_non_ascii_face): Set face->overstrike correctly.
5029 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5030 (dump_realized_face): Get font name from
5031 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5032
5033 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5034 conditionals. Don't check enable_font_backend. Delete all codes
5035 used only when USE_FONT_BACKEND is not defined.
5036 (xic_create_xfontset): Original code deleted and renamed from
5037 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5038 (x_make_gc): Don't set GCFont in GCs.
5039 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5040 opened by "fixed".
5041 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5042 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5043 get_font_repertory_func.
5044
5045 * xfont.c: Include <stdlib.h> and "ccl.h".
5046 (struct xfont_info): New structure.
5047 (xfont_query_font): Deleted.
5048 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5049 moved from xterm.c.
5050 (xfont_driver): Adjusted for the change of struct font_driver.
5051 (compare_font_names): New function.
5052 (xfont_list_pattern): Sort font names case insensitively. Make
5053 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5054 (xfont_list): Return a list, not vector.
5055 (xfont_match): If the font doesn't have QCname property, generate
5056 a name from the other font properties.
5057 (xfont_open): Return a font-object. Adjusted for the change of
5058 struct font. Get underline_thickness and underline_position from
5059 font property. Don't update dpyinfo->smallest_font_height and
5060 dpyinfo->smallest_char_width.
5061 (xfont_close): Don't free struct font.
5062 (xfont_prepare_face): Adjusted for the change of struct font.
5063 (xfont_done_face): Deleted.
5064 (xfont_has_char): Adjusted for the change of struct font.
5065 (xfont_encode_char, xfont_draw): Likewise.
5066 (xfont_check): New function.
5067
5068 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5069 callback function.
5070 (xftfont_match): Adjusted for the format change of font-entity.
5071 (xftfont_open): Adjusted for the format change of font-entity and
5072 font-object. Adjusted for the change of struct font. Return a
5073 font-object. Don't update dpyinfo->smallest_font_height and
5074 dpyinfo->smallest_char_width.
5075 (xftfont_close): Block input while calling XftFontClose.
5076 (xftfont_prepare_face): Don't block input while calling
5077 xftfont_get_colors. Adjusted for the change of struct font.
5078 (xftfont_shape): Return value of error case fixed.
5079
5080 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5081
5082 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5083 conditionals.
5084 (FONT_WIDTH): Return (f)->max_width.
5085 (struct x_display_info): Delete member `font'.
5086 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5087 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5088 (struct x_output): Change type of `font' to `struct font *'.
5089
5090 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5091 conditionals. Don't check enable_font_backend. Delete all codes
5092 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5093 (x_per_char_metric, x_encode_char): Deleted.
5094 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5095 (x_compute_glyph_string_overhangs): Adjusted for the change of
5096 `struct face'.
5097 (x_draw_glyph_string_foreground)
5098 (x_draw_composite_glyph_string_foreground): Likewise.
5099 (x_draw_glyph_string): Likewise. Use font->underline_position and
5100 font->underline_thickness.
5101 (x_new_font): Renamed from x_new_fontset2.
5102 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5103 (x_check_font): Call `check' method of a font driver.
5104 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5105 (x_query_font, x_get_font_repertory): Deleted.
5106 (x_find_ccl_program): Renamed and moved to xfont.c.
5107 (x_redisplay_interface): Adjusted for the change of `struct
5108 redisplay_interface'.
5109
5110 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5111 conditionals. Don't check enable_font_backend. Delete all codes
5112 used only when USE_FONT_BACKEND is not defined. Surround non-used
5113 code by "#ifdef OLD_FONT" and "endif".
5114 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5115
5116 * w32font.h (struct w32font_info): New member.
5117 (FONT_COMPAT): New macro.
5118 (w32font_open_internal): Prototype adjusted.
5119
5120 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5121 OLD_FONT" and "endif".
5122
5123 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5124 conditionals. Don't check enable_font_backend. Delete all codes
5125 used only when USE_FONT_BACKEND is not defined.
5126 (w32font_open): Return a font-object. Make a font-object by
5127 font_make_object. Adjusted for the change of struct w32font_info.
5128 (w32font_close): Don't free struct font. Adjusted for the change
5129 of struct w32font_info.
5130 (w32font_encode_char, w32font_text_extents, w32font_draw):
5131 Adjusted for the change of struct w32font_info.
5132 (w32font_draw): Likewise.
5133 (w32font_list_internal): Return a list, not vector.
5134 (w32font_open_internal): Change the 4th arg to font-object.
5135 Adjusted for the change of struct w32font_info and font-object format.
5136 (add_font_name_to_list): Don't downcase names.
5137 (w32_enumfont_pattern_entity): Make a font-entity by
5138 font_make_entity. Adjusted for the format change of font-entity.
5139 Use FONT_SET_STYLE to set a style-related font property. If a
5140 font is scalable, set avgwidth property to 0. Set font-entity
5141 property by font_put_extra.
5142 (font_matches_spec): Adjusted for the format change of font-entity.
5143 (w32_weight_table, w32_decode_weight): New variables.
5144 (w32_encode_weight): New function.
5145 (fill_in_logfont): Adjusted for the format change of font-spec.
5146 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5147 weight value.
5148 (w32font_driver): Adjusted for the change of struct font_driver.
5149
5150 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5151 conditionals. Don't check enable_font_backend. Surround non-used
5152 code by "#ifdef OLD_FONT" and "endif".
5153 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5154 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5155
5156 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5157 conditionals. Don't check enable_font_backend. Delete all codes
5158 used only when USE_FONT_BACKEND is not defined. Surround non-used
5159 code by "#ifdef OLD_FONT" and "endif".
5160
5161 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5162 (uniscribe_open): Return value changed to font-object.
5163 Adjusted for the format change of font-object.
5164 (uniscribe_otf_capability): Adjusted for the change of struct font.
5165 (add_opentype_font_name_to_list): Don't downcase names.
5166 (uniscribe_font_driver): Adjusted for the change of struct
5167 font_driver.
5168
51692008-05-13 Chong Yidong <cyd@stupidchicken.com>
5170
5171 * dispnew.c (update_frame_1): Check if tty output is still valid
5172 before flushing it.
5173
51742008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5175
5176 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5177 to Gtk+ menus.
5178
51792008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5180
5181 * dired.c (file_name_completion): Tweak the code so as to always do it
5182 in a single pass. Tighten the scope of some variables.
5183
5184 * dired.c (Qdefault_directory): New var.
5185 (file_name_completion): Use it instead of Fexpand_file_name.
5186 (syms_of_dired): Initialize it.
5187
51882008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5189
5190 * fileio.c (double_dollars): Remove dead code.
5191
51922008-05-10 Eli Zaretskii <eliz@gnu.org>
5193
5194 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5195 Mention w32-get-true-file-attributes in doc string.
5196
5197 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5198
51992008-05-09 Glenn Morris <rgm@gnu.org>
5200
5201 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5202 2008-04-23.
5203
52042008-05-09 Eli Zaretskii <eliz@gnu.org>
5205
5206 Support for reporting owner and group of each file on MS-Windows:
5207 * dired.c (stat_uname, stat_gname): New functions, with special
5208 implementation for w32.
5209 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5210
5211 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5212 (dflt_group_name): New static variable.
5213 (dflt_group): Rename from the_group.
5214 (init_user_info): Init dflt_group fields. Get user's group name
5215 from LookupAccountSid.
5216 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5217 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5218 New initialization states.
5219 (globals_of_w32): Initialize them to zero. Initialize the default
5220 group name to "None".
5221 (GetFileSecurity_Name): New global var, the name of the function
5222 to call for GetFileSecurity.
5223 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5224 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5225 (get_file_security, get_security_descriptor_owner)
5226 (get_security_descriptor_group, is_valid_sid)
5227 (get_file_security_desc, get_rid, get_name_and_id)
5228 (get_file_owner_and_group): New functions.
5229 (stat): Use get_file_security_desc and get_file_owner_and_group to
5230 report the owner and primary group of each file. Don't ignore the
5231 high 32 bits of file's size, now that st_size is 64-bit wide.
5232 Fix test when to get true file attributes.
5233 (init_user_info): Use get_rid instead of equivalent inline code.
5234 (fstat): Don't ignore the high 32 bits of file's size.
5235
52362008-05-09 Chong Yidong <cyd@stupidchicken.com>
5237
5238 * image.c (png_load): Use correct bit-depth for setting background
5239 color.
5240
52412008-05-08 Eli Zaretskii <eliz@gnu.org>
5242
5243 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5244 epa-hook.elc.
5245
52462008-05-08 Juanma Barranquero <lekktu@gmail.com>
5247
5248 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5249
52502008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5251
5252 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5253 because the original parameters are in pure storage now.
5254 (mac_window): Remove unused params. Update callers.
5255
52562008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5257
5258 * lread.c (substitute_object_recurse): Use lower-level primitives.
5259 Don't signal errors when traversing sub-char-tables.
5260 Don't loop over all the possible characters when traversing char-tables.
5261
5262 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5263 just like we do in print.c.
5264
52652008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5266
5267 * minibuf.c (Ftry_completion): Remove code left over from when we used
5268 scmp instead of Fcompare_strings.
5269
52702008-05-04 Juanma Barranquero <lekktu@gmail.com>
5271
5272 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5273
52742008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5275
5276 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5277 Create bitmap context in native byte order.
5278
5279 * macterm.c (XDrawLine)
5280 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5281 context in native byte order.
5282
52832008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5284
5285 * config.in: Regenerate.
5286
5287 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5288 New definitions for Image I/O support.
5289 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5290 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5291 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5292 (mac_data_provider_release_data, image_load_image_io)
5293 [USE_MAC_IMAGE_IO]: New functions.
5294 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5295 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5296 (init_image_func_pointer) [MAC_OSX]: Remove function.
5297 (image_load_quartz2d) [MAC_OSX]: Check availability of
5298 CGImageCreateWithPNGDataProvider at compile time.
5299 Use lowercase `false' for boolean constant.
5300 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5301 Use image_load_image_io.
5302 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5303 Don't check MyCGImageCreateWithPNGDataProvider.
5304 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5305 Don't call init_image_func_pointer.
5306
5307 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5308
5309 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5310 Make variable non-static.
5311 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5312 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5313
5314 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5315 (RED_FROM_ULONG): Mask off higher bits.
5316 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5317
5318 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5319 Include AvailabilityMacros.h.
5320 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5321 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5322
53232008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5324
5325 * chartab.c (Fset_char_table_range): If range is t, really set all
5326 chars to that value.
5327
53282008-05-03 Eli Zaretskii <eliz@gnu.org>
5329
5330 * dired.c (Ffile_attributes): Don't allow the device number become
5331 negative.
5332
53332008-05-02 Daiki Ueno <ueno@unixuser.org>
5334
5335 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5336
53372008-05-02 Juri Linkov <juri@jurta.org>
5338
5339 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5340 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5341 DEFAULT argument as a list of default values in docstrings.
5342
53432008-05-01 Chong Yidong <cyd@stupidchicken.com>
5344
5345 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5346
53472008-05-01 Martin Rudalics <rudalics@gmx.at>
5348
5349 * dispnew.c (change_frame_size_1): Preserve small windows when
5350 shrinking frames by calling set_window_height|width with third
5351 arg 2.
5352
5353 * window.h (struct window): Replace field too_small_ok by field
5354 resize_proportionally.
5355
5356 * window.c (make_window): Initialize resize_proportionally.
5357 (enlarge_window): Temporarily set resize_proportionally to make
5358 sure that shrink_windows does scale the window proportionally.
5359 (shrink_windows): When window has resize_proportionally set try
5360 to shrink it proportionally by stealing from other windows.
5361 (struct saved_window, Fset_window_configuration)
5362 (compare_window_configurations): Handle resize_proportionally.
5363 (WINDOW_TOTAL_SIZE): New macro.
5364 (window_min_size, shrink_windows, size_window): Use it.
5365 (check_min_window_sizes): Remove. Invalid values of
5366 window-min-height|width are handled by window_min_size_2 now.
5367 (size_window, Fsplit_window, enlarge_window)
5368 (adjust_window_trailing_edge, grow_mini_window): Don't call
5369 check_min_window_sizes.
5370 (window_min_size_2, window_min_size_1, window_min_size):
5371 New argument safe_p for retrieving "safe" minimum sizes.
5372 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5373 (adjust_window_trailing_edge, grow_mini_window):
5374 Adjust arguments of window_min_size... functions.
5375 (shrink_windows): Argument min_size removed. New argument
5376 safe_p allows shrinking windows to their safe minimum sizes.
5377 Calculate minimum size and decide whether a window shall be
5378 deleted for each window individually.
5379 (size_window): When nodelete_p equals 2, tell shrink_windows to
5380 delete windows only if their new minimum size is no more safe.
5381 (shrink_window_lowest_first): Call window_min_size_1 to make
5382 sure to preserve modeline of bottom-most window when resizing
5383 the minibuffer.
5384 (Fset_window_configuration, Fcurrent_window_configuration)
5385 (compare_window_configurations): Do not handle
5386 window-min-height|width any more.
5387 (syms_of_window): Clarify window-min-height|width doc-strings.
5388
53892008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5390
5391 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5392 some more. Copy some of the code from Ftry_completions.
5393 Remove special case code that dates back to initial revision when the
5394 slash was only added when necessary and that can't trigger nowadays.
5395
53962008-04-27 Kenichi Handa <handa@m17n.org>
5397
5398 * font.c (font_prop_validate): Signal `error' instead of `font'.
5399
54002008-04-29 Jason Rumney <jasonr@gnu.org>
5401
5402 * w32fns.c (Fw32_battery_status): New defun.
5403 (syms_of_w32fns): Defsubr it.
5404
54052008-04-28 Andreas Schwab <schwab@suse.de>
5406
5407 * dired.c (file_name_completion): Fix another mixing of encoded
5408 and decoded names.
5409
54102008-04-28 Juanma Barranquero <lekktu@gmail.com>
5411
5412 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5413
54142008-04-27 Juanma Barranquero <lekktu@gmail.com>
5415
5416 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5417
54182008-04-27 Andreas Schwab <schwab@suse.de>
5419
5420 * dired.c (file_name_completion): Fix inappropriate mixing of
5421 encoded and decoded names.
5422
5423 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5424
5425 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5426
54272008-04-26 Eli Zaretskii <eliz@gnu.org>
5428
5429 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5430 2008-03-31, it's not needed anymore with `struct stat' definition
5431 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5432 for the same reasons.
5433
54342008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5435
5436 * m/sparc.h: Additional redefinitions for GNU/Linux.
5437
54382008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5439
5440 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5441 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5442 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5443 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5444 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5445 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5446 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5447 Likewise.
5448
5449 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5450 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5451 (mac_ax_number_of_characters): Add externs.
5452 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5453 [USE_MAC_TSM]: Likewise.
5454 (mac_handle_text_input_event) [MAC_OSX]:
5455 Handle kEventTextInputOffsetToPos for no active input area case.
5456 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5457 (mac_handle_document_access_event)
5458 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5459 (install_application_handler) [MAC_OSX]: Register handlers for
5460 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5461 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5462 Register mac_handle_document_access_event.
5463
5464 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5465 Make functions non-static.
5466
54672008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5468
5469 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5470 (read_file_name_completion_ignore_case, insert_default_directory)
5471 (Qdefault_directory): Move to minibuffer.el.
5472 (Fread_file_name): Call the new `read-file-name' instead.
5473
54742008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5475
5476 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5477 Make function non-static.
5478 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5479 Remove function.
5480 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5481 Move to mactoolbox.c.
5482 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5483
5484 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5485 (mac_rect_make): New macro.
5486
5487 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5488 instead of float.
5489 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5490 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5491 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5492 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5493 CGRectMake.
5494 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5495 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5496 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5497 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5498 instead of WindowRef in argument type.
5499 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5500 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5501 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5502 instead of DISPLAY. All uses changed.
5503 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5504 (x_calc_absolute_position): Simplify so as not to use
5505 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5506
5507 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5508 instead of WindowRef in argument type.
5509 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5510 [TARGET_API_MAC_CARBON]: Remove externs.
5511 (create_apple_event, mac_event_parameters_to_lisp)
5512 [TARGET_API_MAC_CARBON]: Add externs.
5513
5514 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5515 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5516 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5517 is clicked.
5518 (x_activate_menubar): Remove extern for saved_menu_event_location.
5519 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5520 Move from mac.c.
5521
55222008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5523
5524 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5525 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5526
55272008-04-23 Jason Rumney <jasonr@gnu.org>
5528
5529 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5530 attributes only for local files.
5531
5532 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5533 default to Qlocal.
5534
55352008-04-22 Juri Linkov <juri@jurta.org>
5536
5537 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5538 read-buffer-to-switch instead of using the letter "B".
5539
55402008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5541
5542 * fileio.c (Qdefault_directory): New variable.
5543 (Fread_file_name): Use it to pass `dir' to the completion functions.
5544
55452008-04-20 Chong Yidong <cyd@stupidchicken.com>
5546
5547 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5548
55492008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5550
5551 * keyboard.c (Vpre_help_message): Remove.
5552 (show_help_echo): Remove default C code.
5553
5554 * dired.c (directory_files_internal, file_name_completion):
5555 Only call ENCODE_FILE if the string is indeed decoded.
5556
55572008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5558
5559 * Makefile.in (TOOLKIT_DEFINES): Remove.
5560 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5561
55622008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5563
5564 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5565 (mactoolbox.o): New target.
5566
5567 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5568 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5569
5570 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5571 Use mac_set_frame_window_background instead of XSetWindowBackground.
5572 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5573 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5574 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5575 instead of SetWindowTitleWithCFString.
5576 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5577 Move function to mactoolbox.c.
5578 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5579 Use mac_set_window_modified instead of SetWindowModified.
5580 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5581 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5582 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5583 FrontNonFloatingWindow. Use mac_activate_window instead of
5584 ActivateWindow. Use mac_active_non_floating_window instead of
5585 ActiveNonFloatingWindow.
5586 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5587 Use mac_show_hourglass and mac_hide_hourglass.
5588 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5589 instead of GetGlobalMouse.
5590 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5591 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5592 Use mac_bring_window_to_front instead of BringToFront.
5593 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5594 mactoolbox.c.
5595 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5596 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5597 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5598 mactoolbox.c.
5599
5600 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5601 (XtPointer): Move typedef from macmenu.c.
5602 (enum button_type): Move enum from macmenu.c.
5603 (widget_value): Move typedef from macmenu.c.
5604 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5605 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5606 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5607 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5608 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5609 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5610 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5611 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5612 (Selection): Move typedef from macselect.c.
5613 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5614 macterm.c.
5615 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5616 (mac_is_window_collapsed, mac_bring_window_to_front)
5617 (mac_send_window_behind, mac_hide_window, mac_show_window)
5618 (mac_collapse_window, mac_front_non_floating_window)
5619 (mac_active_non_floating_window, mac_activate_window)
5620 (mac_move_window_structure, mac_move_window, mac_size_window)
5621 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5622
5623 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5624 (enum mac_menu_kind): Move enum to mactoolbox.c.
5625 (min_menu_id): Move variable to mactoolbox.c.
5626 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5627 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5628 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5629 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5630 [TARGET_API_MAC_CARBON]: Likewise.
5631 (XtPointer): Move typedef to macgui.h.
5632 (enum button_type): Move enum to macgui.h.
5633 (widget_value): Move typedef to macgui.h.
5634 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5635 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5636 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5637 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5638 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5639 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5640 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5641 (popup_activated_flag): Make variable non-static.
5642 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5643 (add_menu_item, fill_menu, dispose_menus):
5644 Move functions to mactoolbox.c.
5645 (restore_show_help_function, menu_target_item_handler)
5646 (install_menu_target_item_handler, mac_handle_dialog_event)
5647 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5648 [TARGET_API_MAC_CARBON]: Likewise.
5649 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5650 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5651 (find_and_call_menu_selection, name_is_separator): Make function
5652 non-static.
5653 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5654 to mactoolbox.c.
5655 (set_frame_menubar): Don't call install_menu_quit_handler.
5656 (menu_item_selection): New variable.
5657 (mac_menu_show): Use create_and_show_popup_menu.
5658 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5659 selection but set variable menu_item_selection. All uses changed.
5660 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5661 Call install_menu_quit_handler. Move to mactoolbox.c.
5662
5663 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5664 (Selection): Move typedef to macgui.h.
5665 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5666 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5667 Make variables non-static.
5668 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5669 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5670 Make functions non-static.
5671 (Vmac_service_selection) [MAC_OSX]: Likewise.
5672 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5673 (mac_valid_selection_target_p, mac_clear_selection)
5674 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5675 (mac_put_selection_value, mac_selection_has_target_p)
5676 (mac_get_selection_value, mac_get_selection_target_list)
5677 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5678 Move functions to mactoolbox.c.
5679 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5680 Likewise.
5681 (copy_scrap_flavor_data, mac_handle_service_event)
5682 (install_service_handler) [MAC_OSX]: Likewise.
5683 (syms_of_macselect) <Vmac_dnd_known_types>:
5684 Use mac_dnd_default_known_types.
5685
5686 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5687 Move to mactoolbox.c.
5688 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5689 (Fx_selection_owner_p): Add EXFUN.
5690 (install_window_handler, remove_window_handler, XSetWindowBackground):
5691 Remove externs.
5692 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5693 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5694 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5695 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5696 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5697 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5698 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5699 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5700 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5701 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5702 (mac_valid_selection_target_p, mac_clear_selection)
5703 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5704 (mac_put_selection_value, mac_selection_has_target_p)
5705 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5706 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5707 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5708 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5709 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5710 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5711 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5712 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5713 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5714
5715 * mactoolbox.c: New file.
5716
57172008-04-18 Jason Rumney <jasonr@gnu.org>
5718
5719 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5720
57212008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5722
5723 * character.c (Fmultibyte_char_to_unibyte):
5724 Return latin1 chars unchanged.
5725
5726 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5727 relocated if it points to `name'.
5728
57292008-04-17 Kenichi Handa <handa@m17n.org>
5730
5731 * data.c (Faset): Allow setting a multibyte character in an
5732 ASCII-only unibyte string.
5733
5734 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5735
57362008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5737
5738 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5739 done in config.h.
5740
57412008-04-16 Juanma Barranquero <lekktu@gmail.com>
5742
5743 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5744 (Fchar_direction): Add usage in the docstring.
5745
57462008-04-15 Chong Yidong <cyd@stupidchicken.com>
5747
5748 * keyboard.c (read_key_sequence): Remove always-true checks.
5749
57502008-04-14 Jason Rumney <jasonr@gnu.org>
5751
5752 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5753 compatibility struct, for better underline positioning.
5754
57552008-04-13 David Hansen <david.hansen@gmx.net>
5756
5757 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5758 string.
5759
57602008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5761
5762 * m/hp800.h (XUINT, XSET): Remove.
5763
57642008-04-12 Juanma Barranquero <lekktu@gmail.com>
5765
5766 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5767 previous change.
5768
57692008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5770
5771 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5772 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5773
57742008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5775
5776 * keymap.h (map_keymap_canonical): Declare.
5777 * xmenu.c (single_keymap_panes): Use it.
5778
57792008-04-11 Glenn Morris <rgm@gnu.org>
5780
5781 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5782 set the target's value to that of the alias.
5783
57842008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5785
5786 * term.c (set_tty_color_mode): Left over typo.
5787
57882008-04-10 Michael Albinus <michael.albinus@gmx.de>
5789
5790 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5791 only after check for file name handler functions. Signal, when
5792 native functionality is not supported.
5793 (syms_of_fileio): Declare it unconditionally.
5794
57952008-04-10 Jason Rumney <jasonr@gnu.org>
5796
5797 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5798 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5799
5800 * w32.c (logon_network_drive): Also logon to remote drives that
5801 are mapped to drive letters.
5802
58032008-04-10 Glenn Morris <rgm@gnu.org>
5804
5805 * xdisp.c (truncate-partial-width-windows): Doc fix.
5806
58072008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5808
5809 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5810 Move functions to minibuffer.el.
5811 (syms_of_fileio): Don't declare them.
5812
58132008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5814
5815 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5816 (syms_of_minibuf): Remove its initialization.
5817
5818 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5819
58202008-04-09 Juanma Barranquero <lekktu@gmail.com>
5821
5822 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5823
58242008-04-09 Jason Rumney <jasonr@gnu.org>
5825
5826 * makefile.w32-in (distclean): Delete makefile too.
5827 (maintainer-clean): New target.
5828
5829 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5830
5831 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5832 for new font backend and composite cases.
5833
58342008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5835
5836 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5837 Most of the code moved to run_timers.
5838 (do_pending_atimers): Call run_timers.
5839 (run_timers): New function.
5840
5841 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5842 run atimers.
5843
5844 * process.c (wait_reading_process_output): The same as above.
5845
58462008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5847
5848 * minibuf.c (last_exact_completion): Remove variable.
5849 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5850 (complete_and_exit_1, complete_and_exit_2)
5851 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5852 (Fdisplay_completion_list, display_completion_list_1)
5853 (Fminibuffer_completion_help, Fself_insert_and_exit)
5854 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5855 minibuffer.el.
5856 (syms_of_minibuf): Remove corresponding initializations.
5857
5858 * keyboard.c (Qdeactivate_mark): New var.
5859 (command_loop_1): Use it to call `deactivate-mark'.
5860 (syms_of_keyboard): Initialize it.
5861
5862 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5863 to another frame.
5864 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5865 Don't call set_tty_color_mode.
5866 (store_frame_param): Reset previous_frame rather than call
5867 set_tty_color_mode.
5868 * term.c (set_tty_color_mode): Rewrite.
5869 * dispextern.h (set_tty_color_mode): New type.
5870 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5871
58722008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5873
5874 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5875 for generic chars, which do not exist any more in emacs-unicode.
5876
58772008-04-08 Michael Albinus <michael.albinus@gmx.de>
5878
5879 * coding.c (detect_coding_emacs_mule)
5880 (Ffind_operation_coding_system): Fix typo.
5881
58822008-04-08 Jason Rumney <jasonr@gnu.org>
5883
5884 * w32uniscribe.c (SNAME): Extract only symbol name.
5885
5886 * w32font.h (struct w32_metric_cache): New struct.
5887 (w32font_info): Use it.
5888 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5889 (CACHE_BLOCKSIZE): New constants.
5890
5891 * w32font.c (Qja, Qko, Qzh): New symbols.
5892 (syms_of_w32font): Initialise them.
5893 (font_matches_spec): Use them to filter by language.
5894 (recompute_cached_metrics): Remove function.
5895 (compute_metrics, clear_cached_metrics): New functions.
5896 (w32font_encode_char): Use them to manage metric cache.
5897 (w32font_text_extents): Cache metrics for all glyphs on demand.
5898 Delay converting glyph indices to WORD until needed.
5899 (w32font_open_internal): Initialize metric cache to empty.
5900 (registry_to_w32_charset): Charset should always be a symbol.
5901 (fill_in_logfont, list_all_matching_fonts): Family should
5902 always be a symbol.
5903
59042008-04-06 Jason Rumney <jasonr@gnu.org>
5905
5906 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5907 Give up if glyph indices not supported. Use uniscribe obtained
5908 ABC widths for individual metrics. Map glyph clusters back to
5909 characters using fClusterStart flag. Return number of glyphs
5910 produced, not chars processed.
5911 (uniscribe_shape): Map char at FROM to current glyph.
5912
59132008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5914
5915 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5916 Use SetMenuItemHierarchicalMenu.
5917
59182008-04-05 Jason Rumney <jasonr@gnu.org>
5919
5920 * image.c (pbm_load): Allow color values up to 65535.
5921 Throw an error if max_color_idx is outside the supported range.
5922 Report an error when image size is invalid.
5923 Read two bytes at a time when raw images have max_color_idx above 255.
5924
59252008-04-05 Eli Zaretskii <eliz@gnu.org>
5926
5927 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5928 cFileName a file name that includes `?' characters, use the 8+3
5929 alias in cAlternateFileName instead.
5930
59312008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
5932
5933 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5934 append "CCL: Quitted" when the CCL program is quitted.
5935 (setup_ccl_program): Initialize ccl->quit_silently to zero.
5936
5937 * ccl.h (struct ccl_program): New member quit_silently.
5938
59392008-04-05 Chong Yidong <cyd@stupidchicken.com>
5940
5941 * search.c (compile_pattern_1): Treat non-nil and non-string of
5942 search-spaces-regexp as nil.
5943
5944 * minibuf.c (Fassoc_string): Tweak docstring.
5945
59462008-04-05 Eli Zaretskii <eliz@gnu.org>
5947
5948 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5949 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5950 2008-03-14 to force inode be positive.
5951
5952 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5953 _S_* ones, since we now use our own sys/stat.h.
5954 (stat, fstat): Don't mangle the inode number.
5955 (init_user_info): Don't restrict UID and GID to 0-60000 range.
5956
59572008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5958
5959 * frame.h (struct frame): Give one more bit to `visible' since we use
5960 values larger than 1 to indicate obscured frames on ttys.
5961
5962 * keymap.c (Qkeymap_canonicalize): New var.
5963 (Fmap_keymap_internal): New fun.
5964 (describe_map): Use keymap-canonicalize.
5965
5966 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5967 (Fundo_boundary): Set them.
5968 (syms_of_undo): Initialize them.
5969 (record_point): Use them instead of last_point_position*.
5970 (last_undo_buffer): Change type.
5971
59722008-04-04 Jason Rumney <jasonr@gnu.org>
5973
5974 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5975 (recompute_cached_metrics): Don't set ascent and descent per char.
5976
5977 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
5978 (uniscribe_check_otf): Add GC protection before consing.
5979 Rearrange loop for counting features.
5980
59812008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5982
5983 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5984 buffer with byte-size of source buffer.
5985
59862008-04-03 Chong Yidong <cyd@stupidchicken.com>
5987
5988 * callint.c (Fcall_interactively): Handle temporary region even
5989 when shift-select-mode is off.
5990
59912008-04-03 Jason Rumney <jasonr@gnu.org>
5992
5993 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5994
59952008-04-03 Kenichi Handa <handa@m17n.org>
5996
5997 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5998 (CATEGORY_MASK_UTF_16): Likewise.
5999 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6000 binary file.
6001 (detect_coding): Add null-byte detection for a binary file.
6002 (detect_coding_system): Likewise.
6003
60042008-04-03 Jason Rumney <jasonr@gnu.org>
6005
6006 * w32uniscribe.c: New file.
6007
6008 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6009
6010 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6011
6012 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6013 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6014 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6015 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6016 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6017 (Qphonetic): New symbols.
6018 (syms_of_w32font): Initialize them.
6019 (font_supported_scripts): Use them.
6020 (w32font_list_family): List all charsets.
6021 (w32font_text_extents, recompute_cached_metrics): Fix metric
6022 calculations.
6023 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6024 Give opentype fonts their own format.
6025 (font_matches_spec): New arguments backend and logfont.
6026 Handle :otf spec for uniscribe backend.
6027 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6028 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6029
6030 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6031 font backend.
6032 (globals_of_w32fns): Initialize uniscribe font backend.
6033
6034 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6035 dependencies.
6036 (w32uniscribe.$(O)): New file to build.
6037 (FONT_OBJ): Include w32uniscribe.$(O).
6038 (LIBS): Add uniscribe libraries.
6039
6040 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6041
60422008-04-02 Chong Yidong <cyd@stupidchicken.com>
6043
6044 * callint.c (Vshift_select_mode): New var.
6045 (Finteractive): Document new ^ spec.
6046 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6047 is present.
6048
6049 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6050 (command_loop_1): Avoid running the direct display versions of
6051 forward-char and backward-char if shift-selection may occur.
6052 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6053 shift-translation takes place.
6054
6055 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6056 avoid clobbering by define-minor-mode.
6057
6058 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6059 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6060
6061 * syntax.c (Fforward_word): Add ^ interactive spec.
6062
6063 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6064 (Fscroll_right): Add ^ interactive spec.
6065
60662008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6067
6068 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6069
6070 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6071
6072 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6073
60742008-03-31 Juri Linkov <juri@jurta.org>
6075
6076 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6077
60782008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6079
6080 * gtkutil.c (xg_set_geometry): Fix indentation.
6081 (xg_resize_outer_widget): Remove.
6082 (x_wm_size_hint_off): Fix indentation.
6083 (xg_frame_set_char_size): Call flush_and_sync after
6084 gtk_window_resize.
6085 (x_wm_set_size_hint): Pass NULL as geometry window to
6086 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6087 Add menu bar and tool bar height to base height.
6088 (xg_update_frame_menubar, free_frame_menubar)
6089 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6090 (update_frame_tool_bar, free_frame_tool_bar):
6091 Change xg_resize_outer_widget to xg_frame_set_char_size.
6092
60932008-03-30 Michael Albinus <michael.albinus@gmx.de>
6094
6095 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6096 (Fdbus_call_method): New parameter TIMEOUT.
6097 (dbus-send-signal): Optimize UNGCPRO call.
6098
60992008-03-29 Juri Linkov <juri@jurta.org>
6100
6101 * window.c (Fdisplay_buffer): Move call to
6102 Vsplit_window_preferred_function out of conditions that check
6103 if window is eligible for vertical splitting.
6104 When Vsplit_window_preferred_function is non-nil, call it and use
6105 its non-nil return value as window. Otherwise, continue doing
6106 vertical splitting using Fsplit_window with arg horflag=nil.
6107 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6108 default value from `split-window' to nil.
6109
61102008-03-29 Juri Linkov <juri@jurta.org>
6111
6112 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6113 for interactive code letters 'b' and 'B'.
6114
61152008-03-29 Eli Zaretskii <eliz@gnu.org>
6116
6117 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6118 multibyte string.
6119
61202008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6121
6122 * keyboard.c (pending_funcalls): New var.
6123 (timer_check): Run it.
6124 (syms_of_keyboard): Initialize it.
6125 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6126 (Vdelete_terminal_functions): New vars.
6127 (syms_of_terminal): Initialize them.
6128 (Fdelete_terminal): Run delete-terminal-functions.
6129 * xdisp.c (safe_eval): Rewrite.
6130 (safe_call2): New fun.
6131 * frame.c (Qdelete_frame_functions): New var.
6132 (syms_of_frame): Initialize it.
6133 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6134 * lisp.h (safe_call2, pending_funcalls): Declare.
6135
61362008-03-28 Andreas Schwab <schwab@suse.de>
6137
6138 * indent.c (Fmove_to_column): Move declaration before statements.
6139
61402008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6141
6142 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6143 (struct frame): Use bit fields for boolean vars.
6144
6145 * process.c (server_accept_connection): Simplify naming.
6146 (emacs_get_tty_pgrp): Use SDATA.
6147
6148 * coding.c (decode_coding_object): Fix last change.
6149
61502008-03-27 Jason Rumney <jasonr@gnu.org>
6151
6152 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6153
61542008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6155
6156 * charset.c (Fdefine_charset_internal): Change the way of
6157 registering charsets in Vcharset_order_list.
6158 (syms_of_charset): Make the charset `eight-bit' supplementary.
6159
61602008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6161
6162 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6163 operations, to avoid having the difference between pointers
6164 overflow.
6165
61662008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6167
6168 * indent.c (check_display_width): New fun.
6169 (scan_for_column): Use it.
6170
6171 * data.c (syms_of_data): Mark most-positive-fixnum and
6172 most-negative-fixnum as constants.
6173
6174 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6175
6176 * indent.c (scan_for_column): Extract from current_column_1.
6177 Merge with the same code from Fmove_to_column.
6178 (current_column_1, Fmove_to_column): Use it.
6179
61802008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6181
6182 * keymap.c (map_keymap_internal): New fun.
6183 (map_keymap): Use it.
6184 (Fmap_keymap_internal): New fun.
6185 (Fmap_keymap): Remove left-out test from before make_save_value.
6186
6187 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6188
6189 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6190 Use XCAR/XCDR.
6191
6192 * process.h (struct Lisp_Process): Remove filter_multibyte.
6193 * process.c (QCfilter_multibyte): Remove.
6194 (setup_process_coding_systems): Don't use filter_multibyte.
6195 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6196 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6197 (Fset_process_filter_multibyte): Change the coding-system to
6198 approximate the previous behavior.
6199 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6200 coding-system.
6201
6202 * coding.c (decode_coding_object): When not decoding into a buffer,
6203 obey the coding system's preference of (uni|multi)byte.
6204
62052008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6206
6207 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6208 every char is changed and has a different byte-length.
6209 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6210 Fix int -> EMACS_INT.
6211
62122008-03-23 David Hansen <david.hansen@gmx.net>
6213
6214 * dbusbind.c (xd_read_message): Remove extra copying of message
6215 strings. Check for NULL `interface' or `member'.
6216
62172008-03-22 Eli Zaretskii <eliz@gnu.org>
6218
6219 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6220 cFileName a file name that includes `?' characters, use the 8+3
6221 alias in cAlternateFileName instead.
6222
62232008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6224
6225 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6226
62272008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6228
6229 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6230 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6231 work on current_buffer only instead (that was already the case
6232 for some of the code anyway).
6233 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6234 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6235 (SET_PT, SET_PT_BOTH): Adjust.
6236 * intervals.h (set_point, temp_set_point, set_point_both)
6237 (temp_set_point_both): Remove redundant declarations.
6238
62392008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6240
6241 * fileio.c (Finsert_file_contents):
6242 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6243 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6244 when buffer != current_buffer anyway.
6245
62462008-03-20 Andreas Schwab <schwab@suse.de>
6247
6248 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6249 as default.
6250
62512008-03-19 Jason Rumney <jasonr@gnu.org>
6252
6253 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6254 (syms_of_w32fns): Initialize them.
6255 (HOURGLASS_ID): New constant.
6256 (x_window_to_frame): Don't check hourglass_window.
6257 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6258 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6259 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6260 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6261 Only change the cursor if hourglass is not active.
6262 (Fx_create_frame): Initialize frame's current_cursor.
6263 (hourglass_atimer): Remove.
6264 (hourglass_started): New function.
6265 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6266 (show_hourglass): Adapt to w32, changing argument to frame.
6267
6268 * w32term.h (struct w32_output): Remove hourglass_window.
6269 Add current_cursor.
6270
6271 * eval.c (call_debugger, Fsignal):
6272 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6273 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6274 (Fexecute_extended_command, cancel_hourglass_unwind):
6275 * minibuf.c (read_minibuf):
6276 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6277
62782008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6279
6280 * window.c (run_funs): New fun.
6281 (run_window_configuration_change_hook): Use it to run the buffer-local
6282 and the global part of the hook.
6283
6284 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6285 (unwind_format_mode_line): Restore selected window.
6286 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6287
62882008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6289
6290 * editfns.c (Fchar_equal): Check they are valid characters.
6291
6292 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6293
62942008-03-17 Andreas Schwab <schwab@suse.de>
6295
6296 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6297 against a charset.
6298
6299 * lisp.h (Fbuffer_list): Declare.
6300
63012008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 6302
aac0c6e3
MR
6303 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6304 handlebox_widget is != 0.
6305
63062008-03-16 Juri Linkov <juri@jurta.org>
6307
6308 * callint.c (Fcall_interactively): For interactive code letters
6309 'b' and 'B' put the buffer list into the list of default "future"
6310 values of the minibuffer.
6311
63122008-03-16 Andreas Schwab <schwab@suse.de>
6313
6314 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6315 modifiers.
6316
6317 * regex.c (re_match_2_internal): Correct matching of a charset
6318 against latin-1 characters.
6319
63202008-03-16 Kenichi Handa <handa@m17n.org>
6321
6322 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6323 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6324 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6325 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6326 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6327 CHAR_STRING_ADVANCE.
6328 (produce_chars): Fix for the case that the source and the
6329 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6330 instead of CHAR_STRING_ADVANCE.
6331 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6332 STRING_CHAR_ADVANCE.
6333
63342008-03-15 Andreas Schwab <schwab@suse.de>
6335
6336 * regex.c (re_match_2_internal): Correct matching of eight bit
6337 characters in unibyte strings.
6338
63392008-03-15 Martin Rudalics <rudalics@gmx.at>
6340
6341 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6342 at end of range when it coincides with the end of the buffer.
6343
63442008-03-14 Eli Zaretskii <eliz@gnu.org>
6345
6346 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6347
6348 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6349
63502008-03-14 Jason Rumney <jasonr@gnu.org>
6351
6352 * editfns.c (initial_tz): New variable.
6353 (syms_of_editfns): Initialize it.
6354 (Fset_time_zone_rule): Set it when first called.
6355 Use it when TZSTRING is nil.
6356
6357 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6358 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6359 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6360 (globals_of_w32fns): Initialize them.
6361 (compute_tip_xy): Use them to position tooltips.
6362
63632008-03-14 Glenn Morris <rgm@gnu.org>
6364
6365 * emacs.c (main): Revert previous change.
6366 (standard_args): Revert -internal-script back to -scriptload,
6367 and remove the long-option form.
6368
63692008-03-13 Glenn Morris <rgm@gnu.org>
6370
6371 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6372 Remove option -enable-font-backend.
6373
63742008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6375
6376 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6377
63782008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6379
6380 * xterm.c (x_connection_closed): For GTK: If this is the last
6381 terminal just exit without closing the display.
6382
63832008-03-11 Jason Rumney <jasonr@gnu.org>
6384
6385 * w32font.c (w32font_full_name): Use floor to round.
6386
63872008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6388
6389 * sound.c (alsa_configure): Declare vol at beginning of block.
6390
6391 * fontset.c (Ffontset_info): Remove extra semicolon.
6392
63932008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6394
6395 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6396 size of resulting string.
6397
63982008-03-10 Jason Rumney <jasonr@gnu.org>
6399
6400 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6401
64022008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6403
6404 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6405 Don't pretend as if characters with display property haven't been
6406 consumed for string-replacing-string case.
6407
64082008-03-08 Kim F. Storm <storm@cua.dk>
6409
6410 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6411 (get_next_display_element, next_element_from_string)
6412 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6413
64142008-03-08 Andreas Schwab <schwab@suse.de>
6415
6416 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6417
64182008-03-06 Jason Rumney <jasonr@gnu.org>
6419
6420 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6421 when charset not specified. Only translate ANSI to unicode when
6422 font_type is truetype.
6423 (w32font_coverage_ok): New function.
6424 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6425
64262008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6427
6428 * lread.c (Fread_char): Resolve modifiers.
6429 (Fread_char_exclusive): Likewise.
6430
6431 * character.c (char_resolve_modifier_mask): New function.
6432 (char_string): Use char_resolve_modifier_mask.
6433 (Fchar_resolve_modifiers): New function.
6434 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6435 function.
6436
64372008-03-04 Jason Rumney <jasonr@gnu.org>
6438
6439 * makefile.w32-in: Always include w32font.c in the build.
6440 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6441
64422008-03-04 Andreas Schwab <schwab@suse.de>
6443
6444 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6445 (versionclean): Likewise.
6446
64472008-03-04 Juanma Barranquero <lekktu@gmail.com>
6448
6449 * .cvsignore: Add oo.
6450
64512008-03-03 Andreas Schwab <schwab@suse.de>
6452
6453 * coding.c (decode_coding_object): Inhibit gap shrinking while
6454 decoding in place.
6455
64562008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6457
6458 * w32term.c: Remove unused include "gnu.h".
6459 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6460
6461 * gnu.h: Rename to ...
6462 * emacs-icon.h: ... this.
6463 * xterm.c: Use emacs-icon.h instead of gnu.h.
6464 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6465
64662008-03-03 Juanma Barranquero <lekktu@gmail.com>
6467
6468 * w32font.c: Include math.h.
6469
64702008-03-03 Jason Rumney <jasonr@gnu.org>
6471
6472 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6473 Compute options separately.
6474 (w32font_open_internal): Set glyph_idx before caching metrics.
6475
6476 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6477 Define if system headers don't.
6478 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6479 (w32font_encode_char): Don't declare here.
6480
6481 * w32font.c (Quniscribe, QCformat): New symbols.
6482 (syms_of_w32font): Define them.
6483 (w32font_has_char): Indicate uncertainty.
6484 (w32font_encode_char): Encode as glyph point. Make static.
6485 (recompute_cached_metrics): New function.
6486 (w32font_open_internal): Use it. Set font to use glyph points
6487 initially. Set format based on type of font.
6488 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6489 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6490 on it. Set format based on information available here.
6491 (add_font_entity_to_list): Identify backend based on opentype_only.
6492
64932008-03-02 Andreas Schwab <schwab@suse.de>
6494
6495 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6496
6497 * coding.c (decode_coding_big5, produce_chars):
6498 Fix typos in last change.
6499
65002008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6501
6502 * gnu.h: New icon.
6503
65042008-03-02 Kenichi Handa <handa@m17n.org>
6505
6506 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6507 `dos', don't decode '\r' if that is the last in the source.
6508 (decode_coding_utf_16, decode_coding_emacs_mule)
6509 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6510 (decode_coding_raw_text, decode_coding_charset): Likewise.
6511 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6512
65132008-03-01 Jason Rumney <jasonr@gnu.org>
6514
6515 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6516
65172008-03-01 Kim F. Storm <storm@cua.dk>
6518
6519 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6520
65212008-03-01 Jason Rumney <jasonr@gnu.org>
6522
6523 * w32font.c (w32font_full_name): New function.
6524 (w32font_open_internal): Use it.
6525
65262008-03-01 Kim F. Storm <storm@cua.dk>
6527
6528 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6529
65302008-03-01 Jason Rumney <jasonr@gnu.org>
6531
6532 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6533
65342008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6535
6536 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6537 xg_frame_resized when the event is for the edit widget.
6538
6539 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6540
6541 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6542 set_char_size.
6543 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6544 operations on widgets here. Just set frame size if needed.
6545 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6546 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6547 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6548 the whole frame.
6549 (xg_create_tool_bar): Move attachment of the tool bar to
6550 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6551 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6552
65532008-03-01 Jason Rumney <jasonr@gnu.org>
6554
6555 * w32fns.c (w32_msg_pump): Disable debug code.
6556
65572008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6558
6559 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6560
65612008-02-29 Chong Yidong <cyd@stupidchicken.com>
6562
6563 * xdisp.c (next_overlay_string): Don't set
6564 overlay_strings_at_end_processed_p if we're currently reading from
6565 a display string.
6566
65672008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6568
6569 * xdisp.c (get_overlay_strings_1): Fix typo.
6570
65712008-02-29 Chong Yidong <cyd@stupidchicken.com>
6572
6573 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6574
65752008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6576
6577 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6578
6579 * xdisp.c (display_mode_element): Cancel the previous change.
6580 (decode_mode_spec): Likewise.
6581 (handle_auto_composed_prop): Don't make composition if it->string
6582 is a string.
6583
65842008-02-27 Kim F. Storm <storm@cua.dk>
6585
6586 * lisp.h (GLYPH): Change type from int to struct with separate char
6587 and face_id members.
6588 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6589 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6590 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6591 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6592 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6593 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6594 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6595 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6596 handle new Lisp glyph code encoding, either an integer or a cons.
6597
6598 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6599 (GLYPH_ALIAS): Delete.
6600 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6601 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6602 (GLYPH_FROM_CHAR): Replace macro by ...
6603 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6604
6605 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6606 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6607 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6608 (GLYPH_INVALID_P): New macro.
6609 (spec_glyph_lookup_face): Update prototype.
6610
6611 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6612 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6613 new glyph code encoding.
6614 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6615 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6616
6617 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6618 Adapt to new glyph type and new glyph code encoding.
6619
6620 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6621
6622 * indent.c (current_column, current_column_1, Fmove_to_column)
6623 (compute_motion): Adapt to new glyph code encoding.
6624
6625 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6626
66272008-02-27 Chong Yidong <cyd@stupidchicken.com>
6628
6629 * process.c (wait_reading_process_output): Check for window
6630 changes caused by timers.
6631 Suggested by Johan Bockgård.
6632
66332008-02-27 Glenn Morris <rgm@gnu.org>
6634
6635 * emacs.c (USAGE1): Add `--disable-font-backend'.
6636
66372008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6638
6639 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6640 is made to the buffer.
6641
66422008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6643
6644 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6645 (face_at_string_position):
6646 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6647 (face_at_string_position):
6648 * xdisp.c (display_string, next_overlay_change):
6649 * buffer.h (overlays_at):
6650 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6651 Update callers.
6652
66532008-02-26 Chong Yidong <cyd@stupidchicken.com>
6654
6655 * editfns.c (Fformat): Doc fix.
6656
66572008-02-26 Juanma Barranquero <lekktu@gmail.com>
6658
6659 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6660 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6661 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6662
66632008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6664
6665 * buffer.c (Fbuffer_swap_text): New function.
6666 (syms_of_buffer): Defsubr it.
6667
66682008-02-25 Chong Yidong <cyd@stupidchicken.com>
6669
6670 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6671
66722008-02-25 Jason Rumney <jasonr@gnu.org>
6673
6674 * w32font.c (w32font_draw): Draw one character at a time when padding.
6675
66762008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6677
6678 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6679 Handle a nil arg. Use run_window_configuration_change_hook.
6680 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6681 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6682 Use run_window_configuration_change_hook.
6683
66842008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6685
6686 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6687 1-pixel width.
6688
66892008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6690
6691 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6692 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6693 if the glyph in the font is zero pixel with.
6694
6695 * dispextern.h (struct glyph_string): New member padding_p.
6696
6697 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6698
6699 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6700
6701 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6702
6703 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6704
6705 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6706
67072008-02-25 Jason Rumney <jasonr@gnu.org>
6708
6709 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6710
67112008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6712
6713 Allow fine-grained image-cache flushing.
6714 * dispextern.h (struct image): Add `dependencies' field.
6715 (clear_image_caches): Change arg to Lisp_Object.
6716 * image.c (make_image): Initialize `dependencies' field.
6717 (clear_image_cache): Change arg to allow fine-grained flushing.
6718 Perform the flush even if image-cache-eviction-delay is nil.
6719 (clear_image_caches): Change arg to Lisp_Object.
6720 (Fclear_image_cache): Expand meaning of the argument.
6721 (mark_image): Mark `dependencies' field.
6722 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6723 (lface_hash): Use XHASH rather than XFASTINT.
6724 (face_at_buffer_position): Fix int -> EMACS_INT position.
6725 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6726 (select_frame_for_redisplay): Remove code duplication.
6727 (redisplay_internal): Adapt arg to call to clear_image_caches.
6728
67292008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6730
6731 * s/vms4-0.h:
6732 * s/vms4-2.h:
6733 * s/vms4-4.h:
6734 * s/vms5-5.h: Remove, unused.
6735
6736 * s/irix5-2.h:
6737 * s/irix6-0.h:
6738 * s/riscos5.h:
6739 * s/mach-bsd4-3.h:
6740 * m/mips4.h: Remove files for obsolete systems.
6741
6742 * Makefile.in:
6743 * filelock.c:
6744 * unexmips.c:
6745 * m/hp9000s300.h:
6746 * m/iris4d.h:
6747 * s/aix3-1.h:
6748 * s/hpux.h:
6749 * s/msdos.h:
6750 * s/usg5-0.h:
6751 * s/usg5-2-2.h:
6752 * s/usg5-2.h:
6753 * s/usg5-3.h: Remove references to obsolete variables.
6754
6755 * s/irix5-0.h: Remove, move all the contents ...
6756 * s/irix6-5.h: ... here. Simplify.
6757 * config.in: Regenerate.
6758
67592008-02-24 Jason Rumney <jasonr@gnu.org>
6760
6761 * w32term.c (x_draw_glyph_string_background): Clear the background
6762 manually when cleartype is in use.
6763 (x_draw_glyph_string_foreground): Draw text transparently when
6764 cleartype is in use.
6765
6766 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6767 a font into it unless we have to.
6768
67692008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6770
6771 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6772 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 6773
aac0c6e3
MR
67742008-02-18 Jason Rumney <jasonr@gnu.org>
6775
6776 * w32fns.c (Fw32_shell_execute): Encode parameters.
6777
67782008-02-09 Eli Zaretskii <eliz@gnu.org>
6779
6780 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6781
67822008-02-05 Juanma Barranquero <lekktu@gmail.com>
6783
6784 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6785
67862008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6787
6788 * xterm.c (x_set_offset): Don't change the gravity if
6789 CHANGE_GRAVITY is -1.
6790
67912008-02-23 Chong Yidong <cyd@stupidchicken.com>
6792
6793 * fileio.c (auto_save_error_occurred): New var.
6794 (auto_save_error): Set it.
6795 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6796 error occurred.
6797
67982008-02-23 Eli Zaretskii <eliz@gnu.org>
6799
6800 * w32.c (globals_of_w32): Add initializations for
6801 g_b_init_get_sid_sub_authority and
6802 g_b_init_get_sid_sub_authority_count.
6803
68042008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6805
6806 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6807 (font_parse_xlfd): Use them for sanity check.
6808 (Finternal_set_font_style_table): Make sure the table is bijective.
6809
6810 Consolidate the image_cache to the terminal struct.
6811 * termhooks.h (P_): Remove redundant def.
6812 (struct terminal): New field `image_cache'.
6813 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6814 of FRAME_X_IMAGE_CACHE.
6815 * xterm.h (struct x_display_info): Remove image_cache field.
6816 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6817 * w32term.h (struct w32_display_info): Remove image_cache field.
6818 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6819 * macterm.h (struct mac_display_info): Remove image_cache field.
6820 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6821 * xterm.c (x_term_init):
6822 * w32term.c (w32_term_init):
6823 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6824 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6825 Remove declarations.
6826 (clear_image_caches, mark_image_cache): New declarations.
6827 * xfaces.c (clear_face_cache):
6828 * xdisp.c (redisplay_internal): Use clear_image_caches.
6829 * image.c (clear_image_cache): Don't check that a frame is on
6830 a window-system before checking if it shares the same cache.
6831 (clear_image_caches): New function.
6832 (Fclear_image_cache): Use it.
6833 (mark_image): Move from allo.c.
6834 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6835 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6836 (mark_object): Don't call mark_image_cache for frames.
6837 (mark_terminals): Call mark_image_cache.
6838
6839 * lisp.h (Fdelete_terminal): Declare.
6840
6841 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6842 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6843 wrong_type_argument.
6844
68452008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6846
6847 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
6848 malayalam.el, and tamil.el. Add sinhala.el.
6849
68502008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6851
6852 * xterm.c (x_connection_closed): Consolidate identical tests.
6853 (x_delete_terminal): Don't crash if called via x_connection_closed.
6854
68552008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6856
6857 * xdisp.c (decode_mode_spec): New arg string.
6858 (display_mode_element): Adjust for the above change.
6859
68602008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6861
6862 * callint.c (Fcall_interactively): Use AREF.
6863
68642008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6865
6866 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6867
68682008-02-18 Jan Djärv <jan.h.d@swipnet.se>
6869
6870 * xfns.c (Fx_show_tip): Set string to " " if empty.
6871
68722008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6873
6874 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6875 with Qt.
6876
68772008-02-17 Kenichi Handa <handa@m17n.org>
6878
6879 * ftfont.c (ftfont_shape): Return Lispy number.
6880
6881 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6882 for GCs.
6883 (Finternal_set_font_selection_order): Call font_update_sort_order
6884 only when enable_font_backend is set.
6885 (realize_x_face): Set face->font_info to that of default face only
6886 when enable_font_backend is set.
6887
6888 * xdisp.c (handle_composition_prop): Set it->c to the fist
6889 character of the composed region.
6890 (fill_composite_glyph_string): Set base_face->font_info to
6891 s->font_info. Get a face for ascii from base_face->ascii_face.
6892 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6893 with a face already decided.
6894 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6895 non-negative.
6896 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6897 call font_prepare_composition unconditionally.
6898
6899 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
6900
6901 * xterm.h (struct x_display_info): New member font.
6902
6903 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6904 (x_set_mouse_face_gc, x_new_font): Likewise.
6905 (x_term_init): Setup display_info->font.
6906 (x_delete_terminal): Free display_info->font.
6907
6908 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6909
6910 * ftxfont.c (ftxfont_default_fid): Delete it.
6911 (ftxfont_open): Set xfont->fid to 0.
6912 (ftxfont_end_for_frame): Clear data specific to the frame and the
6913 font-driver.
6914
6915 * xftfont.c (xftfont_default_fid): Delete it.
6916 (xftfont_open): Set xfont->fid to 0.
6917
6918 * fontset.c (FONTSET_OBJLIST): New macro.
6919 (fontset_find_font): Update font-object list of the fontset.
6920 (free_realized_fontset): New function.
6921 (free_face_fontset): Call free_realized_fontset.
6922 (Ffont_info): Call font_close_object only when enable_font_backend
6923 is set.
6924
6925 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6926 [HAVE_NTGUI]: Include w32term.h.
6927 [MAC_OS]: Include macterm.ch.
6928 (font_otf_ValueRecord): Use make_number.
6929 (font_finish_cache): Fix handling of reference count.
6930 (font_clear_cache): Update num_fonts.
6931 (font_open_entity): Update smallest_char_width and
6932 smallest_font_height of the frame.
6933 (font_close_object): Update num_fonts.
6934 (Fclear_font_cache): Fix finding the target cache data.
6935
69362008-02-16 Glenn Morris <rgm@gnu.org>
6937
6938 * fontset.c (Finternal_char_font): Fix compilation warning.
6939
69402008-02-16 Eli Zaretskii <eliz@gnu.org>
6941
6942 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6943 instead of char arrays. Enlarge the size of array passed to
6944 get_token_information.
6945
6946 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6947 warnings.
6948
69492008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6950
6951 * .gdbinit: Don't set `args', it breaks gdb --args.
6952
69532008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6954
6955 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6956 within a narrowed buffer.
6957
69582008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6959
6960 * coding.c (decode_coding_object, encode_coding_object):
6961 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6962
69632008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6964
6965 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6966 hardcoding 1.
6967 (detect_coding_system):
6968 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6969 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6970 * insdel.c (insert_from_gap):
6971 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6972 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6973 (string_to_multibyte):
6974 * character.c (chars_in_text, multibyte_chars_in_text):
6975 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6976
6977 * character.h (FETCH_STRING_CHAR_ADVANCE)
6978 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6979 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6980 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6981
6982 * casefiddle.c (casify_region): Only call after-change and composition
6983 functions on the part of the region that was changed.
6984
6985 * keyboard.c (read_avail_input):
6986 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6987
69882008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6989
6990 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6991 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6992
69932008-02-11 Juanma Barranquero <lekktu@gmail.com>
6994
6995 * w32menu.c (push_submenu_start, push_submenu_end)
6996 (push_left_right_boundary, push_menu_pane, push_menu_item):
6997 * keyboard.c (read_key_sequence): Don't pass args with side effects
6998 to AREF, it fails when compiling with -DENABLE_CHECKING.
6999
70002008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7001
7002 * Makefile.in (${lispsource}international/charprop.el):
7003 Delete this target.
7004
7005 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7006 emacs-unicode-2.
7007
70082008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7009
7010 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7011
70122008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7013
7014 * frame.c (Qnoelisp): New symbol.
7015 (syms_of_frame): Initialize it.
7016 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7017 harmless Elisp code, from a strong `force' from x_connection_closed.
7018 * frame.h (Qnoelisp): Declare.
7019 * xterm.c (x_connection_closed): Pass `noelisp'.
7020
7021 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7022 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7023 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7024 rather than `int' for the type of `type'.
7025
70262008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7027
7028 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7029
7030 * Makefile.in (GNUC): Remove support for gcc-1.x.
7031
70322008-02-10 Richard Stallman <rms@gnu.org>
7033
7034 * lisp.h (ASET): Use AREF, not ASLOT.
7035
70362008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7037
7038 * lisp.h (ASET): Check bounds.
7039
70402008-02-10 Glenn Morris <rgm@gnu.org>
7041
7042 * buffer.c (mode-name): Doc fix.
7043
70442008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7045
7046 * Makefile.in:
7047 * emacs.c:
7048 * gmalloc.c:
7049 * keyboard.c:
7050 * lisp.h:
7051 * m/ibm370aix.h:
7052 * process.c:
7053 * regex.c:
7054 * s/hpux.h:
7055 * sysdep.c:
7056 * sysselect.h:
7057 * systty.h:
7058 * unexec.c:
7059 * w32term.c:
7060 * xsmfns.c:
7061 * xterm.c: Remove code that deals with obsolete variables.
7062
7063 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7064
7065 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7066 nothing else needs it anymore.
7067
70682008-02-09 Eli Zaretskii <eliz@gnu.org>
7069
7070 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7071 instead of unibyte_char_to_multibyte.
7072
70732008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7074
7075 * s/gnu-linux.h: Remove commented out code.
7076
7077 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7078
7079 * Makefile.in: Update what RMS says about using autoconf.
7080 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7081 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7082 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7083 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7084
70852008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7086
7087 * keymap.c (Fkey_description): Move side effect outside of macro call.
7088
7089 * xfaces.c (Finternal_make_lisp_face):
7090 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7091
7092 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7093 (syms_of_fontset): Use ASET.
7094
7095 * fns.c (concat): Move side effect outside of macro call.
7096 (hash_clear): Use ASET.
7097
70982008-02-08 Richard Stallman <rms@gnu.org>
7099
7100 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7101 If FORCE, and frame has a surrogate minibuffer for another frame,
7102 delete the other frame first.
7103
71042008-02-07 Timo Savola <timo.savola@iki.fi>
7105
7106 * xterm.c (x_detect_focus_change): Handle embed client message.
7107 (handle_one_xevent): Ditto.
7108 (handle_one_xevent): If embedded and we get a button press/release,
7109 request focus.
7110 (xembed_set_info, xembed_send_message): New functions.
7111 (x_make_frame_visible): Call xembed_set_info if embedded.
7112 (x_make_frame_invisible): Call xembed_set_info if embedded.
7113 (x_term_init): Initialize Xatom_XEMBED.
7114 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7115 (x_iconify_frame): Ditto.
7116
7117 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7118 (enum xembed_info, enum xembed_message, enum xembed_focus)
7119 (enum xembed_modifier, enum xembed_accelerator): New.
7120 (xembed_set_info, xembed_send_message): Declare.
7121 (FRAME_X_EMBEDDED_P): New.
7122
7123 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7124 gtk_plug_new.
7125
7126 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7127 window ID of a frame.
7128 (x_window): Reparent frame if embedded.
7129 (Fx_create_frame): Don't set border width if embedded.
7130
7131 * emacs.c (USAGE3): Add --parent-id.
7132 (standard_args): Ditto.
7133
71342008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7135
7136 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7137
71382008-02-07 Jim Meyering <meyering@redhat.com>
7139
7140 Use "do...while (0)", not "if (1)...else" in macro definitions.
7141 The latter provokes a warning from gcc about the empty else, when
7142 followed by ";". Also, without that trailing semicolon, it would
7143 silently swallow up any following statement.
7144 * syntax.h (SETUP_SYNTAX_TABLE)
7145 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7146 * buffer.h (DECODE_POSITION): Likewise.
7147 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7148 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7149 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7150 (FETCH_CHAR_ADVANCE): Likewise.
7151 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7152
71532008-02-07 Jim Meyering <meyering@redhat.com>
7154
7155 * lread.c [lint]: Don't include <sys/inode.h>.
7156
71572008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7158
7159 * xselect.c (x_handle_dnd_message):
7160 * xmenu.c (digest_single_submenu, xmenu_show):
7161 * xdisp.c (with_echo_area_buffer_unwind_data)
7162 (format_mode_line_unwind_data, unwind_format_mode_line)
7163 (display_menu_bar):
7164 * eval.c (Ffetch_bytecode):
7165 * doc.c (store_function_docstring):
7166 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7167 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7168 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7169
71702008-02-07 Kenichi Handa <handa@m17n.org>
7171
7172 * ftxfont.c (ftxfont_open): Don't set
7173 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7174
7175 * ftfont.c (ftfont_open): Fix previous change.
7176
71772008-02-06 Jason Rumney <jasonr@gnu.org>
7178
7179 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7180 Use cached metrics for ASCII characters.
7181 (w32font_open_internal): Don't set font's owning_frame.
7182 Cache metrics for ASCII characters.
7183
7184 * w32font.h (struct w32font_info): Add ascii_metrics.
7185 Remove owning_frame.
7186
71872008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7188
7189 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7190 to negative value.
7191
7192 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7193
7194 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7195
7196 * charset.c (syms_of_charset): Set QCtest and Qeq.
7197
71982008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7199
7200 * process.c (Fstart_process):
7201 * callproc.c (Fcall_process): Handle the case where
7202 Funhandled_file_name_directory returns nil.
7203
7204 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7205 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7206 * font.c (check_gstring): Use them and AREF to access the vector before
7207 we know it's really a gstring.
7208 (Ffont_shape_text): Fix typo.
7209 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7210
7211 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7212 Declare.
7213
7214 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7215
72162008-02-05 Jason Rumney <jasonr@gnu.org>
7217
7218 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7219 Set smallest_font_height and smallest_char_width in display info.
7220
72212008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7222
7223 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7224
72252008-02-05 Miles Bader <miles@gnu.org>
7226
7227 * xfaces.c (get_lface_attributes, merge_named_face)
7228 (lookup_named_face, lookup_derived_face, realize_named_face):
7229 Revert 2008-02-01 change by cyd@stupidchicken.com.
7230
72312008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7232
7233 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7234 fallback fonts.
7235 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7236
72372008-02-04 Jason Rumney <jasonr@gnu.org>
7238
7239 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7240 set full_name.
7241 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7242
72432008-02-03 Jason Rumney <jasonr@gnu.org>
7244
7245 * makefile.w32-in (OBJ1): Include font.o here.
7246 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7247
72482008-02-02 Jason Rumney <jasonr@gnu.org>
7249
7250 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7251
72522008-02-01 Jason Rumney <jasonr@gnu.org>
7253
7254 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7255
7256 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7257
72582008-02-01 Andreas Schwab <schwab@suse.de>
7259
7260 * Makefile.in (shortlisp, lisp): Update for rename of
7261 ../lisp/language/myanmar.el.
7262
72632008-02-01 Chong Yidong <cyd@stupidchicken.com>
7264
7265 * xfaces.c (get_lface_attributes): Delete function.
7266 (merge_named_face, lookup_named_face, lookup_derived_face)
7267 (realize_named_face): Call lface_from_face_name directly, and use
7268 the fact that merge_face_vectors does not alter its FROM argument.
7269
72702008-02-01 Jason Rumney <jasonr@gnu.org>
7271
7272 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7273 input in the default locale. Handle non-Unicode multibyte input.
7274
72752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7276
7277 * fontset.c (reorder_font_vector): Exclude nil elements from the
7278 font group. Don't try multiple fonts.
7279 (fontset_font): Adjust for the above change.
7280 (Finternal_char_font): Return nil if the found font doesn't
7281 contain the character ch.
7282
7283 * Makefile.in (lisp, shortlisp): Add cham.el.
7284
72852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7286
7287 * font.h (FONTP): Make it return 1 also for a font-object.
7288
7289 * .gdbinit (xfontset): New function.
7290
7291 * font.c (font_find_for_lface): Check if the character C is
7292 supported or not only for the first font.
7293
7294 * fontset.c (reorder_font_vector): Fix typo.
7295 (fontset_find_font): Don't add a font-spec specifying a script.
7296 Use 0 (not Qt) for the indication of empty font-group. Change the
7297 format of RFONT-DEF. Return Qt if no font in the font-group
7298 support the character.
7299 (fontset_font): Adjust for the above change. If no font was
7300 found the character, remember that.
7301 (face_for_char): Adjust for the change of RFONT-DEF.
7302 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7303 no font for the target.
7304 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7305
73062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7307
7308 * font.c (font_load_for_face): Handle the case that the font in
7309 face->lface is a string.
7310
73112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7312
7313 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7314
73152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7316
7317 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7318 Fix previous change. If the frame is not on a window system,
7319 signal an error.
7320
73212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7322
7323 * coding.c (decode_coding_object, encode_coding_object): Adjust
7324 marker positions after conversion.
7325
7326 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7327
73282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7329
7330 * font.c (font_find_for_lface): Fix the handling of the return
7331 value of font_has_char.
7332 (Ffont_shape_text): Fix previous change.
7333
7334 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7335 (fontset_ref_and_range): Delete it.
7336 (fontset_find_font): Call char_table_ref_and_range instead of
7337 FONTSET_REF_AND_RANGE.
7338 (make_fontset): Don't setup font groups of Latin here.
7339 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7340 (new_fontset_from_font): Make the specified font the default for
7341 all Latin characters.
7342
73432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7344
7345 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7346 is on a window system before accessing the fontset of the frame.
7347
73482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7349
7350 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7351
7352 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7353 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7354
7355 * font.c (Ffont_shape_text): If the font driver doesn't have a
7356 shaper function, make zero-width glyphs to have at least one-pixel
7357 width. Fix setting of `to' field of glyphs.
7358
73592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7360
7361 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7362 glyphs.
7363
7364 * font.h (struct font_driver): Improve docstring of member `shape'.
7365
73662008-02-01 Kenichi Handa <handa@m17n.org>
7367
7368 * composite.c (syms_of_composite): Fix docstring of
7369 auto-composition-function.
7370
7371 * font.h (LGLYPH_SIZE): New macro.
7372
7373 * font.c (Ffont_fill_gstring): Stop filling when a character not
7374 supported by the font is found.
7375 (Ffont_shape_text): When a shape callback function returns nil,
7376 try at most two more times with larger gstring.
7377 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7378
7379 * xdisp.c (handle_auto_composed_prop): Change the argument to
7380 auto-composition-function.
7381
7382 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7383 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7384 Lispy glyph and store it in the lgstring.
7385
7386 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7387
7388 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7389
73902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7391
7392 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7393
7394 * fontset.c (Vfont_encoding_charset_alist): New variable.
7395 (syms_of_fontset): DEFVAR it.
7396 (reorder_font_vector, fontset_find_font): Optimize for the case of
7397 no need of reordering.
7398 (face_for_char): Map the charset property by
7399 Vfont_encoding_charset_alist.
7400
74012008-02-01 Jason Rumney <jasonr@gnu.org>
7402
7403 * w32font.c (logfonts_match): Don't check adstyle here.
7404 (font_matches_spec): Check here against physical font instead.
7405 (add_font_entity_to_list): Avoid some substitutions.
7406
7407 * font.c (font_parse_fcname): Default weight and slant to normal.
7408 (font_score): Prefer normal fonts if weight or slant unspecified.
7409 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7410 match freetype scores.
7411
74122008-02-01 Jason Rumney <jasonr@gnu.org>
7413
7414 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7415 font, as it may have been deleted.
7416 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7417 most common hyphenless variation.
7418 (logfonts_match): Check generic family.
7419 (font_matches_spec): Don't check generic family here.
7420 (fill_in_logfont): Set generic family based on adstyle.
7421
7422 * w32font.h (w32font_get_cache): Update declaration.
7423
74242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7425
7426 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7427
7428 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7429 If none of the new drivers are available, call font_update_drivers
7430 with the old drivers.
7431
7432 * w32font.c (w32font_get_cache): Adjust the argument type.
7433
7434 * xfont.c (xfont_get_cache): Adjust the argument type.
7435
7436 * font.h (struct font_driver): Change argument type of get_cache.
7437
7438 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7439
7440 * font.c (Ffont_get): Fix arguments to Fassoc.
7441 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7442 (font_clear_cache): New function.
7443 (font_list_entities, font_matching_entity): Use font_get_cache.
7444 (font_update_drivers): Call font_clear_cache when finishing a driver.
7445
7446 * fontset.c (fontset_find_font): Fix previous change.
7447
74482008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7449
7450 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7451 dpyinfo->font_table.
7452 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7453 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7454
7455 * font.c (font_at): Handle the case that the arg C is negative.
7456 Handle the unibyte case.
7457 (Ffont_at): Call font_at with the arg C -1.
7458
7459 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7460 the position here, and call font_at with the arg C -1.
7461 Don't check the range of the existing composition at the point.
7462
74632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7464
7465 * fontset.c (fontset_add): New args charset_id and family.
7466 Change caller.
7467 (load_font_get_repertory, fontset_find_font): Assume that
7468 font_spec is always a font-spec object.
7469 (Fset_fontset_font): Always store a font-spec object in a fontset.
7470
7471 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7472 instead of get_property_and_range.
7473
74742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7475
7476 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7477 (xftfont_open): Don't keep locking face.
7478 (xftfont_close): Don't unlock face.
7479 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7480
7481 * fontset.c (fontset_find_font): Don't prefer a font of
7482 supplementary charset.
7483
74842008-02-01 Kenichi Handa <handa@m17n.org>
7485
7486 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7487 script, langsys_tag to langsys, new member script.
7488 (OTF_TAG_STR): Terminate by '\0'.
7489 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7490 listing to the script specified in that property. Fix arg to
7491 OTF_check_features.
7492
74932008-02-01 Jason Rumney <jasonr@gnu.org>
7494
7495 * w32font.h: New file.
7496
7497 * w32font.c: Include it.
7498 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7499 (w32font_open): Set owning_frame.
7500 (w32font_text_extents): Use owning_frame.
7501 (struct font_callback_data): Add opentype_only field.
7502 (add_font_entity_to_list): Use it to filter fonts.
7503 Don't check against full name.
7504 (w32font_list_internal): New function.
7505 (w32font_list): Use it.
7506 (w32font_match_internal): New function.
7507 (w32font_match): Use it.
7508 (w32font_open_internal): New function.
7509 (w32font_open): Use it.
7510 (w32font_get_cache, w32font_close, w32font_has_char)
7511 (w32font_encode_char, w32font_text_extents, w32font_draw):
7512 Make non-static.
7513
7514 * makefile.w32-in (w32font.o): Depend on w32font.h.
7515
75162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7517
7518 * charset.c (Fdefine_charset_internal): Record a supplementary
7519 charset at the tail of Vcharset_order_list.
7520
7521 * font.c (Ffont_shape_text): Fix the return value.
7522
7523 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7524
7525 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7526
75272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7528
7529 * ftfont.c (struct OpenTypeSpec): New struct.
7530 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7531 (ftfont_get_open_type_spec): New function.
7532 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7533
7534 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7535
75362008-02-01 Jason Rumney <jasonr@gnu.org>
7537
7538 * w32font.c (add_font_entity_to_list): Compare only the beginning
7539 of full name.
7540
75412008-02-01 Kenichi Handa <handa@m17n.org>
7542
7543 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7544 Never return HANDLED_RECOMPUTE_PROPS.
7545
75462008-02-01 Kenichi Handa <handa@m17n.org>
7547
7548 * font.c (font_gstring_produce): Delete it.
7549
7550 * composite.h (COMPOSITION_METHOD):
7551 Handle COMPOSITION_WITH_GLYPH_STRING.
7552
75532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7554
7555 * xfont.c (Qx): Delete.
7556 (syms_of_xfont): Don't initialize Qx.
7557
7558 * composite.h (enum composition_method):
7559 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7560
75612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7562
7563 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7564 (choose_face_font): Accept new form of font-spec.
7565
7566 * frame.h (font_driver_list): Declare it unconditionally.
7567 (struct frame): Define members font_driver_list and font_data_list
7568 unconditionally.
7569
7570 * fontset.c: Include "font.h" unconditionally.
7571 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7572 (Fset_fontset_font): Accept a font-spec object.
7573
7574 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7575 PIXEL_SIZE part a wild card.
7576
7577 * dispextern.h (struct glyph_string): Define members clip and
7578 num_clips unconditionally.
7579 (struct face): Define members font_info and extra unconditionally.
7580
7581 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7582 ftfont_info only when HAVE_LIBOTF is defined.
7583
75842008-02-01 Andreas Schwab <schwab@suse.de>
7585
7586 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7587 and end.
7588
75892008-02-01 Jason Rumney <jasonr@gnu.org>
7590
7591 * w32font.c (w32font_driver): Add new fields.
7592
75932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7594
7595 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7596 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7597 (LIBES): Add @M17N_FLT_CFLAGS@.
7598
7599 * composite.c (compose_text): Don't treat the new style
7600 composition specially.
7601
7602 * emacs.c (main): Call syms_of_font unconditionally.
7603
7604 * font.h (FONT_ENTITY_NOT_LOADABLE)
7605 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7606 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7607 (struct font_driver): New member shape.
7608 (font_registry_charsets): Extern it.
7609 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7610 (font_otf_capability, font_drive_otf): Delete their externs.
7611
7612 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7613 (font_charset_alist, font_registry_charsets): Move from xfont.c
7614 and rename.
7615 (font_prop_validate_otf): New function.
7616 (font_property_table): Register it for QCotf.
7617 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7618 (font_drive_otf): Delete.
7619 (font_prepare_composition): New arg F. Adjust for the change of
7620 lispy gstring.
7621 (font_find_for_lface): New arg C.
7622 (font_load_for_face): Adjust for the change of font_find_for_lface.
7623 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7624 lispy gstring.
7625 (Ffont_shape_text): New function.
7626 (Fopen_font): If the font size is not given, use 12-pixel.
7627 (Ffont_at): New arg STRING.
7628 (syms_of_font): Initalize font_charset_alist.
7629 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7630 conditionally.
7631
7632 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7633 fonts of the same font-spec. Change the format of RFONT-DEF.
7634 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7635 Adjust for the change of RFONT-DEF.
7636 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7637
7638 * ftfont.h: New file.
7639
7640 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7641 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7642 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7643 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7644 font_otf_capability and font_drive_otf, set ftfont_shape.
7645 (ftfont_list): Adjust for the change of :otf property value.
7646 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7647 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7648 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7649 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7650 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7651 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7652
7653 * w32term.c (x_draw_composite_glyph_string_foreground):
7654 Adjust for the change of lispy gstring.
7655
7656 * xdisp.c (handle_composition_prop): Adjust for the change of
7657 lispy gstring. Call a function for auto-composition with the
7658 third arg it->window.
7659 (fill_composite_glyph_string): Adjust for the change of lispy string.
7660 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7661
7662 * xfaces.c (set_font_frame_param): Adjust for the change of
7663 font_find_for_lface.
7664
7665 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7666 (xfont_registry_charsets): Likewise. Change caller.
7667 (syms_of_xfont): Don't handle x_font_charset_alist.
7668
7669 * xftfont.c: Include "ftfont.h".
7670 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7671 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7672 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7673 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7674 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7675 Set xftfont_driver.shape to xftfont_shape.
7676
7677 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7678 the change of lispy gstring.
7679
76802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7681
7682 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7683
76842008-02-01 Jason Rumney <jasonr@gnu.org>
7685
7686 * w32font.c (w32font_draw): Fill background manually.
7687
76882008-02-01 Jason Rumney <jasonr@gnu.org>
7689
7690 * font.c (Qfontp): Remove unused symbol.
7691 (QCantialias): New symbol.
7692 (syms_of_font): Define it.
7693 (font_property_table): Set a validator for QCantialias.
7694
7695 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7696 Define if not already.
7697 (QCfamily): Share with xfaces.c.
7698 (Qstandard, Qsubpixel, Qnatural): New symbols.
7699 (syms_of_w32font): Define them. Don't define QCfamily here.
7700 (w32_antialias_type, lispy_antialias_type): New functions.
7701 (w32_enumfont_pattern_entity): New arg requested_font.
7702 Set antialias parameter if non-default was requested.
7703 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7704
77052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7706
7707 * lread.c (read1): Undo the previous change.
7708
77092008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7710
7711 * frame.c (Fdelete_frame): Call font_update_drivers only when
7712 USE_FONT_BACKEND is defined.
7713
77142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7715
7716 * font.h (struct font_bitmap): New member bits_per_pixel.
7717 (struct font_driver): New members start_for_frame and end_for_frame.
7718 (struct font_data_list): New struct.
7719 (font_put_frame_data, font_get_frame_data): Extern them.
7720
7721 * frame.h (struct frame): New member font_data_list.
7722
7723 * font.c (font_update_drivers): Call driver->start_for_frame and
7724 driver->end_for_frame at proper timings.
7725 (font_put_frame_data, font_get_frame_data): New functions.
7726 (Ffont_spec): Add usage in the docstring.
7727
7728 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7729 (Fdelete_frame): Call font_update_drivers.
7730
7731 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7732 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7733 (xftfont_get_xft_draw): New function.
7734 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7735 (xftfont_end_for_frame): New function.
7736 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7737
7738 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7739 Change argument. Cache GCs in the per-frame data.
7740 (struct ftxfont_frame_data): New struct.
7741 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7742 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7743 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7744 (ftxfont_end_for_frame): New function.
7745 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7746
7747 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7748
77492008-02-01 Kenichi Handa <handa@m17n.org>
7750
7751 * xselect.c (Vselection_coding_system)
7752 (Vnext_selection_coding_system): Delete them.
7753 (syms_of_xselect): Don't declare selection-coding-system and
7754 next-selection-coding-system. They are declared in select.el.
7755
77562008-02-01 Jason Rumney <jasonr@gnu.org>
7757
7758 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7759
7760 * w32fns.c: Include imm.h.
7761 (get_composition_string_fn, get_ime_context_fn): New optional
7762 system functions.
7763 (globals_of_w32fns): Load them from imm32.dll.
7764 (ignore_ime_char): New flag.
7765 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7766 WM_IME_ENDCOMPOSITION messages.
7767
7768 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7769 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7770
77712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7772
7773 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7774 (READCHAR_REPORT_MULTIBYTE): New macro.
7775 (readchar): New 2nd arg MULTIBYTE.
7776 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7777 Make symbol's name multibyte according to the multibyteness of the
7778 source.
7779
77802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7781
7782 * xfaces.c (face_for_overlay_string): Call lookup_face with
7783 correct arguments (fix of synching with the trunk).
7784
77852008-02-01 Kenichi Handa <handa@m17n.org>
7786
7787 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7788 (font_prop_validate_non_neg, font_prop_validate_spacing):
7789 Delete argument prop_index.
7790 (font_property_table): Change arguments to validater. Change Callers.
7791 (font_lispy_object): Delete.
7792 (font_at): Use font_find_object instead fo font_lispy_object.
7793
77942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7795
7796 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7797 and file names.
7798
77992008-02-01 Jason Rumney <jasonr@gnu.org>
7800
7801 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7802 (font_matches_spec): Remove debug output.
7803 (add_font_entity_to_list): Avoid using substituted fonts.
7804
78052008-02-01 Jason Rumney <jasonr@gnu.org>
7806
7807 * doc.c (Fsnarf_documentation):
7808 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7809
78102008-02-01 Miles Bader <miles@gnu.org>
7811
7812 * dispextern.h (struct glyph_row): Only define "clip" field if
7813 HAVE_WINDOW_SYSTEM is defined.
7814
78152008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7816
7817 Fix up multi-tty merge.
7818
7819 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7820 and indentation.
7821
7822 * xfaces.c (free_realized_face, clear_face_gcs):
7823 Include font_done_for_face in the input_blocked section, just in case.
7824
7825 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7826 (get_char_face_and_encoding): Undo last change and remove the *other*
7827 duplicate definition (i.e. keep the one that's better scoped and that
7828 includes code for the font-backend).
7829
7830 * terminal.c (create_terminal): Default keyboard_coding to
7831 `no-conversion' and terminal_coding to `undecided'.
7832
7833 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7834
7835 * fontset.c (free_realized_fontsets): Check that the table entry does
7836 contain a fontset before trying to compare it to `base'.
7837
7838 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7839 syms_of_charset, and syms_of_coding earlier because init_window_once
7840 now needs Vcoding_system_hash_table to be setup.
7841
7842 * coding.h (default_buffer_file_coding): Remove.
7843
7844 * coding.c (default_buffer_file_coding): Remove.
7845 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7846 than ->symbol, and use the terminal-local coding system.
7847 (syms_of_coding): Don't setup the coding-systems that are not
7848 terminal-local.
7849 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7850
7851 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7852 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7853
7854 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7855 in chartab.c and were re-added here by mistake.
7856 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7857
7858 * doc.c (Fsnarf_documentation):
7859 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7860 src to etc.
7861
7862 * ChangeLog.10: Add mistakenly removed entry.
7863
78642008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
7865
7866 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7867
78682008-02-01 Miles Bader <miles@gnu.org>
7869
7870 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7871 Add extra args to FACE_FOR_CHAR.
7872
78732008-02-01 Kenichi Handa <handa@m17n.org>
7874
7875 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7876 in sequence.
7877
7878 * chartab.c (map_sub_char_table, map_char_table): If the range
7879 contains just one character, call the function with that character
7880 even if the depth is not 3.
7881
78822008-02-01 Jason Rumney <jasonr@gnu.org>
7883
7884 * w32font.c (w32font_text_extents): Calculate metrics for the
7885 whole string.
7886
78872008-02-01 Jason Rumney <jasonr@gnu.org>
7888
7889 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7890
78912008-02-01 Jason Rumney <jasonr@gnu.org>
7892
7893 * w32term.c (x_set_glyph_string_clipping): Use
7894 get_glyph_string_clip_rects.
7895 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7896 Adjust for the change of struct glyph_string.
7897
7898 * w32font.c (w32font_draw): Do clipping here.
7899
79002008-02-01 Kenichi Handa <handa@m17n.org>
7901
7902 * xftfont.c (xftfont_draw): Adjust for the change of struct
7903 glyph_string.
7904
7905 * xterm.c (x_set_glyph_string_clipping): Use
7906 get_glyph_string_clip_rects.
7907 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7908 Adjust for the change of struct glyph_string.
7909
7910 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7911 the resulting clip(s}.
7912 (expose_overlaps): Add arg r. Change callers. Set it to
7913 row->clip temporarily.
7914 (expose_window): Redraw rows overlapping the exposed area.
7915
7916 * dispextern.h (struct glyph_row): New member clip.
7917 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7918 clip_height, new member clip, and num_clips.
7919
79202008-02-01 Kenichi Handa <handa@m17n.org>
7921
7922 * data.c (Fchar_or_string_p): Fix docstring.
7923
79242008-02-01 Kenichi Handa <handa@m17n.org>
7925
7926 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
7927 create a temporary XftDraw object.
7928
79292008-02-01 Kenichi Handa <handa@m17n.org>
7930
7931 * font.c (Ffontp): Fix docstring.
7932
7933 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7934 strong evidence of ISO-2022.
7935
79362008-02-01 Kenichi Handa <handa@m17n.org>
7937
7938 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7939 SYNTAX_ENTRY_FOLLOW_PARENT.
7940
79412008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
7942
7943 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7944 its type.
7945 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7946 Update to the new type of weak_hash_tables and next_weak.
7947
7948 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7949 a plain C pointer to Lisp_Hash_Table.
7950
7951 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7952 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7953 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7954 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7955 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7956 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7957 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7958 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7959 (GC_EQ): Remove since they've been identical to their non-GC_
7960 alter-egos ever since the markbit was eradicated.
7961
7962 * alloc.c:
7963 * buffer.c:
7964 * buffer.h:
7965 * data.c:
7966 * fileio.c:
7967 * filelock.c:
7968 * fns.c:
7969 * frame.h:
7970 * lisp.h:
7971 * macterm.c:
7972 * print.c:
7973 * process.c:
7974 * w32fns.c:
7975 * w32menu.c:
7976 * w32term.c:
7977 * xfns.c:
7978 * xmenu.c:
7979 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
7980
79812008-02-01 Kenichi Handa <handa@m17n.org>
7982
7983 * chartab.c (map_sub_char_table): Make it work for the top-level
7984 char-table. Fix handling of parent char-table.
7985 (map_char_table): Adjust for the above change.
7986
79872008-02-01 Jason Rumney <jasonr@gnu.org>
7988
7989 * w32font.c (Qgdi): Rename from Qw32.
7990
79912008-02-01 Jason Rumney <jasonr@gnu.org>
7992
7993 * w32bdf.c (get_quoted_string): Make function static.
7994
79952008-02-01 Kenichi Handa <handa@m17n.org>
7996
7997 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7998 bigger ascent and descent than those of the font, use them as
7999 font's ascent and descent.
8000
80012008-02-01 Kenichi Handa <handa@m17n.org>
8002
8003 * Makefile.in (${lispsource}international/charprop.el): Move this
8004 target within "#ifdef HAVE_UNIDATA" and "#endif".
8005
80062008-02-01 Kenichi Handa <handa@m17n.org>
8007
8008 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8009 (shortlisp): Add ../lisp/language/tai-viet.el.
8010
80112008-02-01 Ulrich Mueller <ulm@gentoo.org>
8012
8013 * Makefile.in (${lispsource}international/charprop.el): Depend on
8014 temacs${EXEEXT}.
8015
80162008-02-01 Jason Rumney <jasonr@gnu.org>
8017
8018 * w32font.c (w32font_close): Delete the GDI font object.
8019
8020 * w32menu.c: Include character.h.
8021
8022 * w32proc.c: Likewise.
8023
8024 * w32select.c: Likewise.
8025
8026 * makefile.w32-in (w32proc.o): Depend on character.h.
8027
80282008-02-01 Jason Rumney <jasonr@gnu.org>
8029
8030 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8031
8032 * w32menu.c (syms_of_w32menu): Likewise.
8033
8034 * w32proc.c (syms_of_ntproc): Likewise.
8035
8036 * w32select.c (syms_of_w32select): Likewise.
8037
8038 * w32term.c (syms_of_w32term): Likewise.
8039
80402008-02-01 Jason Rumney <jasonr@gnu.org>
8041
8042 * w32font.c (w32font_draw): Delete brush after using it.
8043
80442008-02-01 Jason Rumney <jasonr@gnu.org>
8045
8046 * w32font.c (w32font_open): Don't set font_idx.
8047 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8048 to font settings.
8049 (w32font_draw): Fill background explicitly.
8050
80512008-02-01 Jason Rumney <jasonr@gnu.org>
8052
8053 * w32term.c (w32_initialize): Don't call w32font_initialize.
8054
8055 * w32font.c (w32font_info): Remove subranges.
8056 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8057 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8058 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8059 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8060 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8061 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8062 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8063 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8064 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8065 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8066 New symbols.
8067 (font_callback_data): New struct.
8068 (w32font_list, w32font_match): Use it.
8069 (w32font_open): Don't populate subranges.
8070 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8071 (w32font_encode_char): Always return unicode code-point as-is.
8072 (w32font_text_extents): Supply a transformation matrix to
8073 GetGlyphOutline. Never look up by glyph index. Avoid looping
8074 twice. Use unicode version of GetTexExtentPoint32 instead of
8075 glyph index version.
8076 (set_fonts_frame): Remove.
8077 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8078 set frame parameter. Use backward compatible fake foundries.
8079 Save generic family in extra slot under QCfamily. Make width slot
8080 constant. Save QCspacing value. Save list of scripts instead of
8081 binary subranges.
8082 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8083 (add_font_entity_to_list): Use font_callback_data struct. Filter
8084 unwanted fonts.
8085 (add_one_font_entity_to_list): Use font_callback_data struct.
8086 (w32_registry): Default to iso10646_1.
8087 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8088 string font registries. Don't fill in font name if it is a generic
8089 family name, fill family instead. Use spacing, family and script
8090 extra info to fill pitch, family and charset fields.
8091 (list_all_matching_fonts): Use font_callback_data struct.
8092 (unicode_range_for_char): Remove.
8093 (font_supported_scripts): New function.
8094 (w32font_initialize): Remove.
8095 (syms_of_w32font): Update which symbols are defined.
8096
80972008-02-01 Jason Rumney <jasonr@gnu.org>
8098
8099 * font.c (font_pixel_size): Reverse assq_no_quit args.
8100
8101 * w32term.h (FONT_WIDTH): Report max width, not average.
8102 (FONT_MAX_WIDTH): Remove.
8103 (FONT_AVG_WIDTH): New macro.
8104
8105 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8106 redefinition of FONT_WIDTH.
8107
8108 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8109 (w32_cache_char_metrics): Use FONT_WIDTH.
8110
8111 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8112
81132008-02-01 Jason Rumney <jasonr@gnu.org>
8114
8115 * w32font.c (w32font_open): Make lfHeight negative.
8116
8117 * w32fns.c (x_default_font_parameter): Use new style font name.
8118 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8119
81202008-02-01 Jason Rumney <jasonr@gnu.org>
8121
8122 * w32font.c (QCsubranges): New symbol.
8123 (w32font_open, w32font_has_char): Get subranges from subproperty
8124 of extra.
8125 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8126 (syms_of_w32font): Define :subranges symbol.
8127
8128 * font.c (font_put_extra): Expose externally.
8129
8130 * font.h (font_put_extra): Move declaration from font.c.
8131
8132 * font.c (Ffont_get): Use font driver to determine otf capability.
8133 (adjust_anchor): Check if driver defines anchor_point before using.
8134
8135 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8136 (w32font_draw): Use options.
8137 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8138 Fix detection of truetype fonts.
8139 (registry_to_w32_charset): Handle charsets other than iso8859-1
8140 expressed as lisp symbols.
8141 (w32_registry): Express charset as lisp symbol.
8142 (fill_in_logfont): Reverse pixel and point height logic.
8143 Don't set width here. Set quality to default.
8144
8145 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8146 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8147
8148 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8149 Remove redundant loop and allocation.
8150
8151 * makefile.w32-in (font.o, w32font.o): New objects.
8152 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8153 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8154
8155 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8156 STORE_XCHARB a valid l-value.
8157
8158 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8159 calculations for non-Truetype fonts.
8160 (x_draw_glyph_string): Sync with xterm.c.
8161 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8162 Remove redundant code.
8163 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8164
8165 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8166 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8167
8168 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8169 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8170
8171 * w32font.c: New file for w32 font backend.
8172
81732008-02-01 Kenichi Handa <handa@m17n.org>
8174
8175 * term.c: Don't include "buffer.h" twice.
8176
81772008-02-01 Kenichi Handa <handa@m17n.org>
8178
8179 * character.c (Funibyte_string): New function.
8180 (syms_of_character): Defsubr it.
8181
81822008-02-01 Jason Rumney <jasonr@gnu.org>
8183
8184 * w32term.c [USE_FONT_BACKEND]:
8185 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8186 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8187 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8188 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8189 (x_free_frame_resources): Sync with xterm.c.
8190
81912008-02-01 Andreas Schwab <schwab@suse.de>
8192
8193 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8194 char-table size.
8195
81962008-02-01 Kenichi Handa <handa@m17n.org>
8197
8198 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8199
82002008-02-01 Kenichi Handa <handa@m17n.org>
8201
8202 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8203 font_otf_gpos, add font_drive_otf.
8204
8205 * fontset.c (fontset_find_font): Pay attention to font size
8206 specified for a font.
8207 (reorder_font_vector): Check contents of font_def.
8208
8209 * font.c (struct otf_list): Delete it.
8210 (otf_list): Make it a lisp variable.
8211 (otf_open): Use lispy otf_list.
8212 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8213 (check_otf_features): New function.
8214 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8215 New functions.
8216 (font_drive_otf): New function merging font_otf_gsub and
8217 font_otf_gpos.
8218 (font_open_for_lface): New arg spec. Change argument order.
8219 (font_load_for_face): Adjust for the change of font_open_for_lface.
8220 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8221 Ffont_otf_gpos.
8222 (syms_of_font): Staticpro otf_list. Delete defsubr of
8223 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8224
8225 * xfaces.c (set_font_frame_param): Adjust for the change of
8226 font_open_for_lface.
8227
8228 * font.h (font_open_for_lface): Adjust prototype.
8229 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8230 member otf_drive.
8231 (font_otf_gsub, font_otf_gpos): Delete externs.
8232 (font_drive_otf): Extern it.
8233
82342008-02-01 Kenichi Handa <handa@m17n.org>
8235
8236 * font.c (font_at): If the window W is not on a window system,
8237 return Qnil.
8238
8239 * coding.c (produce_chars, encode_coding): Don't call
8240 insert_from_gap if no characters to produce.
8241
82422008-02-01 Kenichi Handa <handa@m17n.org>
8243
8244 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8245 Fclear_face_cache.
8246
8247 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8248
82492008-02-01 Miles Bader <miles@gnu.org>
8250
8251 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8252 Parse "--disable-font-backend" option.
8253 (standard_args): Add "--disable-font-backend" option.
8254
82552008-02-01 Kenichi Handa <handa@m17n.org>
8256
8257 * fontset.c (fontset_find_font): New function.
8258 (fontset_font): Use fontset_find_font.
8259 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8260 Register the specified font for all Latin characters.
8261 (new_fontset_from_font): Register the specified font for all Latin
8262 characters.
8263 (dump_fontset): For a realized fontset, include the base fontset
8264 name in the returned vector.
8265
82662008-02-01 Kenichi Handa <handa@m17n.org>
8267
8268 * character.h (CHAR_STRING): Cast C to unsigned on calling
8269 char_string.
8270
8271 * character.c (char_string): Type of arg C changed to unsigned.
8272 Signal an error if C is an invalid character code.
8273
8274 * editfns.c (general_insert_function, Fchar_to_string):
8275 Use CHARACTERP, not INTEGERP.
8276
82772008-02-01 Kenichi Handa <handa@m17n.org>
8278
8279 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8280 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8281
8282 * regex.c (analyse_first): Fix for multibyte characters in "case
8283 charset:" and "case categoryspec:".
8284
82852008-02-01 Andreas Schwab <schwab@suse.de>
8286
8287 * Makefile.in (LIBES): Move standard libraries to the end.
8288
82892008-02-01 Kenichi Handa <handa@m17n.org>
8290
8291 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8292 nonzero, don't shrink the buffer nextb.
8293
8294 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8295
8296 * coding.c (coding_alloc_by_making_gap): New arg offset.
8297 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8298 offset.
8299 (decode_coding_iso_2022): Update coding->safe_charsets.
8300 (decode_coding_gap): Temporarily set
8301 current_buffer->text->inhibit_shrinking to 1.
8302
83032008-02-01 Kenichi Handa <handa@m17n.org>
8304
8305 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8306 indexing into elements of s->cmp and s->char2b.
8307
83082008-02-01 Juanma Barranquero <lekktu@gmail.com>
8309
8310 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8311
83122008-02-01 Kenichi Handa <handa@m17n.org>
8313
8314 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8315 target_multibyte instead of multibyte.
8316 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8317 (bcmp_translate): Change the argument name from multibyte to
8318 target_multibyte.
8319
83202008-02-01 Kenichi Handa <handa@m17n.org>
8321
8322 These changes are to compile a regexp into a pattern that can be
8323 used both for multibyte and unibyte targets.
8324
8325 * Makefile.in (search.o): Depend on charset.h.
8326
8327 * character.c (multibyte_char_to_unibyte_safe): New function.
8328
8329 * search.c: Include "charset.h".
8330 (compile_pattern_1): Delete argument multibyte. Don't set
8331 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8332 (compile_pattern): Don't compare cp->buf.target_multibyte.
8333 Compare cp->buf.charset_unibyte.
8334 (compile_pattern): Set cp->buf.target_multibyte.
8335
8336 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8337
8338 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8339
8340 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8341 multibyte. Change callers.
8342 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8343 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8344 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8345 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8346 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8347 (regex_compile): Make the compiled pattern usable both for
8348 multibyte and unibyte targets.
8349 (analyse_first): Make the fastmap usable both for multibyte and
8350 unibyte targets.
8351 (TRANSLATE_VIA_MULTIBYTE): Delete.
8352 (re_match_2_internal): Pay attention to the case that the
8353 multibyteness of bufp and target may be different.
8354
83552008-02-01 Kenichi Handa <handa@m17n.org>
8356
8357 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8358 empty box occupy at least one column width.
8359
83602008-02-01 Miles Bader <miles@gnu.org>
8361
8362 * Makefile.in: Remove redundant HAVE_XFT clause.
8363
83642008-02-01 Kenichi Handa <handa@m17n.org>
8365
8366 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8367
83682008-02-01 Kenichi Handa <handa@m17n.org>
8369
8370 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8371 being nil.
8372
83732008-02-01 Kenichi Handa <handa@m17n.org>
8374
8375 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8376
83772008-02-01 Kenichi Handa <handa@m17n.org>
8378
8379 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8380
83812008-02-01 Kenichi Handa <handa@m17n.org>
8382
8383 * search.c (simple_search): Fix previous change.
8384
83852008-02-01 Kenichi Handa <handa@m17n.org>
8386
8387 * xftfont.c (ftfont_font_format): Extern declaration.
8388
8389 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8390
8391 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8392 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8393
8394 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8395 (ftfont_font_format): Fix previous change.
8396
8397 * font.h (Ffont_xlfd_name): EXFUN it.
8398
8399 * font.c (font_parse_xlfd): Fix the array size of `f'.
8400 (register_font_driver): Use EQ to compare driver->type.
8401
8402 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8403 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8404 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8405
84062008-02-01 Kenichi Handa <handa@m17n.org>
8407
8408 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8409 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8410
84112008-02-01 Kenichi Handa <handa@m17n.org>
8412
8413 * xfont.c (xfont_open): Set font->format.
8414
8415 * xftfont.c (xftfont_open): Set font->format.
8416
8417 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8418 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8419 (ftfont_open): Set font->format.
8420 (ftfont_font_format): New function.
8421
8422 * font.h (struct font): New member format.
8423
8424 * font.c (Qopentype): New variable.
8425 (syms_of_font): Defsym it.
8426 (Fquery_font): Change the format of the last element of the return
8427 value.
8428
84292008-02-01 Kenichi Handa <handa@m17n.org>
8430
8431 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8432 last resort.
8433
84342008-02-01 Kenichi Handa <handa@m17n.org>
8435
8436 * coding.c (detect_coding_charset): Fix detection of multi-byte
8437 charset.
8438
84392008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8440
8441 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8442
84432008-02-01 Kenichi Handa <handa@m17n.org>
8444
8445 * xdisp.c (get_next_display_element): Set it->face_id for the
8446 first component of a composition.
8447 (x_produce_glyphs): Check if the font is changed or not for composition.
8448
84492008-02-01 Kenichi Handa <handa@m17n.org>
8450
8451 * fontset.c (Qlatin): New variable.
8452 (syms_of_fontset): Define it as a lisp symbol.
8453 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8454
84552008-02-01 Kenichi Handa <handa@m17n.org>
8456
8457 * font.c (font_unparse_fcname): Pay attention to the case that
8458 some of font property is a null string.
8459
84602008-02-01 Kenichi Handa <handa@m17n.org>
8461
8462 * term.c: Include "composite.h".
8463 (encode_terminal_code): Output all components of composition.
8464 Check the size of encode_terminal_src.
8465 (produce_glyphs): For composition, call produce_composite_glyph.
8466 (append_composite_glyph, produce_composite_glyph): New functions.
8467
8468 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8469 is not found, get font_info from the current ascii face.
8470
84712008-02-01 Kenichi Handa <handa@m17n.org>
8472
8473 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8474 buffer-file-name to Qnil before calling insert_from_buffer.
8475
8476 * font.c (font_unparse_fcname): Pay attention to the case that
8477 foundry is a null string.
8478
84792008-02-01 Kenichi Handa <handa@m17n.org>
8480
8481 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8482
8483 * font.c (Qunicode_sip): New variable.
8484 (syms_of_font): Declare it as a Lisp symbol.
8485
8486 * font.h (Qunicode_sip): Extern it.
8487
84882008-02-01 Kenichi Handa <handa@m17n.org>
8489
8490 * composite.c (get_composition_id): Pay attention to TAB component.
8491
8492 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8493 TAB. Adjust for the change of s->char2b which always points to
8494 the first element of allocated memory.
8495
8496 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8497
8498 * xdisp.c (handle_composition_prop): Set it->c to the first
8499 non-TAB component.
8500 (fill_composite_glyph_string): Change argument.
8501 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8502 (x_produce_glyphs): Fix handling of left/right padding.
8503
85042008-02-01 Kenichi Handa <handa@m17n.org>
8505
8506 * coding.c (detect_coding_system): Fix for handling off
8507 inhibit_iso_escape_detection. Fix for the case that no coding
8508 system is defined for a specific coding category.
8509
85102008-02-01 Kenichi Handa <handa@m17n.org>
8511
8512 * font.c (font_matching_entity): Delete unused local var.
8513
8514 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8515 opening a font.
8516
8517 * fileio.c (Finsert_file_contents): On recovering a file, assume
8518 Unix-like eol.
8519 (choose_write_coding_system): On auto-saving a file, force
8520 Unix-like eol.
8521
8522 * coding.c (setup_coding_system): Fix setting of
8523 coding->common_flags based on eol_type.
8524 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8525 inherit from it.
8526
85272008-02-01 Kenichi Handa <handa@m17n.org>
8528
8529 * alloc.c (NSTATICS): Increas to 0x600.
8530
85312008-02-01 Kenichi Handa <handa@m17n.org>
8532
8533 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8534 (ftfont_list): Don't check :name property.
8535 (ftfont_match): New function.
8536 (ftfont_pattern_entity): If the pattern doesn't contain
8537 FC_SPACING, don't assume FC_MONO.
8538
8539 * font.h (struct font_driver): New member `match'.
8540 (font_update_drivers): Adjust prototype.
8541
8542 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8543 property of FONT.
8544 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8545 them unconditionally.
8546 (font_matching_entity): New function.
8547 (font_open_by_name): Try font_matching_entity if exact match is
8548 not found.
8549 (font_update_drivers): Delete the arg FONT. Return a list of
8550 actually used backends. Don't free faces, font caches here.
8551 Don't store data in frame parameters. Don't call x_set_font.
8552 (Ffont_spec): Store :name property as is.
8553 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8554 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8555 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8556 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8557 Call font->driver->otf_gsub instead of font_otf_gsub.
8558
8559 * frame.c (x_set_font_backend): Do more works that were done in
8560 font_update_drivers before.
8561
8562 * xfont.c (xfont_match): New function.
8563 (xfont_driver): Set xfont_driver.match to xfont_match.
8564 (xfont_draw): Set font in GC if necessary.
8565
8566 * ftxfont.c (ftxfont_match): New function.
8567 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8568
8569 * xftfont.c (xftfont_match): New function.
8570 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8571
85722008-02-01 Kenichi Handa <handa@m17n.org>
8573
8574 * font.h (struct font): New member scalable.
8575 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8576 (font_otf_gsub): Adjust prototype.
8577
8578 * font.c (font_otf_capability): Fix handling of the default langsys.
8579 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8580 Check the contents of SPEC.
8581 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8582 (check_gstring): New function.
8583 (REPLACEMENT_CHARACTER): New macro.
8584 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8585 glyph codes of GSTRING.
8586 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8587 (font_prepare_composition): Set cmp->glyph_len.
8588 (font_open_entity): Set font->scalable.
8589 (Ffont_get): Handle :otf property.
8590 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8591 functions.
8592 (Fquery_font): Use font->font.full_name.
8593 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8594 Sfont_otf_alternates.
8595
8596 * ftfont.c (ftfont_open): Set font->font.full_name and
8597 font->font.name properly. Fix calculation of font->font.height
8598 and font->min_width.
8599
8600 * ftxfont.c (ftxfont_create_gcs): New function.
8601 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8602 (ftxfont_draw_backgrond): Fix filling region.
8603 (ftxfont_default_fid): New function.
8604 (ftxfont_open): Set xfont->fid to the return value of
8605 ftxfont_default_fid.
8606 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8607 (ftxfont_done_face): Free only GCs that are created by
8608 ftxfont_create_gcs.
8609 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8610
8611 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8612 Clip to src->width, etc (not src->clip_XXX).
8613
8614 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8615 FontBackend frame parameter.
8616
86172008-02-01 Kenichi Handa <handa@m17n.org>
8618
8619 * font.h (struct font_driver_list): New member `on'.
8620 (Fclear_font_cache): EXFUN it.
8621 (font_update_drivers): Extern it.
8622
8623 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8624 (font_list_entities): Check driver_list->on.
8625 (register_font_driver): Initalize `on' member to 0.
8626 (font_update_drivers): New function.
8627 (Fclear_font_cache): Check driver_list->on.
8628
8629 * frame.h (Qfont_backend): Extern it.
8630 (x_set_font_backend): Extern it.
8631
8632 * frame.c (Qfont_backend): New variable.
8633 (frame_parms): New element for font-backend.
8634 (x_set_font_backend): New function.
8635
8636 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8637 FontBackend frame parameter.
8638 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8639 x_set_font_backend.
8640
8641 * xfont.c (xfont_list): Don't try listing by :name property if the
8642 name is not for XLFD.
8643
86442008-02-01 Kenichi Handa <handa@m17n.org>
8645
8646 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8647 (LGLYPH_SET_TO): New macros.
8648 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8649 element of G is vector or not.
8650 (font_at): Extern it.
8651
8652 * font.c: Include window.h.
8653 (font_lispy_object): New function.
8654 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8655 end of valid glyph.
8656 (font_close_object): Fix getting (struct font *).
8657 (font_at): New function.
8658 (Ffont_get): If FONT is a font-object, get entity from it.
8659 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8660 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8661 range check.
8662 (Ffont_at): New function.
8663 (syms_of_font): Defsubr Sfont_at.
8664
8665 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8666 before the entry for Qcomposition.
8667 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8668 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8669 the font in gstring.
8670 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8671 LGLYPH_FORM (g) to detect the end of valid glyph.
8672 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8673 we are composing with gstring.
8674
8675 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8676 Check if adjustment is vector or not.
8677
8678 * Makefile.in (font.o): Make it depends on window.h.
8679
86802008-02-01 Kenichi Handa <handa@m17n.org>
8681
8682 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8683 adjustment is vector or not.
8684
86852008-02-01 Miles Bader <miles@gnu.org>
8686
8687 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8688
86892008-02-01 Kenichi Handa <handa@m17n.org>
8690
8691 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8692 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8693 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8694
8695 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8696 (DEVICE_DELTA): Fix typo.
8697 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8698 LGLYPH format.
8699
8700 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8701 the change of LGLYPH format.
8702
87032008-02-01 Kenichi Handa <handa@m17n.org>
8704
8705 * ftfont.c (ftfont_list): Fix typo.
8706 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8707
87082008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8709
8710 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8711
8712 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8713 xftface_info is non-NULL.
8714
87152008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8716
8717 * ftfont.c (ftfont_list): Move misplaced #endif.
8718
87192008-02-01 Kenichi Handa <handa@m17n.org>
8720
8721 * ftfont.c (ftfont_list): Pay attention to the case that
8722 FC_CAPABILITY is not defined.
8723
87242008-02-01 Kenichi Handa <handa@m17n.org>
8725
8726 * xftfont.c (xftfont_open): Set charset related members to -1.
8727
8728 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8729 QCname.
8730 (ftfont_open): Set charset related members to -1.
8731
8732 * fontset.c (Votf_script_alist): New variable.
8733 (syms_of_fontset): Initialize it.
8734 (fontset_font): Delete unused variable.
8735
8736 * fontset.h (Votf_script_alist): Extern it.
8737
8738 * font.c (font_find_for_lface): Optimize code.
8739
8740 * font.h (font_close_object, font_merge_old_spec): Extern them.
8741
87422008-02-01 Kenichi Handa <handa@m17n.org>
8743
8744 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8745 (syms_of_font): Initialize them.
8746 (font_pixel_size): Allow float value in dpi.
8747 (font_prop_validate_type): Delete.
8748 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8749 Change caller.
8750 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8751 (font_prop_validate_extra): Delete.
8752 (font_prop_validate_spacing): New function.
8753 (font_property_table): Add elements for all known properties.
8754 (get_font_prop_index): Rename from check_font_prop_name. New
8755 argument FROM. Change caller.
8756 (font_prop_validate): Validate all known properties.
8757 (font_put_extra): Delete argument force. Change caller.
8758 (font_expand_wildcards): Make it static. Fix the way of shrinking
8759 the possible range.
8760 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8761 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8762 Change caller.
8763 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8764 (font_parse_fcname): Delete argument merge. Fix parsing of point
8765 size. Don't validate properties values here. Change caller.
8766 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8767 (font_open_by_name): Delete unused variable.
8768 (Ffont_spec): Likewise. Validate property values.
8769 (Ffont_match_p): New function.
8770
8771 * font.h (QCscalable): Extern it.
8772 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8773
8774 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8775
8776 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8777 (xfont_list_pattern): New function.
8778 (xfont_list): Use xfont_list_pattern.
8779
87802008-02-01 Kenichi Handa <handa@m17n.org>
8781
8782 * font.h (Flist_fonts): EXFUN it.
8783
87842008-02-01 Jason Rumney <jasonr@gnu.org>
8785
8786 * w32term.c (w32_initialize): Add back smoothing_type and
8787 smoothing_enabled definitions.
8788
87892008-02-01 Kenichi Handa <handa@m17n.org>
8790
8791 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8792 s->face->font on determining underline position.
8793
87942008-02-01 Kenichi Handa <handa@m17n.org>
8795
8796 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8797 (font_has_char): Accept font-object too.
8798 (font_find_for_lface): Try at first with a size specified in face.
8799
88002008-02-01 Kenichi Handa <handa@m17n.org>
8801
8802 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8803 font_open_by_name.
8804
88052008-02-01 Kenichi Handa <handa@m17n.org>
8806
8807 * font.h (QCspacing, QCdpi): Extern them.
8808 (enum font_spacing): New enum.
8809 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8810
8811 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
8812 (QCspacing, QCdpi): New variables.
8813 (syms_of_font): Initialize them.
8814 (font_pixel_size): New function.
8815 (font_put_extra): New function.
8816 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8817 in FONT_EXTRA.
8818 (font_parse_fcname): Handle enumerated values (e.g. bold).
8819 Fix handling font size. Add QCname property that contains only
8820 unknown properties.
8821 (font_score): Change argument. Change caller. Pay attention to
8822 FONT_PIXEL_SIZE_QUANTUM.
8823 (font_sort_entites, font_list_entities, font_find_for_lface)
8824 (font_open_for_lface, font_open_by_name): Fix handling of font size.
8825 (Ffont_spec): Add QCname property that contains only unknown properties.
8826
8827 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8828 include weight in listing pattern, instead check weight of each
8829 listed font. Don't include scalable in pattern. Pay attention to
8830 FONT_PIXEL_SIZE_QUANTUM.
8831
88322008-02-01 Kenichi Handa <handa@m17n.org>
8833
8834 * font.c (font_parse_fcname): Fix parsing of point-size.
8835 (font_unparse_fcname): Produce symbolic names for style properties.
8836 (font_list_entities): Handle float size correctly.
8837 (font_open_by_name): Prefer `normal' property values if the name
8838 doesn't specify them.
8839
8840 * fontset.c (Finternal_char_font): Use font_get_name, not
8841 Ffont_xlfd_name.
8842
8843 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8844 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8845 pattern. Don't force scalable.
8846
8847 * xftfont.c (xftfont_open): For generating a name, start from
8848 96-byte buffer.
8849
88502008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8851
8852 * frame.h (x_new_fontset2): Fix prototype.
8853
88542008-02-01 Kenichi Handa <handa@m17n.org>
8855
8856 * font.h (struct font_driver): Delete member parse_name.
8857 (font_match_p, font_get_spec, font_parse_fcname)
8858 (font_unparse_fcname): Extern them.
8859 (font_get_name): Adjust prototype.
8860
8861 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8862 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8863 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8864 unnecessary checks for weight, slant, and swidth.
8865 (font_parse_fcname): New function.
8866 (font_unparse_fcname): New function.
8867 (font_parse_name): New function.
8868 (font_match_p): New function.
8869 (font_get_name): Change return value to Lisp string.
8870 (font_get_spec): New function.
8871 (Qunspecified, Qignore_defface): Don't extern them.
8872 (font_find_for_lface): Assume that LFACE is fully specified.
8873 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8874 object, use it for FACE.
8875 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8876 driver->parse_name.
8877 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8878
8879 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8880 prototype.
8881
8882 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8883 argument F. Don't call Fnew_fontset. Instead, directly call
8884 make_fontset.
8885
8886 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
8887
8888 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
8889 of x_new_fontset2.
8890
8891 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8892 (Qsans__serif): New variables.
8893 (ftfont_generic_family_list): New variable.
8894 (syms_of_ftfont): Initialize the above variables.
8895 (ftfont_pattern_entity): Delete argument NAME.
8896 (ftfont_list_generic_family): New function.
8897 (ftfont_parse_name): Delete this function.
8898 (ftfont_list): Try generic family only when FcFontList found no font.
8899 (ftfont_list_family): Fix args to FcObjectSetBuild.
8900
8901 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8902 object in attrs[LFACE_FONT_INDEX].
8903 (set_lface_from_font_name): Cancel all changes for font-backend.
8904 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8905 function.
8906 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8907 font object in QCfont attribute.
8908 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8909 (realize_default_face) [USE_FONT_BACKEND]: Call
8910 set_lface_from_font_and_fontset.
8911
8912 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8913 "fixed", and signal error here if no suitable font was found.
8914
8915 * xfont.c (xfont_parse_name): Delete this function.
8916
8917 * xftfont.c (xftfont_open): Change coding style of error
8918 handling. Generate fontconfig's fontname pattern.
8919
8920 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8921 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8922
8923 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8924 Both args FONTSET and FONT_OBJECT must be existing ones.
8925
89262008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8927
8928 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8929
89302008-02-01 Kenichi Handa <handa@m17n.org>
8931
8932 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8933
8934 * font.h (struct font): Fix typo.
8935
8936 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8937 XLFD_XXX_INDEX.
8938 (enum xlfd_field_mask): New enum.
8939 (intern_font_field): Changed argument. Change caller. If digits
8940 are followed by non-digits, return a symbol.
8941 (font_expand_wildcards): New function.
8942 (font_parse_xlfd): Fix wildcard handling.
8943 (Ffont_spec): If :name is specified, reflect the info in the other
8944 properties.
8945
8946 * ftfont.c (ftfont_pattern_entity): Fix typo.
8947 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8948 locale.
8949
89502008-02-01 Kenichi Handa <handa@m17n.org>
8951
8952 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8953
8954 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
8955 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8956 registry doesn't specify encoding part.
8957 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8958 (font_open_by_name): At first try parsing the name.
8959 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8960 as Lisp symbols.
8961
8962 * fontset.c (reorder_font_vector): Pay attention to the case that
8963 the 3rd element of font_def is nil.
8964 (fontset_font): For the default fontset, append one more fontset
8965 elements for a script-based font specification. Don't add script
8966 attribute on finding a font.
8967 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8968 font name.
8969 (fontset_ascii_font): If a font can't be opened, return nil.
8970
8971 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
8972 (ftfont_pattern_entity): New function.
8973 (ftfont_get_cache): Assume that freetype_font_cache is already
8974 initialized.
8975 (ftfont_list): Handle the case that a file is specified in font
8976 name. Use ftfont_pattern_entity to generate entities.
8977 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8978 (syms_of_ftfont): Initialize freetype_font_cache.
8979
8980 * xftfont.c (xftfont_open): Make the font name fontconfig's
8981 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8982 (xftfont_close): Free font->font.name if not NULL.
8983
8984 * xfont.c (xfont_list): If script is specified for a font, return
8985 null_vector.
8986 (xfont_list_family): Declare argument type.
8987
8988 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8989 name, set LFACE_FONT (lface) to nil.
8990
8991 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8992 return Qnil.
8993
89942008-02-01 Kenichi Handa <handa@m17n.org>
8995
8996 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
8997 (standard_args): Add "-enable-font-backend".
8998
89992008-02-01 Kenichi Handa <handa@m17n.org>
9000
9001 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9002 (struct xftdraw_list, xftdraw_list): Delete them.
9003 (register_xftdraw, check_xftdraw): Delete them.
9004 (xftfont_prepare_face): Don't call register_xftdraw.
9005 (xftfont_done_face): Don't call check_xftdraw.
9006 (xftfont_draw): Get background color only when with_background is
9007 nonzero.
9008
9009 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9010
90112008-02-01 Kenichi Handa <handa@m17n.org>
9012
9013 These changes are for the new font handling codes.
9014
9015 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9016 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9017 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9018 (FONTSRC, FONTOBJ): New variables.
9019 (obj): Add $(FONTOBJ).
9020 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9021 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9022 @LIBOTF_LIBS@.
9023 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9024 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9025
9026 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9027
9028 * character.h (Vscript_representative_chars): Extern it.
9029
9030 * character.c (Vscript_representative_chars): New variable.
9031 (syms_of_character): Declare it as a Lisp variable.
9032
9033 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9034 enable_font_backend is nonzero, accept the composition method
9035 COMPOSITION_WITH_GLYPH_STRING.
9036
9037 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9038 enumeration COMPOSITION_WITH_GLYPH_STRING.
9039
9040 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9041 members clip_x, clip_y, clip_width, and clip_height.
9042 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9043
9044 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9045 --enable-font-backend. Call syms_of_font.
9046
9047 * fns.c (assoc_no_quit): New function.
9048
9049 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9050 (face_for_font, new_fontset_from_font)
9051 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9052
9053 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9054 (fontset_font, fontset_ascii, face_for_char)
9055 (make_fontset_for_ascii_face, Ffont_info)
9056 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9057 is nonzero, use font-backend mechanism.
9058 (find_font_encoding): Make it non-static.
9059 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9060 New functions.
9061
9062 * frame.h (struct frame): New members resx and resy.
9063 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9064 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9065
9066 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9067 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9068
9069 * lisp.h (assoc_no_quit): Extern it.
9070
9071 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9072 Through out the file, use FONT_INFO_FROM_FACE instead of
9073 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9074 rif->per_char_metric.
9075 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9076 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9077 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9078 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9079 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9080 nonzero, use font-backend mechanism.
9081 (get_per_char_metric): New function.
9082
9083 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9084 (set_lface_from_font_name)
9085 (set_font_frame_param, free_realized_face)
9086 (prepare_face_for_display, clear_face_gcs)
9087 (Finternal_set_font_selection_order, realize_x_face)
9088 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9089 font-backend mechanism.
9090 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9091 (load_face_font) [USE_FONT_BACKEND]: Abort.
9092 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9093 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9094
9095 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9096 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9097 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9098 nonzero, register all available font drivers. Call
9099 x_default_font_parameter for deciding a font.
9100 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9101
9102 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9103 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9104 (x_set_glyph_string_clipping_exactly)
9105 (x_compute_glyph_string_overhangs)
9106 (x_draw_glyph_string_foreground)
9107 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9108 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9109 enable_font_backend is nonzero, use font-backend mechanism.
9110 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9111
91122008-02-01 Kenichi Handa <handa@m17n.org>
9113
9114 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9115 system_eol_type.
9116 (syms_of_coding): Initialize system_eol_type.
9117
9118 * process.c (Fset_process_coding_system): Inherit system's eol
9119 format if necessary.
9120
91212008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9122
9123 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9124
91252008-02-01 Kenichi Handa <handa@m17n.org>
9126
9127 * coding.c (decode_eol): Pay attention to buffer relocation in
9128 del_range_2.
9129 (decode_coding): Call decode_eol before restoring undo_list.
9130
91312008-02-01 Kenichi Handa <handa@m17n.org>
9132
9133 * charset.c (Fdefine_charset_internal): Fix setting of
9134 emacs_mule_bytes.
9135
91362008-02-01 Kenichi Handa <handa@m17n.org>
9137
9138 * keyboard.c (read_char): Check if C is a character or not before
9139 looking up Vkeyboard_translate_table.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9144 condition to terminate the loop.
9145
91462008-02-01 Kenichi Handa <handa@m17n.org>
9147
9148 * coding.c (produce_composition): Compare charbuf[i] instead of
9149 args[i] against 0.
9150 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9151
91522008-02-01 Kenichi Handa <handa@m17n.org>
9153
9154 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9155 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9156 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9157 detect_coding.
9158 (emacs_mule_char): Handle old style (Emacs 20) component character
9159 of a composition.
9160 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9161 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9162 composition rule.
9163 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9164
91652008-02-01 Kenichi Handa <handa@m17n.org>
9166
9167 * coding.c (encode_coding_ccl): Allocate destination dynamically
9168 when necessary.
9169
91702008-02-01 Kenichi Handa <handa@m17n.org>
9171
9172 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9173 the loop. When quitted, show a proper error message.
9174
91752008-02-01 Kenichi Handa <handa@m17n.org>
9176
9177 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9178 src->clip_head and src->clip_tail temporarily instead of src->hl.
9179
9180 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9181 character sequence.
9182 (Fccl_execute_on_string): Use ASET, not XSET.
9183
91842008-02-01 Kenichi Handa <handa@m17n.org>
9185
9186 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9187
91882008-02-01 Kenichi Handa <handa@m17n.org>
9189
9190 * coding.c (decode_coding): Fix the condition of terminating the
9191 decoding loop.
9192
91932008-02-01 Kenichi Handa <handa@m17n.org>
9194
9195 * data.c (Faset): On setting a character bigger than 255 in a
9196 unibyte string, signal an error instead of make the string multibyte.
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9201 made by a mapping table.
9202
92032008-02-01 Kenichi Handa <handa@m17n.org>
9204
9205 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9206 not.
9207 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9208 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9209
9210 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9211 s->face is NULL or not.
9212
92132008-02-01 Kenichi Handa <handa@m17n.org>
9214
9215 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9216 (x_draw_glyph_string): Fix drawing of right_overhang and
9217 left_overhang around/on cursor.
9218
9219 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9220
92212008-02-01 Kenichi Handa <handa@m17n.org>
9222
9223 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9224
92252008-02-01 Kenichi Handa <handa@m17n.org>
9226
9227 * coding.c (Fdefine_coding_system_internal)
9228 (Fdefine_coding_system_alias): Avoid a duplicated element in
9229 Vcoding_system_alist.
9230
92312008-02-01 Kenichi Handa <handa@m17n.org>
9232
9233 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9234
9235 * coding.c (Qcoding_system_define_form): New variable.
9236 (syms_of_coding): Intern and staticpro it.
9237 (Fcoding_system_p): Check Qcoding_system_define_form.
9238 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9239
9240 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9241 Fcoding_system_p.
9242 (CHECK_CODING_SYSTEM): If ID is not available, call
9243 Fcheck_coding_system.
9244 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9245 Try also Fcheck_coding_system.
9246
92472008-02-01 Kenichi Handa <handa@m17n.org>
9248
9249 * coding.c (code_conversion_restore): GCPRO arg.
9250
92512008-02-01 Kenichi Handa <handa@m17n.org>
9252
9253 * character.c (lisp_string_width): Check multibyteness of STRING.
9254
92552008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9256
9257 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9258 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9259 (decode_mac_font_name): Use decode_coding_c_string instead of
9260 decode_coding.
9261 (x_load_font): Initialize fontp->fontset to -1. Set
9262 fontp->encoding_type.
9263
92642008-02-01 Kenichi Handa <handa@m17n.org>
9265
9266 * search.c (search_buffer): Give up BM search on case-fold-search
9267 if one of a target character has a case-equivalence of different
9268 byte length even if that target charcter is an ASCII.
9269 (simple_search): Fix calculation of byte length of matched text.
9270 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9271
92722008-02-01 Kenichi Handa <handa@m17n.org>
9273
9274 * coding.c (decode_coding): Fix handling of invalid bytes.
9275
92762008-02-01 Kenichi Handa <handa@m17n.org>
9277
9278 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9279 Unicode characters.
9280
92812008-02-01 Kenichi Handa <handa@m17n.org>
9282
9283 * coding.c (encode_coding_object): If a pre-write-conversion
9284 function makes a new buffer, kill it.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * coding.c (QCascii_compatible_p): New variable.
9289 (syms_of_coding): Initialize it.
9290 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9291 calling string_char.
9292 (record_conversion_result): Add `default:' case.
9293 (coding_charset_list): Delete unused variable `coding_type'.
9294 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9295 property in the plist of the coding system.
9296 (Fcoding_system_put): Check QCascii_compatible_p.
9297
92982008-02-01 Miles Bader <miles@gnu.org>
9299
9300 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9301 removed calculation of frame `f', as it's now used.
9302
93032008-02-01 Kenichi Handa <handa@m17n.org>
9304
9305 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9306 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9307 (UNIDATA): New variable.
9308 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9309 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9310 $(RUN_TEMACS) unconditionally.
9311
93122008-02-01 Kenichi Handa <handa@m17n.org>
9313
9314 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9315 (admindir): New variable.
9316 ($(lispsource)international/charprop.el): New target.
9317
93182008-02-01 Miles Bader <miles@gnu.org>
9319
9320 * character.c (chars-in-region): Remove obsolete function.
9321 (syms_of_character): Remove its initialization.
9322
93232008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9324
9325 * w32select.c (validate_coding_system)
9326 (setup_windows_coding_system): New functions.
9327 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9328 setup_windows_coding_system.
9329 (setup_config, Fw32_get_clipboard_data): Use
9330 validate_coding_system.
9331 (Fx_selection_exists): Move call to setup_config to a place
9332 where signals are allowed.
9333
9334 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9335 (Fcheck_coding_system): Add declarations.
9336
93372008-02-01 Kenichi Handa <handa@m17n.org>
9338
9339 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9340
93412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9342
9343 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9344 string as the second argument for x_new_fontset.
9345
93462008-02-01 Kenichi Handa <handa@m17n.org>
9347
9348 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9349 (encode_coding_object): Use safe_call instead of call2.
9350
93512008-02-01 Kenichi Handa <handa@m17n.org>
9352
9353 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9354
9355 * Makefile.in (lisp): Include charprop.el.
9356
93572008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9358
9359 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9360 Not sure if it's unnecessary.
9361
93622008-02-01 Steven Tamm <steventamm@mac.com>
9363
9364 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9365 some possibly unnecessary fontset checking code that crashed
9366 when creating a new frame.
9367
93682008-02-01 Kenichi Handa <handa@m17n.org>
9369
9370 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9371 lookup_face.
9372
9373 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9374
9375 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9376
93772008-02-01 Kenichi Handa <handa@m17n.org>
9378
9379 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9380 (coding_charset_list): New function.
9381
9382 * coding.h (coding_charset_list): Extern it.
9383
93842008-02-01 Kenichi Handa <handa@m17n.org>
9385
9386 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9387 concatenation of family and registry.
9388
93892008-02-01 Kenichi Handa <handa@m17n.org>
9390
9391 * character.h (BYTE8_STRING): Fix typo.
9392
9393 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9394 string to multibyte (sync to HEAD).
9395
9396 * casefiddle.c (casify_region): Handle changes in byte-length
9397 using replace_range_2 (sync to HEAD).
9398
93992008-02-01 Andreas Schwab <schwab@suse.de>
9400
9401 * chartab.c (map_char_table): GCPRO table and arg.
9402
94032008-02-01 Kenichi Handa <handa@m17n.org>
9404
9405 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9406 already at limit.
9407
94082008-02-01 Kenichi Handa <handa@m17n.org>
9409
9410 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9411 instead of fast_c_string_match_ignore_case.
9412 (find_font_encoding): Change argument to Lisp_Object. Use
9413 fast_string_match_ignore_case instead of
9414 fast_c_string_match_ignore_case. Change caller.
9415
94162008-02-01 Kenichi Handa <handa@m17n.org>
9417
9418 * xdisp.c (get_next_display_element): In unibyte case, decide to
9419 display in octal form by checking a character by
9420 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9421
9422 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9423
9424 * character.c (unibyte_has_multibyte_table): New variable.
9425
9426 * character.h (unibyte_has_multibyte_table): Extern it.
9427 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9428
94292008-02-01 Kenichi Handa <handa@m17n.org>
9430
9431 * coding.c (encode_coding_iso_2022): Fix handling of charset
9432 annotation.
9433
94342008-02-01 Kenichi Handa <handa@m17n.org>
9435
9436 * coding.c (setup_coding_system): If coding_system is nil, use
9437 Qundecided.
9438 (Fterminal_coding_system): Return nil if terminal coding system is
9439 `undecided'.
9440 (syms_of_coding): Define coding-system `undecided' here. Setup
9441 terminal_coding as `undecided'.
9442
94432008-02-01 Kenichi Handa <handa@m17n.org>
9444
9445 * xdisp.c (message_dolog, set_message_1): Call
9446 unibyte_char_to_multibyte with arg type int.
9447
9448 * lread.c (read1): Fix reading of a char-table.
9449
9450 * print.c (print_object): Include sub char-table in circularities
9451 detection.
9452
94532008-02-01 Kenichi Handa <handa@m17n.org>
9454
9455 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9456 Append the found sequences in car of ARGS instead of prepending.
9457
94582008-02-01 Kenichi Handa <handa@m17n.org>
9459
9460 * fileio.c (report_file_error): Make a unibyte string from
9461 strerror (errorno).
9462 (Fsubstitute_in_file_name): Fix the arg to
9463 unibyte_char_to_multibyte. It is evaluated twice.
9464
94652008-02-01 Kenichi Handa <handa@m17n.org>
9466
9467 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9468
94692008-02-01 Kenichi Handa <handa@m17n.org>
9470
9471 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9472 BOM is not found.
9473 (detect_coding, detect_coding_system): Optimization for ISO-2022
9474 when no 8-bit data is found.
9475
94762008-02-01 Jason Rumney <jasonr@gnu.org>
9477
9478 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9479
94802008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9483 CHARS.
9484
94852008-02-01 Steven Tamm <steventamm@mac.com>
9486
9487 * macterm.c (mac_encode_char): Add charset argument and update
9488 to use encoding_type.
9489 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9490 switch to pure fontset.
9491 (decode_mac_font_name): Temporarily remove decoding.
9492 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9493 (x_load_font): Temporarily remove encoding.
9494
94952008-02-01 Kenichi Handa <handa@m17n.org>
9496
9497 * xfaces.c (Fface_font): If frame is not on a window system,
9498 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9499 refer to face->font.
9500 (split_font_name_into_vector, build_font_name_from_vector)
9501 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9502 when HAVE_WINDOW_SYSTEM is defined.
9503
95042008-02-01 Kenichi Handa <handa@m17n.org>
9505
9506 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9507 (x_produce_glyphs): Fix setting of members of cmp in case
9508 cmp->glyph_len is zero.
9509
9510 * fontset.c (Fset_fontset_font): Fix docstring.
9511 (Ffontset_info): Make it backward compatible. New arg ALL.
9512
95132008-02-01 Kim F. Storm <storm@cua.dk>
9514
9515 * process.c (read_process_output): Grow decoding_buf when needed;
9516 this could cause a crash in allocate_string and compact_small_strings.
9517
95182008-02-01 Kenichi Handa <handa@m17n.org>
9519
9520 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9521
95222008-02-01 Kenichi Handa <handa@m17n.org>
9523
9524 * coding.c (setup_coding_system): Set coding->common_flags
9525 correctly for raw-text.
9526 (consume_chars): On encoding unibyte text by raw-text, don't check
9527 multibyte form.
9528 (encode_coding): On encoding by raw-text, never use translation tables.
9529
9530 * fileio.c (e_write): Short cut for the case of no encoding.
9531
95322008-02-01 Kenichi Handa <handa@m17n.org>
9533
9534 * coding.c (detect_coding, detect_coding_system): Delete unused
9535 variables.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9540 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9541
95422008-02-01 Kenichi Handa <handa@m17n.org>
9543
9544 * coding.c (Ffind_coding_systems_region_internal): Include
9545 raw-text and no-conversion in the result.
9546
95472008-02-01 Kenichi Handa <handa@m17n.org>
9548
9549 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9550 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9551 FONT_DEF.
9552 (font_def_arg, add_arg, from_arg, to_arg): New args.
9553 (set_fontset_font): Change argument.
9554 (Fset_fontset_font): Fix for the case that TARGET is a script
9555 name and charset name.
9556 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * fontset.c (fontset_font): Rename from fontset_face. Change return
9561 value.
9562 (face_suitable_for_char_p, face_for_char): Adjust for the change
9563 of fontset_font.
9564 (make_fontset_for_ascii_face): Fix setting of the fontset element
9565 for ASCII.
9566 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9567 to get a font name.
9568 (Ffontset_info): Adjust for the change of fontset_font.
9569
9570 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9571
9572 * character.h (LEADING_CODE_LATIN_1_MIN)
9573 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9574
95752008-02-01 Kenichi Handa <handa@m17n.org>
9576
9577 * editfns.c (check_translation): New function.
9578 (Ftranslate_region_internal): Handle M:N mapping.
9579
95802008-02-01 Kenichi Handa <handa@m17n.org>
9581
9582 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9583
95842008-02-01 Kenichi Handa <handa@m17n.org>
9585
9586 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9587 goto invalid_code.
9588 (decode_coding_iso_2022): Fix handling of invalid designation.
9589
9590 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9591 after calling code_conversion_save.
9592
95932008-02-01 Kenichi Handa <handa@m17n.org>
9594
9595 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9596
9597 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9598
9599 * fontset.c: Include "intervals.h".
9600 (fontset_face): Fix comparing of Lisp_Objects.
9601 (free_face_fontset, new_fontset_from_font_name): Fix
9602 Lisp_Object/int mixup.
9603
9604 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9605
9606 * coding.c: Add many prototypes for static functions.
9607 (get_translation_table): Allow max_lookup to be NULL.
9608 (decode_coding, Ffind_coding_systems_region_internal)
9609 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9610 get_translation_table with max_lookup NULL.
9611
96122008-02-01 Kenichi Handa <handa@m17n.org>
9613
9614 * coding.c (get_translation_table): Declare it as Lisp_Object.
9615 (LOOKUP_TRANSLATION_TABLE): New macro.
9616 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9617 instead of CHAR_TABLE_REF.
9618
96192008-02-01 Kenichi Handa <handa@m17n.org>
9620
9621 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9622 annotation data format.
9623 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9624 Change arguments FROM and TO to single argument NCHARS. Change caller.
9625 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9626 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9627 (decode_coding_ccl, decode_coding_charset): Pay attention to
9628 coding->charbuf_used.
9629 (get_translation): New function.
9630 (produce_chars): New arguments translation_table and last_block.
9631 Translate characters here. Return number of carryover chars.
9632 Change caller.
9633 (produce_composition): New argument pos. Change caller.
9634 Adjust for the change of annotation data format.
9635 (produce_charset, produce_annotation): Likewise.
9636 (decode_coding, encode_coding): Don't call translate_chars.
9637 (consume_chars): New arg translation_table. Change caller.
9638 (translate_chars): Delete.
9639 (syms_of_coding): Make translation-table's number of extra slots 2.
9640
96412008-02-01 Kenichi Handa <handa@m17n.org>
9642
9643 * search.c (simple_search): Fix setting this_pos_byte in backward
9644 search.
9645
9646 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9647 byte sequence.
9648 (detect_coding_ccl): Fix setting of the variable valids.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9653
9654 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9655
9656 * editfns.c (Ftranslate_region_internal): Rename from
9657 Ftranslate_region. Accept a char-table in TABLE.
9658 (syms_of_editfns): Defsubr Stranslate_region_internal.
9659
9660 * xfaces.c (set_lface_from_font_name): If a font is specified for
9661 a frame, generate a fontset from the font.
9662 (build_scalable_font_name): If the scalable font is requested for
9663 a specific size, don't change that size.
9664 (try_font_list): Try a scalable font also in the case that a
9665 pattern string is specified.
9666
96672008-02-01 Kenichi Handa <handa@m17n.org>
9668
9669 * xfaces.c (Fface_font): New optional arg CHARACTER.
9670
96712008-02-01 Kenichi Handa <handa@m17n.org>
9672
9673 * charset.h (CHARSET_OFFSET): New macro.
9674
96752008-02-01 Kenichi Handa <handa@m17n.org>
9676
9677 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9678
9679 * fontset.c (fontset_face): Handle the case that repertory is a
9680 char-table.
9681 (find_font_encoding): Return nil for unknown encoding.
9682 (Fset_fontset_font): Ignore a font of unknown encoding.
9683
96842008-02-01 Kenichi Handa <handa@m17n.org>
9685
9686 * keymap.c (describe_vector): Handle default value of a char table.
9687
9688 * fontset.c (fontset_face): Handle fallback fonts correctly.
9689 (Ffontset_info): Return infomation about fallback fonts.
9690
96912008-02-01 Kenichi Handa <handa@m17n.org>
9692
9693 * fontset.c (FONTSET_DEFAULT): New macro.
9694 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9695 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9696 the case that it is nil.
9697 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9698 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9699
9700 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9701 subset or superset.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * emacs.c (main): Call init_charset after syms_of_XXX.
9706
9707 * charset.c (Vcharset_map_directory): Delete.
9708 (Vcharset_map_path): New variable.
9709 (load_charset_map_from_file): Use Vcharset_map_path instead.
9710 (init_charset): Initialize Vcharset_map_path.
9711 (syms_of_charset): Delete declaration of "charset-map-directory",
9712 add declaration of "charset-map-path".
9713
97142008-02-01 Kenichi Handa <handa@m17n.org>
9715
9716 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9717 ASCII only string.
9718
9719 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9720
9721 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9722 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9723
97242008-02-01 Kenichi Handa <handa@m17n.org>
9725
9726 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9727
9728 * coding.c (QCmnemonic, QCdefalut_char)
9729 (QCdecode_translation_table, QCencode_translation_table)
9730 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9731 (get_translation_table): Return a list of translation tables if
9732 necessary.
9733 (decode_coding): Call get_translation_table with ENCODEP 0.
9734 (char_encodable_p): If translation_table is non-nil, always call
9735 translate_char.
9736 (Fdefine_coding_system_internal): Accept list of translation
9737 tables as :encode-translation-table and :decode-translation-table.
9738 (Fcoding_system_put): New function.
9739 (syms_of_coding): Declare new symbols. Defsubr
9740 Scoding_system_put.
9741 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9742 typically JISX0212.
9743
9744 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9745 when the charset is superset type.
9746
9747 * character.c (translate_char): Accept list of translation tables.
9748
97492008-02-01 Kenichi Handa <handa@m17n.org>
9750
9751 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9752 (CODING_ATTR_TRANS_TBL): New macro.
9753
9754 * coding.c (get_translation_table): New function.
9755 (translate_chars): Fix the bug of skipping annotation data.
9756 (decode_coding, encode_coding): Utilize get_translation_table.
9757 (char_encodable_p, Funencodable_char_position): Translate char if
9758 necessary.
9759 (Ffind_coding_systems_region_internal)
9760 (Fcheck_coding_systems_region): Setup translation table for encode
9761 in a coding system attribute vector in advance.
9762 (Fdefine_coding_system_internal): Allow a symbol as translation
9763 table. For shift-jis type coding system, allow 4th charset.
9764
97652008-02-01 Kenichi Handa <handa@m17n.org>
9766
9767 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9768
9769 * xdisp.c (get_next_display_element): Pass -1 as POS to
9770 FACE_FOR_CHAR if displaying a C-string.
9771
97722008-02-01 Kenichi Handa <handa@m17n.org>
9773
9774 * composite.c (get_composition_id): Handle xoff and yoff in a
9775 composition rule.
9776
9777 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9778 (struct composition): New member lbearing and rbearing.
9779
9780 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9781 (x_get_glyph_overhangs): Handle a composition glyph.
9782 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9783
9784 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9785 composition glyph.
9786
97872008-02-01 Kenichi Handa <handa@m17n.org>
9788
9789 * print.c: Include charset.h.
9790 (Vprint_charset_text_property): New variable.
9791 (Qdefault): Extern it.
9792 (PRINT_STRING_NON_CHARSET_FOUND)
9793 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9794 (print_check_string_result): New variable.
9795 (print_check_string_charset_prop): New function.
9796 (print_prune_charset_plist): New variable.
9797 (print_prune_string_charset): New function.
9798 (print_object): Call print_prune_string_charset if
9799 Vprint_charset_text_property is not t.
9800 (print_interval): Print nothing if interval->plist is nil.
9801 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9802 variable. Init and staticpro print_prune_charset_plist.
9803
98042008-02-01 Kenichi Handa <handa@m17n.org>
9805
9806 * fontset.c (new_fontset_from_font_name): Use the specified font
9807 for all characters in the new fontset.
9808
9809 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9810 OBJECT args.
9811
9812 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9813 OBJECT args for composition too.
9814
9815 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9816 OBJECT args.
9817
98182008-02-01 Kenichi Handa <handa@m17n.org>
9819
9820 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9821
9822 * fontset.c (reorder_font_vector): Adjust for the change of
9823 FONT_DEF format.
9824 (fontset_face): New arg id. Change caller.
9825 (face_for_char): New args pos and object.
9826 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
9827 (fs_query_fontset): Check NAME by Fassoc too.
9828 (Fset_fontset_font): Allow non-XLFD font name.
9829 (Ffontset_info): Adjust for the change of FONT_DEF format.
9830
9831 * fontset.h (face_for_char): Adjust prototype.
9832
9833 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9834 (append_space, extend_face_to_end_of_line)
9835 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9836 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
9837
9838 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9839 POS and OBJECT args.
9840
9841 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9842 POS and OBJECT args.
9843
98442008-02-01 Jason Rumney <jasonr@gnu.org>
9845
9846 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9847 of GlobalAlloc'ed memory.
9848
98492008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9852
9853 * charset.h (charset_table_used): Delete extern.
9854
9855 * charset.c (charset_table_used): Make it static.
9856 (map_charset_chars): Fix args to c_function with.
9857
9858 * chartab.c (map_sub_char_table_for_charset): Fix args to
9859 c_function with.
9860
9861 * coding.h (enum coding_result_code): Delete
9862 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9863
9864 * coding.c (Qinsufficient_source, Qinconsistent_eol)
9865 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
9866 (Vlast_code_conversion_error): New variables.
9867 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9868 (ONE_MORE_BYTE): Record error if any instead of signaling an
9869 error. If non-ASCII multibyte char is found, return the negative
9870 value of the code. All callers changed to check it.
9871 (ONE_MORE_BYTE_NO_CHECK): Likewise.
9872 (record_conversion_result): New function. Change all codes setting
9873 coding->result to call this function.
9874 (detect_coding_utf_8, decode_coding_utf_8)
9875 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9876 Don't use the local variable incomplete.
9877 (emacs_mule_char): Change the second arg to `const'.
9878 (decode_coding): Fix of flushing out unprocessed data.
9879 (make_conversion_work_buffer): Fix making of a work buffer.
9880 (decode_coding_object): Return coding->dst_object.
9881
9882 * fontset.c (set_fontset_font): Fix args.
9883
9884 * lisp.h (CHARACTERBITS): Define as 22.
9885
9886 * process.c (send_process): Be sure to set coding->src_multibyte.
9887
9888 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * xdisp.c (handle_auto_composed_prop): Give limit to
9893 Fnext_single_char_property_change.
9894
98952008-02-01 Kenichi Handa <handa@m17n.org>
9896
9897 * composite.c (syms_of_composite): Don't make the composition hash
9898 table weak.
9899
9900 * fontset.c (Fset_fontset_font): Fix docstring.
9901
9902 * lisp.h (detect_coding_system): Adjust prototype.
9903
9904 * fileio.c (kill_workbuf_unwind): Delete this function.
9905 (Finsert_file_contents): Adjust the call of detect_coding_system.
9906 Get conversion_buffer by code_conversion_save. Use the macro
9907 CODING_MAY_REQUIRE_DECODING. After decoding, update
9908 coding_system.
9909
9910 * coding.h (make_conversion_work_buffer): Delete extern.
9911 (code_conversion_save): Extern it.
9912
9913 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
9914 (CODING_GET_INFO): Delete argument eol_type. Change callers.
9915 (decode_coding_utf_8): Don't do eol converion.
9916 (detect_coding_utf_16): Check coding->src_chars, not
9917 coding->src_bytes. Add heuristics for those that have no signature.
9918 (decode_coding_emacs_mule, decode_coding_iso_2022)
9919 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9920 Don't do eol converion.
9921 (adjust_coding_eol_type): Return a new coding system.
9922 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9923 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9924 each change.
9925 (decode_coding): Pay attention to undo_list. Do eol conversion for
9926 all types of coding-systems (if necessary).
9927 (Vcode_conversion_work_buf_list): Delete it.
9928 (Vcode_conversion_reused_workbuf): Rename from
9929 Vcode_conversion_reused_work_buf.
9930 (Vcode_conversion_workbuf_name): New variable.
9931 (reused_workbuf_in_use): New variable.
9932 (make_conversion_work_buffer): Delete the arg DEPTH.
9933 (code_conversion_restore): Change argument to cons.
9934 (code_conversion_save): Delete the argument BUFFER. Change callers.
9935 (detect_coding_system): New argument src_chars. Change callers.
9936 Fix for utf-16 detection.
9937 (init_coding_once): Don't use ISO_carriage_return.
9938 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
9939 reused_workbuf_in_use.
9940
99412008-02-01 Kenichi Handa <handa@m17n.org>
9942
9943 * keymap.c (store_in_keymap): Pay attention to the case that idx
9944 is a cons specifying a character range.
9945
99462008-02-01 Kenichi Handa <handa@m17n.org>
9947
9948 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9949 HANDLED_RECOMPUTE_PROPS.
9950
9951 * coding.c (Fdefine_coding_system_internal): Fix checking of
9952 ascii compatibility.
9953
99542008-02-01 Kenichi Handa <handa@m17n.org>
9955
9956 * charset.c (find_charsets_in_text): Delete unused locale variable.
9957 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9958
9959 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9960 Resync charset_list to Vemacs_mule_charset_list.
9961
9962 * keymap.c (store_in_keymap): Pay attention to the case that idx
9963 is a cons specifying a character range.
9964
99652008-02-01 Kenichi Handa <handa@m17n.org>
9966
9967 * composite.c (update_compositions): Bind inhibit-read-only, etc
9968 to t before calling remove-list-of-text-properties.
9969
9970 * print.c (print_object): Always print ASCII chars as is.
9971
99722008-02-01 Kenichi Handa <handa@m17n.org>
9973
9974 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
9975
9976 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9977 is a char table.
9978
99792008-02-01 Kenichi Handa <handa@m17n.org>
9980
9981 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
9982
99832008-02-01 Kenichi Handa <handa@m17n.org>
9984
9985 * xfaces.c (set_lface_from_font_name): Fix for the case that
9986 FONTNAME is not fontset name.
9987
99882008-02-01 Kenichi Handa <handa@m17n.org>
9989
9990 * fns.c (base64_encode_1): Fix previous change.
9991
99922008-02-01 Kenichi Handa <handa@m17n.org>
9993
9994 * fontset.c (set_fontset_font): New function.
9995 (Fset_fontset_font): If a font is specified for a charset, use
9996 map_charset_chars to store the font spec in a fontset.
9997
99982008-02-01 Kenichi Handa <handa@m17n.org>
9999
10000 * fontset.c (fontset_face): Create a fallback fontset on demand.
10001 (make_fontset): Don't create a fallback fontset here.
10002 (free_face_fontset): Free a fallback fontset (if any) too.
10003 (n_auto_fontsets): Delete this variable.
10004 (auto_fontset_alist): New variable.
10005 (new_fontset_from_font_name): Check auto_fontset_alist.
10006 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10007 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10008 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10009 Defsubr Sfontset_list_all.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10014
100152008-02-01 Kenichi Handa <handa@m17n.org>
10016
10017 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10018
100192008-02-01 Kenichi Handa <handa@m17n.org>
10020
10021 * editfns.c (Fgoto_char): Fix docstring.
10022
100232008-02-01 Kenichi Handa <handa@m17n.org>
10024
10025 * insdel.c (insert_from_gap): Adjust intervals correctly.
10026
100272008-02-01 Jason Rumney <jasonr@gnu.org>
10028
10029 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10030 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10031 (w32_initialize): Try to load it.
10032 (x_get_font_repertory): Use it if available.
10033 (w32_encode_char): Add shortcut for unicode output.
10034
10035 * w32fns.c (w32_load_system_font): Default charset to -1.
10036 (x_to_w32_charset): Match all fonts for unicode.
10037 (w32_to_x_charset): New parameter matching. Don't return partial
10038 or wildcard charsets.
10039 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10040 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10041 (w32_to_x_font): Match charset to real charset.
10042 (enum_font_cb2): Always list unicode versions.
10043
10044 * makefile.w32-in (temacs): Increase EMHEAP.
10045
100462008-02-01 Jason Rumney <jasonr@gnu.org>
10047
10048 * w32term.c (w32_encode_char): New charset parameter.
10049 font_info.encoding becomes encoding_type.
10050 (x_get_font_repertory): New function. Warning: stub only!
10051 (x_new_font): Return quickly if font already set.
10052 (x_new_fontset): fontsetname parameter is Lisp_Object.
10053 Use new fs_query_fontset. Try new_fontset_from_font_name.
10054 Use fontset_name for return value.
10055
10056 * w32term.h: Declare x_get_font_repertory.
10057
10058 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10059 place of find_charset_in_text. Use encode_coding_object in place
10060 of encode_coding.
10061 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10062 decode_coding.
10063
10064 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10065 of x_new_fontset.
10066 (w32_load_system_font): Initialize charset as unicode.
10067 font_info.encoding becomes encoding_type.
10068 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10069 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10070 (syms_of_w32fns): Set get_font_repertory_func.
10071
10072 * w32console.c: Include character.h. Use terminal_encode_buffer
10073 from term.c.
10074 (write_glyphs): Use new version of encode_terminal_code. Use
10075 encode_coding_object in place of encode_coding.
10076
10077 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10078 encoding becomes encoding_type.
10079
10080 * term.c (terminal_encode_buffer): Make externally visible.
10081
10082 * makefile.w32-in: Add character.h dependancies.
10083 (character.o, chartab.o): New targets.
10084
100852008-02-01 Kenichi Handa <handa@m17n.org>
10086
10087 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10088 CODING_ID_EOL_TYPE.
10089
100902008-02-01 Andreas Schwab <schwab@suse.de>
10091
10092 * coding.c (produce_chars): Revert last change.
10093
100942008-02-01 Kenichi Handa <handa@m17n.org>
10095
10096 * charset.h (charset_unicode): Extern it.
10097
10098 * charset.c (string_xstring_p): Check by (C >= 0x100).
10099 (find_charsets_in_text): Change format of the arc CHARSETS. New
10100 arg MULTIBYTE.
10101 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10102 change of find_charsets_in_text.
10103 (Fsplit_char): Fix doc. Never return unknown.
10104
10105 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10106
10107 * coding.c (Fdefine_coding_system_alias): Update
10108 Vcoding_system_list.
10109
10110 * fontset.c (load_font_get_repertory): Pay attention to the case
10111 that ENCODING of a font is specified by a char-table.
10112
10113 * xterm.c (x_get_font_repertory): Handle the case that the
10114 encoding of font is other than Unicode.
10115
101162008-02-01 Kenichi Handa <handa@m17n.org>
10117
10118 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10119 if a character is encodable by the terminal coding system. If
10120 not, produces proper number of `?'s. Update
10121 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10122 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10123
101242008-02-01 Kenichi Handa <handa@m17n.org>
10125
10126 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10127 variables.
10128 (encode_terminal_code): Change argument. Encode multiple
10129 characters at once. Store the result of encoding in
10130 terminal_encode_buffer.
10131 (write_glyphs, insert_glyphs): Adjust for the change of
10132 encode_terminal_code.
10133 (term_init): Initialize terminal_encode_buffer and
10134 terminal_encode_buf_size.
10135
10136 * coding.c (consume_chars): If coding->src_object is nil, don't
10137 check annotation.
10138
101392008-02-01 Kenichi Handa <handa@m17n.org>
10140
10141 * character.c (char_string): Use ASCII_CHAR_P instead of
10142 SINGLE_BYTE_CHAR_P.
10143
101442008-02-01 Kenichi Handa <handa@m17n.org>
10145
10146 * xdisp.c (handle_auto_composed_prop): Check if the last
10147 characters of auto-composed region is newly composed with the
10148 following characters.
10149 (handle_composition_prop): Fix checking of point being inside
10150 composition.
10151
101522008-02-01 Kenichi Handa <handa@m17n.org>
10153
10154 * fns.c (concat): Don't change multibyteness of the result by
10155 concatenating an 8-bit character.
10156
10157 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10158 multibyteness of the result when newelt is an 8-bit character.
10159
101602008-02-01 Dave Love <fx@gnu.org>
10161
10162 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10163 EMACS_INT.
10164
10165 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10166
10167 * xfaces.c (face_numeric_value): Declare dim size_t.
10168 (Finternal_lisp_face_equal_p): Remove unused f.
10169
10170 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10171 (MATRIX_ROW): Remove unused vars.
10172 (draw_glyphs, x_insert_glyphs, fast_find_position)
10173 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10174 byte/char counts.
10175
10176 * regex.c (regex_compile): Remove unused var.
10177
10178 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10179
10180 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10181 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10182
10183 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10184
10185 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10186
10187 * fileio.c (Fwrite_region): Remove unused var.
10188
10189 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10190 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10191
10192 * composite.c (Fremove_list_of_text_properties): Declare.
10193
10194 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10195 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10196 (coding_inherit_eol_type): Remove unused attrs.
10197 (detect_coding): Cast arg of detect_eol.
10198
10199 * charset.c (syms_of_charset): Remove unused var p.
10200 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10201 byte/char counts.
10202
10203 * casetab.c (set_case_table): Remove unused var.
10204
10205 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10206 unused vars.
10207
102082008-02-01 Dave Love <fx@gnu.org>
10209
10210 * xterm.c (x_bitmap_mask): Declare.
10211
102122008-02-01 Dave Love <fx@gnu.org>
10213
10214 * xterm.c (x_term_init): Fix type error.
10215
10216 * lisp.h: Add Funibyte_char_to_multibyte.
10217
10218 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10219 (Fset_coding_system_priority): Doc fix.
10220
10221 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10222
10223 * indent.c (check_composition): Make start and end EMACS_INT.
10224
10225 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10226
10227 * xdisp.c (handle_composition_prop, check_point_in_composition):
10228 Make buffer positions EMACS_INT.
10229
10230 * composite.c (find_composition, run_composition_function)
10231 (update_compositions, Ffind_composition_internal): Make buffer
10232 positions EMACS_INT.
10233
10234 * composite.h (find_composition, update_compositions): Make
10235 position args EMACS_INT.
10236
10237 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10238
10239 * intervals.c (get_property_and_range):
10240 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10241
10242 * unexalpha.c: Don't include varargs.h.
10243
102442008-02-01 Dave Love <fx@gnu.org>
10245
10246 * coding.h (ENCODE_UTF_8): New.
10247
10248 * Makefile.in (gtkutil.o): Depend on coding.h.
10249
10250 * coding.c (Fset_coding_system_priority): Doc fix.
10251
102522008-02-01 Kenichi Handa <handa@m17n.org>
10253
10254 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10255 the case of auto saving.
10256
102572008-02-01 Andreas Schwab <schwab@suse.de>
10258
10259 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10260 `range' from GC.
10261
102622008-02-01 Kenichi Handa <handa@m17n.org>
10263
10264 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10265
102662008-02-01 Kenichi Handa <handa@m17n.org>
10267
10268 * fileio.c (choose_write_coding_system): Return a decided coding system.
10269 (Fwrite_region): Set Vlast_coding_system_used to the return value
10270 of choose_write_coding_system.
10271
102722008-02-01 Kenichi Handa <handa@m17n.org>
10273
10274 * charset.c (Fset_charset_priority): Pay attention to duplicated
10275 arguments.
10276
10277 * coding.c (QCcategory): New variable.
10278 (syms_of_coding): Defsym it. Set all elements of
10279 Vcoding_category_table and their symbol values.
10280 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10281 coding-category-XXX, and coding-category-list.
10282 (Fdefine_coding_system_internal): Add category in the plist.
10283
102842008-02-01 Kenichi Handa <handa@m17n.org>
10285
10286 * callproc.c (Fcall_process): Handle carryover correctly.
10287
10288 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10289 (raw_text_coding_system): Check NILP (coding_system).
10290 (coding_inherit_eol_type): Check NILP (coding_system) and
10291 NILP (parent).
10292 (consume_chars): Fix for the case of raw-text.
10293
10294 * process.c (read_process_output): Handle carryover correctly.
10295
102962008-02-01 Dave Love <fx@gnu.org>
10297
10298 * regex.c (re_search_2): Fix last change.
10299
103002008-02-01 Kenichi Handa <handa@m17n.org>
10301
10302 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10303 target_multibyte. Even in a unibyte case, return a converted
10304 multibyte char.
10305 (GET_CHAR_AFTER): New macro.
10306 (PATFETCH): Translate via multibyte char.
10307 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10308 (SETUP_MULTIBYTE_RANGE): New macro.
10309 (regex_compile): Setup compiled code so that its multibyteness
10310 matches that of a target. Fix the handling of "[X-YZ]" using
10311 SETUP_MULTIBYTE_RANGE.
10312 (analyse_first) <charset>: For filling fastmap for all multibyte
10313 characters, don't check by BASE_LEADING_CODE_P.
10314 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10315 the same as RE_MULTIBYTE_P (bufp) now.
10316 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10317 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10318 (TRANSLATE_VIA_MULTIBYTE): New macro.
10319 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10320 It is the same as RE_MULTIBYTE_P (bufp) now.
10321 <exactn>: Translate via multibyte.
10322 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10323 translate it.
10324 <charset, charset_not>: Fetch a character by
10325 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10326 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10327 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10328 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10329 by GET_CHAR_AFTER.
10330 (bcmp_translate): Likewise.
10331
10332 * search.c (compile_pattern): Check the member target_multibyte,
10333 not the member multibyte of buf.
10334
10335 * lread.c (read1): While reading a string, set force_singlebyte
10336 and force_multibyte correctly.
10337
10338 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10339 up of unibyte_to_multibyte_table.
10340
103412008-02-01 Kenichi Handa <handa@m17n.org>
10342
10343 * coding.c (setup_coding_system): If coding has
10344 post-read-conversion or pre-write-conversion, set
10345 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10346 respectively.
10347 (decode_coding_gap): Run post-read-conversion if any.
10348
10349 * fileio.c (Finsert_file_contents): Even if we read into a
10350 unibyte buffer, check if we must decode the result or not.
10351
103522008-02-01 Kenichi Handa <handa@m17n.org>
10353
10354 * coding.c (make_conversion_work_buffer): Change the work buffer
10355 name to the same one as that of Emacs 21.
10356
103572008-02-01 Kenichi Handa <handa@m17n.org>
10358
10359 * coding.h (make_conversion_work_buffer): Adjust prototype.
10360 (code_conversion_restore): Don't extern it.
10361
10362 * coding.c (detected_mask): Delete unused variable.
10363 (decode_coding_iso_2022): Pay attention to the byte sequence of
10364 CTEXT extended segment, and retain those bytes as is.
10365 (decode_coding_ccl): Delete unused variable `valids'.
10366 (setup_coding_system): Delete unused variable `category'.
10367 (consume_chars): Delete unused variable `category'. Make it work
10368 for non-multibyte case.
10369 (make_conversion_work_buffer): Change argument.
10370 (saved_coding): Delete unused variable.
10371 (code_conversion_restore): Don't check saved_coding->destination.
10372 (code_conversion_save): New function.
10373 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10374 instead of record_unwind_protect.
10375 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10376 (detect_coding_system): Delete unused variable `mask'.
10377 (Fdefine_coding_system_internal): Delete unused variable id.
10378
10379 * fileio.c (kill_workbuf_unwind): New function.
10380 (Finsert_file_contents): On replacing, call
10381 make_conversion_work_buffer with correct args, and call
10382 record_unwind_protect with the first arg kill_workbuf_unwind.
10383
10384 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10385
103862008-02-01 Kenichi Handa <handa@m17n.org>
10387
10388 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10389 (fontset_add): Fix for the case that TO is less than TO1.
10390 (Ffontset_info): Don't use fallback fontset on checking the
10391 default fontset.
10392 (dump_fontset): New function for debugging.
10393
10394 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10395 coding_type is Qcharset.
10396
103972008-02-01 Kenichi Handa <handa@m17n.org>
10398
10399 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10400 (map_char_table): Don't inherit the value from the parent on
10401 initializing VAL. Adjust for the above change.
10402
104032008-02-01 Kenichi Handa <handa@m17n.org>
10404
10405 * coding.c (Qsignature, Qendian): Delete these variables.
10406 (syms_of_coding): Don't initialize them.
10407 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10408 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10409 detect_info->found.
10410 (decode_coding_utf_16): Don't detect BOM here.
10411 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10412 is NOT utf_16_without_bom.
10413 (setup_coding_system): For a coding system of type utf-16, check
10414 if the attribute :endian is Qbig or not (not nil or not), and set
10415 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10416 (detect_coding): If coding type is utf-16 and BOM detection is
10417 required, detect it.
10418 (Fdefine_coding_system_internal): For a coding system of type
10419 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10420
104212008-02-01 Kenichi Handa <handa@m17n.org>
10422
10423 * coding.c (coding_set_source): Fix for the case that the current
10424 buffer is different from coding->src_object.
10425 (decode_coding_object): Don't use the conversion work buffer if
10426 DST_OBJECT is a buffer.
10427
104282008-02-01 Dave Love <fx@gnu.org>
10429
10430 * lread.c (read_emacs_mule_char) [len==2]: Index
10431 emacs_mule_charset correctly.
10432
104332008-02-01 Dave Love <fx@gnu.org>
10434
10435 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10436 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10437 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10438 treated specially.)
10439 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10440 (detected_mask): Remove Big5 bits.
10441
104422008-02-01 Kenichi Handa <handa@m17n.org>
10443
10444 The following changes are to make the font rescaling facility
10445 compatible with Emacs 21.
10446
10447 * xfaces.c (Vface_font_rescale_alist): Rename from
10448 Vface_resizing_fonts.
10449 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10450 (font_rescale_ratio): Rename from font_resizing_ratio.
10451 (split_font_name): Set font->rescale_ratio.
10452 (better_font_p): Pay attention to font->rescale_ratio.
10453 (build_scalable_font_name): Likewise. Change RESX, and RESY
10454 fields.
10455 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10456
104572008-02-01 Kenichi Handa <handa@m17n.org>
10458
10459 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10460 (Qutf_16_le): Remove these variables.
10461 (syms_of_coding): Don't DEFSYM them.
10462 (decode_coding_utf_16): Fix handling of BOM.
10463 (encode_coding_utf_16): Fix handling of BOM.
10464
104652008-02-01 Kenichi Handa <handa@m17n.org>
10466
10467 * fileio.c (Finsert_file_contents): On replacing, before decoding
10468 the file into the work buffer, set point of the work buffer to the end.
10469
104702008-02-01 Dave Love <fx@gnu.org>
10471
10472 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10473
104742008-02-01 Dave Love <fx@gnu.org>
10475
10476 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10477 and fix C types.
10478
104792008-02-01 Kenichi Handa <handa@m17n.org>
10480
10481 * xdisp.c (SKIP_GLYPHS): New macro.
10482 (set_cursor_from_row): Pay attention to string display properties.
10483
10484 * category.c (copy_category_entry): Fix for the case that RANGE
10485 is an integer.
10486
10487 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10488
10489 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10490
104912008-02-01 Kenichi Handa <handa@m17n.org>
10492
10493 * charset.c (Fcharset_id_internal): New function.
10494 (syms_of_charset): Defsubr it.
10495
10496 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10497 with the last arg charset_list acquired from coding.
10498 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10499 the attribute coding_attr_ccl_valids.
10500
10501 * coding.h (enum define_coding_ccl_arg_index): Set the first
10502 member coding_arg_ccl_decoder to coding_arg_max.
10503
10504 * ccl.h (ccl_driver): Adjust prototype.
10505
10506 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10507 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10508 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
10509 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10510 last arg Qnil.
10511
105122008-02-01 Kenichi Handa <handa@m17n.org>
10513
10514 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10515 call encode_char.
10516
10517 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10518
105192008-02-01 Dave Love <fx@gnu.org>
10520
10521 * composite.c (syms_of_composite): Make composition_hash_table weak.
10522
105232008-02-01 Kenichi Handa <handa@m17n.org>
10524
10525 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10526 (font_name_registry): Don't extern them.
10527 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10528
10529 * fontset.h (Qfontset): Don't extern it.
10530 (new_fontset_from_font_name): Extern it.
10531
10532 * fontset.c: Give 8 extra slots to fontset objects.
10533 (Qfontset_info): New variable.
10534 (syms_of_fontset): Defsym it.
10535 (FONTSET_FALLBACK): New macro.
10536 (fontset_face): Try also the default fontset.
10537 (make_fontset): Realize a fallback fontset from the default fontset.
10538 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10539 using split_font_name_into_vector and build_font_name_from_vector.
10540 (Fset_fontset_font): Access the elements of font_spec by enum
10541 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10542 name by using split_font_name_into_vector.
10543 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10544 generate a proper font name from the fontset name. Update
10545 Vfontset_alias_alist.
10546 (n_auto_fontsets): New variable.
10547 (new_fontset_from_font_name): New function.
10548 (Ffont_info): Store the information about fonts generated from the
10549 default fontset in the first extra slot of the returned char-table.
10550
10551 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10552 (font_name_registry): Delete function.
10553 (split_font_name_into_vector): New function.
10554 (build_font_name_from_vector): New function.
10555 (font_list): The argument REGISTRY is now a list of registry names.
10556 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10557 specifies an explicit font name, return the name as is. Make a
10558 list of registy names.
10559
10560 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10561 of x_new_fontset.
10562 (Fx_create_frame): Don't call x_new_fontset here. Just use
10563 x_list_fonts to check the existence of fonts.
10564
10565 * xterm.h (x_new_fontset): Adjust prototype.
10566
10567 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10568 string. Use new_fontset_from_font_name to create a fontset from a
10569 font name.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * syntax.c (Vfind_word_boundary_function_table): New name for
10574 Vnext_word_boundary_function_table.
10575 (find-word-boundary-function-table): New name for
10576 next-word-boundary-function-table.
10577
105782008-02-01 Dave Love <fx@gnu.org>
10579
10580 * Makefile.in: Fix some dependencies.
10581
10582 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10583 set it to nil before returning.
10584
10585 * composite.c (update_compositions): Fix type error.
10586
10587 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10588
105892008-02-01 Kenichi Handa <handa@m17n.org>
10590
10591 * xterm.c (x_new_font): Optimize for the case that the font is
10592 already set for the frame.
10593
105942008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * chartab.c (char_table_ascii): Check if the char table contents
10597 is sub-char-table or not.
10598 (char_table_set, char_table_set_range): Fix argument to
10599 char_table_ascii.
10600
10601 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10602 (detect_coding_utf_8, detect_coding_utf_16)
10603 (detect_coding_emacs_mule, detect_coding_iso_2022)
10604 (detect_coding_sjis, detect_coding_big5)
10605 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10606 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10607 sequence is valid in this coding system. Change callers.
10608 (MAX_ANNOTATION_LENGTH): New macro.
10609 (ADD_ANNOTATION_DATA): New macro.
10610 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10611 ADD_ANNOTATION_DATA. Change the format of annotation data.
10612 (ADD_CHARSET_DATA): New macro.
10613 (emacs_mule_char): New argument ID. Change callers.
10614 (decode_coding_emacs_mule, decode_coding_iso_2022)
10615 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10616 Produce charset annotation data in coding->charbuf.
10617 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10618 to charset annotation data in coding->charbuf.
10619 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10620 coding->common_flags if the coding system is iso-2022 based and
10621 uses designation.
10622 (produce_composition): Adjust for the new annotation data format.
10623 (produce_charset): New function.
10624 (produce_annotation): Handle charset annotation.
10625 (handle_composition_annotation, handle_charset_annotation): New
10626 functions.
10627 (consume_chars): Handle charset annotation. Utilize the above two
10628 functions.
10629 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10630 buffer, get the deleted text as a string and set
10631 coding->src_object to that string.
10632 (detect_coding, detect_coding_system): Use the new struct
10633 coding_detection_info.
10634
10635 * coding.h (struct coding_detection_info): New structure.
10636 (struct coding_system): Adjust prototype of the member `detector'.
10637 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10638
106392008-02-01 Kenichi Handa <handa@m17n.org>
10640
10641 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10642
106432008-02-01 Dave Love <fx@gnu.org>
10644
10645 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10646 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10647 to new local and nullify apropos_accumulate before returning.
10648 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10649
106502008-02-01 Kenichi Handa <handa@m17n.org>
10651
10652 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10653 correctly.
10654
106552008-02-01 Dave Love <fx@gnu.org>
10656
10657 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 The following changes are to make character composition happen
10662 automatically on displaying.
10663
10664 * Makefile.in (lisp, shortlisp): Add composite.elc.
10665
10666 * composite.h (Qauto_composed, Vauto_composition_function)
10667 (Qauto_composition_function): Extern them.
10668
10669 * composite.c (Vcomposition_function_table)
10670 (Qcomposition_function_table): Delete variables.
10671 (Qauto_composed, Vauto_composition_function)
10672 (Qauto_composition_function): New variables.
10673 (run_composition_function): Don't call
10674 compose-chars-after-function.
10675 (update_compositions): Clear `auto-composed' text property.
10676 (compose_chars_in_text): Delete this function.
10677 (syms_of_composite): Staticpro Qauto_composed and
10678 Qauto_composition_function. Declare Vauto_composition_function as
10679 a Lisp variable.
10680
10681 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10682
10683 * xdisp.c (it_props): Add an entry for Qauto_composed.
10684 (handle_auto_composed_prop): New function.
10685
10686 * xselect.c (selection_data_to_lisp_data): Don't call
10687 compose_chars_in_text.
10688
106892008-02-01 Dave Love <fx@gnu.org>
10690
10691 * keyboard.c (read_char): Modify checking around use of
10692 Vkeyboard_translate_table.
10693
10694 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10695 and fix C types.
10696
106972008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10700 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10701 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10702 the case that the last byte is '\r' correctly.
10703 (decode_coding): Flush out the unprocessed data correctly.
10704 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10705
107062008-02-01 Dave Love <fx@gnu.org>
10707
10708 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10709 Add XK_ISO... case.
10710 (xaw_scroll_callback): Revert last change.
10711
107122008-02-01 Kenichi Handa <handa@m17n.org>
10713
10714 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10715
107162008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * xfaces.c (Vface_resizing_fonts): New variable.
10719 (struct font_name): New member `resizing_ratio'.
10720 (font_resizing_ratio): New function.
10721 (split_font_name): Set font->resizing_ratio.
10722 (better_font_p): Pay attention to font->resizing_ratio.
10723 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10724 RESX, and RESY fields.
10725 (try_alternative_families): Try scalable fonts if
10726 Vscalable_fonts_allowed is not Qt.
10727 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10728
107292008-02-01 Dave Love <fx@gnu.org>
10730
10731 * xterm.c (xaw_scroll_callback): Cast correctly.
10732
107332008-02-01 Dave Love <fx@gnu.org>
10734
10735 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10736 (lispy_kana_keys): Comment out.
10737 (make_lispy_event) [XK_kana_A]: Comment out.
10738
10739 * xterm.c (xaw_scroll_callback): Cast call_data.
10740 (XTread_socket): Deal with ASCII keysyms.
10741 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10742
107432008-02-01 Dave Love <fx@gnu.org>
10744
10745 * xterm.c (Vx_keysym_table): New.
10746 (syms_of_xterm): Initialize it.
10747 (XTread_socket): Use it.
10748 From head: Eliminate incorrect optimization that tried to avoid
10749 decoding the output of X*LookupString.
10750 (x_get_font_repertory): Delete charset declaration.
10751
107522008-02-01 Kenichi Handa <handa@m17n.org>
10753
10754 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10755 return 0.
10756 (Fdefine_coding_system_internal): Setup
10757 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10758
107592008-02-01 Dave Love <fx@gnu.org>
10760
10761 * coding.c (Fcheck_coding_system): Doc fix.
10762
10763 * editfns.c (Finsert_byte): Return a proper value.
10764
107652008-02-01 Kenichi Handa <handa@m17n.org>
10766
10767 * coding.c (decode_coding): Fix args to translate_chars. Pay
10768 attention to Vstandard_translation_table_for_decode.
10769 (encode_coding): Fix args to translate_chars. Pay attention to
10770 Vstandard_translation_table_for_encode.
10771
10772 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10773 SINGLE_BYTE_CHAR_P.
10774
10775 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10776 not by SINGLE_BYTE_CHAR_P.
10777
10778 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10779 SINGLE_BYTE_CHAR_P.
10780
10781 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10782 SINGLE_BYTE_CHAR_P.
10783
10784 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10785 by SINGLE_BYTE_CHAR_P.
10786
10787 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10788 SINGLE_BYTE_CHAR_P.
10789
107902008-02-01 Dave Love <fx@gnu.org>
10791
10792 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10793
107942008-02-01 Dave Love <fx@gnu.org>
10795
10796 * fns.c (Flanginfo): Fix typo.
10797
10798 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10803 (detect_coding_emacs_mule, detect_coding_iso_2022)
10804 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10805 incomplete byte sequence. Don't update *mask when correctly detected.
10806 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
10807 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
10808 (detect_coding, detect_coding_system): Adjust for the changes above.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * character.c (char_string): Rename from
10813 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10814 (string_char): Rename from string_char.
10815
10816 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10817 if C is greater than MAX_3_BYTE_CHAR.
10818 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10819 string_char instead of string_char_with_unification.
10820
108212008-02-01 Dave Love <fx@gnu.org>
10822
10823 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10824
108252008-02-01 Kenichi Handa <handa@m17n.org>
10826
10827 * keymap.c (push_key_description): Pay attention to force_multibyte.
10828
10829 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10830
108312008-02-01 Dave Love <fx@gnu.org>
10832
10833 * charset.c (define_charset_internal): Rename `supprementary'.
10834
10835 * Makefile.in (lisp, shortlisp): Remove latin-N.
10836
108372008-02-01 Dave Love <fx@gnu.org>
10838
10839 * xfns.c (x_window, x_window): Use use_xim.
10840
10841 * xterm.c (use_xim): Initialize.
10842 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10843 (x_term_init): Maybe set use_xim.
10844
10845 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * search.c (search_buffer): Fix case-fold-search of multibyte
10850 characters.
10851 (boyer_moore): Rename the last argument to char_high_bits.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * xdisp.c (display_string): Fix for the case of zero width glyph.
10856
10857 * xfns.c (x_set_font): Change the error message of the case that
10858 x_new_fontset returns Qt.
10859
10860 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10861 (Finternal_set_lisp_face_attribute): Use signal_error for the
10862 error of invalid fontset.
10863
10864 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10865 fontset, return Qt.
10866
108672008-02-01 Dave Love <fx@gnu.org>
10868
10869 * unexelf.c (unexec): Make .got handling not SGI-specific.
10870
10871 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10872
10873 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10874
10875 * keyboard.c (read_key_sequence): Fix type error.
10876
10877 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10878 type error.
10879
10880 * fontset.c (fontset_add): Return Lisp_Object.
10881
108822008-02-01 Dave Love <fx@gnu.org>
10883
10884 * charset.h (charset_ordered_list_tick): Declare extern.
10885
108862008-02-01 Kenichi Handa <handa@m17n.org>
10887
10888 The following changes (and some of 2008-02-01 changes of mine) are
10889 for handling syntax, category, and case conversion for unibyte
10890 characters by converting them to multibyte on the fly. With these
10891 changes, we don't have to setup syntax and case tables for unibyte
10892 characters in each language environment.
10893
10894 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10895 multibyte if necessary.
10896
10897 * bytecode.c (Fbyte_code): Likewise.
10898
10899 * character.h (LEADING_CODE_LATIN_1_MIN)
10900 (LEADING_CODE_LATIN_1_MAX): New macros.
10901 (unibyte_to_multibyte_table): Extern it.
10902 (unibyte_char_to_multibyte): New macro.
10903 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10904 (CHAR_LEADING_CODE): New macro.
10905 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10906
10907 * character.c (unibyte_to_multibyte_table): New variable.
10908 (unibyte_char_to_multibyte): Move to character.h and define as macro.
10909 (multibyte_char_to_unibyte): If C is an eight-bit character,
10910 convert it to the corresponding byte value.
10911
10912 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10913 not 1, signals an error. Update the elements of
10914 unibyte_to_multibyte_table.
10915 (init_charset_once): Initialize unibyte_to_multibyte_table.
10916 (syms_of_charset): Define the charset `iso-8859-1'.
10917
10918 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10919 as is without converting it to unibyte. In a unibyte buffer,
10920 convert C to multibyte before checking the syntax.
10921
10922 * lisp.h (unibyte_char_to_multibyte): Delete extern.
10923
10924 * minibuf.c (Fminibuffer_complete_word): Use the macro
10925 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10926
10927 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10928
10929 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10930 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10931 that is zero, convert an eight-bit char to multibyte.
10932 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10933 non-emacs case.
10934 (PATFETCH): Convert an eight-bit char to multibyte.
10935 (HANDLE_UNIBYTE_RANGE): New macro.
10936 (regex_compile): Setup the compiled pattern for multibyte chars
10937 even if the given regex string is unibyte. Use PATFETCH_RAW
10938 instead of PATFETCH in many places. To handle `charset'
10939 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
10940 only for ASCII chars.
10941 (analyse_first) <exactn>: Simplify because the compiled pattern
10942 is multibyte.
10943 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10944 <charset>: Use CHAR_LEADING_CODE to get leading codes.
10945 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
10946 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10947 multibyte always 1.
10948 (re_search_2): In emacs, set the locale variable multibyte to 1,
10949 otherwise to 0. New local variable target_multibyte. Check it
10950 to decide the multibyteness of STR1 and STR2. If
10951 target_multibyte is zero, convert unibyte chars to multibyte
10952 before translating and checking fastmap.
10953 (TARGET_CHAR_AND_LENGTH): New macro.
10954 (re_match_2_internal): In emacs, set the locale variable multibyte
10955 to 1, otherwise to 0. New local variable target_multibyte. Check
10956 it to decide the multibyteness of STR1 and STR2. Use
10957 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10958 <charset, charset_not>: If multibyte is nonzero, check fastmap
10959 only for ASCII chars. Call bcmp_translate with
10960 target_multibyte, not with multibyte.
10961 <begline>: Declare the local variable C as `unsigned'.
10962 (bcmp_translate): Change the last arg name to target_multibyte.
10963
10964 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10965 the regexp pattern and the matching target. Set cp->buf.multibyte
10966 to the multibyteness of the regexp pattern. Set
10967 cp->but.target_multibyte to the multibyteness of the matching target.
10968 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10969 FETCH_STRING_CHAR_ADVANCE.
10970 (Freplace_match): Convert unibyte chars to multibyte.
10971
10972 * syntax.c (char_quoted, back_comment, scan_words)
10973 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10974 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
10975 unibyte chars to multibyte.
10976 (skip_chars): Delete the arg syntaxp, and move the code for
10977 handling syntaxes to skip_syntaxes. Change callers.
10978 Fix the case that the multibyteness of STRING and the current
10979 buffer doesn't match.
10980 (skip_syntaxes): New function.
10981 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10982 SINGLE_BYTE_CHAR_P.
10983
109842008-02-01 Kenichi Handa <handa@m17n.org>
10985
10986 * xfaces.c (QCfontset): New variable.
10987 (LFACE_FONTSET): New macro.
10988 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10989 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
10990 (Finternal_set_lisp_face_attribute)
10991 (Finternal_get_lisp_face_attribute): Handle QCfontset.
10992 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10993 check also LFACE_FONTSET_INDEX.
10994 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10995 attrs[LFACE_FONT_INDEX].
10996 (syms_of_xfaces): Intern and staticpro QCfontset.
10997
10998 * dispextern.h (enum lface_attribute_index): New member
10999 LFACE_FONTSET_INDEX.
11000
11001 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11002
110032008-02-01 Kenichi Handa <handa@m17n.org>
11004
11005 * coding.c (coding_set_destination): Fix coding->destination for
11006 the case converting a region.
11007 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11008 (encode_coding_object): Fix coding->dst_pos and
11009 coding->dst_pos_byte for the case converting a region.
11010
11011 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11012
11013 * character.h (BYTE8_STRING): New macro.
11014
11015 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11016
110172008-02-01 Kenichi Handa <handa@m17n.org>
11018
11019 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11020 characters by octal form.
11021
11022 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11023
11024 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11025 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11026 _fetch_multibyte_char_len.
11027 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11028
11029 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11030
11031 * casefiddle.c (casify_object): Simplify. Handle the case that
11032 the case conversion change the byte length.
11033 (casify_region): Likewise.
11034
11035 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11036
11037 * character.c (_fetch_multibyte_char_len): Delete this variable.
11038 (syms_of_character): Setup Vprintable_chars.
11039
11040 * editfns.c (Fchar_equal): Fix for the unibyte case.
11041 (Finsert_byte): New function.
11042 (syms_of_editfns): Defsubr it.
11043
11044 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11045 of direct code 0x3ffff.
11046
11047 * search.c (Freplace_match): Fix for the unibyte case.
11048
110492008-02-01 Kenichi Handa <handa@m17n.org>
11050
11051 * lread.c (safe_to_load_p): Fix the logic.
11052
11053 * syntax.c (scan_words): Don't treat characters belonging to
11054 different scripts as constituting a word.
11055
11056 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11057
11058 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11059
11060 * emacs.c (main): In the case of --unibyte, instead of aborting on
11061 finding non-empty buffer, make it unibyte.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11066 to create a fontset.
11067
110682008-02-01 Dave Love <fx@gnu.org>
11069
11070 * character.c (Funibyte_char_to_multibyte): Doc fix.
11071
11072 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11073
110742008-02-01 Kenichi Handa <handa@m17n.org>
11075
11076 * fontset.c (fontset_add): Make the type `int'.
11077 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11078
11079 * character.c (unibyte_char_to_multibyte)
11080 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11081 charset_unibyte, not charset_primary.
11082
11083 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11084
11085 * charset.c (charset_unibyte): Rename from charset_primary.
11086 (Funibyte_charset): Rename from Fprimary_charset.
11087 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11088 (syms_of_charset): Adjust for the above changes.
11089
11090 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11091 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11092 it->multibyte_p is zero.
11093
11094 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11095 Delete extern.
11096
110972008-02-01 Kenichi Handa <handa@m17n.org>
11098
11099 * coding.c (Fdefine_coding_system_internal): Fix category setting
11100 for a coding system of type iso-2022.
11101
111022008-02-01 Kenichi Handa <handa@m17n.org>
11103
11104 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * syntax.c (Vnext_word_boundary_function_table): New variable.
11109 (next-word-boundary-function-table): Declare it as a Lisp variable
11110 in syms_of_syntax.
11111 (scan_words): Call functions in Vnext_word_boundary_function_table
11112 if any.
11113
11114 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11115
11116 * fontset.c (fs_load_font): If fontp->charset is not negative,
11117 return fontp without setting its members.
11118
111192008-02-01 Dave Love <fx@gnu.org>
11120
11121 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11122
11123 * m/sparc.h (HAVE_ALLOCA): Delete.
11124
11125 * s/irix6-5.h: Don't include strings.h.
11126 (bcopy, bzero, bcmp): Don't undef.
11127
11128 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11129
11130 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11131 (TIOCSIGSEND): Don't test IRIX6.
11132 (bcopy, bzero, bcmp): Define conditionally.
11133
111342008-02-01 Kenichi Handa <handa@m17n.org>
11135
11136 * buffer.c (Qas, Qmake, Qto): New variables.
11137 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11138 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11139
11140 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11141 we are inserting a process output into a multibyte buffer.
11142
11143 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11144 multibyte_char_to_unibyte.
11145
11146 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11147 by the primary charset, make it eight-bit char.
11148 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11149
11150 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11151 (charset_8_bit__control, charset_8_bit_graphic)
11152 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11153 (define_charset_internal): New function.
11154 (syms_of_charset): Call define_charset_internal for pre-defined
11155 charsets.
11156
11157 * charset.h (charset_8_bit): Extern it.
11158
11159 * coding.c (make_conversion_work_buffer): Adjust for the change
11160 of Fset_buffer_multibyte.
11161 (encode_coding_raw_text): Increment p0 in the loop.
11162
11163 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11164
11165 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11166 for the change of Fset_buffer_multibyte.
11167
11168 * fns.c (Fstring_to_multibyte): New function.
11169 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11170
111712008-02-01 Dave Love <fx@gnu.org>
11172
11173 * xfns.c (x_put_x_image): Declare args.
11174
11175 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11176 (try_font_list): Declare an arg.
11177
11178 * xdisp.c (message2_nolog, set_message): Declare an arg.
11179
11180 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11181
11182 * syntax.c (scan_sexps_forward): Declare an arg.
11183
11184 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11185 Declare an arg.
11186
11187 * lisp.h (Fnew_fontset): Declare.
11188
11189 * keymap.c (push_key_description): Call CHARACTERP correctly.
11190
11191 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11192 (face_for_char): Delete unused vars.
11193 (Fset_fontset_font): Doc fix. Delete unused vars.
11194
11195 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11196
11197 * composite.c (update_compositions): Declare arg.
11198
11199 * cm.c (calccost, cmgoto): Declare args.
11200
11201 * charset.c: Remove `emacs' conditional. Doc fixes.
11202 (map_char_table_for_charset): Declare.
11203
11204 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11205
11206 * ccl.c: Remove `emacs' conditional.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 The following changes are to allow specifying multiple font
11211 patterns for a character range (specified by script or charset).
11212
11213 * Makefile.in (abbrev.o): Depend on syntax.h.
11214 (xfaces.o): Depend on charset.h.
11215
11216 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11217 SINGLE_BYTE_CHAR_P.
11218
11219 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11220
11221 * character.h (Vchar_script_table): Extern it.
11222
11223 * character.c (Vscript_alist): Delete.
11224 (Vchar_script_table, Qchar_script_table): New variable.
11225 (syms_of_character): Declare Vchar_script_table as a lisp variable
11226 and initialize it.
11227
11228 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11229 have property char-table-extra-slots, make no extra slot.
11230
11231 * dispextern.h (struct face): Delete member `charset'.
11232 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11233 SINGLE_BYTE_CHAR_P.
11234 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11235 Add prototypes.
11236 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11237 (generate_ascii_font_name): Rename from generate_ascii_font.
11238
11239 * fontset.h (get_font_repertory_func): New prototype.
11240 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11241 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11242
11243 * fontset.c (Qprepend, Qappend): New variables.
11244 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11245 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11246 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11247 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11248 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11249 (load_font_get_repertory): New functions.
11250 (fontset_set): Delete.
11251 (fontset_face): New arg FACE. Return face ID, not face.
11252 Complete re-write to handle new fontset structure. Change caller.
11253 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11254 (face_for_char): Don't call lookup_face.
11255 (make_fontset_for_ascii_face): New arg FACE.
11256 (fs_load_font): New arg CHARSET_ID. Don't check
11257 Vfont_encoding_alist here.
11258 (find_font_encoding): New function.
11259 (list_fontsets): Use STRINGP, not ! NILP.
11260 (accumulate_script_ranges): New function.
11261 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11262 re-written to handle new fontset structure.
11263 (Ffontset_font): Return a copy of element.
11264 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11265 docstring of font-encoding-alist.
11266
11267 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11268 (Fset_fotset_font): Fix arguments to 5.
11269
11270 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11271
11272 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11273 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11274 (highlight_trailing_whitespace): Adjust for the change of
11275 lookup_named_face.
11276
11277 * xfaces.c: Include charset.h.
11278 (load_face_font): Delete argument C. Change caller.
11279 (generate_ascii_font_name): Rename from generate_ascii_font.
11280 (font_name_registry): New function.
11281 (cache_face): Store ascii faces before non-ascii faces in buckets.
11282 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11283 Lookup only ascii faces.
11284 (lookup_non_ascii_face): New function.
11285 (lookup_named_face): Delete argument C. Change caller.
11286 (lookup_derived_face): Delete argument C. Change caller.
11287 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11288 a string, just call font_list with it.
11289 (choose_face_font): Delete arguments FACE and C. New arg
11290 FONT_SPEC. Change caller.
11291 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11292 Change caller.
11293 (realize_non_ascii_face): New function.
11294 (realize_x_face): Call load_face_font here.
11295 (realize_tty_face): Delete argument C. Change caller.
11296 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11297 get a face ID.
11298 (dump_realized_face): Don't print charset of FACE.
11299
11300 * xfns.c (x_set_font): Always call x_new_fontset and
11301 store_frame_parameter.
11302 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11303 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11304
11305 * xterm.h (x_get_font_repertory): Extern it.
11306
11307 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11308 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11309 it->multibyte_p is zero.
11310 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11311 (x_new_fontset): If FONTSETNAME doesn't match any existing
11312 fontsets, create a new one.
11313 (x_get_font_repertory): New function.
11314
113152008-02-01 Kenichi Handa <handa@m17n.org>
11316
11317 * coding.c (Ffind_coding_systems_region_internal): Detect an
11318 ASCII only string correctly.
11319
11320 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11321 version is 0.
11322
113232008-02-01 Kenichi Handa <handa@m17n.org>
11324
11325 * lread.c: Include "coding.h".
11326 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11327 (load_each_byte, unread_char): New variables.
11328 (readchar_backlog): Delete.
11329 (readchar): Return a character unless load_each_byte is nonzero.
11330 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11331 cons. If unread_char is not -1, simply return it.
11332 (unreadchar): Handle the case that readcharfun is
11333 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11334 (read_multibyte): Delete.
11335 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11336 (read_emacs_mule_char): New functions.
11337 (Fload): Even if the file doesn't have the extension ".elc", if
11338 safe_to_load_p returns a positive version number, assume that the
11339 file contains bytecompiled code. If the version is less than 22,
11340 load the file while decoding multibyte sequences by emacs-mule.
11341 (readevalloop): Don't use readchar_backlog.
11342 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11343 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11344 (read_escape): Delete the arg BYTEREP.
11345 (read1): Set load_each_byte to 1 temporarily while handling
11346 #@NUMBER. Don't call read_multibyte.
11347 (read_vector): Call Fread with a cons. If readcharfun is
11348 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11349 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11350 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11351 and Qload_force_doc_strings.
11352
113532008-02-01 Kenichi Handa <handa@m17n.org>
11354
11355 * xdisp.c (face_before_or_after_it_pos): Call
11356 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11357
113582008-02-01 Kenichi Handa <handa@m17n.org>
11359
11360 * character.h (TRAILING_CODE_P): New macro.
11361 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11362 (string_char_with_unification): Fix prototype.
11363 (Vscript_alist): Extern it.
11364
11365 * character.c (Vscript_alist): New variable.
11366 (string_char_with_unification, str_as_unibyte)
11367 (string_escape_byte8): Add `const' to local variables.
11368 (syms_of_character): Declare script-alist as a Lisp variable.
11369
11370 * charset.h (Vcharset_ordered_list): Extern it.
11371 (charset_ordered_list_tick): Extern it.
11372 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11373 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11374 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11375 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11376 (Funify_charset): Adjust for the change of Funify_charset.
11377
11378 * charset.c (charset_ordered_list_tick): New variable.
11379 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11380 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11381 deunify intead of unify a charset.
11382 (string_xstring_p): Add `const' to local variables.
11383 (find_charsets_in_text): Add `const' to arguments and local variables.
11384 (encode_char): Adjust for the change of Funify_charset. Fix
11385 detecting of invalid code.
11386 (Fset_charset_priority): Increment charset_ordered_list_tick.
11387 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11388 and TO_CODE.
11389
11390 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11391 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11392 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11393 (decode_coding_ccl, consume_chars)
11394 (Ffind_coding_systems_region_internal)
11395 (Fcheck_coding_systems_region): Add `const' to local variables.
11396
11397 * print.c (print_object): Use octal form for printing the
11398 contents of a bool vector.
11399
114002008-02-01 Dave Love <fx@gnu.org>
11401
11402 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11403 <version == 20>: Refuse to load.
11404
114052008-02-01 Dave Love <fx@gnu.org>
11406
11407 * fns.c: Move coding.h.
11408 (Qcodeset, Qdays, Qmonths): New.
11409 (concat): Use CHARACTERP instead of INTEGERP.
11410 (Flocale_codeset): Delete.
11411 (Flanginfo): New function.
11412 (syms_of_fns): Change accordingly.
11413
11414 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11415
114162008-02-01 Dave Love <fx@gnu.org>
11417
11418 * casetab.c (init_casetab_once, init_casetab_once): Fix
11419 CHAR_TABLE_SET call.
11420
11421 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11422
11423 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11424
11425 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11426 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11427 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11428
11429 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11430
11431 * coding.c (ENCODE_DESIGNATION, decode_eol)
11432 (make_conversion_work_buffer, code_conversion_restore)
11433 (Fdefine_coding_system_internal): Convert Lisp types.
11434 (code_conversion_restore): Use EQ, not ==.
11435 (Fencode_coding_string): Fix code_convert_string call.
11436
11437 * coding.h (code_convert_region): Fix prototype.
11438
11439 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11440
11441 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11442 (Ffontset_info): Convert Lisp types.
11443
11444 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11445
11446 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11447
11448 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11449
11450 * chartab.c: Include "...h", not <...h> in some cases.
11451
11452 * callproc.c (Fcall_process): Remove unused variables.
11453
114542008-02-01 Dave Love <fx@gnu.org>
11455
11456 * coding.c (Fset_coding_system_priority): Allow null arg list.
11457
114582008-02-01 Dave Love <fx@gnu.org>
11459
11460 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11461 (Fself_insert_and_exit): Use CHARACTERP.
11462
11463 * callproc.c (Fcall_process): Remove unused vars.
11464
11465 * xterm.c (XTread_socket): Add extra dead keysyms.
11466
11467 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11468
11469 * dispextern.h: Remove prototypes for redraw_frame,
11470 redraw_garbaged_frames.
11471
11472 * cmds.c (Fself_insert_command): Use CHARACTERP.
11473
11474 * chartab.c (make_sub_char_table): Remove unused var.
11475 (Fset_char_table_default, Fmap_char_table): Doc fix.
11476
11477 * keymap.c (access_keymap): Remove generic char code.
11478 (push_key_description): Use CHARACTERP.
11479
114802008-02-01 Dave Love <fx@gnu.org>
11481
11482 * charset.c: Doc fixes.
11483 (Funify_charset): Extra checking.
11484
114852008-02-01 Dave Love <fx@gnu.org>
11486
11487 * lread.c: Remove some unused variables.
11488 (safe_to_load_p): If safe, return the magic number version byte.
11489 (Fload): Maybe use load-with-code-conversion.
11490
114912008-02-01 Kenichi Handa <handa@m17n.org>
11492
11493 * category.c (Fmodify_category_entry): Don't modify the contents
11494 of category_set for characters out of the range. Avoid
11495 unnecessary modification.
11496
11497 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11498 Vchar_unify_table. The default value of the table is now nil.
11499
11500 * character.c (syms_of_character): Setup Vchar_width_table for
11501 eight-bit-control and raw-byte chars.
11502
11503 * charset.h (enum define_charset_arg_index): Delete
11504 charset_arg_parents and add charset_arg_subset and
11505 charset_arg_superset.
11506 (enum charset_attr_index): Delete charset_parents and add
11507 charset_subset and charset_superset.
11508 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11509 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11510 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11511 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11512 (CHARSET_SUPERSET): New macros.
11513 (charset_work): Extern it.
11514 (ENCODE_CHAR): Use charset_work.
11515 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11516 (map_charset_chars): Extern it.
11517
11518 * charset.c (load_charset_map): Set the default value of encoder
11519 and deunifier char-tables to nil.
11520 (map_charset_chars): Change argument. Change callers. Use
11521 map_char_table_for_charset instead of map_char_table.
11522 (Fmap_charset_chars): New optional args from_code and to_code.
11523 (Fdefine_charset_internal): Adjust for the change of
11524 `define-charset' (:parents -> :subset or :superset).
11525 (charset_work): New variable.
11526 (encode_char, syms_of_charset): Adjust for the change of
11527 Fdefine_charset_internal.
11528 (Ffind_charset_string): Setup the vector `charsets' correctly.
11529
11530 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11531 the previous change.
11532 (char_table_ref_and_range): Adjust for the above change.
11533 (map_sub_char_table_for_charset): New function.
11534 (map_char_table_for_charset): New function.
11535
11536 * keymap.c (describe_vector): Handle a char-table directly here.
11537 (describe_char_table): Delete.
11538
11539 * lisp.h (map_charset_chars): Delete.
11540
115412008-02-01 Dave Love <fx@gnu.org>
11542
11543 * fns.c (count_combining): Comment out (unused).
11544 (Flocale_codeset): New.
11545 (syms_of_fns): Defsubr it.
11546
11547 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11548 (size_t): Remove.
11549
115502008-02-01 Dave Love <fx@gnu.org>
11551
11552 * Makefile.in (chartab.o): Depend on charset.h.
11553
115542008-02-01 Kenichi Handa <handa@m17n.org>
11555
11556 * character.c (syms_of_character): Set the default value of
11557 Vprintable_chars to Qnil.
11558
115592008-02-01 Dave Love <fx@gnu.org>
11560
11561 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11562
115632008-02-01 Kenichi Handa <handa@m17n.org>
11564
11565 * charset.c (load_charset_map): Handle the case that from < to
11566 correctly.
11567
11568 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11569 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11570 Pay attention to raw-8-bit chars.
11571
115722008-02-01 Kenichi Handa <handa@m17n.org>
11573
11574 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11575 It is not bytecompiled now.
11576
11577 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11578 (charset_jisx0208): New variables.
11579 (Fdefine_charset_internal): Setup them if appropriate.
11580 (init_charset_once): Initialize them to -1.
11581
11582 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11583 (charset_jisx0208): Extern them.
11584
11585 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11586 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11587 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11588 (setup_iso_safe_charsets): Fix arguments to Fassq.
11589 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11590 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11591 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11592 (encode_coding_iso_2022): Change the 1st arg to
11593 ENCODE_ISO_CHARACTER to a variable.
11594
115952008-02-01 Kenichi Handa <handa@m17n.org>
11596
11597 * charset.h (enum define_charset_arg_index): New enums
11598 charset_arg_min_code and charset_arg_max_code.
11599 (struct charset): New member char_index_offset.
11600
11601 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11602 Take charset->char_index_offset into account.
11603 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11604 args[charset_arg_max_code]. Setup charset.char_index_offset.
11605 (syms_of_charset): Fix args to Fdefine_charset_internal.
11606
116072008-02-01 Dave Love <fx@gnu.org>
11608
11609 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11610
116112008-02-01 Dave Love <fx@gnu.org>
11612
11613 * coding.c: Doc fixes.
11614 (Fcoding_system_aliases): Fix return value.
11615 (Qmac): Remove (duplicated) definition.
11616
116172008-02-01 Dave Love <fx@gnu.org>
11618
11619 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11620 functions.
11621
11622 * character.c (Fstring): Doc fix.
11623
11624 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11625
11626 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11627 ids.
11628 (font-encoding-alist): Doc fix.
11629
116302008-02-01 Dave Love <fx@gnu.org>
11631
11632 * term.c (costs_set): Declare static, non-initialized for pcc.
11633 (encode_terminal_code): Remove unused var.
11634
11635 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11636 for K&R.
11637
11638 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11639
11640 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11641 (suffixes): Move out of make_subsidiaries for K&R.
11642
11643 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11644
11645 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11646
116472008-02-01 Dave Love <fx@gnu.org>
11648
11649 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11650
11651 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11652
116532008-02-01 Yong Lu <lyongu@asia-infonet.com>
11654
11655 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11656
11657 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11662 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11663
116642008-02-01 Kenichi Handa <handa@m17n.org>
11665
11666 * coding.c (decode_coding_charset): Adjust for the change of
11667 Fdefine_coding_system_internal.
11668 (Fdefine_coding_system_internal): For a coding system of
11669 `charset' type, store a list of charset IDs in
11670 `charset_attr_charset_valids' element of coding attributes.
11671
116722008-02-01 Kenichi Handa <handa@m17n.org>
11673
11674 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11675 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11676 caller. Handle 2-byte and 3-byte charsets correctly.
11677 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11678 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11679 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11680 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11681 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11682 sequence.
11683 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11684 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11685 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11686 and alt&rule composition.
11687 (decode_coding_iso_2022): Handle composition correctly.
11688 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11689
11690 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11691 re-defining a charset. If the charset has :emacs-mule-id, setup
11692 emacs_mule_bytes.
11693 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11694
116952008-02-01 Kenichi Handa <handa@m17n.org>
11696
11697 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11698 (encode_coding_big5, encode_coding_charset): If coding requires safe
11699 encoding, produce a character specified by
11700 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11701
117022008-02-01 Dave Love <fx@gnu.org>
11703
11704 * xterm.c (XSetIMValues): Declare.
11705
11706 * process.c: Conditionally include sys/wait.h, pty.h.
11707
11708 * print.c (print_object): Fix print format for 64-bit systems.
11709
11710 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11711
11712 * buffer.c (emacs_strerror): Declare.
11713
11714 * fontset.c (Fclear_face_cache): Declare.
11715 (accumulate_font_info): Comment-out (unused).
11716 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11717 variables.
11718
11719 * character.h (string_escape_byte8): Declare.
11720
11721 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11722 unused vars.
11723 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11724 (Fmap_charset_chars): Doc fix.
11725
11726 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11727 (Fset_coding_system_priority, Fset_coding_system_priority)
11728 (Fdefine_coding_system_internal): Doc fix.
11729
117302008-02-01 Dave Love <fx@gnu.org>
11731
11732 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11733
117342008-02-01 Kenichi Handa <handa@m17n.org>
11735
11736 * character.c (string_escape_byte8): Make multibyte string with
11737 correct size.
11738
11739 * charset.c (Fmake_char): Delete unnecessary code.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * xfns.c (x_encode_text): Allocate coding.destination here, and
11744 call encode_coding_object with dst_object Qnil.
11745
11746 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11747 multibyte form correctly.
11748
11749 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11750 against Vfont_encoding_alist.
11751
11752 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11753 handling of charset list.
11754 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11755 (decode_coding_object): Move point to coding->dst_pos before
11756 calling post-read-conversion function.
11757 (encode_coding_object): Give correct arguments to
11758 pre-write-conversion. Ignore the return value of
11759 pre-write-conversion function. Pay attention to the case that
11760 pre-write-conversion changes the current buffer. If dst_object is
11761 Qt, even if coding->src_bytes is zero, allocate at least one byte
11762 to coding->destination.
11763
11764 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11765
11766 * charset.c (Fmake_char): Make it more backward compatible.
11767 (Fmap_charset_chars): Fix docstring.
11768
117692008-02-01 Dave Love <fx@gnu.org>
11770
11771 * coding.c: Doc fixes.
11772 (Fdefine_coding_system_alias): Use names, not symbols, in
11773 coding-system-alist.
11774
117752008-02-01 Kenichi Handa <handa@m17n.org>
11776
11777 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11778 of calling free_realized_face.
11779
117802008-02-01 Yong Lu <lyongu@asia-infonet.com>
11781
11782 * charset.c (read_hex): Don't treat SPC as a comment starter.
11783 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11784 (Fdecode_char): Fix typo.
11785
117862008-02-01 Kenichi Handa <handa@m17n.org>
11787
11788 * charset.h (struct charset): New member `code_space_mask'.
11789
11790 * coding.c (coding_set_source): Delete the local variable beg_byte.
11791 (encode_coding_charset, Fdefine_coding_system_internal):
11792 Delete the local variable charset.
11793 (Fdefine_coding_system_internal): Setup
11794 attrs[coding_attr_charset_valids] correctly.
11795
11796 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11797 member to check if CODE is valid or not.
11798 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11799 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11800 is within the range of charset->min_code and carset->max_code.
11801
118022008-02-01 Dave Love <fx@gnu.org>
11803
11804 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11805
11806 * dispextern.h (generate_ascii_font): Fix return type.
11807
11808 * xfaces.c (generate_ascii_font): Fix arg declaration.
11809
11810 * coding.c (coding_inherit_eol_type)
11811 (Fset_terminal_coding_system_internal)
11812 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11817 multiple charsets correctly.
11818
118192008-02-01 Kenichi Handa <handa@m17n.org>
11820
11821 * search.c (boyer_moore): Fix handling of multibyte character
11822 translation.
11823
11824 * xdisp.c (display_mode_element): When the variable `elt' is
11825 changed, update `this' and `lisp_string'.
11826
118272008-02-01 Kenichi Handa <handa@m17n.org>
11828
11829 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11830
11831 * callproc.c (Fcall_process): Be sure to give the current buffer
11832 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
11833
11834 * charset.c (struct charset_map_entries): New struct.
11835 (load_charset_map): Rename from parse_charset_map. New args
11836 entries and n_entries. Change caller.
11837 (load_charset_map_from_file): Rename from load_charset_map.
11838 Change caller. New arg control_flag. Call load_charset_map at
11839 the tail.
11840 (load_charset_map_from_vector): New function.
11841 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11842 (encode_char): If the charset is compact, change a character index
11843 to a code point.
11844
11845 * coding.c (coding_alloc_by_making_gap): Check the case that the
11846 source and destination are the same correctly.
11847 (decode_coding_raw_text): Set coding->consumed_char and
11848 coding->consumed to 0.
11849 (produce_chars): If coding->chars_at_source is nonzero, update
11850 coding->consumed_char and coding->consumed before calling
11851 alloc_destination.
11852 (Fdefine_coding_system_alias): Register ALIAS in
11853 Vcoding_system_alist.
11854 (syms_of_coding): Define `no-conversion' coding system at the tail.
11855
11856 * fileio.c (Finsert_file_contents): Set coding_system instead of
11857 val. If the current buffer is multibyte, always call
11858 decode_coding_gap.
11859
11860 * xfaces.c (try_font_list): Give higher priority to fontset's
11861 family than face's family.
11862
118632008-02-01 Kenichi Handa <handa@m17n.org>
11864
11865 * callproc.c (Fcall_process): Be sure to give the current buffer
11866 to decode_coding_c_string.
11867
11868 * xfaces.c (try_font_list): Give a family specified in a fontset
11869 higher priority than a family specified in a face.
11870
118712008-02-01 Kenichi Handa <handa@m17n.org>
11872
11873 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11874 Fix arguments to insert_from_buffer.
11875
11876 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11877
118782008-02-01 Kenichi Handa <handa@m17n.org>
11879
11880 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11881 (decode_coding_gap): Set coding->dst_multibyte correctly.
11882
118832008-02-01 Kenichi Handa <handa@m17n.org>
11884
11885 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
11886 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
11887 (encode_coding_utf_16): Substitute coding->default_char for
11888 non-Unicode characters.
11889 (decode_coding): Don't call record_insert here.
11890 (setup_coding_system): Initialize `surrogate' of
11891 coding->spec.utf_16 to 0.
11892 (EMIT_ONE_BYTE): Fix for multibyte case.
11893
11894 * insdel.c (insert_from_gap): Call record_insert.
11895
118962008-02-01 Kenichi Handa <handa@m17n.org>
11897
11898 * casefiddle.c (casify_region): Fix multibyte case.
11899
11900 * character.c (c_string_width): Add return type `int'.
11901 (char_string_with_unification): Delete arg ADVANCED.
11902
11903 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
11904 (CHAR_STRING): Adjust for the change of char_string_with_unification.
11905 (CHAR_STRING_ADVANCE): Make it do-while statement.
11906
11907 * chartab.c (sub_char_table_set_range): Optimize for the case
11908 DEPTH == 3. Add workaround code for a GCC optimization bug.
11909
11910 * charset.c (parse_charset_map): Remove an unused variable.
11911
11912 * coding.c: Delete unused variables.
11913
11914 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11915 earlier. If inserted is zero and the coding system doesn't
11916 require flushing, don't call decode_coding_gap.
11917
11918 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11919
119202008-02-01 Kenichi Handa <handa@m17n.org>
11921
11922 The following changes are for using Unicode as an internal
11923 character model, and use UTF-8 format for buffer/string
11924 representation.
11925
11926 * .gdbinit (xchartable): Adjust for the change of char table structure.
11927 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11928
11929 * Makefile.in (obj): Add character.o and chartab.o.
11930 (lisp, shortlisp): Remove utf-8.elc.
11931 (*.o): For many files, change dependency on charset.h to
11932 character.h, and add dependency on character.h.
11933 (character.o, chartab.o): New targets.
11934
11935 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11936 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11937 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
11938 of "charset.h".
11939
11940 * dired.c, filelock.c: Include "character.h".
11941
11942 * alloc.c: Include "character.h" instead of "charset.h".
11943 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
11944 (syms_of_alloc): Remove defsubr for Smake_char_table.
11945
11946 * buffer.c: Include "character.h" instead of "charset.h", don't
11947 include "coding.h".
11948 (Fset_buffer_multibyte): Adjust for UTF-8.
11949
11950 * buffer.h: EXFUN Fbuffer_live_p.
11951
11952 * callproc.c: Include "character.h" instead of "charset.h".
11953 (Fcall_process): Big change for the new code-conversion APIs.
11954
11955 * casetab.c: Include "character.h" instead of "charset.h".
11956 (set_canon, set_identity, shuffle): Adjust for the new
11957 map_char_table spec.
11958 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11959 accessing the char table structure.
11960
11961 * chartab.c: New file that implements char table.
11962
11963 * category.c: Include "character.h".
11964 (copy_category_entry): New function.
11965 (copy_category_table): Call map_char_table and copy_category_entry.
11966 (Fmake_category_table): Initialize all top-level slots.
11967 (char_category_set): New function.
11968 (modify_lower_category_set): Delete.
11969 (Fmodify_category_entry): Call char_table_ref_and_range.
11970
11971 * category.h (CATEGORY_SET): Just call char_category_set.
11972
11973 * ccl.c: Include "character.h".
11974 (Qccl, Qcclp): New variables.
11975 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11976 it's less than 256.
11977 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11978 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
11979 and DST type.
11980 (ccl_driver): Change types of argument, adjust code accordingly.
11981 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
11982 ccl_driver.
11983 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11984
11985 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11986 New members src_multibyte, dst_multibyte, consumed, and produced.
11987 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
11988 (CODING_SPEC_CCL_PROGRAM): New macro.
11989 (ccl_driver): Update prototype.
11990 (Qccl, Qcclp, Fccl_program_p): Extern them.
11991 (CHECK_CCL_PROGRAM): New macro.
11992
11993 * character.c, character.h, chartab.c: New files.
11994
11995 * charset.c: Mostly re-written. Move character and multibyte sequence
11996 handling codes to character.c.
11997
11998 * charset.h: Mostly re-written. Move character and multibyte sequence
11999 handling codes to character.h.
12000
12001 * coding.c, coding.h: Mostly re-written.
12002
12003 * composite.c: Include "character.h" instead of "charset.h".
12004 (CHAR_WIDTH): Move to character.h.
12005 (HASH_KEY, HASH_VALUE): Delete.
12006
12007 * composite.h (enum composition_method): Change order of enumeration
12008 symbols.
12009
12010 * data.c: Include "character.h" instead of "charset.h".
12011 (Faref): Call CHAR_TABLE_REF for a char table.
12012 (Faset): Call CHAR_TABLE_SET for a char table.
12013
12014 * dispextern.h (free_realized_face, check_face_attribytes)
12015 (generate_ascii_font): Extern them.
12016 (free_realized_multibyte_face): Delete extern.
12017
12018 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12019 table structure.
12020
12021 * editfns.c: Include "character.h" instead of "charset.h".
12022 (Fchar_to_string): Always call CHAR_STRING.
12023
12024 * emacs.c (main): Call init_charset_once, init_charset,
12025 syms_of_chartab, and syms_of_character.
12026
12027 * fileio.c: Include "character.h" instead of "charset.h".
12028 (Finsert_file_contents): Big change for the new code-conversion API.
12029 (choose_write_coding_system, Fwrite_region): Likewise.
12030 (build_annotations_2): Delete.
12031 (e_write): Big change for the new code-conversion API.
12032
12033 * fns.c: Include "character.h" instead of "charset.h".
12034 (copy_sub_char_table): Move to chartab.c.
12035 (Fcopy_sequence): Call copy_char_table for a char table.
12036 (concat): Delete codes calling count_multibyte.
12037 (string_char_to_byte, string_byte_to_char): Adjust for the new
12038 multibyte form.
12039 (internal_equal): Adjust for the change of char table structure.
12040 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12041 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12042 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12043 (char_table_translate, optimize_sub_char_table)
12044 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12045 chartab.c.
12046 (char_table_ref_and_index): Delete.
12047 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12048 (Fmd5): Call preferred_coding_system instead of accessing
12049 Vcoding_category_list. Adjust for the new code-conversion API.
12050 (syms_of_fns): Move defsubr for char table related functions to
12051 chartab.c.
12052
12053 * fontset.c: Mostly re-written.
12054
12055 * fontset.h (struct font_info): Change type of the member encoding_type.
12056 (enum FONT_SPEC_INDEX): New enum.
12057 (fontset_font_pattern, fs_load_font): Update prototype.
12058 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12059
12060 * indent.c: Include "character.h" instead of "charset.h".
12061 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12062
12063 * insdel.c: Include "character.h" instead of "charset.h".
12064 (copy_text): Don't refer to Vnonascii_translation_table.
12065 (insert_from_gap): New function.
12066
12067 * keyboard.c: Include "character.h" instead of "charset.h".
12068 (command_loop_1): Never call direct_output_forward_char before
12069 a non-ASCII character.
12070 (read_char): If Vkeyboard_translate_table is a char table, always
12071 translate a character.
12072
12073 * keymap.c: Include "character.h".
12074 (store_in_keymap): Handle the case that IDX is a cons.
12075 (Fdefine_key): Handle the case that KEY is a cons and the car part
12076 is also a cons (range).
12077 (push_key_description): Adjust for the new character code.
12078 (describe_vector): Call describe_char_table for a char table.
12079 (describe_char_table): New function.
12080
12081 * keymap.h (describe_char_table): Extern it.
12082
12083 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12084 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12085 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12086 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12087 Delete.
12088 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12089 structure.
12090 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12091 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12092 (CHARTAB_SIZE_BITS_3): New macros.
12093 (chartab_size): Extern it.
12094 (struct Lisp_Char_Table): Re-design.
12095 (struct Lisp_Sub_Char_Table): New structure.
12096 (HASH_KEY, HASH_VALUE): Move from fns.c.
12097 (CHARACTERBITS): Define as 22.
12098 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12099 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12100 (GC_SUB_CHAR_TABLE_P): New macro.
12101 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12102 (code_convert_string_norecord): Deleted extern.
12103 (init_character_once, syms_of_character, init_charset)
12104 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12105
12106 * lread.c: Include "character.h".
12107 (read_multibyte): New arg NBYTES.
12108 (read_escape): Change the meaning of returned *BYTEREP.
12109 (to_multibyte): Delete.
12110 (read1): Adjust the handling of char table and string.
12111
12112 * print.c: Include "character.h" instead of "charset.h".
12113 (print_string): Convert 8-bit raw bytes to octal form by
12114 string_escape_byte8.
12115 (print_object): Adjust for the new multibyte form. Print 8-bit
12116 raw bytes always in octal form. Handle sub char table correctly.
12117
12118 * process.c: Include "character.h" instead of "charset.h".
12119 (read_process_output, send_process): Adjust for the new
12120 code-conversion API.
12121
12122 * puresize.h (BASE_PURESIZE): Increase.
12123
12124 * regex.c: Include "character.h" instead of "charset.h".
12125 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12126 (regex_compile): Accept a range whose starting and ending
12127 character have different leading bytes.
12128 (analyse_first): Adjust for the above change.
12129
12130 * search.c: Include "character.h" instead of "charset.h".
12131 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12132 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12133
12134 * syntax.c: Include "character.h" instead of "charset.h".
12135 (syntax_parent_lookup): Delete.
12136 (Fmodify_syntax_entry): Accept a cons as CHAR.
12137 (skip_chars): Adjust for the new multibyte form.
12138 (init_syntax_once): Call char_table_set_range instead of directly
12139 accessing the structure of a char table.
12140
12141 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12142 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12143 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12144 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12145
12146 * term.c: Include "buffer.h" and "character.h".
12147 (encode_terminal_code, write_glyphs): Adjust for the new
12148 code-conversion API.
12149 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12150
12151 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12152
12153 * xdisp.c: Include "character.h".
12154 (get_next_display_element): Adjust for the new multibyte form.
12155 (disp_char_vector): Adjust for the new char table structure.
12156 (decode_mode_spec_coding): Adjust for the new structure of
12157 coding system.
12158 (decode_mode_spec): Adjust for the new code-conversion API.
12159
12160 * xfaces.c: Include "character.h" instead of "charset.h".
12161 (load_face_font): Adjust for the change of choose_face_font and
12162 FS_LOAD_FONT.
12163 (generate_ascii_font): New function.
12164 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12165 (set_font_frame_param): Adjust for the change of choose_face_font.
12166 (free_realized_face): Make it public.
12167 (free_realized_faces_for_fontset): Rename from
12168 free_realized_multibyte_face. Free also faces realized for ASCII.
12169 (choose_face_font): Change arguments. Adjust for the change of
12170 fontset_font_pattern and FS_LOAD_FONT.
12171
12172 * xfns.c: Include "character.h".
12173 (x_encode_text): Adjust for the new code-conversion API.
12174
12175 * xselect.c: Don't include "charset.h".
12176 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12177
12178 * xterm.c: Include "character.h".
12179 (x_encode_char): New argument CHARSET. Change caller.
12180 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12181 Call ENCODE_CHAR instead of SPLIT_CHAR.
12182 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12183 CHAR_WIDTH instead of CHARSET_WIDTH.
12184 (XTread_socket): Adjust for the new code-conversion API.
12185 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12186 (x_load_font): Adjust for the change of struct font.
12187
121882008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12189
12190 * xfaces.c (face_at_buffer_position): Remove unused vars.
12191
121922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12193
12194 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12195 Fix overflow checking.
12196
121972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12198
12199 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12200 Cancel previous change.
12201
122022008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12203
12204 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12205 ccl->eight_bit_control. Fix check for buffer overflow.
12206 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12207 (ccl_driver): Initialize extra_bytes to 0.
12208
122092008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12210
12211 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12212 return it ORed with ctrl_modifier.
12213
122142008-01-29 Miles Bader <miles@gnu.org>
12215
12216 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12217
122182008-01-28 Jason Rumney <jasonr@gnu.org>
12219
12220 * w32.c (stat): Don't double check for networked drive.
12221
122222008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12223
12224 * window.c (run_window_configuration_change_hook): New function.
12225 Code extracted from set_window_buffer. Set the selected frame.
12226 (set_window_buffer): Use it.
12227 * window.h (run_window_configuration_change_hook): Declare.
12228 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12229
12230 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12231
122322008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12233
12234 * Makefile.in: Remove references to unused macros.
12235
122362008-01-26 Eli Zaretskii <eliz@gnu.org>
12237
12238 * w32.c (g_b_init_get_sid_sub_authority)
12239 (g_b_init_get_sid_sub_authority_count): New static variables.
12240 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12241 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12242 (init_user_info): Use them to retrieve uid and gid.
12243 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12244 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12245 st_uid and st_gid of the file.
12246
122472008-01-26 Jason Rumney <jasonr@gnu.org>
12248
12249 * w32.c (logon_network_drive): New function.
12250 (stat): Use it.
12251
122522008-01-26 Chong Yidong <cyd@stupidchicken.com>
12253
12254 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12255 invisible text covered with an ellipsis.
12256
122572008-01-25 Richard Stallman <rms@gnu.org>
12258
12259 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12260 jump back to beginning. Move some other initializations after that.
12261 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12262 New variables.
12263 (syms_of_xdisp): Init them.
12264
12265 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12266
12267 * buffer.c (reset_buffer_local_variables):
12268 Implement `permanent-local-hook'.
12269 (Qpermanent_local_hook): New variable.
12270 (syms_of_buffer): Init and staticpro it.
12271
122722008-01-25 Michael Albinus <michael.albinus@gmx.de>
12273
12274 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12275
122762008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12277
12278 * fns.c (Fclrhash): Return TABLE.
12279
122802008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12281
12282 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12283 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12284 is set even without positional changes.
12285 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12286
12287 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12288
122892008-01-23 Jason Rumney <jasonr@gnu.org>
12290
12291 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12292
12293 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12294 the unicode range available in MULE by locale-coding-system.
12295 Improve dbcs lead byte detection. Set event timestamp and modifiers
12296 earlier.
12297
122982008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12299
12300 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12301 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12302 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12303 when used on child processes.
12304
123052008-01-21 Michael Albinus <michael.albinus@gmx.de>
12306
12307 * dbusbind.c (Fdbus_method_return_internal): Rename from
12308 Fdbus_method_return.
12309 (Fdbus_unregister_object): Move to dbus.el.
12310 (Fdbus_call_method, Fdbus_method_return_internal)
12311 (Fdbus_send_signal): Improve debug messages.
12312
123132008-01-20 Martin Rudalics <rudalics@gmx.at>
12314
12315 * undo.c (undo_inhibit_record_point): New variable.
12316 (syms_of_undo): Initialize it.
12317 (record_point): Don't record point when undo_inhibit_record_point
12318 is set.
12319
123202008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12321
12322 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12323
12324 * xdisp.c (Qauto_hscroll_mode): New var.
12325 (syms_of_xdisp): Initialize it.
12326 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12327 window's buffer.
12328 (hscroll_windows): Don't check automatic_hscrolling_p here.
12329
12330 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12331 vscroll if we're setting window-buffer to the value it already has.
12332
123332008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12334
12335 * m/intel386.h: Remove references to XENIX.
12336
123372008-01-17 Andreas Schwab <schwab@suse.de>
12338
12339 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12340 instead of HAVE_X86_64_LIB64_DIR.
12341 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12342
123432008-01-17 Glenn Morris <rgm@gnu.org>
12344
12345 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12346 to HAVE_X86_64_LIB64_DIR.
12347
123482008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12349
12350 * s/irix3-3.h:
12351 * s/irix4-0.h:
12352 * s/386-ix.h:
12353 * s/domain.h:
12354 * s/hpux9-x11r4.h:
12355 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12356
12357 * sysdep.c: Remove code containing references to symbols defined
12358 by unsupported systems.
12359
123602008-01-16 Glenn Morris <rgm@gnu.org>
12361
12362 * coding.c (select-safe-coding-system-function): Doc fix.
12363
123642008-01-15 Glenn Morris <rgm@gnu.org>
12365
12366 * config.in: Revert 2008-01-13 change: this is a generated file.
12367
123682008-01-13 Tom Tromey <tromey@redhat.com>
12369
12370 * lisp.h: Fix typo.
12371
123722008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12373
12374 * m/sequent-ptx.h:
12375 * m/sequent.h:
12376 * s/ptx.h:
12377 * s/ptx4-2.h:
12378 * s/ptx4.h: Remove files for systems no longer supported.
12379
12380 * callproc.c (Fcall_process): Fix previous change.
12381
123822008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12383
12384 * unexsunos4.c: Remove file, system not supported anymore.
12385
12386 * m/mips.h:
12387 * m/intel386.h:
12388 * callproc.c:
12389 * config.in:
12390 * ecrt0.c:
12391 * emacs.c:
12392 * fileio.c:
12393 * frame.c:
12394 * getpagesize.h:
12395 * keyboard.c:
12396 * lread.c:
12397 * process.c:
12398 * puresize.h:
12399 * sysdep.c:
12400 * systty.h:
12401 * syswait.h:
12402 * unexec.c:
12403 * xdisp.c:
12404 * alloc.c: Remove code containing references to symbols defined by
12405 unsupported systems.
12406
124072008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12408
12409 * coding.c (detect_coding_mask): Fix previous change.
12410
124112008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12412
12413 * coding.c (detect_coding_iso2022): New arg
12414 latin_extra_code_state. Allow Latin extra codes only
12415 when *latin_extra_code_state is nonzero.
12416 (detect_coding_mask): If there is a NULL byte, detect the encoding
12417 as UTF-16 or binary. If Latin extra codes exist, detect the
12418 encoding as ISO-2022 only when there's no other proper encoding is
12419 found.
12420
124212008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12422
12423 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12424 #ifdef MAC_OS.
12425
124262008-01-08 Richard Stallman <rms@gnu.org>
12427
12428 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12429
124302008-01-06 Nick Roberts <nickrob@snap.net.nz>
12431
12432 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12433 menu bar in parentheses.
12434
124352008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12436
12437 * m/7300.h:
12438 * m/acorn.h:
12439 * m/alliant-2800.h:
12440 * m/alliant.h:
12441 * m/alliant1.h:
12442 * m/alliant4.h:
12443 * m/altos.h:
12444 * m/amdahl.h:
12445 * m/apollo.h:
12446 * m/att3b.h:
12447 * m/aviion-intel.h:
12448 * m/aviion.h:
12449 * m/celerity.h:
12450 * m/clipper.h:
12451 * m/cnvrgnt.h:
12452 * m/convex.h:
12453 * m/cydra5.h:
12454 * m/delta88k.h:
12455 * m/dpx2.h:
12456 * m/dual.h:
12457 * m/elxsi.h:
12458 * m/f301.h:
12459 * m/gould-np1.h:
12460 * m/gould.h:
12461 * m/i860.h:
12462 * m/ibmps2-aix.h:
12463 * m/ibmrt-aix.h:
12464 * m/ibmrt.h:
12465 * m/irist.h:
12466 * m/is386.h:
12467 * m/isi-ov.h:
12468 * m/mega68.h:
12469 * m/mg1.h:
12470 * m/news-r6.h:
12471 * m/news-risc.h:
12472 * m/news.h:
12473 * m/nh3000.h:
12474 * m/nh4000.h:
12475 * m/ns16000.h:
12476 * m/ns32000.h:
12477 * m/nu.h:
12478 * m/orion.h:
12479 * m/orion105.h:
12480 * m/paragon.h:
12481 * m/pfa50.h:
12482 * m/plexus.h:
12483 * m/pyramid.h:
12484 * m/pyrmips.h:
12485 * m/sh3el.h:
12486 * m/sps7.h:
12487 * m/sr2k.h:
12488 * m/stride.h:
12489 * m/sun1.h:
12490 * m/sun2.h:
12491 * m/sun3-68881.h:
12492 * m/sun3-fpa.h:
12493 * m/sun3-soft.h:
12494 * m/sun3.h:
12495 * m/sun386.h:
12496 * m/symmetry.h:
12497 * m/tad68k.h:
12498 * m/tahoe.h:
12499 * m/targon31.h:
12500 * m/tek4300.h:
12501 * m/tekxd88.h:
12502 * m/tower32.h:
12503 * m/tower32v3.h:
12504 * m/ustation.h:
12505 * m/wicat.h:
12506 * m/xps100.h:
12507 * s/cxux.h:
12508 * s/cxux7.h:
12509 * s/dgux.h:
12510 * s/dgux4.h:
12511 * s/dgux5-4-3.h:
12512 * s/dgux5-4r2.h:
12513 * s/esix.h:
12514 * s/esix5r4.h:
12515 * s/hiuxmpp.h:
12516 * s/hiuxwe2.h:
12517 * s/iris3-5.h:
12518 * s/iris3-6.h:
12519 * s/isc2-2.h:
12520 * s/isc3-0.h:
12521 * s/isc4-0.h:
12522 * s/isc4-1.h:
12523 * s/newsos5.h:
12524 * s/newsos6.h:
12525 * s/osf1.h:
12526 * s/osf5-0.h:
12527 * s/riscix1-1.h:
12528 * s/riscix12.h:
12529 * s/sco4.h:
12530 * s/sco5.h:
12531 * s/sunos4-0.h:
12532 * s/sunos4-1.h:
12533 * s/sunos413.h:
12534 * s/sunos4shr.h:
12535 * s/umax.h:
12536 * s/unipl5-2.h:
12537 * s/xenix.h:
12538 * cxux-crt0.s:
12539 * unexapollo.c:
12540 * unexconvex.c:
12541 * unexenix.c:
12542 * unexsni.c: Remove files for systems no longer supported.
12543
12544 * m/intel386.h: Remove references to unsupported systems.
12545
12546 * w32.c (get_emacs_configuration): Remove reference to i860.
12547
12548 * sysdep.c: Remove dead code.
12549
125502008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12551
12552 * s/rtu.h:
12553 * m/masscomp.h: Remove files. Platform is obsolete.
12554
125552008-01-04 Michael Albinus <michael.albinus@gmx.de>
12556
12557 * dbusbind.c (Fdbus_method_return): New function.
12558 (xd_read_message): Add the serial number to the event.
12559 (Fdbus_register_method): Activate the function.
12560
125612008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12562
12563 * keyboard.c (read_key_sequence): Fix typo.
12564
125652008-01-03 Michael Albinus <michael.albinus@gmx.de>
12566
12567 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12568 (xd_signature, xd_append_arg): Handle element type detection for
12569 empty arrays.
12570 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12571 SDATA () calls; this must be solved more general.
12572 (Fdbus_register_signal): Use SBYTES instead of strlen.
12573
125742008-01-03 Magnus Henoch <magnus@zemdatav>
12575
12576 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12577 unsigned int for byte values (necessary for big-endian platform).
12578 (Fdbus_call_method): Handle the case of no returned arguments.
12579
125802007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12581
12582 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12583
125842007-12-31 Magnus Henoch <mange@freemail.hu>
12585
12586 * dbusbind.c (xd_signature): Signature of variant is just "v".
12587
125882007-12-30 Michael Albinus <michael.albinus@gmx.de>
12589
12590 * dbusbind.c: Fix several errors and compiler warnings.
12591 Reported by Tom Tromey <tromey@redhat.com>.
12592 (XD_ERROR, XD_DEBUG_MESSAGE)
12593 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12594 (xd_append_arg): Part for basic D-Bus types rewritten.
12595 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12596 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12597 appropriate.
12598 (xd_read_message): Return Qnil. Don't signal an error; it is not
12599 useful during event reading.
12600 (Fdbus_register_signal): Signal an error if the check for
12601 FUNCTIONP fails.
12602 (Fdbus_register_method): New function. The implementation is not
12603 complete, the call of the function signals an error therefore.
12604 (Fdbus_unregister_object): New function, renamed from
12605 Fdbus_unregister_signal. The initial check signals an error, if
12606 the object is not well formed.
12607
126082007-12-30 Richard Stallman <rms@gnu.org>
12609
12610 * textprop.c (get_char_property_and_overlay):
12611 Signal error if POSITION is out of range in a buffer.
12612
126132007-12-29 Martin Rudalics <rudalics@gmx.at>
12614
12615 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12616 because the original parameters are in pure storage now.
12617
126182007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12619
12620 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12621
126222007-12-22 Eli Zaretskii <eliz@gnu.org>
12623
12624 * callint.c (syms_of_callint) <command-history>: Add reference to
12625 history-length in the doc string.
12626
126272007-12-17 Jason Rumney <jasonr@gnu.org>
12628
12629 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12630 before passing as wParam.
12631
126322007-12-22 Michael Albinus <michael.albinus@gmx.de>
12633
12634 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12635 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12636 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12637 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12638 as number.
12639 (Fdbus_call_method): Fix docstring.
12640
126412007-12-21 Michael Albinus <michael.albinus@gmx.de>
12642
12643 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12644 New macros.
12645 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12646 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12647 Simplify.
12648 (xd_signature): New function.
12649 (xd_append_arg): Compute also signatures. Major rewrite.
12650 (xd_retrieve_arg): Make debug messages friendly.
12651 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12652 Check for signatures of arguments.
12653
126542007-12-19 Michael Albinus <michael.albinus@gmx.de>
12655
12656 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12657 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12658 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12659 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12660 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12661 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12662 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12663 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12664 (xd_retrieve_value): Remove. Functionality included in ...
12665 (xd_append_arg): New function.
12666 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12667
126682007-12-16 Michael Albinus <michael.albinus@gmx.de>
12669
12670 * dbusbind.c (top): Include <stdio.h>.
12671 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12672 dbus_message_new_method_call and dbus_message_new_signal.
12673 (Fdbus_register_signal): Rename unique_name to uname.
12674 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12675 non-existing unique name. Fix typos in matching rule. Return an
12676 object which is useful in Fdbus_unregister_signal.
12677 (Fdbus_unregister_signal): Reimplementation, in order to remove
12678 only the corresponding entry.
12679 (Vdbus_registered_functions_table): Change the order of entries.
12680 Apply these changes in xd_read_message and Fdbus_register_signal.
12681
126822007-12-16 Andreas Schwab <schwab@suse.de>
12683
12684 * fileio.c (Finsert_file_contents): Fix overflow check to not
12685 depend on undefined integer overflow.
12686
126872007-12-14 Jason Rumney <jasonr@gnu.org>
12688
12689 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12690 for characters above 127.
12691
126922007-12-13 Jason Rumney <jasonr@gnu.org>
12693
12694 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12695 before dereferencing array.
12696 (lookup_vk_code): Remove zero comparison.
12697
126982007-12-14 Michael Albinus <michael.albinus@gmx.de>
12699
12700 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12701 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12702 Use `unsigned int' instead of `uint'.
12703 (xd_read_message, Fdbus_register_signal): Split expressions into
12704 multiple lines before operators "&&" and "||", according to the
12705 GNU Coding Standards.
12706
127072007-12-14 Eli Zaretskii <eliz@gnu.org>
12708
12709 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12710
127112007-12-12 Juri Linkov <juri@jurta.org>
12712
12713 * buffer.c (Frename_buffer): In interactive spec replace
12714 `read-buffer' with `read-string' that uses `buffer-name-history'
12715 as history, and the current buffer's name as default.
12716
127172007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12718
12719 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12720 manipulating the backtrace manually.
12721 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12722 (struct backtrace, backtrace_list): Remove.
12723 (command_loop_1): Remove dead var `no_direct'.
12724
12725 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12726 preserve non-built-in buffer-local variables.
12727 (Fkill_all_local_variables): Don't re-create&re-set permanent
12728 buffer-local variables.
12729
127302007-12-09 Juri Linkov <juri@jurta.org>
12731
12732 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12733 Lisp code that uses `read-buffer' with current buffer as default.
12734
127352007-12-08 Michael Albinus <michael.albinus@gmx.de>
12736
12737 * dbusbind.c (xd_read_message): Generate an event for every
12738 registered handler. There might be several handlers registered
12739 for the same signal.
12740 (Fdbus_register_signal): Don't overwrite a registration for the
12741 same signal. Add a new registration if handlers are different.
12742 (Vdbus_registered_functions_table): Rework doc string.
12743
127442007-12-07 Michael Albinus <michael.albinus@gmx.de>
12745
12746 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12747 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12748 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12749 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12750 Unify argument lists.
12751 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12752 arguments and hash table keys. Use unique name for service.
12753 (Fdbus_unregister_signal): Remove checks.
12754 (Vdbus_registered_functions_table): Fix doc string.
12755
127562007-12-05 Magnus Henoch <mange@freemail.hu>
12757
12758 * process.c (make_process): Initialize pty_flag to 0.
12759
127602007-12-05 Jason Rumney <jasonr@gnu.org>
12761
12762 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12763 specified XBMs.
12764
127652007-12-05 Richard Stallman <rms@gnu.org>
12766
12767 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12768
127692007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12770
12771 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12772 New variable.
12773 (mac_try_close_socket) [MAC_OSX]: New function.
12774 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12775 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12776
12777 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12778 Use mac_try_close_socket.
12779
127802007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12781
12782 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12783 reloc_base.
12784 (copy_dysymtab): Compute relocation base here.
12785 (rebase_reloc_address) [__ppc64__]: New function.
12786 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12787 changed.
12788
127892007-12-05 Jason Rumney <jasonr@gnu.org>
12790
12791 * w32proc.c (sys_spawnve): Quote args with wildcards.
12792
127932007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12794
12795 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12796 __objc_* sections.
12797 (unrelocate) [_LP64]: Set relocation base to address of data segment.
12798
127992007-12-05 Michael Albinus <michael.albinus@gmx.de>
12800
12801 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12802 Move check for Vdbus_registered_functions_table to
12803 xd_read_queued_messages.
12804 (xd_read_queued_messages): Protect xd_read_message calls by
12805 internal_condition_case_1.
12806
128072007-12-04 Michael Albinus <michael.albinus@gmx.de>
12808
12809 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
12810 Qdbus_system_bus and Qdbus_session_bus, respectively.
12811 (Vdbus_intern_symbols): Remove.
12812 (Vdbus_registered_functions_table): New hash table.
12813 (XD_SYMBOL_INTERN_SYMBOL): Remove.
12814 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
12815 Rewrite in order to manage registered functions by hash table
12816 Vdbus_registered_functions_table.
12817
128182007-12-03 Jan Djärv <jan.h.d@swipnet.se>
12819
12820 * xterm.c: Update URL to Window Manager Specification in comment.
12821
128222007-12-02 Michael Albinus <michael.albinus@gmx.de>
12823
12824 * config.in (HAVE_DBUS): Add.
12825
12826 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
12827 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12828 (obj): Add $(DBUS_OBJ).
12829 (LIBES): Add $(DBUS_LIBS).
12830 (dbusbind.o): New target.
12831
12832 * dbusbind.c: New file.
12833
12834 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12835
12836 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
12837 (Qdbus_event): New Lisp symbol.
12838 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
12839 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
12840 (keys_of_keyboard ): Define dbus-event.
12841
12842 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12843
128442007-12-01 Richard Stallman <rms@gnu.org>
12845
12846 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12847
128482007-11-30 Jason Rumney <jasonr@gnu.org>
12849
12850 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12851 (w32con_reset_terminal_modes): Clear screen buffer.
12852 (w32_face_attributes): Don't use color indexes that are out of range.
12853 Only reverse the default colors.
12854
12855 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12856 WINDOWSNT.
12857
12858 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12859
128602007-11-29 Jason Rumney <jasonr@gnu.org>
12861
12862 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12863 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12864 if the terminal colors are initialized.
12865 (unspecified_fg, unspecified_bg): Remove unused declarations.
12866
128672007-11-29 Andreas Schwab <schwab@suse.de>
12868
12869 * keyboard.c (apply_modifiers): Fix typo.
12870
128712007-11-29 Richard Stallman <rms@gnu.org>
12872
12873 * keymap.c (Fcurrent_local_map): Doc fix.
12874
128752007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12876
12877 * s/gnu-kfreebsd.h: New file.
12878
128792007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12880
12881 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12882 Don't cast redundantly.
12883
12884 * keyboard.c (KEY_TO_CHAR): New macro.
12885 (parse_modifiers, apply_modifiers): Accept integer arguments.
12886 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12887 for chars and symbol keys.
12888 After doing such remapping, apply function-key-map again.
12889
128902007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12891
12892 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12893 compiled anymore.
12894
128952007-11-26 Andreas Schwab <schwab@suse.de>
12896
12897 * process.c (list_processes_1): Fix indentation level of the
12898 command column.
12899
129002007-11-23 Andreas Schwab <schwab@suse.de>
12901
12902 * editfns.c (Fformat): Handle %c specially since it requires the
12903 argument to be of type int.
12904
129052007-11-23 Markus Triska <markus.triska@gmx.at>
12906
12907 * emacs.c (main): Call init_editfns before init_process, since
12908 init_process sets Vprocess_connection_type depending on OS release.
12909
129102007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12911
12912 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12913 (find_symbol_value): Use do_symval_forwarding.
12914
12915 * data.c (set_internal): Set the value in the `cons-cell' (for
12916 Buffer_Local_values) not only for frame-local variables.
12917
129182007-11-22 Andreas Schwab <schwab@suse.de>
12919
12920 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12921 values to sprintf.
12922 * keymap.c (Fsingle_key_description): Likewise.
12923 * print.c (print_object): Likewise.
12924
129252007-11-22 Jan Djärv <jan.h.d@swipnet.se>
12926
12927 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12928 file for image is nil.
12929
129302007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12931
12932 * term.c: Include stdarg.h.
12933 (fatal): Implement using varargs.
12934 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
12935
129362007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12937
12938 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12939 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12940 Update call to buffer_slot_type_mismatch.
12941 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12942 (buffer_slot_type_mismatch): Update.
12943 * buffer.c (buffer_local_types): Remove.
12944 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12945 (defvar_per_buffer): Set the type in the buffer_objfwd.
12946
129472007-11-21 Jason Rumney <jasonr@gnu.org>
12948
12949 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12950 CreateFileMapping returns NULL on failure.
12951
129522007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12953
12954 * search.c (Fset_match_data): Remove the `evaporate' feature.
12955 (unwind_set_match_data): Don't use the `evaporate' feature.
12956
129572007-11-21 Jason Rumney <jasonr@gnu.org>
12958
12959 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12960
12961 * w32console.c (w32con_write_glyphs): Remove unused variables.
12962
129632007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12964
12965 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12966
12967 * s/darwin.h (MULTI_KBOARD): Remove.
12968
12969 * macfns.c (x_create_tip_frame, Fx_create_frame)
12970 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12971
129722007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12973
12974 * buffer.c (Fbuffer_local_value): Remove redundant test.
12975 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12976 than in `current-buffer' to match the comment.
12977 Do the swap using swap_in_global_binding.
12978
12979 * data.c (store_symval_forwarding, set_internal):
12980 * eval.c (specbind): Remove dead code.
12981
12982 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12983 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12984 Since we do not want to see internal Lisp_*fwd objects here.
12985
129862007-11-18 Jan Djärv <jan.h.d@swipnet.se>
12987
12988 * sysdep.c (init_system_name): Use getaddrinfo if available.
12989
12990 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12991 (x_scroll_bar_note_movement): start, end, with, height in struct
12992 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12993
129942007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12995
12996 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12997
129982007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12999
13000 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13001 This undoes Richard's change of 14-Oct-2002.
13002
13003 * alloc.c (allocate_other_vector):
13004 * lisp.h (allocate_other_vector): Remove.
13005
13006 * window.c (struct save_window_data): Move non-lisp data to the end
13007 and make it `int' rather than Lisp_Object.
13008 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13009 Done wrap/unwrap integer values.
13010 (Fset_window_configuration, compare_window_configurations):
13011 Update use of fields to their new types.
13012
13013 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13014 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13015 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13016 (SET_SCROLL_BAR_X_WINDOW): Remove.
13017 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13018 Access the new x_window field directly.
13019 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13020 Don't wrap/unwrap integers into Lisp_Objects.
13021 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13022 (x_scroll_bar_report_motion):
13023 Don't wrap/unwrap integers into Lisp_Objects.
13024 (x_term_init): Use SDATA.
13025 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13026 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13027 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13028 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13029 * xfns.c (x_set_background_color):
13030 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13031 Access the new x_window field directly.
13032
13033 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13034 (allocate_pseudovector): Make non-static.
13035
13036 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13037 (allocate_pseudovector): Declare.
13038 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13039
130402007-11-15 Andreas Schwab <schwab@suse.de>
13041
13042 * editfns.c (Fformat): Correctly format EMACS_INT values.
13043 Also take precision into account when formatting an integer.
13044
13045 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13046
130472007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13048
13049 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13050 (syms_of_keyboard): Defsubr it.
13051
13052 * data.c (swap_in_global_binding): Fix longstanding bug where
13053 store_symval_forwarding was not called with the right second argument,
13054 thus causing objfwd-ing from being dropped.
13055
130562007-11-14 Juanma Barranquero <lekktu@gmail.com>
13057
13058 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13059 (Fx_display_pixel_height, Fx_display_planes)
13060 (Fx_display_color_cells, Fx_server_max_request_size)
13061 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13062 (Fx_display_visual_class, Fx_display_save_under):
13063 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13064 (Fx_display_pixel_height, Fx_display_planes)
13065 (Fx_display_color_cells, Fx_server_max_request_size)
13066 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13067 (Fx_display_mm_height, Fx_display_mm_width)
13068 (Fx_display_backing_store, Fx_display_visual_class)
13069 (Fw32_select_font, Fx_display_save_under):
13070 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13071 (Fx_display_pixel_height, Fx_display_planes)
13072 (Fx_display_color_cells, Fx_server_max_request_size)
13073 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13074 (Fx_display_save_under): Fix typos in docstrings.
13075
130762007-11-14 Juanma Barranquero <lekktu@gmail.com>
13077
13078 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13079 corresponding to deleted entries; they are an implementation detail.
13080 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13081 Remove variables.
13082 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13083 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13084 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13085 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13086 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13087 (Fw32_define_rgb_color, Fw32_load_color_file)
13088 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13089 Fix typos in docstrings.
13090 (Fx_server_version): Reflow docstring.
13091 (Fw32_shell_execute): Doc fixes.
13092
130932007-11-13 Juanma Barranquero <lekktu@gmail.com>
13094
13095 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13096 if w32_parse_hot_key returned nil.
13097
130982007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13099
13100 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13101
131022007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 13103
aac0c6e3
MR
13104 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13105
13106 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13107
13108 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13109 Remove W32_SCROLL_BAR_CLICK_EVENT.
13110
13111 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13112 Add MULTIMEDIA_KEY_EVENT.
13113
13114 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13115 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13116 (make_lispy_event) [WINDOWSNT]: Use it to translate
13117 MULTIMEDIA_KEY_EVENT.
13118
13119 * w32term.h (WM_APPCOMMAND): Define if not already.
13120 (GET_APPCOMMAND_LPARAM): Likewise.
13121
13122 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13123 WM_APPCOMMAND.
13124
13125 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13126 (syms_of_w32fns): Export and initialize it.
13127 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13128
131292007-11-09 Chong Yidong <cyd@stupidchicken.com>
13130
13131 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13132 twice.
13133
13134 * xdisp.c (handle_face_prop): Fix last change.
13135
131362007-11-09 Richard Stallman <rms@gnu.org>
13137
13138 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13139 not just for after-strings and before-strings.
13140 Call face_for_overlay_string and pass the overlay to it.
13141 (handle_display_prop): Determine whether property came from an overlay.
13142 Pass OVERLAY arg to handle_single_display_spec.
13143 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13144 (load_overlay_strings): Fill in it->string_overlays.
13145 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13146
13147 * xfaces.c (face_for_overlay_string): Function renamed from
13148 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13149
13150 * dispextern.h (struct it): New elt string_overlays.
13151 New elt from_overlay, also in stack.
13152 Rearrange a few elements.
13153 (face_for_overlay_string): Decl renamed from
13154 face_at_buffer_position_no_overlays, and add argument.
13155
131562007-11-09 Richard Stallman <rms@gnu.org>
13157
13158 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13159 to get the base face for an overlay string.
13160
13161 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13162
13163 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13164
13165 * xdisp.c (handle_stop): Move some code out of loop.
13166
131672007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13168
13169 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13170 Fix conversion from Lisp object to ATSUFontID.
13171
131722007-11-09 Jason Rumney <jasonr@gnu.org>
13173
13174 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13175
131762007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13177
13178 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13179 Don't assume regions are aligned to page boundary.
13180 (print_load_command_name): Add LC_UUID if defined.
13181
131822007-11-09 Richard Stallman <rms@gnu.org>
13183
13184 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13185
131862007-11-07 Jason Rumney <jasonr@gnu.org>
13187
13188 * s/windows95.h: Remove.
13189
131902007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13191
13192 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13193 abort with a message on unhandled store_type values.
13194
131952007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13196
13197 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13198 Remove HAVE_X11R5 and HAVE_X11R4.
13199
132002007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13201
13202 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13203
132042007-11-01 Johan Bockgård <bojohan@gnu.org>
13205
13206 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13207 Don't set s->stippled_p here, since it has already been set by
13208 x_set_glyph_string_gc from x_draw_glyph_string.
13209
132102007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13211
13212 * sunfns.c: Remove file.
13213
13214 * m/sun386.h:
13215 * m/sun2.h:
13216 * m/sparc.h: Remove Sun windows code.
13217
132182007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13219
13220 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13221 (init_keyboard): Set current_kboard's window-system to nil.
13222 (tty_read_avail_input): Typo.
13223 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13224
132252007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13226
13227 * s/usg5-4.h:
13228 * s/usg5-3.h:
13229 * s/ptx.h:
13230 * m/is386.h:
13231 * m/ibmps2-aix.h:
13232 * Makefile.in: Remove all mentions of X10.
13233
13234 * dispnew.c (syms_of_display): Don't mention version 10.
13235
132362007-10-28 Juanma Barranquero <lekktu@gmail.com>
13237
13238 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13239 ($(BLD)/abbrev.$(O)): Remove.
13240
132412007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13242
13243 Rewrite abbrev.c in Elisp.
13244 * image.c (Qcount): Don't declare as extern.
13245 (syms_of_image): Initialize and staticpro `Qcount'.
13246 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13247 * emacs.c (main): Don't call syms_of_abbrev.
13248 * Makefile.in (obj): Remove abbrev.o.
13249 (abbrev.o): Remove.
13250 * abbrev.c: Remove.
13251
132522007-10-26 Martin Rudalics <rudalics@gmx.at>
13253
13254 * window.c (window_min_size_2): Don't count header-line.
13255
132562007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13257
13258 * frame.h (struct frame): Move all bit fields after the first bit
13259 field to take advantage of the available space. Group all the
13260 chars together to reduce wasted space due to padding.
13261
132622007-10-26 Juanma Barranquero <lekktu@gmail.com>
13263
13264 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13265
13266 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13267 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13268 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13269 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13270 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13271 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13272 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13273 (last_marked, mark_object_loop_halt): Make static.
13274
13275 * frame.c (syms_of_frame) <delete-frame-functions>:
13276 Fix typo in docstring.
13277
132782007-10-25 Juanma Barranquero <lekktu@gmail.com>
13279
13280 * w32.c (init_environment): Fix tiny memory leak.
13281 (w32_get_resource): Remove unused variable `ok'.
13282
132832007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13284
13285 Make `window-system' into a keyboard-local variable (rather than
13286 frame-local as done originally by multi-tty).
13287
13288 * keyboard.h (struct kboard): Add Vwindow_system.
13289 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13290 (mark_kboards): Mark Vwindow_system.
13291
13292 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13293 (init_display): Don't set the obsolete `window-system' frame-param.
13294
13295 * xterm.c (x_term_init):
13296 * w32term.c (w32_create_terminal):
13297 * term.c (init_tty): Set Vwindow_system.
13298 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13299 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13300
13301 * xfns.c (Fx_create_frame, x_create_tip_frame):
13302 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13303 * macfns.c (Fx_create_frame):
13304 Don't set the obsolete `window-system' frame-param.
13305
13306 * frame.h (Qwindow_system): Remove.
13307 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13308 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13309
133102007-10-24 Richard Stallman <rms@gnu.org>
13311
13312 * frame.c (x_figure_window_size): For fullscreen case,
13313 set USPosition | PPosition without clobbering rest of window_prompting.
13314
13315 * keyboard.c (Fcurrent_idle_time): Doc fix.
13316
13317 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13318
133192007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13320
13321 * process.c (unwind_request_sigio): Only define if __ultrix__.
13322
13323 * callproc.c (child_setup): Remove spurious *.
13324
13325 * lisp.h (Fget_text_property): Declare.
13326 (have_menus_p): Declare it here rather than in sys-dep header files.
13327 * macterm.h (have_menus_p):
13328 * msdos.h (have_menus_p):
13329 * xterm.h (have_menus_p): Remove.
13330
13331 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13332 (Fmake_variable_frame_local): Just check the variable's const-ness
13333 rather than checking nil or t.
13334
133352007-10-22 Jason Rumney <jasonr@gnu.org>
13336
13337 * w32fns.c: Include math.h.
13338 (w32_abort): Declaration moved to nt/config.nt.
13339
13340 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13341 (abort): Redefinition moved to nt/config.nt.
13342
13343 * m/windowsnt.h: Remove.
13344
133452007-10-22 Juanma Barranquero <lekktu@gmail.com>
13346
13347 * emacs.c (Fdump_emacs): Fix typo in message.
13348 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13349 <installation-directory>: Reflow docstring.
13350
133512007-10-22 Juri Linkov <juri@jurta.org>
13352
13353 * minibuf.c: Allow minibuffer default to be a list of default values.
13354 With empty input use the first element of this list as returned default.
13355 (string_to_object)
13356 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13357 (read_minibuf): If defalt is cons, set histstring to its car.
13358 (Fread_string): If default_value is cons, set val to its car.
13359 (Fread_buffer): If def is cons, use its car.
13360 (Fcompleting_read): If defalt is cons, set val to its car.
13361
133622007-10-21 Michael Albinus <michael.albinus@gmx.de>
13363
13364 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13365
133662007-10-20 Juanma Barranquero <lekktu@gmail.com>
13367
13368 * doc.c (Fdocumentation): Check for advice in all cases.
13369
133702007-10-19 Chong Yidong <cyd@stupidchicken.com>
13371
13372 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13373
133742007-10-19 Richard Stallman <rms@gnu.org>
13375
13376 * doc.c (Fdocumentation): Check for and handle an advised function.
13377
133782007-10-19 Juanma Barranquero <lekktu@gmail.com>
13379
13380 * process.c (Fset_process_filter): Doc fix.
13381
133822007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13383
13384 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13385 which caused key-translation-map to applied repeatedly (thus breaking
13386 double-mode).
13387
133882007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13389
13390 * xselect.c (x_own_selection, x_handle_selection_clear)
13391 (x_clear_frame_selections):
13392 * w32menu.c (list_of_panes, list_of_items):
13393 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13394 * textprop.c (validate_plist, interval_has_all_properties)
13395 (interval_has_some_properties, interval_has_some_properties_list)
13396 (add_properties, text_property_list):
13397 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13398 * minibuf.c (Fassoc_string):
13399 * macselect.c (x_own_selection, x_clear_frame_selections)
13400 (Fx_disown_selection_internal):
13401 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13402 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13403
134042007-10-17 Chong Yidong <cyd@stupidchicken.com>
13405
13406 * process.c: Link to libs for calling res_init() if available.
13407 (Fmake_network_process): Call res_init() before getaddrinfo or
13408 gethostbyname, if possible.
13409
134102007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13411
13412 * lread.c (read1): Set pvectype for char_tables.
13413
13414 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13415 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13416 Add type checks.
13417 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13418
13419 * alloc.c (free_misc): Use XMISCTYPE.
13420 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13421
134222007-10-17 Glenn Morris <rgm@gnu.org>
13423
13424 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13425 (syms_of_minibuf): Add Qcompletion_ignore_case.
13426 * dired.c (Qcompletion_ignore_case): Change to external.
13427 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13428 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13429 (Fread_file_name): Use it rather than intern'ing.
13430
13431 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13432 (Fread_coding_system): Ignore case of user input.
13433
134342007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13435
13436 * xdisp.c (handle_display_prop): Ignore display specs after
13437 replacing one when string text is being replaced.
13438 (handle_single_display_spec): Pretend as if characters with display
13439 property haven't been consumed only when buffer text is being replaced.
13440
134412007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13442
13443 * xfns.c (Fx_create_frame, Fx_display_list):
13444 * window.c (window_fixed_size_p, enlarge_window)
13445 (shrink_window_lowest_first):
13446 * macterm.c (init_font_name_table):
13447 * macfns.c (Fx_create_frame, Fx_display_list):
13448 * lread.c (close_load_descs):
13449 * keyboard.c (read_char_x_menu_prompt):
13450 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13451 * coding.c (code_convert_region_unwind): Test the type of an object
13452 rather than just !NILP before extracting data from it.
13453
13454 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13455
13456 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13457 (XMISCANY): New macro.
13458 (XMISCTYPE): Use it.
13459 (struct Lisp_Misc_Any): New type.
13460 (union Lisp_Misc): Use it.
13461 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13462 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13463 (find_symbol_value, set_internal, default_value, Fset_default)
13464 (Fmake_variable_buffer_local, Fmake_local_variable)
13465 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13466 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13467 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13468 * alloc.c (allocate_buffer): Set the size and tag.
13469 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13470 Use XMISCANY.
13471 (die): Follow the GNU convention for error messages.
13472 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13473 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13474 tag any more.
13475 (set_buffer_internal_1):
13476 * frame.c (store_frame_param):
13477 * eval.c (specbind):
13478 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13479
13480 * doc.c (Fsnarf_documentation): Simplify.
13481
134822007-10-14 Juanma Barranquero <lekktu@gmail.com>
13483
13484 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13485 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13486
134872007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13488
13489 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13490
134912007-10-14 Juanma Barranquero <lekktu@gmail.com>
13492
13493 * eval.c (do_autoload): Don't save autoloads.
13494
13495 * data.c (Ffset): Save autoload of the function being set.
13496
134972007-10-07 John Paul Wallington <jpw@pobox.com>
13498
13499 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13500 parameter before setting up faces.
13501
135022007-10-13 Eli Zaretskii <eliz@gnu.org>
13503
13504 * ccl.c (Fregister_code_conversion_map):
13505 * keyboard.c (append_tool_bar_item): Reformat last change.
13506
13507 * lisp.h (eabs): Rename from `abs'. All callers changed.
13508
135092007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13510
13511 * buffer.c (add_overlay_mod_hooklist):
13512 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13513 * fontset.c (make_fontset):
13514 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13515 (append_tool_bar_item):
13516 * macmenu.c (grow_menu_items):
13517 * w32menu.c (grow_menu_items):
13518 * xmenu.c (grow_menu_items): Use larger_vector.
13519
135202007-10-13 Eli Zaretskii <eliz@gnu.org>
13521
13522 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13523 selected frame'' on MSDOS).
13524
135252007-10-12 Martin Rudalics <rudalics@gmx.at>
13526
13527 * frame.c (Qexplicit_name): New variable.
13528 (x_report_frame_params): Report it in parameter alist.
13529 (syms_of_frame): Intern and staticpro it.
13530
135312007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13532
13533 * macfns.c (x_create_tip_frame): Set terminal for frame.
13534
135352007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13536
13537 * frame.c (Qenvironment): Remove.
13538 (syms_of_frame) <Qenvironment>: Don't initialize.
13539 (Fdelete_frame): Don't treat the `environment' param specially.
13540 * frame.h (Qenvironment): Don't declare.
13541 * callproc.c (set_initial_environment): Don't set unused frame param.
13542
13543 * frame.c (Fframe_with_environment): Remove.
13544 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13545
13546 * lisp.h (Fframe_with_environment): Don't declare.
13547
135482007-10-10 Juanma Barranquero <lekktu@gmail.com>
13549
13550 * indent.c (indent_tabs_mode, last_known_column)
13551 (last_known_column_modified): Make static.
13552 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13553
135542007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13555
13556 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13557
135582007-10-09 Jason Rumney <jasonr@gnu.org>
13559
13560 * w32term.c (x_set_window_size): Disable code that attempts to tell
13561 Lisp code about a size change before it actually happens.
13562
135632007-10-09 Richard Stallman <rms@gnu.org>
13564
13565 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13566 return HANDLED_RETURN.
13567
135682007-10-08 Martin Rudalics <rudalics@gmx.at>
13569
13570 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13571 when there's an unread command event.
13572
13573 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13574 window autoselection act appropriately when leaving selected frame.
13575 (syms_of_frame): Initialize focus_follows_mouse.
13576 * frame.h (focus_follows_mouse): Extern it.
13577 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13578 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13579 * msdos.c (dos_rawgetc): Likewise.
13580 * w32term.c (w32_read_socket): Likewise.
13581 * xterm.c (handle_one_xevent): Likewise.
13582 * xdisp.c (syms_of_xdisp): In doc-string of
13583 mouse-autoselect-window mention focus-follows-mouse.
13584
135852007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13586
13587 * macterm.c (mac_load_query_font): Fix missing return value.
13588 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13589 Add BLOCK_INPUT.
13590
135912007-10-08 Richard Stallman <rms@gnu.org>
13592
13593 * xdisp.c (get_window_cursor_type): Implement documented behavior
13594 for cursor-in-non-selected-windows = t.
13595
135962007-10-08 Jason Rumney <jasonr@gnu.org>
13597
13598 * w32.c (w32_get_resource): Always close registry keys.
13599
136002007-10-08 Jason Rumney <jasonr@gnu.org>
13601
13602 * makefile.w32-in (LIBS): Add COMCTL32.
13603
13604 * w32fns.c (globals_of_w32fns): Init common controls.
13605
136062007-10-08 Richard Stallman <rms@gnu.org>
13607
13608 * image.c (our_memory_buffer): Rename from omfib_buffer.
13609
136102007-10-08 Richard Stallman <rms@gnu.org>
13611
13612 * buffer.c (Foverlays_at): Doc fix.
13613
136142007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13615
13616 * fns.c (Fplist_put): Preserve uneven tail data.
13617
136182007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13619
13620 * termhooks.h (enum event_kind): Remove trailing comma.
13621
13622 * frame.h (enum): Remove trailing comma.
13623
136242007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13625
13626 * w32proc.c (delete_child): Don't terminate threads of zombies.
13627
136282007-10-08 Martin Rudalics <rudalics@gmx.at>
13629
13630 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13631
13632 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13633 last-repeatable-command.
13634 (init_kboard): Initialize Vlast_repeatable_command.
13635 (command_loop_1): Set it to real_this_command unless that was
13636 bound to an input event.
13637 (mark_kboards): Mark it.
13638
136392007-10-08 Richard Stallman <rms@gnu.org>
13640
13641 * eval.c (condition-case): Doc fix.
13642
136432007-10-08 Masatake YAMATO <jet@gyve.org>
13644
13645 * xfaces.c (tty_supports_face_attributes_p): Fix code
13646 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13647 was copied and not edited.
13648
136492007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13650
13651 Add new `input-decode-map' keymap and use it for terminal
13652 escape sequences.
13653 * keyboard.h (struct kboard): Add Vinput_decode_map.
13654 Remove Vlocal_key_translation_map.
13655 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13656 (init_kboard): Init input-decode-map.
13657 Replace local-key-translation-map back with key-translation-map.
13658 (syms_of_keyboard): Declare input-decode-map.
13659 Remove local-key-translation-map. Update docstrings.
13660 (mark_kboards): Mark Vinput_decode_map.
13661 Don't mark Vlocal_key_translation_map.
13662 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13663 Replace local-key-translation-map back with key-translation-map.
13664 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13665 Bind in input-decode-map rather than function-key-map.
13666
13667 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13668 This was made redundant by the previous introduction of XSETPVECTYPE.
13669
136702007-10-09 Richard Stallman <rms@gnu.org>
13671
13672 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13673
136742007-09-29 Richard Stallman <rms@gnu.org>
13675
13676 * eval.c (internal_condition_case_2, internal_condition_case_1)
13677 (internal_condition_case): Reenable abort if x_catching_errors ()
13678 to see if that really happens and why.
13679
136802007-10-06 Andreas Schwab <schwab@suse.de>
13681
13682 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13683
136842007-10-04 Juanma Barranquero <lekktu@gmail.com>
13685
13686 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13687
136882007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13689
13690 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13691
136922007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13693
13694 * window.h (struct window):
13695 * window.c (struct save_window_data, struct saved_window):
13696 * termhooks.h (struct terminal):
13697 * process.h (struct Lisp_Process):
13698 * frame.h (struct frame):
13699 * buffer.h (struct buffer):
13700 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13701 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13702 The size field of (pseudo)vectors is now unsigned.
13703 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13704
13705 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13706 Turn `count' into an integer.
13707
13708 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13709 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13710 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13711 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13712 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13713
13714 * alloc.c (allocate_pseudovector): New fun.
13715 (ALLOCATE_PSEUDOVECTOR): New macro.
13716 (allocate_window, allocate_terminal, allocate_frame)
13717 (allocate_process): Use it.
13718 (mark_vectorlike): New function.
13719 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13720 (mark_terminals): Use it.
13721 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13722 (Fmake_byte_code): Use XSETPVECTYPE.
13723
13724 * frame.c (Fframe_parameters): Minor simplification.
13725
13726 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13727
13728 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13729
13730 * buffer.c (Fget_buffer_create, init_buffer_once):
13731 * lread.c (defsubr):
13732 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13733
13734 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13735 defined differently in the m/*.h files.
13736 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13737 (XSETPVECTYPE): New macro.
13738 (XSETPSEUDOVECTOR): Use it.
13739
13740 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13741 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13742
13743 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13744 * lread.c (defvar_per_buffer):
13745 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13746
13747 * window.c (candidate_window_p): Only consider as visible frames that
13748 are on the same terminal.
13749
13750 * m/ibms390x.h (MARKBIT): Remove unused macro.
13751
137522007-10-01 Juanma Barranquero <lekktu@gmail.com>
13753
13754 * lread.c (Fload): Fix typo in docstring.
13755
137562007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13757
13758 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13759 of a non-zero value can't yield zero.
13760
137612007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13762
13763 * term.c (term_clear_mouse_face, term_mouse_highlight)
13764 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13765
13766 * print.c (safe_debug_print): Use XHASH.
13767
13768 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13769 Lisp elements such as tags.
13770 (XHASH): New macro.
13771 (EQ): Use it.
13772 (SREF, SSET, STRING_COPYIN): Use SDATA.
13773 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13774
13775 * alloc.c (mark_terminal): Remove left-over declaration.
13776 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13777 (allocate_vectorlike): Remove type argument. Adjust callers.
13778 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13779 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13780
13781 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13782 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13783 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13784 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13785 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13786 Use them.
13787
13788 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13789 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13790 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13791
137922007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13793
13794 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13795 loaded by default.
13796
137972007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13798
13799 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13800 on this tty.
13801 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13802
13803 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13804 Update all users.
13805 (handle_one_term_event): Use Gpm_DrawPointer.
13806 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13807 Signal errors instead of returning nil. Always return nil.
13808 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13809 Make it a noop if gpm-mouse was not activated.
13810 (syms_of_term): Update names.
13811
138122007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13813
13814 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13815 (init_sys_modes): Check that gpm_tty is the current tty.
13816
13817 * alloc.c (allocate_terminal): Set the vector size to only count the
13818 lisp fields. Initialize those to nil.
13819 (mark_object): Don't treat terminals specially.
13820 (mark_terminal): Remove.
13821 (mark_terminals): Use mark_object instead.
13822
13823 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13824 the GC to the beginning.
13825
13826 * indent.h:
13827 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13828
13829 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13830
138312007-09-25 Jason Rumney <jasonr@gnu.org>
13832
13833 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13834
13835 * w32console.c (create_w32cons_output): Remove.
13836
13837 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13838
13839 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13840 (reset_sys_modes): Use reset_terminal_modes_hook.
13841
138422007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13843
13844 * eval.c (do_autoload): Don't output any message.
13845
138462007-09-24 Juri Linkov <juri@jurta.org>
13847
13848 * emacs.c (standard_args): Change priority of "--no-splash"
13849 from 40 to 3. Add "--no-desktop" with the same priority.
13850
138512007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13852
13853 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13854 and optimize the case where they are all 1.
13855
138562007-09-23 Johannes Weiner <hannes@saeurebad.de>
13857
13858 * lisp.h (abs): Define if not defined.
13859 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13860 Don't define `abs', since it's defined in lisp.h.
13861
138622007-09-22 Eli Zaretskii <eliz@gnu.org>
13863
13864 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
13865 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13866 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13867 (init_tty): Use DEV_TTY instead of "/dev/tty".
13868 [WINDOWSNT]: No need to protect from NAME arg being null.
13869
138702007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13871
13872 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13873 up the tty state.
13874
138752007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13876
13877 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13878 (gpm_tty): Change its type.
13879 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13880 (gpm_tty): Change its type and initialize it.
13881 (Fterm_open_connection): Check the frame is indeed a tty.
13882 Use the new gpm_tty.
13883 (Fterm_close_connection): Use the new gpm_tty.
13884 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13885 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13886
138872007-09-21 Juanma Barranquero <lekktu@gmail.com>
13888
13889 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13890 underline_color, to draw strike-through.
13891
138922007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13893
13894 * lisp.h (allocate_terminal): Declare.
13895
13896 * window.c (candidate_window_p): Consider frames that are being placed
13897 by the user as somewhere between visible and iconified.
13898 (window_loop): Prefer windows on the current frame.
13899 (Fselect_window): Move the use of select-frame to the beginning so we
13900 can just delegate all the work (it'll call us back anyway).
13901
13902 * frame.c (Qdisplay_environment_variable):
13903 * frame.h (Qdisplay_environment_variable): Delete.
13904
13905 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13906 of the first arg, since that value may be a union.
13907
13908 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13909 parameter rather than Qdisplay_environment_variable. If all else
13910 fails, look for DISPLAY in initial-environment.
13911
139122007-09-21 Glenn Morris <rgm@gnu.org>
13913
13914 * Makefile.in (emacstool): Remove target.
13915 (lisp, shortlisp): Remove termdev.elc.
13916
139172007-09-21 Markus Triska <markus.triska@gmx.at>
13918
13919 * xterm.c (x_delete_display): Compile session management conditionally.
13920
139212007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13922
13923 * callproc.c (getenv_internal_1): New function.
13924 (getenv_internal): Use it.
13925 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13926
13927 * terminal.c (get_terminal): Don't accept ints to represent terminals.
13928 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13929 (Fset_terminal_parameter): Work with dead terminals as well.
13930 (Fmodify_terminal_parameters): Remove.
13931
13932 * terminal.c (get_terminal): Handle terminals.
13933 Make sure the terminal returned is live.
13934 (create_terminal): Use allocate_terminal.
13935 (mark_terminals): Move to alloc.c.
13936 (delete_terminal): Use terminal->name as liveness status.
13937 NULL out fields after freeing their contents.
13938 Don't deallocate the object.
13939 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13940 rather than an int.
13941 (Fterminal_live_p): Accept non-integer arguments.
13942 (Fterminal_list): Return terminal objects rather than an ints.
13943
13944 * alloc.c (enum mem_type): New member for `terminal' objects.
13945 (allocate_terminal): New function.
13946 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13947 Handle terminals.
13948 (mark_terminal): New fun.
13949 (mark_terminals): Move from terminal.c.
13950
13951 * term.c (get_tty_terminal): Don't treat output_initial specially.
13952 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13953 (delete_tty): Use terminal->name as liveness status.
13954
13955 * termhooks.h (struct terminal): Make it into a pseudovector.
13956 Remove `deleted' replaced by checking `name's nullness.
13957
13958 * print.c (print_object): Handle terminals.
13959
13960 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13961 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13962
13963 * frame.c (make_terminal_frame):
13964 * keyboard.c (tty_read_avail_input):
13965 * w32term.c (x_delete_terminal):
13966 * xfns.c (Fx_create_frame, x_create_tip_frame):
13967 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13968
139692007-09-20 Glenn Morris <rgm@gnu.org>
13970
13971 * process.c (Fmake_network_process): Doc fix.
13972
139732007-09-19 Jason Rumney <jasonr@gnu.org>
13974
13975 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13976
139772007-09-19 Michaël Cadilhac <michael@cadilhac.name>
13978
13979 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13980 Fix a C warning regarding variable constness.
13981
13982 * xterm.c (handle_one_xevent): Fix a C warning.
13983
139842007-09-18 Jason Rumney <jasonr@gnu.org>
13985
13986 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13987
139882007-09-17 Jan Djärv <jan.h.d@swipnet.se>
13989
13990 * gtkutil.c (gdpy_def): New variable.
13991 (xg_initialize): Initialize gdpy_def.
13992 (xg_display_close): If no other display exists, set gdpy_def to a
13993 new connection.
13994
139952007-09-16 Jan Djärv <jan.h.d@swipnet.se>
13996
13997 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13998 when we have no file name for the icon.
13999 (xg_tool_bar_expose_callback): Remove.
14000 (xg_create_tool_bar): Don't connect expose signal to
14001 xg_tool_bar_expose_callback.
14002 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14003
140042007-09-16 Andreas Schwab <schwab@suse.de>
14005
14006 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14007 values instead of zapping them.
14008
140092007-09-14 Glenn Morris <rgm@gnu.org>
14010
14011 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14012 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14013 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14014 scope and rename to omfib_buffer for clarity.
14015 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14016
140172007-09-14 Kenichi Handa <handa@m17n.org>
14018
14019 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14020
140212007-09-13 Jason Rumney <jasonr@gnu.org>
14022
14023 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14024
14025 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14026
14027 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14028 (mac_term_init): Call here instead, passing rif.
14029
140302007-09-13 Glenn Morris <rgm@gnu.org>
14031
14032 * s/hpux.h: No longer define `static' as nothing.
14033
140342007-09-13 Johan Bockgård <bojohan@gnu.org>
14035
14036 * callint.c (Fcall_interactively): Remove unused var `fun'.
14037
140382007-09-12 Romain Francoise <romain@orebokech.com>
14039
14040 * window.c (prefer_window_split_horizontally, display_buffer):
14041 Revert 2007-09-08 change.
14042
140432007-09-12 Glenn Morris <rgm@gnu.org>
14044
14045 * alloca.c: Remove file.
14046 * Makefile.in (alloca): Do not undef.
14047 (allocaobj, alloca.o): Remove.
14048 (otherobj): Remove allocaobj.
14049 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14050 * regex.c (C_ALLOCA): Remove all references and code that was only
14051 used when this was defined.
14052 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14053 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14054 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14055
14056 * Makefile.in (SOURCES, unlock, relock): Delete.
14057
14058 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14059 (menu_grab_callback): All uses changed.
14060
14061 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14062 (x_reply_selection_request): All uses changed.
14063
140642007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14065
14066 * lread.c (load_warn_old_style_backquotes): Change message to look
14067 better when it appears in the middle of byte-compiler messages.
14068
140692007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14070
14071 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14072
14073 * xterm.c (x_create_terminal): Add comment.
14074
14075 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14076
140772007-09-10 Richard Stallman <rms@gnu.org>
14078
14079 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14080
140812007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14082
14083 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14084 (DEFUN): Document `intspec', use it instead of `prompt'.
14085
14086 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14087
14088 * data.c (Finteractive_form): If the interactive specification starts
14089 with a `(', use it as a Lisp form.
14090
14091 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14092 name and file modes.
14093
14094 * callint.c (Fcall_interactively): Comment fixes.
14095
140962007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14097
14098 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14099 and compiled functions.
14100
141012007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14102
14103 * window.c (prefer_window_split_horizontally): New variable.
14104 (display_buffer): Consider splitting window horizontally depending
14105 on prefer_window_split_horizontally.
14106
141072007-09-08 Eli Zaretskii <eliz@gnu.org>
14108
14109 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14110
141112007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14112
14113 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14114
14115 * frame.c (x_set_frame_parameters): Check number is positive before
14116 using XFASTINT.
14117
14118 * window.c (freeze_window_start): Don't presume selected_window holds
14119 a window object.
14120 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14121
141222007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14123
14124 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14125
141262007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14127
14128 * window.c (Vsplit_window_preferred_function): New var.
14129 (Fdisplay_buffer): Use it.
14130 (syms_of_window): Export, and initialize it.
14131
141322007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14133
14134 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14135
141362007-09-06 Glenn Morris <rgm@gnu.org>
14137
14138 * gtkutil.c (menu_grab_callback) <cnt>:
14139 * xselect.c (x_reply_selection_request) <cnt>: Move static
14140 variable to file scope.
14141
141422007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14143
14144 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14145 consistent values of selected_frame and selected_window.
14146
141472007-09-04 Jason Rumney <jasonr@gnu.org>
14148
14149 * w32console.c (initialize_w32_display): Zero unused hooks.
14150
141512007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14152
14153 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14154 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14155
141562007-09-04 Jason Rumney <jasonr@gnu.org>
14157
14158 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14159 in w32console.c. Set up input. Remove XXX comments that have been
14160 confirmed as correct.
14161
14162 * s/ms-w32.h (MULTI_KBOARD): Define.
14163
14164 * w32console.c (one_and_only_w32cons): Remove.
14165 (initialize_w32_display): Take terminal argument.
14166
14167 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14168 initialize_w32_display.
14169 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14170
14171 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14172
14173 * keyboard.c (discard_mouse_events): Discard it.
14174 (make_lispy_event): Translate it to a lisp event.
14175 (lispy_wheel_names): Add wheel-left and right events.
14176 (syms_of_keyboard): Enlarge wheel_syms.
14177
14178 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14179 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14180
14181 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14182
14183 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14184 from WM_MOUSEHWHEEL.
14185 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14186
14187 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14188 terminal.
14189
14190 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14191 keyboard for the terminal.
14192
141932007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14194
14195 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14196 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14197 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14198 and resume-tty-function to resume-tty-hook.
14199 (Fsuspend_tty, Fresume_tty): Use new names.
14200
142012007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14202
14203 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14204 if it starts with "n:".
14205
142062007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14207
14208 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14209
142102007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14211
14212 * frame.h:
14213 * frame.c (Qterm_environment_variable): Remove.
14214 (syms_of_frame): Don't init and staticpro it.
14215
14216 * callproc.c (getenv_internal): Remove special case for $TERM.
14217
14218 * callproc.c (Vinitial_environment): New variable.
14219 (set_initial_environment): Initialize it.
14220 (syms_of_callproc): Declare it.
14221 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14222 TERM under which a process runs is never related to the TERM in which
14223 Emacs is running.
14224
142252007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14226
14227 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14228 * s/darwin.h: ... do it here.
14229
142302007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14231
14232 * lisp.h (set_initial_environment): Rename from set_global_environment.
14233
14234 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14235 removed by mistake on the multi-tty branch.
14236
14237 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14238 (Fmodify_frame_parameters): Return a value.
14239
14240 * image.c (png_load): Comment-out var only used in commented-out code.
14241
14242 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14243 before passing it to mark_object.
14244
14245 * xfaces.c (internal_resolve_face_name): Return a value.
14246 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14247
14248 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14249 (x_icon): Comment-out var only used in commented-out code.
14250
142512007-08-29 Romain Francoise <romain@orebokech.com>
14252
14253 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14254 QUIT hasn't been provided.
14255
142562007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14257
14258 * callproc.c (child_setup, getenv_internal): Use the
14259 display-environment-variable and term-environment-variable frame params.
14260 (set_initial_environment): Initialise Vprocess_environment.
14261
14262 * config.in: Disable multi-keyboard support on a mac.
14263
14264 * frame.c (Qterm_environment_variable)
14265 (Qdisplay_environment_variable): New variables.
14266 (syms_of_frame): Intern and staticpro them.
14267 (Fmake_terminal_frame): Disable output method test.
14268
14269 * frame.h: Declare them here.
14270
14271 * macfns.c (x_set_mouse_color): Get rif from the frame.
14272 (x_set_tool_bar_lines): Don't use updating_frame.
14273 (mac_window): Add 2 new parameters for consistency with other systems.
14274 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14275 frame parameters following what is done in X11 and w32. Don't use
14276 FRAME_MAC_DISPLAY_INFO.
14277 (Fx_open_connection, start_hourglass): Remove window-system check.
14278 (x_create_tip_frame): Get the keyboard from the terminal.
14279
14280 * macmenu.c: Reorder includes.
14281 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14282
14283 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14284 terminal parameter.
14285 (x_clear_frame): Add a frame parameter.
14286 (note_mouse_movement): Get rif from the frame.
14287 (mac_term_init): Initialize the terminal.
14288 (mac_initialize): Make static and move terminal initialization ...
14289 (mac_create_terminal): ... to this new function.
14290
14291 * macterm.h (struct mac_display_info): Add terminal.
14292 (mac_initialize): Delete declaration.
14293
14294 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14295
14296 * sysdep.c: Comment out text after #endif.
14297
14298 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14299 is defined. Better initialize ttys in windows. Use terminal
14300 specific mouse_position_hook.
14301
14302 * termhooks.h (union display_info): Add mac_display_info.
14303
14304 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14305 Set the default minibuffer frame, window_system and the rest of the
14306 frame parameters following what is done in X11.
14307
14308 * w32term.c (w32_initialize): Make static.
14309
14310 * xselect.c (x_handle_selection_clear): Only access
14311 terminal->kboard when MULTI_KBOARD is defined.
14312
14313 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14314 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14315
143162007-08-29 Jason Rumney <jasonr@gnu.org>
14317
14318 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14319 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14320
14321 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14322 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14323
14324 * keyboard.c (restore_kboard_configuration): Only define when
14325 MULTI_KBOARD defined.
14326
14327 * makefile.w32-in: Update dependancies from Makefile.in.
14328 (OBJ1): Add terminal.$(O)
14329
14330 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14331 Don't define function body.
14332 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14333
14334 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14335
14336 * w32.c (request_sigio, unrequest_sigio): Remove.
14337
14338 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14339 (w32con_clear_frame, w32con_clear_end_of_line)
14340 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14341 (w32con_delete_glyphs, w32con_set_terminal_window)
14342 (scroll_line, w32_sys_ring_bell): Add frame arg.
14343 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14344 Add terminal arg.
14345 (PICK_FRAME): Remove.
14346 (w32con_write_glyphs): Use frame specific terminal coding.
14347 (one_and_only_w32cons): New global variable.
14348 (initialize_w32_display): Use it for storing hooks.
14349 (create_w32cons_output): New function.
14350
14351 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14352 arg a frame.
14353
14354 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14355 Set window_system.
14356 (x_set_tool_bar_lines): Don't use updating_frame.
14357 (Fx_create_frame): Set terminal and ref count.
14358 (Fx_open_connection): Remove window-system check.
14359
14360 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14361
14362 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14363 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14364 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14365 Add frame arg.
14366 (x_delete_terminal, w32_create_terminal): New functions.
14367 (w32_term_init): Create a terminal.
14368 (w32_initialize): Move terminal specific initialization to
14369 w32_create_terminal.
14370
14371 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14372 (w32_clear_rect, w32_clear_area): Use background from frame.
14373 (w32_display_info): Add terminal.
14374 (w32_sys_ring_bell, x_delete_display): Declare here.
14375
14376 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14377
14378 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14379
143802007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14381
14382 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14383 Fix get_named_tty calls for the controlling tty.
14384
143852007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14386
14387 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14388
143892007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14390
14391 * term.c (tty_insert_glyphs): Add missing first parameter.
14392
143932007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14394
14395 * buffer.c (Fbuffer_list, Fbury_buffer):
14396 Take frame->buried_buffer_list into account.
14397
14398 * cm.c (current_tty): New variable, for cmputc().
14399 (cmputc): Use it.
14400 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14401 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14402 (cmgoto): Add tty parameter. Pass it on to calccost().
14403 Use emacs_tputs() instead of tputs().
14404
14405 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14406 tputs().
14407 (current_tty): New variable, for cmputc().
14408 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14409
14410 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14411 (internal_condition_case, internal_condition_case_1)
14412 (internal_condition_case_2): Don't abort when x_catching_errors.
14413
14414 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14415 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14416 prevent crashes caused by bogus longjmps in read_char.
14417
14418 * keymap.h (Fset_keymap_parent): Add EXFUN.
14419
14420 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14421 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14422 Remove redundant definition.
14423
14424 * macfns.c (x_set_mouse_color, x_make_gc):
14425 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14426
14427 * w32term.c (x_free_frame_resources):
14428 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14429 (w32_initialize): Use the accessor macros for terminal characteristics.
14430
14431 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14432 Use the accessor macros for terminal characteristics.
14433 * msdos.c (internal_terminal_init): Use the accessor macros for
14434 terminal characteristics.
14435 (ScreenVisualBell, internal_terminal_init):
14436 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14437
14438 * termopts.h (no_redraw_on_reenter): Declare.
14439
14440 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14441 (mark_terminals, mark_ttys): Declare.
14442 (Fgarbage_collect): Call them.
14443 (mark_object): Mark buried_buffer_list.
14444
14445 * prefix-args.c: Include stdlib.h for exit.
14446
14447 * syssignal.h: Add comment.
14448
14449 * indent.c: Include stdio.h.
14450
14451 * window.h (Vinitial_window_system): Declare.
14452 (Vwindow_system): Delete declaration.
14453
14454 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14455
14456 * image.c (lookup_image): Don't initialize `c' until the xasserts
14457 have been run.
14458
14459 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14460 FRAME_FOREGROUND_PIXEL.
14461
14462 * print.c (print_preprocess): Don't lose print_depth levels while
14463 iterating.
14464
14465 * widget.c (update_from_various_frame_slots):
14466 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14467
14468 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14469 frames.
14470 (window_internal_height): Remove bogus make_number call.
14471 (init_window_once): Call make_terminal_frame with two zero parameters.
14472
14473 * fileio.c (Fread_file_name): Update comment.
14474
14475 * callint.c (Fcall_interactively):
14476 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14477 Make sure it is correctly unwound.
14478
14479 * xsmfns.c (x_session_close): New function.
14480
14481 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14482 Delete declarations.
14483
14484 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14485 (x_output): Remove background_pixel and foreground_pixel fields.
14486 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14487 (x_delete_device, x_session_close): Declare.
14488
14489 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14490 (read_filtered_event): Call `read_char' with a local
14491 `wrong_kboard_jmpbuf'.
14492
14493 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14494 Don't call single_kboard_state. Use FRAME_RIF.
14495
14496 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14497 systems.
14498
14499 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14500 (Fframe_with_environment, Fset_input_meta_mode)
14501 (Fset_quit_char): EXFUN.
14502 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14503 (init_sys_modes, reset_sys_modes): Update prototypes.
14504 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14505
14506 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14507 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14508 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14509 Delete declarations.
14510 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14511 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14512 New declarations.
14513
14514 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14515 already does that during init_display(). Call syms_of_keymap
14516 before syms_of_keyboard. Call `syms_of_terminal'.
14517 Call set_initial_environment, not set_process_environment.
14518 (shut_down_emacs): Call reset_all_sys_modes() instead of
14519 reset_sys_modes().
14520
14521 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14522 (internal_resolve_face_name, resolve_face_name_error): New functions.
14523 (resolve_face_name): Protect against loops and errors thrown by Fget.
14524 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14525 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14526
14527 * scroll.c: Replace CURTTY() with local variables throughout the
14528 file (where applicable).
14529 (calculate_scrolling, calculate_direct_scrolling)
14530 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14531 characteristics.
14532
14533 * keymap.c (Vfunction_key_map): Remove.
14534 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14535 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14536 (Vkey_translation_map): Remove.
14537 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14538 (Fdescribe_buffer_bindings)
14539 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14540 Update for terminal-local key-translation-map.
14541
14542 * Makefile.in (callproc.o): Update dependencies.
14543 (lisp, shortlisp): Add termdev.elc.
14544 (obj): Add terminal.o.
14545 (terminal.o): Add dependencies.
14546 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14547 (data.o, fns.o): Add termhooks.h dependency.
14548 (SOME_MACHINE_LISP): Add dnd.elc.
14549 (minibuf.o): Fix typo.
14550 Update dependencies.
14551
14552 * data.c (do_symval_forwarding, store_symval_forwarding)
14553 (find_symbol_value): Use the selected frame's keyboard, not
14554 current_kboard.
14555
14556 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14557 Vwindow_system.
14558
14559 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14560 Fmenu_bar_open.
14561 (syms_of_xmenu): Update defsubr.
14562 (mouse_position_for_popup, Fx_popup_menu)
14563 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14564 (set_frame_menubar, free_frame_menubar)
14565 (create_and_show_popup_menu, xmenu_show, )
14566 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14567 an X frame.
14568
14569 * xselect.c (x_own_selection): Abort if not an X frame.
14570 (some_frame_on_display): Check if it is an X frame.
14571 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14572
14573 * coding.c: Include frame.h and termhooks.h.
14574 (terminal_coding, keyboard_coding): Delete.
14575 (Fset_terminal_coding_system_internal)
14576 (Fset_keyboard_coding_system_internal)
14577 (Fkeyboard_coding_system)
14578 (Fterminal_coding_system): Add a terminal parameter.
14579 Get terminal_coding from the terminal.
14580 (init_coding_once): Don't call setup_coding_system here.
14581
14582 * dispextern.h (set_scroll_region, turn_off_insert)
14583 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14584 (tty_clear_end_of_line, tty_setup_colors)
14585 (delete_tty, updating_frame)
14586 (produce_special_glyphs, produce_glyphs, write_glyphs)
14587 (insert_glyphs): Remove.
14588 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14589 (tty_turn_off_highlight, get_tty_size): Add declaration.
14590 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14591
14592 * frame.h (enum output_method): Add output_initial.
14593 (struct x_output): Delete.
14594 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14595 Access foreground_pixel and background_pixel directly from the frame.
14596 (tty_display): Delete.
14597 (struct frame): Add buried_buffer_list, foreground_pixel,
14598 background_pixel and terminal. Delete kboard.
14599 (union output_data): Add tty.
14600 (FRAME_KBOARD): Get the kboard from the terminal.
14601 (FRAME_INITIAL_P): New macro.
14602 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14603 (Qterm_environment_variable, Qdisplay_environment_variable)
14604 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14605 New declarations.
14606
14607 * termchar.h (tty_output, tty_display_info): New structures.
14608 (tty_list): Declare.
14609 (FRAME_TTY, CURTTY): New macros.
14610 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14611 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14612 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14613 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14614
14615 * callproc.c: Include frame.h and termhooks.h, for terminal
14616 parameters.
14617 (add_env): New function.
14618 (child_setup): Use it.
14619 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14620 (getenv_internal): Fix get_terminal_param call.
14621 (Fgetenv_internal, egetenv): Update doc.
14622 (syms_of_callproc): Initialize Vprocess_environment to nil.
14623 Register and initialize them. Remove obsolete defvars. Update doc
14624 strings.
14625 (child_setup): Handle Vlocal_environment_variables.
14626 (getenv_internal): Add terminal parameter.
14627 Handle Vlocal_environment_variables.
14628 (Fgetenv_internal): Add terminal parameter.
14629 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14630 environment in a frame (not terminal) parameter. Update doc strings.
14631 (set_initial_environment): Rename from set_global_environment.
14632 Store Emacs environment in initial frame parameter.
14633
14634 * xdisp.c (redisplay_internal): Update references to
14635 `previous_terminal_frame'.
14636 (display_mode_line, Fformat_mode_line): Replace calls to
14637 `push_frame_kboard' with `push_kboard'.
14638 (get_glyph_string_clip_rects): Add extra parentheses and
14639 braces to prevent compiler warnings.
14640 (calc_pixel_width_or_height): Add xassert to check that the
14641 frame is alive. Don't call `lookup_image' on a termcap frame.
14642 (message2_nolog, message3_nolog, redisplay_internal)
14643 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14644 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14645 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14646 (Fx_display_pixel_width, Fx_display_pixel_height)
14647 (Fx_display_planes, Fx_display_color_cells)
14648 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14649 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14650 (Fx_display_backing_store, Fx_display_visual_class)
14651 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14652 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14653
14654 * xfns.c (x_set_foreground_color x_set_background_color)
14655 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14656 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14657 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14658 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14659 terminal that is being deleted.
14660 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14661 frame parameter, and make sure it overrides any user-supplied setting.
14662 (Fx_close_connection, Fx_synchronize): Unify argument names with
14663 the rest of the DEFUNs.
14664
14665 * dispnew.c (Fsend_string_to_terminal): Update call to
14666 `get_tty_terminal'.
14667 (Fredraw_frame, Fsend_string_to_terminal)
14668 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14669 FRAME_TERMCAP_P and FRAME_TTY.
14670 (window_change_signal): Don't believe width/height values that are
14671 impossibly small.
14672 (Vinitial_window_system): Rename from Vwindow_system.
14673 (termscript, Wcm, rif): Delete.
14674
14675 * termhooks.h (struct terminal): New struct containing the
14676 previously global text display hooks and new members NAME,
14677 DELETED and PARAM_ALIST.
14678 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14679 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14680 (FRAME_RIF): New macros.
14681 (get_terminal_param, get_device): New declarations.
14682 (termscript): Delete declaration.
14683
14684 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14685 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14686 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14687 FRAME_FOREGROUND_PIXEL.
14688 (x_fully_uncatch_errors): Disable definition.
14689 (x_scroll_bar_expose): Fix reference to foreground pixel.
14690 (XTread_socket): Disable loop on all X displays.
14691 (x_delete_terminal): Don't set terminal->deleted and let
14692 delete_terminal delete the frames on the terminal.
14693 (x_delete_display): Doc update to reflect changes in
14694 delete_terminal.
14695 (x_display_info) <terminal>: Move member earlier in the struct.
14696 (deleting_tty): Remove old variable.
14697 (Fsuspend_tty): Call clear_tty_hooks.
14698 (Fresume_tty, init_tty): Call set_tty_hooks.
14699 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14700 errors on X frames.
14701 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14702 (handle_one_xevent): Initialize `f' to NULL.
14703 (x_delete_terminal, x_create_terminal): New functions.
14704 (XTset_terminal_modes, XTreset_terminal_modes)
14705 (XTread_socket, x_connection_closed, x_term_init)
14706 (x_term_init, x_delete_display): Add terminal parameter.
14707 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14708 X connections.
14709
14710 * frame.c: Include termchar.h.
14711 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14712 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14713 (Qdisplay_environment_variable): New vars.
14714 (Fframep): Deal with output_initial.
14715 (Fframe-live-p): Doc fix.
14716 (Fwindow-system): New function.
14717 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14718 (make_terminal_frame): Don't create frames on a terminal that is
14719 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14720 (store_frame_param): Check for found_for_frame before calling XFRAME.
14721 (Fmake_terminal_frame): Handle NULL tty names correctly.
14722 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14723 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14724 frames to refer to a deleted frame in their 'environment parameter.
14725 (Fframe_with_environment): New function.
14726 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14727 (get_future_frame_param): New function.
14728 (Fmake_terminal_frame): Use it.
14729 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14730
14731 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14732 * sysdep.c (reset_sys_modes): Update for renames.
14733
14734 * keyboard.c (tty_read_avail_input): New function.
14735 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14736 (syms_of_keyboard): Defsubr them.
14737 (Fset_input_meta_mode, Fset_quit_char): New functions.
14738 (Fset_input_mode): Split to above functions.
14739 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14740 parameter. Use it in call to `read_char'.
14741 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14742 Set wrong_kboard_jmpbuf correctly in recursive calls.
14743 Use current_kboard to access Vkeyboard_translate_table.
14744 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14745 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14746 Update longjmp invocations. Remember the original current_kboard,
14747 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14748 changes it. Comment out unnecessary calls to
14749 `record_single_kboard_state' and `any_kboard_state'.
14750 Update recursive calls.
14751 (wrong_kboard_jmpbuf): Remove global variable.
14752 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14753 Handle deleted interrupted_kboards correctly; that is a legal
14754 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14755 and read_char calls. Abort if interrupted_kboard died in read_char.
14756 (any_kboard_state, single_kboard_state)
14757 (push_frame_kboard): Remove function.
14758 (pop_kboard): Switch out of single_kboard mode if the kboard has
14759 been deleted. Remove unused variable. Help debugging by not
14760 changing current_kboard unnecessarily. Set current_kboard to the
14761 kboard of the selected frame when the stored kboard object has
14762 been deleted before pop_kboard.
14763 (temporarily_switch_to_single_kboard): Change first parameter to a
14764 frame pointer. Throw an error when caller wants to change kboards
14765 while in single_kboard mode. Don't push_kboard if we weren't in
14766 single kboard state. Don't pop_kboard if we popped into any
14767 kboard state.
14768 (restore_kboard_configuration): Abort if pop_kboard changed the
14769 kboard in single_kboard mode. Call pop_kboard only after setting
14770 up single_kboard mode.
14771 (Frecursive_edit): Switch to single_kboard mode only in nested
14772 command loops.
14773 (cmd_error, command_loop, command_loop_1, timer_check):
14774 Comment out unnecessary call to `any_kboard_state' and
14775 `record_single_kboard_state'.
14776 (delete_kboard): Exit single_kboard mode if we have just deleted
14777 that kboard. Use FRAME_KBOARD.
14778 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14779 `fatal_error_signal'.
14780 (record_single_kboard_state): Don't push_kboard if we weren't in
14781 single kboard state. Don't pop_kboard if we popped into any
14782 kboard state.
14783 (push_frame_kboard): Rename to push_kboard.
14784 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14785 (read_avail_input): Read input from all terminals.
14786 (mark_kboards): Also mark Vkeyboard_translate_table.
14787 (kbd_buffer_store_event_hold): Simplify condition.
14788 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14789 (Vkeyboard_translate_table): Move to struct kboard.
14790 (init_kboard): Initialize Vkeyboard_translate_table.
14791 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14792 Vkeyboard_translate_table. Update doc strings. Update docs of
14793 local-function-key-map and function-key-map.
14794
14795 * terminal.c: New file.
14796
14797 * term.c: Include errno.h.
14798 (Vring_bell_function, device_list, initial_device)
14799 (next_device_id, ring_bell, update_begin, update_end)
14800 (set_terminal_window, cursor_to, raw_cursor_to)
14801 (clear_to_end, clear_frame, clear_end_of_line)
14802 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14803 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14804 (syms_of_term): Move their initialization to terminal.c.
14805 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14806 (Ftty_display_color_cells)
14807 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
14808 (clear_tty_hooks, set_tty_hooks)
14809 (init_tty, maybe_fatal): New functions.
14810 (Ftty_type): Return nil if terminal is not on a tty instead of
14811 throwing an error. Doc update.
14812 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
14813 Doc update. Initialize new subrs and variables.
14814 (delete_tty): Use terminal->deleted.
14815 (tty_set_terminal_modes): Rename from set_terminal_modes.
14816 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14817 (set_scroll_region): Rename to `tty_set_scroll_region'.
14818 (turn_on_insert): Rename to `tty_turn_on_insert'.
14819 (turn_off_insert): Rename to `tty_turn_off_insert'.
14820 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14821 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14822 (toggle_highligh): Rename to `tty_toggle_highlight'.
14823 (background_highlight): Rename to `tty_background_highlight'.
14824 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14825 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14826 (tty_set_scroll_region, tty_background_highlight)
14827 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14828 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14829 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14830 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14831 Add static modifier.
14832 (tty_reset_terminal_modes, tty_set_terminal_window)
14833 (tty_set_scroll_region, tty_background_highlight)
14834 (tty_highlight_if_desired, tty_cursor_to)
14835 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14836 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14837 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14838 renames.
14839
148402007-08-28 Jan Djärv <jan.h.d@swipnet.se>
14841
14842 * keyboard.c: Qrtl is new.
14843 (parse_tool_bar_item): Handle :rtl keyword.
14844 (syms_of_keyboard): Intern :rtl keyword.
14845
14846 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14847
14848 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14849 so no Lisp code is executed.
14850 (file_for_image, find_rtl_image): New functions.
14851 (xg_get_image_for_pixmap): Use file_for_image.
14852 (update_frame_tool_bar): If direction is RTL, use RTL image if
14853 defined. Use Gtk stock images if defined.
14854
148552007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14856
14857 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14858 for nonexistent or zero-width glyph in composition glyph.
14859
148602007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14861
14862 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14863
14864 * xdisp.c (Finvisible_p): New function.
14865 (syms_of_xdisp): defsubr it.
14866
148672007-08-24 Juanma Barranquero <lekktu@gmail.com>
14868
14869 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14870 Doc fixes.
14871
148722007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14873
14874 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
14875
148762007-08-24 Martin Rudalics <rudalics@gmx.at>
14877
14878 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14879 whether decoding has modified buffer contents.
14880
148812007-08-24 Jason Rumney <jasonr@gnu.org>
14882
14883 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14884 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14885 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14886 (init_svg_functions) [HAVE_NTGUI]: New function.
14887 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14888 (svg_load_image): Use them.
14889 (svg_load_image) [HAVE_NTGUI]: Implement background.
14890
148912007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14892
14893 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14894 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14895 (LIBX): Remove @RSVG_LIBS@.
14896 (LIBES): Add $(RSVG_LIBS).
14897
14898 * image.c (svg_load_image): Blend with specified background if exists.
14899 Use IMAGE_BACKGROUND. Add Mac OS Support.
14900
14901 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14902 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14903 Remove macros.
14904 [MAC_OSX] (socket_callback): Do nothing.
14905 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14906 ReceiveNextEvent.
14907 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14908 socket_callback.
14909 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14910
149112007-08-22 Glenn Morris <rgm@gnu.org>
14912
14913 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
14914
149152007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14916
14917 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
14918
14919 * image.c: Add support for SVG images. Some additional comments
14920 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14921 (svg_image_p): New function to test for SVG image.
14922 (svg_load): New function to load SVG image.
14923 (svg_load_image): New function, helper for svg_load.
14924 (Qsvg): New Lisp_object.
14925 (svg_keyword_index): New enum.
14926 (svg_format): New static `image_keyword' struct.
14927 (svg_type): New static `image_type' struct.
14928 (librsvg/rsvg.h): Include it.
14929
149302007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14931
14932 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14933
149342007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14935
14936 * lread.c (Qold_style_backquotes): New var.
14937 (syms_of_lread): Init and staticpro it.
14938 (load_warn_old_style_backquotes): New fun.
14939 (Fload): Use them to warn about old style backquotes.
14940 (end_of_file_error, Fload): Remove unused vars.
14941
14942 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14943
14944 * lread.c (Vold_style_backquotes): New var.
14945 (syms_of_lread): Init and export it to Elisp.
14946 (read1): Set it when we find an old-style (back)quote.
14947
149482007-08-22 Jason Rumney <jasonr@gnu.org>
14949
14950 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14951
149522007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14953
14954 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14955
149562007-08-19 Richard Stallman <rms@gnu.org>
14957
14958 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14959
149602007-08-19 Andreas Schwab <schwab@suse.de>
14961
14962 * alloc.c (pure): Round PURESIZE up.
14963
149642007-08-17 Jan Djärv <jan.h.d@swipnet.se>
14965
14966 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14967 active frame.
14968
149692007-08-16 Richard Stallman <rms@gnu.org>
14970
14971 * eval.c (Fcommandp): Add parens to clarify.
14972
14973 * minibuf.c (Fall_completions): Use enum for type of table.
14974
14975 * emacs.c (USAGE2): Improve text.
14976
149772007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14978
14979 * term.c (tty_default_color_capabilities): Declare static
14980 variables in file scope, to avoid HPUX compiler problem.
14981
149822007-08-13 Jan Djärv <jan.h.d@swipnet.se>
14983
14984 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14985 to gtk_toolbar_insert.
14986
149872007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14988
14989 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14990
14991 * insdel.c (reset_var_on_error): New fun.
14992 (signal_before_change, signal_after_change):
14993 Use it to reset (after|before)-change-functions to nil in case of error.
14994 Bind inhibit-modification-hooks to t.
14995 Don't bind (after|before)-change-functions to nil while they run.
14996
149972007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14998
14999 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15000 filling pixmap with stippled background.
15001
150022007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15003
15004 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15005 Don't use invisible frame as parent window for repositioning.
15006
150072007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15008
15009 * print.c (new_backquote_output): Rename from old_backquote_output.
15010 (print): Inverse its logic (according to its name) so as to match the
15011 behavior of new_backquote_flag in lread.c.
15012
150132007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15014
15015 * gmalloc.c (posix_memalign): New function.
15016
15017 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15018 ActivateControl/DeactivateControl here.
15019 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15020 frame-notice-user-settings is non-nil.
15021 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15022 for kEventParamFMFontStyle.
15023 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15024 mac_pass_command_to_system and mac_pass_control_to_system here.
15025 (XTread_socket): Call ActivateControl/DeactivateControl here.
15026 (XTread_socket) [TARGET_API_MAC_CARBON]:
15027 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15028 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15029 for window repositioning.
15030
150312007-08-08 Glenn Morris <rgm@gnu.org>
15032
15033 * Replace `iff' in doc-strings and comments.
15034
150352007-08-07 Chong Yidong <cyd@stupidchicken.com>
15036
15037 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15038
150392007-08-07 Martin Rudalics <rudalics@gmx.at>
15040
15041 * fileio.c (Finsert_file_contents): Run format-decode and
15042 after_insert_file_functions on entire buffer when REPLACE is
15043 non-nil and inhibit modification_hooks and point_motion_hooks.
15044 For consistency, run after_insert_file_functions iff something
15045 got inserted. Move signal_after_change and update_compositions
15046 after code running after_insert_file_functions. Make sure that
15047 undo_list doesn't record intermediate steps of the decoding process.
15048
150492007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15050
15051 * emacs.c (main)
15052 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15053 Call malloc_enable_thread on interactive startup.
15054
15055 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15056 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15057 [USE_PTHREAD]: Conditionalize with it.
15058 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15059 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15060 New functions.
15061
150622007-08-06 Chong Yidong <cyd@stupidchicken.com>
15063
15064 * xdisp.c (redisplay_window): When restoring original buffer
15065 position, make sure it is still valid.
15066
15067 * image.c (png_load): Ignore png-supplied background color.
15068
150692007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15070
15071 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15072 Use kCFAbsoluteTimeIntervalSince1970.
15073
15074 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15075 New variable.
15076 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15077 event loop should be quit.
15078 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15079 Quit dialog event loop if quit_dialog_event_loop is set.
15080
15081 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15082 (Selection): New typedef. Use instead of ScrapRef.
15083 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15084 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15085 (mac_clear_selection): Rename from clear_scrap.
15086 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15087 scrap_has_target_type. All uses changed.
15088 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15089 (mac_selection_has_target_p): New functions.
15090 (mac_put_selection_value): Rename from put_scrap_string.
15091 (mac_get_selection_value): Rename from get_scrap_string.
15092 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15093 (put_scrap_private_timestamp, scrap_has_target_type)
15094 (get_scrap_private_timestamp): Remove functions.
15095 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15096 (x_own_selection, x_get_local_selection):
15097 Use mac_valid_selection_value_p.
15098 (x_own_selection): Don't use put_scrap_private_timestamp.
15099 Record OWNERSHIP-INFO into Vselection_alist instead.
15100 (x_get_local_selection): Don't check type if request is local.
15101 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15102 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15103
151042007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15105
15106 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15107 add comment explaining why.
15108
151092007-08-03 Richard Stallman <rms@gnu.org>
15110
15111 * fileio.c (Fvisited_file_modtime): Use make_time.
15112
151132007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15114
15115 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15116 build.
15117
151182007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15119
15120 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15121
151222007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15123
15124 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15125
151262007-07-30 Richard Stallman <rms@gnu.org>
15127
15128 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15129
151302007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15131
15132 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15133
151342007-07-28 Nick Roberts <nickrob@snap.net.nz>
15135
15136 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15137 remote default-directory.
15138
15139 * buffer.c (mode-line-format): Update doc string.
15140
151412007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15142
15143 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15144 scroll bar gap.
15145 (x_scroll_bar_create): Set bar->fringe_extended_p.
15146 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15147 on frame edge. Check fringe background extension. Don't clear
15148 extended fringe background area.
15149
15150 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15151 (w32_fill_area): Enclose multiple statements with do ... while (0).
15152
15153 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15154 Extend fringe background to scroll bar gap.
15155 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15156 Set bar->fringe_extended_p.
15157 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15158 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15159 background extension. Don't clear extended fringe background area.
15160
15161 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15162 New member fringe_extended_p.
15163
151642007-07-25 Glenn Morris <rgm@gnu.org>
15165
15166 * Relicense all FSF files to GPLv3 or later.
15167
15168 * COPYING: Switch to GPLv3.
15169
151702007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15171
15172 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15173
15174 * data.c (Finteractive_form): Check for the presence of an
15175 `interactive-form' symbol property more thoroughly.
15176
15177 * data.c (Finteractive_form): Use an `interactive-form' property if
15178 present, analogous to the function-documentation property.
15179
151802007-07-24 Jason Rumney <jasonr@gnu.org>
15181
15182 * w32fns.c (x_real_positions): Get real position from OS instead of
15183 calculating it.
15184
151852007-07-23 Jason Rumney <jasonr@gnu.org>
15186
15187 * filelock.c (current_lock_owner): Allow for @ sign in username.
15188
151892007-07-22 Nick Roberts <nickrob@snap.net.nz>
15190
15191 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15192 remote default-directory.
15193
15194 * buffer.c (mode-line-format): Describe above case in doc string.
15195
151962007-07-20 Eli Zaretskii <eliz@gnu.org>
15197
15198 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15199 Define if not defined.
15200
152012007-07-18 Jason Rumney <jasonr@gnu.org>
15202
15203 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15204
152052007-07-18 Richard Stallman <rms@gnu.org>
15206
15207 * data.c (Fsetq_default): Doc fix.
15208
15209 * eval.c (Fsetq): Doc fix.
15210
152112007-07-18 Juanma Barranquero <lekktu@gmail.com>
15212
15213 * coding.c (Ffind_operation_coding_system):
15214 * eval.c (For, Fand): Doc fixes.
15215 Reported by Johan Bockgård.
15216
152172007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15218
15219 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15220
15221 * xterm.h: Declare x_ewmh_activate_frame.
15222
15223 * xterm.c (x_ewmh_activate_frame): New function.
15224 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15225
152262007-07-17 Martin Rudalics <rudalics@gmx.at>
15227
15228 * window.c (Fdisplay_buffer): If largest or LRU window is the
15229 only window, split it even if it is not eligible for splitting.
15230 This restores the original behavior broken by the 2007-07-15
15231 change.
15232
152332007-07-17 Glenn Morris <rgm@gnu.org>
15234
15235 * abbrev.c (abbrev_check_chars): New function.
15236 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15237 Call abbrev_check_chars to check abbrev characters are word
15238 constituents. Doc fix.
15239
152402007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15241
15242 * process.c (Fstart_process, Fmake_network_process)
15243 (read_process_output): Fix up last changes.
15244
152452007-07-16 Eli Zaretskii <eliz@gnu.org>
15246
15247 * makefile.w32-in (clean): Don't delete *~.
15248
152492007-07-16 Andreas Schwab <schwab@suse.de>
15250
15251 * window.c (Fdisplay_buffer): Use NILP.
15252 (Fset_window_scroll_bars): Likewise.
15253
152542007-07-15 Martin Rudalics <rudalics@gmx.at>
15255
15256 * window.c (window_min_size_2): New function.
15257 (window_min_size_1, size_window, Fdisplay_buffer)
15258 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15259 windows without mode- or header-lines when window-min-height is
15260 too small.
15261 (size_window): Reset nodelete_p after testing it, following an
15262 earlier note by Kim F. Storm.
15263 (display_buffer): Do not set split_height_threshold to twice the
15264 value of window_min_height to avoid changing the value of a
15265 customizable variable. Rather explicitly check whether the
15266 height of the window that shall be splitted is at least as large
15267 as split_height_threshold.
15268 (Fwindow_full_width_p): New defun.
15269 (syms_of_window): Defsubr it.
15270
15271 * window.h: Add EXFUN for Fwindow_full_width_p.
15272
152732007-07-14 Jason Rumney <jasonr@gnu.org>
15274
15275 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15276
152772007-07-14 Richard Stallman <rms@gnu.org>
15278
15279 * eval.c (maybe_call_debugger): New function.
15280 (find_handler_clause): Use maybe_call_debugger.
15281 Call it when the handler says `debug'.
15282 Eliminate DEBUGGER_VALUE_PTR.
15283 (Fsignal): Eliminate debugger_value.
15284 (Qdebug): New variable.
15285 (syms_of_eval): Initialize it.
15286
152872007-07-14 Juanma Barranquero <lekktu@gmail.com>
15288
15289 * eval.c (Fprogn):
15290 * keyboard.c (Ftrack_mouse):
15291 * print.c (Fwith_output_to_temp_buffer):
15292 * window.c (Fsave_window_excursion): Doc fix.
15293
152942007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15295
15296 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15297
152982007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15299
15300 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15301 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15302 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15303 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15304 Remove unused encoding_carryover.
15305 * process.c: Adjust all functions accordingly.
15306
153072007-07-12 Richard Stallman <rms@gnu.org>
15308
15309 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15310
153112007-07-11 Jason Rumney <jasonr@gnu.org>
15312
15313 * makefile.w32-in (LIBS): Include OLE32.
15314
15315 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15316 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15317
153182007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15319
15320 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15321 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15322 from a Lisp_Object into a bare pointer.
15323 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15324 Adjust the code correspondingly.
15325
15326 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15327
15328 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15329 (term_show_mouse_face): Remove unused var `j'.
15330 (handle_one_term_event): Remove unused vars `i' and `j'.
15331 Don't cast return value of ttyname since it's not necessary.
15332
153332007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15334
15335 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15336 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15337
15338 * fns.c (map_char_table): Use an array of int for `indices' rather than
15339 an array of Lisp_Objects (which are only ever integers anyway).
15340 (Fmap_char_table): Update caller.
15341 * lisp.h: Update prototype.
15342 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15343 * fontset.c (Ffontset_info):
15344 * casetab.c (set_case_table): Update callers.
15345
15346 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15347
15348 * keymap.c (struct accessible_keymaps_data)
15349 (struct where_is_internal_data): New structures.
15350 (accessible_keymaps_1, where_is_internal_1): Use them to change
15351 interface to adhere to the one used by map_keymap.
15352 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15353 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15354
15355 * keymap.h (map_keymap_function_t): More informative prototype.
15356
153572007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15358
15359 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15360 (looking_at_1): Don't change search_regs and last_thing_searched
15361 if `inhibit-changing-match-data' is non-nil.
15362 (string_match_1, search_buffer, set_search_regs): Likewise.
15363 (syms_of_search): Add Lisp level definition for
15364 `inhibit-changing-match-data' and set it to nil.
15365 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15366 start and end of the match, instead of using values in search_regs.
15367
153682007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15369
15370 * minibuf.c (Fcompleting_read): New value `confirm-only'
15371 for `require-match'.
15372
153732007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15374
15375 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15376 part of the 2007-06-27 change to syms_of_fileio.
15377
153782007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15379
15380 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15381 Check WINDOWP before using XWINDOW. Consolidate return statements.
15382
153832007-06-27 Richard Stallman <rms@gnu.org>
15384
15385 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15386
153872007-06-27 Juanma Barranquero <lekktu@gmail.com>
15388
15389 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15390
153912007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15392
15393 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15394 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15395 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15396 (_free_internal, memalign): Use them.
15397 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15398 Initialize to PTHREAD_MUTEX_INITIALIZER.
15399 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15400 (morecore_nolock): Rename from morecore. All uses changed.
15401 Use only nolock versions of internal allocation functions.
15402 (_malloc_internal_nolock, _realloc_internal_nolock)
15403 (_free_internal_nolock): New functions created from
15404 _malloc_internal, _realloc_internal, and _free_internal.
15405 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15406 Copy hook value to automatic variable before its use.
15407 (memalign): Copy hook value to automatic variable before its use.
15408
154092007-06-26 Kenichi Handa <handa@m17n.org>
15410
15411 * coding.c (Ffind_operation_coding_system): Docstring improved.
15412 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15413
154142007-06-25 David Kastrup <dak@gnu.org>
15415
15416 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15417 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15418 cater for additional parameter.
15419
15420 * keymap.h: Adjust number of parameters to `current-active-maps'.
15421
15422 * doc.c (Fsubstitute_command_keys): Adjust call of
15423 `current-active-maps'.
15424
154252007-06-25 David Kastrup <dak@gnu.org>
15426
15427 * callint.c (Fcall_interactively): Make the parsing of interactive
15428 specs somewhat more readable.
15429
154302007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15431
15432 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15433 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15434 if extended background has already been filled.
15435
154362007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15437
15438 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15439 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15440
15441 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15442 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15443 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15444 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15445 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15446 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15447 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15448 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15449 Run timers during dialog popup.
15450 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15451
154522007-06-21 Jason Rumney <jasonr@gnu.org>
15453
15454 * image.c (convert_mono_to_color_image): Swap fore and background.
15455
154562007-06-20 Jason Rumney <jasonr@gnu.org>
15457
15458 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15459 (w32_free_bdf_font): Unmap memory not handle.
15460
154612007-06-20 Sam Steingold <sds@gnu.org>
15462
15463 * gmalloc.c (__morecore): Fix the declaration to comply with the
15464 definition.
15465
154662007-06-20 Juanma Barranquero <lekktu@gmail.com>
15467
15468 * w32term.c (w32_delete_display): Remove leftover declaration.
15469 (w32_define_cursor, w32_initialize): Make static.
15470
15471 * w32.c (_wsa_errlist): Fix typo in error message.
15472 (init_environment): Ignore any environment variable from the
15473 registry having a null value.
15474
154752007-06-20 Glenn Morris <rgm@gnu.org>
15476
15477 * Makefile.in (LIBGIF): Default to -lgif.
15478
154792007-06-17 Jason Rumney <jasonr@gnu.org>
15480
15481 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15482 unicode strings.
15483
154842007-06-16 Juanma Barranquero <lekktu@gmail.com>
15485
15486 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15487 Fix typo in docstring.
15488
154892007-06-16 Eli Zaretskii <eliz@gnu.org>
15490
15491 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15492 and their keybindings.
15493
154942007-06-15 Chong Yidong <cyd@stupidchicken.com>
15495
15496 * composite.c (update_compositions): Fix last fix.
15497
154982007-06-14 Jason Rumney <jasonr@gnu.org>
15499
15500 * w32.c (get_process_times_fn): New function pointer.
15501 (globals_of_w32): Intialize it if present in kernel32.dll.
15502 (w32_get_internal_run_time): New function.
15503
15504 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15505
155062007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15507
15508 * composite.c (update_compositions): Check the validness of
15509 compositions.
15510
155112007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15512
15513 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15514 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15515
15516 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15517 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15518
15519 * macgui.h (USE_MAC_TOOLBAR): New define.
15520
15521 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15522 Return immediately unless popup is activated.
15523
15524 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15525 background to scroll bar gap.
15526 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15527 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15528 scroll bars on frame edge. Check fringe background extension.
15529 Don't clear extended fringe background area.
15530 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15531 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15532 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15533 [USE_MAC_TOOLBAR]: New macros.
15534 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15535 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15536 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15537 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15538 [USE_MAC_TOOLBAR]: New functions.
15539 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15540 manually if previous repositioning has failed.
15541 (mac_handle_keyboard_event): Use precomputed event kind.
15542 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15543 as tool bar item click. Handle mouse movement over tool bar items.
15544
15545 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15546 toolbar_win_gravity.
15547 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15548 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15549 Add externs.
15550
15551 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15552 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15553
155542007-06-14 Chong Yidong <cyd@stupidchicken.com>
15555
15556 * image.c (search_image_cache): Remove unused variable.
15557
155582007-06-13 Chong Yidong <cyd@stupidchicken.com>
15559
15560 * xfns.c, xmenu.c: Link to xaw3d if available.
15561
155622007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15563
15564 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15565 frame_foreground and frame_background.
15566
15567 * image.c (lookup_image): Save frame foreground and background colors.
15568 (search_image_cache): Check if saved and current frame colors match.
15569
155702007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15571
15572 * regex.c (regex_compile): Remove the `regnum' counter.
15573 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15574
155752007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15576
15577 * term.c: Include intervals.h to declare Fget_text_property.
15578
155792007-06-10 Jason Rumney <jasonr@gnu.org>
15580
15581 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15582
155832007-06-08 Juanma Barranquero <lekktu@gmail.com>
15584
15585 * callint.c (Fcall_interactively):
15586 * editfns.c (Fdelete_and_extract_region):
15587 * fileio.c (Fread_file_name):
15588 * fns.c (Fmapconcat):
15589 * keyboard.c (cmd_error_internal):
15590 * keymap.c (Fkey_description):
15591 * lread.c (openp):
15592 * minibuf.c (read_minibuf):
15593 * search.c (wordify):
15594 * sunfns.c (sel_read):
15595 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15596 * xfns.c (x_default_scroll_bar_color_parameter):
15597 * xmenu.c (menu_help_callback):
15598 * xselect.c (Fx_get_atom_name):
15599 * xterm.c (x_term_init): Use empty_unibyte_string.
15600
156012007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15602
15603 * alloc.c (init_strings): Initialize canonical empty strings.
15604 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15605 canonical empty string when the requested size is 0.
15606
15607 * emacs.c (empty_unibyte_string): Rename from empty_string.
15608 (empty_multibyte_string): New canonical empty string.
15609 (syms_of_emacs): Don't initialize empty_string.
15610
15611 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15612 string, if appropriate.
15613 (empty_unibyte_string, empty_multibyte_string): New externs.
15614 (empty_string): Remove extern.
15615
15616 * lread.c (syms_of_lread): Use empty_unibyte_string.
15617
156182007-06-07 Jason Rumney <jasonr@gnu.org>
15619
15620 * s/ms-w32.h: Don't define HAVE_TZNAME.
15621
15622 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15623
156242007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15625
15626 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15627
15628 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15629 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15630
15631 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15632 Don't call next handler.
15633 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15634 Remove argument. Install handler to application.
15635 (set_frame_menubar): Don't change deep_p.
15636 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15637 FRAME_OUTER_TO_INNER_DIFF_Y.
15638 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15639 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15640 [HAVE_DIALOGS]: New macros.
15641 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15642 Use them.
15643 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15644
15645 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15646 init_service_handler. All callers changed. Return OSStatus value.
15647
15648 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15649 All callers changed so as not to call SetPortWindowPort.
15650 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15651 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15652 mac_draw_string_common.
15653 (mac_draw_image_string_qd): Likewise.
15654 (mac_draw_string_common): Use them. Add INLINE.
15655 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15656 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15657 GetGlobalMouse.
15658 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15659 and FRAME_OUTER_TO_INNER_DIFF_Y.
15660 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15661 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15662 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15663 repositioning window to mac_handle_window_event.
15664 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15665 saving window location to mac_handle_window_event
15666 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15667 (install_menu_target_item_handler): Remove argument in extern.
15668 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15669 Also accept command events.
15670 (do_keystroke): New function created from XTread_socket.
15671 (init_command_handler): Remove functions.
15672 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15673 and save window location by kEventWindowShowing and kEventWindowHiding
15674 handlers here. Don't call next handler for window state change and
15675 focus events.
15676 (mac_handle_application_event, mac_handle_keyboard_event)
15677 [TARGET_API_MAC_CARBON]: New functions.
15678 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15679 kEventWindowShowing and kEventWindowHiding events. Move installation
15680 of mouse, font, text input and menu target item handlers to
15681 install_application_handler.
15682 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15683 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15684 New function.
15685 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15686 Register it.
15687 (XTread_socket) [TARGET_API_MAC_CARBON]:
15688 Consolidate SendEventToEventTarget calls.
15689 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15690 Move application activation handler to mac_handle_application_event.
15691 Move keyboard handler to mac_handle_keyboard_event.
15692 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15693 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15694 init_command_handler. Call install_application_handler.
15695
15696 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15697 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15698
156992007-06-07 Glenn Morris <rgm@gnu.org>
15700
15701 * emacs.c (main): Use `emacs-copyright' in --version output.
15702
157032007-06-06 Chong Yidong <cyd@stupidchicken.com>
15704
15705 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15706
157072007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15708
15709 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15710
15711 * macgui.h: Replace WindowPtr with WindowRef.
15712
15713 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15714 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15715 Replace ControlHandle with ControlRef.
15716 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15717
15718 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15719 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15720 Replace ControlHandle with ControlRef.
15721 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15722 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15723
15724 * macterm.h (struct scroll_bar): Rename member control_handle_low
15725 and control_handle_high to control_ref_low and control_ref_high.
15726 All uses changed.
15727 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15728 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15729 respectively. All uses changed.
15730 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15731 (install_window_handler, remove_window_handler): Replace WindowPtr
15732 with WindowRef in externs.
15733
157342007-06-05 Juanma Barranquero <lekktu@gmail.com>
15735
15736 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15737
157382007-06-03 Nick Roberts <nickrob@snap.net.nz>
15739
15740 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15741
15742 * frame.c (Fmouse_position, Fmouse_pixel_position):
15743 Condition on HAVE_GPM too.
15744
15745 * term.c (term_mouse_highlight): Remove unused variables.
15746 (Fterm_open_connection): Set gpm_zerobased to 1.
15747 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15748 Use zero based co-ordinates.
15749 (handle_one_term_event): Report a drag as mouse movement too.
15750
15751 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15752
157532007-06-03 Chong Yidong <cyd@stupidchicken.com>
15754
15755 * image.c (search_image_cache): New function. Require background
15756 color match if background color is unspecified in the image spec.
15757 (uncache_image, lookup_image): Use it.
15758
157592007-06-01 Juanma Barranquero <lekktu@gmail.com>
15760
15761 * window.c (Fshrink_window): Reflow docstring.
15762
157632007-06-02 Chong Yidong <cyd@stupidchicken.com>
15764
15765 * Version 22.1 released.
15766
157672007-06-01 Richard Stallman <rms@gnu.org>
15768
15769 * xfns.c (x_encode_text): Add GCPRO.
15770
157712007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15772
15773 * xfns.c (x_set_name_internal): Save encoded name before
15774 x_encode_text in case string data is relocated.
15775
157762007-05-31 Richard Stallman <rms@gnu.org>
15777
15778 * buffer.c (syms_of_buffer): Doc fix.
15779
157802007-05-30 Nick Roberts <nickrob@snap.net.nz>
15781
15782 * sysdep.c (init_sys_modes): Add rather than replace with
15783 O_NONBLOCK.
15784
15785 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15786 term_mouse_moveto.
15787
15788 * termhooks.h (term_mouse_moveto): New extern.
15789
15790 * term.c (mouse_face_window): Rename...
15791 (Qmouse_face_window): ...to this.
15792 (term_show_mouse_face, term_clear_mouse_face)
15793 (term_mouse_highlight): Use Qmouse_face_window.
15794 (term_mouse_moveto): New function.
15795 (term_mouse_position): Make it work.
15796 (syms_of_term): Uncomment assignment to mouse_position_hook.
15797 Staticpro Qmouse_face_window.
15798
157992007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15800
15801 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15802 around current_column call.
15803
158042007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15805
15806 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15807 * xdisp.c (next_element_from_buffer):
15808 * window.c (delete_window):
15809 * term.c (term_mouse_highlight):
15810 * msdos.c (getdefdir):
15811 * macterm.c (mac_create_bitmap_from_bitmap_data)
15812 (init_font_name_table):
15813 * fns.c (Fsxhash):
15814 * data.c (Fmake_local_variable):
15815 * ccl.c (ccl_driver): Likewise.
15816
158172007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15818
15819 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15820 Call mac_wakeup_from_rne on window size change.
15821
158222007-05-25 Chong Yidong <cyd@stupidchicken.com>
15823
15824 * image.c (uncache_image): Fix typo.
15825
158262007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15827
15828 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15829
158302007-05-22 Richard Stallman <rms@gnu.org>
15831
15832 * xterm.c (x_connection_closed): Remove NO_RETURN.
15833
158342007-05-22 Martin Rudalics <rudalics@gmx.at>
15835
15836 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15837
158382007-05-21 Chong Yidong <cyd@stupidchicken.com>
15839
15840 * image.c (uncache_image): New function.
15841 (Fimage_refresh): New function.
15842
158432007-05-20 Jan Djärv <jan.h.d@swipnet.se>
15844
15845 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15846
158472007-05-20 Nick Roberts <nickrob@snap.net.nz>
15848
15849 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15850 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15851
158522007-05-20 Nick Roberts <nickrob@snap.net.nz>
15853
15854 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15855 conditional on [HAVE_GPM_H].
15856
158572007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15858
15859 * syntax.c (skip_chars): Update syntax-table only after we checked that
15860 the new location is valid.
15861
158622007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15863
15864 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15865 mac_get_window_bounds.
15866
158672007-05-20 Nick Roberts <nickrob@snap.net.nz>
15868
15869 * Makefile.in (LIBGPM): Allow it to be set from configure.
15870 If set then link Emacs with it.
15871
15872 * config.in: Regenerate.
15873
15874 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15875 New externs.
15876
15877 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15878 Include gpm.h.
15879 (handle_one_term_event, term_gpm): New externs.
15880
15881 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15882 and allow it to be interrupted by SIGIO.
15883
15884 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15885 (wait_reading_process_output): Wait on gpm_fd too.
15886 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15887 (add_gpm_wait_descriptor_called_flag): New variable.
15888 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15889
15890 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15891 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15892 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15893 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15894 (make_lispy_event): Add case GPM_CLICK_EVENT.
15895 (read_avail_input): Handle mouse input.
15896
15897 * term.c (write_glyphs_with_face): New function.
15898 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15899 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15900 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15901 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15902 (last_mouse_x, last_mouse_y): New variables.
15903 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15904 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15905 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15906 (Fterm_close_connection): New functions.
15907 (term_init): Initialise mouse_face_window.
15908
159092007-05-19 Chong Yidong <cyd@stupidchicken.com>
15910
15911 * xdisp.c (redisplay_window): If first window line is a
15912 continuation line, recompute the new window start instead of
15913 recentering.
15914
159152007-05-18 Glenn Morris <rgm@gnu.org>
15916
15917 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15918 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15919
159202007-05-17 Glenn Morris <rgm@gnu.org>
15921
15922 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15923
159242007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15925
15926 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15927 dead key repeat and up events.
15928
159292007-05-14 Chong Yidong <cyd@stupidchicken.com>
15930
15931 * image.c (pbm_load): Check image size for monochrome pbm.
15932
159332007-05-13 Chong Yidong <cyd@stupidchicken.com>
15934
15935 * xterm.c (XTread_socket): Revert last change.
15936
159372007-05-12 Chong Yidong <cyd@stupidchicken.com>
15938
15939 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15940
15941 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15942
159432007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15944
15945 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15946 mixup (YAILOM).
15947
159482007-05-07 Andreas Schwab <schwab@suse.de>
15949
15950 * keymap.c (Flookup_key): Fix typo in last change.
15951
159522007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15953
15954 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15955 mapping for unibyte strings.
15956
159572007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15958
15959 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15960 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15961
159622007-04-29 Richard Stallman <rms@gnu.org>
15963
15964 * insdel.c (replace_range): For undo, record insertion first.
15965
159662007-04-29 Andreas Schwab <schwab@suse.de>
15967
15968 * lisp.h (VECSIZE): Use OFFSETOF.
15969
159702007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15971
15972 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15973 disabled lines.
15974
159752007-04-28 Richard Stallman <rms@gnu.org>
15976
15977 * lread.c (read_escape): In a string, \s is always space.
15978
159792007-04-27 Jan Djärv <jan.h.d@swipnet.se>
15980
15981 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15982
15983 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15984 submenu for menu bar items.
15985
15986See ChangeLog.10 for earlier changes.
15987
15988;; Local Variables:
15989;; coding: utf-8
15990;; add-log-time-zone-rule: t
15991;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
15992;; End:
15993
15994 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
15995
15996 This file is part of GNU Emacs.
15997
15998 GNU Emacs is free software: you can redistribute it and/or modify
15999 it under the terms of the GNU General Public License as published by
16000 the Free Software Foundation, either version 3 of the License, or
16001 (at your option) any later version.
16002
16003 GNU Emacs is distributed in the hope that it will be useful,
16004 but WITHOUT ANY WARRANTY; without even the implied warranty of
16005 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16006 GNU General Public License for more details.
16007
16008 You should have received a copy of the GNU General Public License
16009 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16010
16011;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40