(syms_of_buffer): Fix doc-string of cursor-type.
[bpt/emacs.git] / src / ChangeLog
1 2008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
2
3 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
4
5 2008-11-15 Eli Zaretskii <eliz@gnu.org>
6
7 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
8 and bright_bg if noninteractive is non-zero.
9
10 2008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11
12 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
13 x_draw_glyph_string_background.
14
15 * w32term.c (x_draw_glyph_string): Likewise.
16
17 2008-11-15 Chong Yidong <cyd@stupidchicken.com>
18
19 * xterm.c (x_draw_glyph_string): Stop drawing the background of
20 the next glyph string once past the overhang width.
21
22 * nsterm.m (ns_draw_glyph_string): Likewise.
23
24 * w32term.c (x_draw_glyph_string): Likewise.
25
26 2008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
27
28 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
29 double file close.
30
31 2008-11-14 Martin Rudalics <rudalics@gmx.at>
32
33 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
34 dedicated status of window before attempting to display another
35 buffer in it.
36
37 2008-11-14 Juanma Barranquero <lekktu@gmail.com>
38
39 * msdos.c (Fmsdos_long_file_names):
40 (syms_of_msdos) <dos-unsupported-char-glyph>:
41 * dosfns.c (Fint86): Fix typos in docstrings.
42
43 2008-11-14 Eli Zaretskii <eliz@gnu.org>
44
45 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
46
47 2008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
48
49 * puresize.h (BASE_PURESIZE): Increase to 1260000.
50
51 2008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
52
53 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
54
55 * frame.h: Negative alpha means "don't touch".
56
57 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
58
59 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
60
61 2008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
62
63 * hftctl.c:
64 * chpdef.h:
65 * acldef.h: Remove files used only for systems no longer supported.
66
67 * Makefile.in: Fix .o alphabetical ordering.
68 (hftctl.o): Remove dependency, file removed.
69 (keymap.o, print.o): Depend on charset.h.
70
71 2008-11-10 Kenichi Handa <handa@m17n.org>
72
73 * character.c (Fget_byte): Fix and make it faster for unibyte
74 target.
75
76 2008-11-08 Chong Yidong <cyd@stupidchicken.com>
77
78 * dired.c (file_name_completion): If completion_ignore_case is
79 enabled, ignore case when checking completion-regexp-list.
80
81 2008-11-08 Eli Zaretskii <eliz@gnu.org>
82
83 * vm-limit.c (get_lim_data): Fix last change.
84
85 2008-11-08 Kenichi Handa <handa@m17n.org>
86
87 * character.c (Fget_byte): New function.
88 (syms_of_character): Defsubr Fget_byte.
89
90 2008-11-07 Chong Yidong <cyd@stupidchicken.com>
91
92 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
93 cursor position is valid after scrolling.
94
95 2008-11-06 Juanma Barranquero <lekktu@gmail.com>
96
97 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
98
99 2008-11-06 Glenn Morris <rgm@gnu.org>
100
101 * xterm.c (handle_one_xevent): Don't let popup menus cause
102 mouse-autoselect-window related window switching. (Bug#1261)
103
104 2008-11-04 David Smith <davidsmith@acm.org> (tiny change)
105
106 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
107
108 2008-11-04 Andreas Schwab <schwab@suse.de>
109
110 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
111
112 2008-11-03 Chong Yidong <cyd@stupidchicken.com>
113
114 * xfns.c (Fx_wm_set_size_hint): New function.
115
116 2008-11-03 Martin Rudalics <rudalics@gmx.at>
117
118 * textprop.c (Fprevious_single_char_property_change): Return 0
119 when there's no change in a string. (Bug#1301)
120
121 2008-11-02 Martin Rudalics <rudalics@gmx.at>
122
123 * frame.c (do_switch_frame): New argument NORECORD passed to
124 Fselect_window.
125 (Fselect_frame): New argument NORECORD passed to
126 do_switch_frame.
127 (Fset_frame_selected_window): New argument NORECORD passed to
128 Fselect_frame.
129 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
130 in call of do_switch_frame.
131 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
132 Handle NORECORD argument in call of Fselect_frame.
133 * lisp.h (do_switch_frame, Fselect_frame)
134 (Fset_frame_selected_window): Adjust declarations.
135 * window.c (select_frame_norecord): New function.
136 (run_window_configuration_change_hook): Use it and call
137 Fselect_frame with NORECORD set.
138 (Fselect_window): Pass NORECORD to Fselect_frame.
139 (Fset_window_configuration): Handle NORECORD argument in call of
140 do_switch_frame.
141 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
142 Fset_frame_selected_window.
143 * keyboard.c (command_loop_1): Handle NORECORD in call of
144 Fselect_frame (currently ifdefd).
145
146 2008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
147
148 * emacs.c (USAGE2): Untabify.
149
150 2008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
151
152 * composite.c (fill_gstring_header): Fix copy/paste typo.
153
154 2008-10-31 Martin Rudalics <rudalics@gmx.at>
155
156 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
157 (Fother_window): Rename argument and rewrite doc-string.
158 (select_window_norecord): Fix return value. (Bug#1276)
159
160 2008-10-30 Juanma Barranquero <lekktu@gmail.com>
161
162 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
163 new frames overriding foreground for tooltips. Based on similar patch
164 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
165
166 2008-10-29 Chong Yidong <cyd@stupidchicken.com>
167
168 * emacs.c (Fdaemon_initialized): Initialize nfd.
169
170 2008-10-29 Martin Rudalics <rudalics@gmx.at>
171
172 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
173 (Fwindow_text_height): Clarify doc-strings.
174 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
175 doc-string of window-scroll-functions.
176
177 2008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
178
179 * category.c (syms_of_category): Fix typo in docstring.
180
181 2008-10-28 Juanma Barranquero <lekktu@gmail.com>
182
183 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
184 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
185 Fix typos in docstrings.
186
187 2008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
188
189 * emacs.c (daemon_pipe): Make non-static.
190 (IS_DAEMON): Move definition ...
191 * lisp.h (IS_DAEMON): ... here.
192 (daemon_pipe): Declare.
193 (is_daemon): Remove.
194 * dispnew.c (init_display): Use IS_DAEMON.
195
196 2008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
197
198 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
199 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
200
201 * emacs.c (is_daemon): Remove.
202 (main): Don't set is_daemon.
203 (IS_DAEMON): New macro.
204 (Fdaemonp, Fdaemon_initialized): Use it.
205 (Fdaemon_initialized): Write a char into the pipe to make sure the
206 parent exits.
207 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
208
209 2008-10-27 Chong Yidong <cyd@stupidchicken.com>
210
211 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
212 over-sized glyph, draw it with the default glyph width.
213
214 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
215 glyph, draw it with the default glyph width.
216
217 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
218 glyph, draw it with the default glyph width.
219
220 * xdisp.c (try_scrolling): When computing the distance from the
221 scroll margin to PT, try moving some distance past the window
222 bottom before giving up.
223
224 2008-10-27 Martin Rudalics <rudalics@gmx.at>
225
226 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
227 (Fset_window_buffer): Explain in doc-string that a window can be
228 "strongly" dedicated to its buffer.
229
230 2008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
231
232 * emacs.c (daemon_name): New variable.
233 (main): Deal with --daemon=SERVER_NAME.
234 (Fdaemonp): Return a name if one was passed to --daemon.
235
236 2008-10-26 Romain Francoise <romain@orebokech.com>
237
238 * emacs.c (daemon_pipe): New variable.
239 (main): Create a pipe before forking, make the parent exit only after
240 the child has closed its end of the pipe. Move closing the
241 descriptors ...
242 (Fdaemon_initialized): ... here. New function.
243
244 2008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
245
246 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
247 the previous unoptimized table.
248
249 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
250 the distinction between non-nil and non-t value of `dedicated'.
251
252 2008-10-25 Chong Yidong <cyd@stupidchicken.com>
253
254 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
255 read_char_minibuf_menu_text is large enough to hold the menu string.
256
257 2008-10-25 Martin Rudalics <rudalics@gmx.at>
258
259 * window.c (Fget_buffer_window, Fdelete_windows_on)
260 (Freplace_buffer_in_windows): Make buffer argument optional and
261 rename to buffer_or_name.
262
263 2008-10-24 Chong Yidong <cyd@stupidchicken.com>
264
265 * xdisp.c (handle_single_display_spec, handle_display_prop):
266 Undo 2005-05-16 change.
267 (handle_stop): Pop iterator if it's loaded with an empty string.
268 (get_overlay_strings_1): Don't save iterator if it's loaded with
269 an empty string (bug#1201).
270
271 2008-10-24 Kenichi Handa <handa@m17n.org>
272
273 * ftfont.c (ftfont_otf_features): Fix previous change.
274 (ftfont_otf_capability): Check FeatureList.FeatureCount before
275 calling ftfont_otf_features.
276
277 2008-10-24 Kenichi Handa <handa@m17n.org>
278
279 * font.c (font_match_p): Fix for the case that a vector of
280 characters is in script-representative-chars.
281
282 2008-10-24 Michael Albinus <michael.albinus@gmx.de>
283
284 * dbusbind.c (xd_in_read_queued_messages): New variable.
285 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
286 (xd_read_queued_messages): Catch Qdbus_error from the macros.
287 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
288 macro. (Bug#1186).
289
290 2008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
291
292 * s/sol2-10.h: New file.
293
294 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
295
296 * xdisp.c (fill_glyph_string): Fix typo in source (though the
297 poor beast has survived 9+ years and the jump from xterm.c!).
298
299 2008-10-23 Martin Rudalics <rudalics@gmx.at>
300
301 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
302 Reword doc-string.
303 (Fbury_buffer): In doc-string say what happens to the buffer's window.
304
305 2008-10-23 Juanma Barranquero <lekktu@gmail.com>
306
307 * character.c (syms_of_character) <script-representative-chars>:
308 <unicode-category-table>: Doc fixes.
309
310 2008-10-23 Noah Friedman <friedman@splode.com>
311
312 * coding.c (make_conversion_work_buffer): Check that
313 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
314 Fget_buffer_create.
315
316 2008-10-23 Kenichi Handa <handa@m17n.org>
317
318 * font.c (font_add_log): Check the values of extra properties.
319
320 2008-10-22 Martin Rudalics <rudalics@gmx.at>
321
322 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
323 Reword doc-string.
324 (Fset_window_parameter): Use NILP.
325 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
326 (Frecenter): Use "selected" instead of "current" window in doc-strings.
327
328 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
329
330 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
331
332 2008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
333
334 * nsfns.m (ns_appkit_version): New function.
335 (x-server-version): Use it.
336 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
337 (x-server-vendor): Don't check_ns().
338
339 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
340
341 2008-10-22 Juanma Barranquero <lekktu@gmail.com>
342
343 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
344 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
345
346 2008-10-22 Kenichi Handa <handa@m17n.org>
347
348 * syntax.c (scan_words): Call word_boundary_p instead of comparing
349 scripts.
350
351 * category.c (word_boundary_p): Check scripts instead of charset.
352 Handle nil value in word-separating-categories and
353 word-combining-categories.
354 (syms_of_category): Fix docstrings of word-separating-categories
355 and word-combining-categories.
356
357 2008-10-21 Eli Zaretskii <eliz@gnu.org>
358
359 * coding.c (Fencode_coding_region, Fdecode_coding_region)
360 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
361
362 2008-10-21 Martin Rudalics <rudalics@gmx.at>
363
364 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
365 Rename arg "buffer" to "buffer_or_name".
366 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
367 it optional.
368 (no_switch_window): Remove since the return value is not used.
369 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
370 Consider window as dedicated when Fwindow_dedicated_p returns a
371 non-nil value.
372 * lisp.h: Remove prototype for no_switch_window.
373
374 2008-10-21 Jan Djärv <jan.h.d@swipnet.se>
375
376 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
377 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined
378
379 2008-10-21 Kenichi Handa <handa@m17n.org>
380
381 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
382 check Vlatin_extra_code_table.
383
384 2008-10-20 Eli Zaretskii <eliz@gnu.org>
385
386 * fileio.c (Fset_file_modes): Doc fix.
387
388 2008-10-19 Michael Albinus <michael.albinus@gmx.de>
389
390 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
391 in arrays.
392
393 2008-10-19 Martin Rudalics <rudalics@gmx.at>
394
395 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
396 Mention kill-buffer in doc-string.
397 (Fset_window_buffer): Reinsert tem check removed in last commit.
398 (Fenlarge_window, Fshrink_window): Have argument names and
399 doc-string follow Elisp manual more closely.
400
401 2008-10-18 Eli Zaretskii <eliz@gnu.org>
402
403 * fileio.c (Fset_file_modes): Doc fix.
404
405 2008-10-18 Martin Rudalics <rudalics@gmx.at>
406
407 * window.c (Fwindow_width, Fset_window_start)
408 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
409 (Fdelete_windows_on, Freplace_buffer_in_windows):
410 Make doc-strings follow code and Elisp manual more closely.
411 (Fwindow_dedicated_p): Make window argument optional.
412 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
413 (Fset_window_buffer): Respect any non-nil dedicated value for
414 window. Rename "buffer" argument to "buffer_or_name".
415
416 2008-10-18 Ulrich Mueller <ulm@gentoo.org>
417
418 * m/sh3.h: New file, machine description for SuperH.
419
420 2008-10-17 Martin Rudalics <rudalics@gmx.at>
421
422 * window.c (Fsplit_window): Rename arg horflag to horizontal.
423
424 2008-10-17 Kenichi Handa <handa@m17n.org>
425
426 * ftfont.c (ftfont_otf_features): Fix indexing
427 gsub_gpos->FeatureList.Feature. Check the validity of indices.
428
429 2008-10-16 Magnus Henoch <mange@freemail.hu>
430
431 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
432 (Fdbus_call_method_asynchronously): Ditto.
433 This change makes C-h f display the argument list.
434
435 2008-10-16 Chong Yidong <cyd@stupidchicken.com>
436
437 * fileio.c (Fexpand_file_name): Doc fix.
438
439 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
440 of :foreground and :background equivalent to unspecified (20.x
441 compatibility).
442
443 2008-10-15 Eli Zaretskii <eliz@gnu.org>
444
445 * buffer.c (syms_of_buffer): Doc fix.
446
447 2008-10-14 Kenichi Handa <handa@m17n.org>
448
449 * font.c (font_clear_prop): When clearing font width, clear the
450 average width field too.
451
452 2008-10-12 Andreas Schwab <schwab@suse.de>
453
454 * ftfont.c (ftfont_shape_by_flt): Make static.
455 * ftfont.h (ftfont_shape_by_flt): Don't declare.
456
457 * font.c: Don't include <m17n-flt.h>.
458
459 2008-10-10 Eli Zaretskii <eliz@gnu.org>
460
461 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
462
463 2008-10-09 Eli Zaretskii <eliz@gnu.org>
464
465 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
466 away code.
467
468 2008-10-09 Chong Yidong <cyd@stupidchicken.com>
469
470 * dispnew.c (update_text_area): Avoid looping due to large glyph
471 overhangs (bug#1070).
472
473 2008-10-09 Kenichi Handa <handa@m17n.org>
474
475 * fontset.c (face_for_char): If face->fontset is negative, just
476 return ascii_face.
477
478 * font.c (font_delete_unmatched): Fix previous change.
479 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
480
481 2008-10-09 Martin Rudalics <rudalics@gmx.at>
482
483 * frame.c (Fraise_frame): On text-only terminals select frame in
484 order to make it visible. (Bug#1061)
485
486 2008-10-08 Chong Yidong <cyd@stupidchicken.com>
487
488 * fontset.c (fontset_find_font): Check frame validity.
489
490 2008-10-07 Chong Yidong <cyd@stupidchicken.com>
491
492 * gtkutil.c (xg_display_open): Reset default display if none exists.
493 (xg_display_close): Allow Emacs to close all displays (bug#985).
494
495 2008-10-06 Andreas Schwab <schwab@suse.de>
496
497 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
498
499 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
500
501 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
502
503 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
504
505 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
506 during initialization.
507
508 2008-10-04 Eli Zaretskii <eliz@gnu.org>
509
510 * xdisp.c (redisplay_internal): If frame switched, redisplay the
511 whole thing on MSDOS frames as well as on a TTY.
512
513 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
514 well as for TTY.
515 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
516 well as on a TTY.
517
518 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
519 as well as for TTY.
520
521 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
522
523 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
524 MSDOS frames as well.
525
526 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
527
528 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
529 correct arguments.
530 * menu.c (find_and_return_menu_selection) Add cast.
531
532 2008-10-03 Glenn Morris <rgm@gnu.org>
533
534 * emacs.c (USAGE1): Add --daemon.
535
536 2008-10-02 Eli Zaretskii <eliz@gnu.org>
537
538 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
539 100, so it's in percents as advertised.
540
541 2008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
542
543 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
544 (ns_output.current_cursor, ns_output.desired_cursor)
545 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
546 (FRAME_NEW_CURSOR_COLOR): Remove.
547
548 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
549 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
550 enumeration (HOLLOW_BOX_CURSOR, etc.).
551
552 * nsterm.m (ns_frame_rehighlight): Remove commented code.
553 (draw_window_cursor): Simplify code.
554 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
555 Don't change cursor type. In latter, call rehighlight instead of doing
556 updates manually.
557 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
558 Use core Emacs cursor types.
559
560 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
561 NS.
562
563 2008-10-02 Martin Rudalics <rudalics@gmx.at>
564
565 * process.c (Faccept_process_output): Fix doc-string.
566
567 2008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
568
569 * gmalloc.c (__sbrk): Also define for uClibc.
570
571 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
572 for uClibc.
573
574 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
575
576 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
577 styles.
578 (nsfont_open): Reenable the cache.
579
580 2008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
581
582 * font.c (font_matching_entity): Reflect ATTRS in font selection.
583 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
584
585 2008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
586
587 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
588 a suspended terminal.
589
590 2008-09-30 Michael Albinus <michael.albinus@gmx.de>
591
592 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
593
594 2008-09-30 Eli Zaretskii <eliz@gnu.org>
595
596 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
597
598 2008-09-30 Chong Yidong <cyd@stupidchicken.com>
599
600 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
601 in a continued line coincides with a line beginning.
602
603 2008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
604
605 * nsfont.m (nsfont_trait_distance): Fix bug.
606 (nsfont_list): Return a list rather than a vector (syncs with Handa
607 changes of 2008-05-14).
608 (nsfont_open): Improve logging.
609
610 2008-09-29 Andreas Schwab <schwab@suse.de>
611
612 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
613
614 2008-09-28 Martin Rudalics <rudalics@gmx.at>
615
616 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
617 name as char-resolve-modifiers.
618 Reported by: Markus Triska <markus.triska@gmx.at>
619
620 2008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
621
622 * dispnew.c (init_display): Return earlier when running as a daemon.
623
624 2008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
625
626 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
627
628 2008-09-27 Eli Zaretskii <eliz@gnu.org>
629
630 * composite.c (Fcomposition_get_gstring)
631 (Fcompose_region_internal, Fcompose_string_internal)
632 (Ffind_composition_internal): Doc fix.
633 (syms_of_composite) <compose-chars-after-function>: Doc fix.
634 (syms_of_composite) <auto-composition-function>: Doc fix.
635 (syms_of_composite) <composition-function-table>: Doc fix.
636
637 2008-09-25 Chong Yidong <cyd@stupidchicken.com>
638
639 * search.c (wordify): New argument for lax word-ends.
640 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
641
642 2008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
643
644 * lisp.h (is_daemon): Declare.
645 * dispnew.c (init_display): Do not try to initialize the terminal
646 when running as a daemon.
647
648 2008-09-22 Chong Yidong <cyd@stupidchicken.com>
649
650 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
651 x_display_pixel_height.
652
653 2008-09-22 Martin Rudalics <rudalics@gmx.at>
654
655 * undo.c (record_point): Don't call Fundo_boundary for first
656 change. (Bug#731)
657
658 2008-09-22 Juanma Barranquero <lekktu@gmail.com>
659
660 * emacs.c (Fdaemonp): Doc fix.
661
662 2008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
663
664 * emacs.c (main): Place #ifdef in the proper place.
665
666 2008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
667
668 * emacs.c (standard_args): Add --daemon.
669 (main): Disconnect from the terminal when --daemon is passed.
670 (is_daemon): New variable.
671 (Fdaemonp): New function.
672 (syms_of_emacs): Defsubr it.
673
674 2008-09-20 Chong Yidong <cyd@stupidchicken.com>
675
676 * xdisp.c (get_next_display_element): Handle string display
677 correctly when checking for the end of a box run.
678
679 2008-09-20 Glenn Morris <rgm@gnu.org>
680
681 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
682 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
683 (Frename_file): Avoid copying to trash if a rename involves
684 a delete. (Bug#964).
685
686 2008-09-20 Eli Zaretskii <eliz@gnu.org>
687
688 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
689 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
690 frames as well as termcap frames.
691 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
692 get_named_tty.
693
694 2008-09-19 Eli Zaretskii <eliz@gnu.org>
695
696 * process.c (procfs_system_process_attributes): Fix cmdline in
697 case /proc/PID/cmdline is empty.
698
699 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
700 x_display_pixel_height.
701
702 2008-09-19 Juanma Barranquero <lekktu@gmail.com>
703
704 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
705
706 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
707 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
708
709 2008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
710
711 * dispextern.h (struct it): Move line_wrap away from the middle of
712 bitfields. Move voffset in struct iterator_stack_entry after the
713 bitfields. Move tab_width near after another short.
714
715 2008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
716
717 * frame.h (struct frame): Move alpha from the middle of bitfields.
718
719 * window.h (struct window): Move frozen_window_start_p after the
720 rest of the bitfields to reduce padding.
721
722 2008-09-18 Chong Yidong <cyd@stupidchicken.com>
723
724 * xterm.h (x_display_info): Remove `height' and `width' members.
725
726 * nsterm.h (ns_display_info): Remove `height' and `width' members.
727
728 * w32term.h (w32_display_info): Remove `height', `width',
729 `height_in', and `width_in' members.
730
731 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
732 functions.
733 (x_calc_absolute_position): Use them.
734 (x_term_init): Omit removed `height' and `width' members.
735
736 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
737 functions.
738 (w32_read_socket, x_calc_absolute_position): Use them.
739 (w32_initialize_display_info, w32_term_init): Omit removed members
740 of w32_display_info.
741
742 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
743 functions.
744 (ns_initialize_display_info): Omit removed members of
745 ns_display_info.
746
747 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
748 functions.
749 (x_calc_absolute_position): Use them.
750 (x_term_init): Omit removed `height' and `width' members.
751
752 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
753 (compute_tip_xy): Use x_display_pixel_height and
754 x_display_pixel_width.
755
756 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
757 x_display_pixel_width.
758
759 * xmenu.c (menu_position_func): Use x_display_pixel_height and
760 x_display_pixel_width.
761
762 2008-09-18 Kenichi Handa <handa@m17n.org>
763
764 * composite.c (fill_gstring_header): Don't check FROM and TO here.
765 (composition_compute_stop_pos): Fix handling of static composition.
766 (Fcomposition_get_gstring): Check FROM and TO at first.
767
768 2008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
769
770 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
771 mixup (YAILOM).
772
773 2008-09-17 Chong Yidong <cyd@stupidchicken.com>
774
775 * indent.c (Fvertical_motion): Use position reported by iterator
776 instead of PT for determining screen motion (bug#943).
777
778 2008-09-17 Romain Francoise <romain@orebokech.com>
779
780 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
781
782 2008-09-17 Kenichi Handa <handa@m17n.org>
783
784 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
785
786 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
787 if necessary.
788
789 2008-09-16 Kenichi Handa <handa@m17n.org>
790
791 * coding.c (make_conversion_work_buffer): Avoid calling
792 Fget_buffer_create if it is not necessary.
793
794 2008-09-15 Martin Rudalics <rudalics@gmx.at>
795
796 * window.c (Fselect_window): Don't update window_select_count and
797 use_time when norecord is not nil.
798
799 2008-09-14 Kenichi Handa <handa@m17n.org>
800
801 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
802 specpdl_ptr.
803
804 2008-09-12 Kenichi Handa <handa@m17n.org>
805
806 * indent.c (scan_for_column): Don't handle automatic composition
807 if the current buffer is not associated with a window.
808
809 * composite.c (composition_reseat_it): If the current buffer is
810 not associated with a window, ignore the automatic composition.
811 (find_automatic_composition): Likewise.
812
813 2008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
814
815 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
816 (Fgpm_mouse_stop): Use it.
817 * termhooks.h (close_gpm): Declare.
818 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
819 connection if Gpm_GetEvent fails.
820
821 * window.c (set_window_buffer): Always preserve current-buffer.
822
823 2008-09-12 Glenn Morris <rgm@gnu.org>
824
825 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
826
827 2008-09-11 Glenn Morris <rgm@gnu.org>
828
829 * charset.c (charset-map-path): Doc fix.
830
831 2008-09-10 Kenichi Handa <handa@m17n.org>
832
833 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
834
835 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
836 compose a grapheme cluster with the preceding base glyph.
837
838 * composite.c (composition_compute_stop_pos): Fix previous change.
839 Reset cmp_it->id to -1 at first.
840
841 2008-09-10 Glenn Morris <rgm@gnu.org>
842
843 * Makefile.in (character.o, chartab.o): Fix config.h typo.
844
845 2008-09-09 Chong Yidong <cyd@stupidchicken.com>
846
847 * keyboard.c (read_key_sequence): Reapply translation maps when
848 switching keyboards.
849
850 2008-09-09 Kenichi Handa <handa@m17n.org>
851
852 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
853 characters.
854
855 * composite.c (FORWARD_CHAR): Fix calculation
856 of (POSITION).pos_byte.
857 (composition_compute_stop_pos): Limit the search of composition to
858 at most 500 characters ahead. If we reach the limit or find a
859 newline, set cmp_it->ch to -2 and return 0.
860 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
861
862 2008-09-08 Kenichi Handa <handa@m17n.org>
863
864 * indent.c (Fvertical_motion): Be sure to set
865 it_overshoot_expected if it.cmp_it.id is non-negative.
866
867 2008-09-07 Andreas Schwab <schwab@suse.de>
868
869 * callproc.c (Fcall_process): Don't hold references to string data
870 across garbage collection. Move initialisation of new_argv down
871 to avoid compiler bug.
872
873 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
874
875 * process.c (Fsystem_process_attributes): Doc fix.
876
877 2008-09-07 Chong Yidong <cyd@stupidchicken.com>
878
879 * callproc.c (Fcall_process): Canonicalize current directory name.
880
881 * xdisp.c (move_it_to): When moving by vpos, ensure that the
882 iterator advances to the next line if the current line ends in a
883 continued tab.
884
885 2008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
886
887 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
888 member to point to cmp_from.
889
890 * xdisp.c: Doc fix for references to gidx data member.
891
892 2008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
893
894 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
895
896 2008-09-07 Kenichi Handa <handa@m17n.org>
897
898 * composite.c (FORWARD_CHAR): Check STOP after
899 incrementing (POSITION).pos.
900
901 2008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
902
903 * process.c (Fsystem_process_attributes): Doc fix.
904
905 2008-09-06 Chong Yidong <cyd@stupidchicken.com>
906
907 * keyboard.c (Ftop_level): Doc fix.
908
909 2008-09-06 Eli Zaretskii <eliz@gnu.org>
910
911 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
912 minibuffer, don't let lower part of menu invade the echo area.
913
914 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
915 "char *q" to access menu text and advance through it. Revert the
916 change that displayed ">" instead of ASCII character 0x10.
917
918 2008-09-05 Eli Zaretskii <eliz@gnu.org>
919
920 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
921 toggle boxes and radio buttons on MS-DOS as well.
922
923 2008-09-05 Kenichi Handa <handa@m17n.org>
924
925 * composite.c (autocmp_chars): Check lookback count.
926 (composition_compute_stop_pos): Set cmp_it->lookback.
927 (composition_reseat_it): Check lookback count.
928 (struct position_record): New struct.
929 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
930 (find_automatic_composition): New function.
931 (composition_adjust_point): Use find_automatic_composition.
932
933 * dispextern.h (struct composition_it): New member lookback.
934
935 2008-09-02 Chong Yidong <cyd@stupidchicken.com>
936
937 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
938 if moving by a single line.
939
940 2008-09-02 Andreas Schwab <schwab@suse.de>
941
942 * xterm.c (x_delete_display): Fix merge error.
943
944 * fileio.c (Fexpand_file_name): Remove unused variables.
945
946 2008-09-02 Eli Zaretskii <eliz@gnu.org>
947
948 * fileio.c (Fexpand_file_name): Copy argument `name' into local
949 storage on all platforms, not just on DOS_NT.
950
951 2008-09-02 Jason Rumney <jasonr@gnu.org>
952
953 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
954 mouse is not grabbed after menu is finished.
955
956 2008-09-01 Chong Yidong <cyd@stupidchicken.com>
957
958 * xfaces.c (Finternal_set_alternative_font_family_alist)
959 (Finternal_set_alternative_font_registry_alist): Properly copy
960 entire alist structure.
961
962 2008-09-01 Kenichi Handa <handa@m17n.org>
963
964 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
965 representative chars of the script is a vector.
966 (ftfont_list): Handle the case the representative chars of the
967 script is a vector.
968
969 * character.c (syms_of_character): Docstring of
970 script-representative-chars fixed.
971
972 2008-08-31 Eli Zaretskii <eliz@gnu.org>
973
974 * msdos.c (BUILD_CHAR_GLYPH): New macro.
975 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
976 the menu. Allocate larger buffer for `text', to account for
977 possible ^C characters.
978
979 2008-08-31 Martin Rudalics <rudalics@gmx.at>
980
981 * xdisp.c (prepare_menu_bars): Don't call
982 Vwindow_size_change_functions with arg Qt.
983
984 2008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
985
986 * font.h (font_range):
987 * fileio.c (report_file_error):
988 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
989
990 2008-08-30 Glenn Morris <rgm@gnu.org>
991
992 * data.c (Fmake_variable_frame_local): Doc fix.
993
994 * frame.c (Fmodify_frame_parameters): Doc fix.
995
996 2008-08-30 Eli Zaretskii <eliz@gnu.org>
997
998 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
999 needed by GetTokenInformation.
1000 (w32_system_process_attributes): Check return values of all system
1001 APIs.
1002
1003 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
1004 only when the state changes.
1005 (IT_update_begin, IT_update_end): Add termscript trace.
1006
1007 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
1008 clipboard is unavailable. Set dst to NULL if it doesn't point to
1009 malloc'ed data.
1010 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
1011 passing random values to xfree.
1012
1013 * dispnew.c (init_display): Set `tty's association in frame's
1014 parameters alist to the name of the terminal device, if that is
1015 known.
1016
1017 2008-08-29 Jason Rumney <jasonr@gnu.org>
1018
1019 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
1020
1021 2008-08-29 Eli Zaretskii <eliz@gnu.org>
1022
1023 * composite.c (fill_gstring_body): Avoid compiler warnings.
1024
1025 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
1026 LGLYPH_SET_CODE to avoid compiler warnings.
1027
1028 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
1029
1030 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
1031
1032 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
1033 LGLYPH_SET_CODE.
1034
1035 2008-08-29 Kenichi Handa <handa@m17n.org>
1036
1037 * fileio.c (report_file_error): Don't downcase the first character
1038 of errstring if it is still unibyte.
1039
1040 2008-08-29 Kenichi Handa <handa@m17n.org>
1041
1042 These changes are to re-implement the automatic composition so
1043 that it doesn't use text properties.
1044
1045 * Makefile.in (ftfont.o): Depend on composite.h.
1046 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
1047
1048 * character.h (Vunicode_category_table): Extern it.
1049
1050 * character.c (Vunicode_category_table): New variable.
1051 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
1052
1053 * chartab.c (optimize_sub_char_table): Perform more greedy
1054 optimization.
1055
1056 * composite.h (enum composition_method): Delete
1057 COMPOSITION_WITH_GLYPH_STRING.
1058 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1059 (Vcomposition_function_table): Extern it.
1060 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
1061 (composition_gstring_put_cache, composition_gstring_from_id)
1062 (composition_gstring_p, composition_gstring_width)
1063 (composition_compute_stop_pos, composition_reseat_it)
1064 (composition_update_it, composition_adjust_point): Extern them.
1065 (Fcomposition_get_gstring): EXFUN it.
1066
1067 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1068 (Vcomposition_function_table)
1069 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
1070 (gstring_hash_table, gstring_work, gstring_work_headers): New
1071 variables.
1072 (gstring_lookup_cache, composition_gstring_put_cache)
1073 (composition_gstring_from_id, composition_gstring_p)
1074 (composition_gstring_width, fill_gstring_header)
1075 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1076 (composition_reseat_it, composition_update_it)
1077 (composition_adjust_point, Fcomposition_get_gstring): New
1078 functions.
1079 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1080 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1081 Defsubr compostion_get_gstring.
1082
1083 * dispextern.h (struct glyph): New union u.cmp. Delete the member
1084 cmp_id.
1085 (struct glyph_string): Delete the member gidx. New members
1086 cmp_id, cmp_from, and cmp_to.
1087 (enum it_method): Delete GET_FROM_COMPOSITION.
1088 (struct composition_it): New struct.
1089 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
1090 Delete c, len, cmp_id, cmp_len in u.comp.
1091
1092 * font.h (enum lgstring_indices): Delete it.
1093 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
1094 (enum lglyph_indices): Likewise.
1095 (font_range): Extern adjusted.
1096 (font_fill_lglyph_metrics): Extern it.
1097
1098 * font.c (QCf): New variable.
1099 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1100 (font_prepare_composition): Delete this function.
1101 (font_range): Type and arguments changed.
1102 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1103 (font_fill_lglyph_metrics): New function.
1104 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
1105 changed.
1106 (syms_of_font): DEFSYM QCf. Delete defsubr for
1107 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
1108 Sfont_shape_gstring.
1109
1110 * fontset.h (font_for_char): Extern it.
1111
1112 * fontset.c (font_for_char): New function.
1113
1114 * ftfont.c: Include composite.h.
1115 (ftfont_resolve_generic_family): Add langset "en" to pattern.
1116 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
1117 LGSTRING_LENGTH.
1118
1119 * indent.c: Include composite.h and dispextern.h.
1120 (check_composition): Delete this function.
1121 (scan_for_column): Handle composition by
1122 composition_compute_stop_pos, composition_reseat_it, and
1123 composition_update_it.
1124 (compute_motion): Likewise.
1125 (Fvertical_motion): Fix checking of composition.
1126
1127 * keyboard.c (adjust_point_for_property): Check composition by
1128 composition_adjust_point.
1129
1130 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
1131 struct glyph_string.
1132
1133 * term.c (encode_terminal_code): Adjusted for the change of struct
1134 glyph.
1135 (append_composite_glyph): Adjusted for the change of struct it and
1136 struct glyph.
1137 (produce_composite_glyph): Likewise.
1138
1139 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
1140 for the change of struct glyph_string.
1141 (x_draw_glyph_string): Likewise.
1142
1143 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
1144 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1145
1146 * xdisp.c: Include font.h.
1147 (it_props): Delete the entry for Qauto_composed.
1148 (init_iterator): Initialize it->cmp_it.id to -1.
1149 (compute_stop_pos): Call composition_compute_stop_pos.
1150 (face_before_or_after_it_pos): Adjusted for the change of struct
1151 it.
1152 (handle_auto_composed_prop): Delete it.
1153 (handle_composition_prop): Handle only static composition.
1154 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1155 from xassert. Initialize it->cmp_it.stop_pos.
1156 (push_it): Adjusted for the change of struct it.
1157 (pop_it): Likewise.
1158 (get_next_element): Delete next_element_from_composition.
1159 (CHAR_COMPOSED_P): New macro.
1160 (get_next_display_element): For automatic composition, get a face
1161 from the font in the glyph-string.
1162 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
1163 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
1164 case.
1165 (next_element_from_string): Check if the character at the current
1166 position is composed by CHAR_COMPOSED_P.
1167 (next_element_from_buffer): Likewise.
1168 (next_element_from_composition): Adjusted for the change of struct
1169 it. Update it->cmp_it.
1170 (dump_glyph): Adjusted for the change of struct glyph.
1171 (fill_composite_glyph_string): Adjusted for the change of struct
1172 it and struct glyph. Don't handle automatic composition here.
1173 (fill_gstring_glyph_string): New function.
1174 (x_get_glyph_overhangs): Handle automatic composition.
1175 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
1176 glyph.
1177 (BUILD_GSTRING_GLYPH_STRING): New macro.
1178 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1179 automatic composition.
1180 (append_composite_glyph): Adjusted for the change of struct it and
1181 struct glyph.
1182 (x_produce_glyphs): Adjusted for the change of struct it.
1183
1184 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
1185 the change of struct glyph_string.
1186 (x_draw_glyph_string): Likewise.
1187
1188 2008-08-29 Glenn Morris <rgm@gnu.org>
1189
1190 * buffer.c (word-wrap): Doc fix.
1191 * xdisp.c (truncate-partial-width-windows): Doc fix.
1192 Increase default to 50.
1193
1194 2008-08-29 Chong Yidong <cyd@stupidchicken.com>
1195
1196 * xdisp.c (update_tool_bar_unwind): New function.
1197 (update_tool_bar): Temporarily set selected frame before building
1198 tool-bar items.
1199
1200 2008-08-28 Michael Albinus <michael.albinus@gmx.de>
1201
1202 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
1203 snprintf, respectively.
1204 (xd_append_arg): Convert strings with Fstring_make_unibyte.
1205
1206 2008-08-28 Chong Yidong <cyd@stupidchicken.com>
1207
1208 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
1209 LDFLAGS to GNUstep CC invocation.
1210
1211 2008-08-27 Chong Yidong <cyd@stupidchicken.com>
1212
1213 * indent.c (Fvertical_motion): Revert last change. Handle the
1214 general case where we are moving forward, and PT spans multiple
1215 screen lines.
1216
1217 * eval.c (find_handler_clause): Temporarily increase
1218 max-lisp-eval-depth while printing the backtrace buffer, to
1219 guarantee that help-mode code can run.
1220
1221 2008-08-27 Eli Zaretskii <eliz@gnu.org>
1222
1223 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
1224 colors under -rv.
1225 (IT_set_frame_parameters): Don't swap foreground and background
1226 colors if `(reverse . t)' is present in the frame properties.
1227 (internal_terminal_init): Call init_frame_faces only for the
1228 initial frame.
1229
1230 2008-08-27 Andreas Schwab <schwab@suse.de>
1231
1232 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
1233
1234 2008-08-27 Andreas Schwab <schwab@suse.de>
1235
1236 * search.c (search_buffer): Set char_base to zero only at the end.
1237
1238 2008-08-27 Kenichi Handa <handa@m17n.org>
1239
1240 * fileio.c (report_file_error): Fix handling of multibyte error
1241 string.
1242
1243 2008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1244
1245 * xterm.c (x_term_init): Temporarily hide the partially
1246 initialized terminal while calling vendor-specific-keysyms.
1247
1248 2008-08-26 Eli Zaretskii <eliz@gnu.org>
1249
1250 * msdos.c (internal_terminal_init): Most initializations done only
1251 once, especially initial_screen_colors[] and termscript open.
1252
1253 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
1254
1255 * eval.c (Fcondition_case): Doc fix.
1256
1257 * widgetprv.h (EmacsFramePart): Change font member to the new font
1258 struct.
1259
1260 * widget.c: Include character.h and font.h for XSETFONT.
1261 (setup_frame_gcs): Compute X font id from font struct, just once.
1262
1263 2008-08-26 Eli Zaretskii <eliz@gnu.org>
1264
1265 * term.c (get_named_tty): Fix last change.
1266
1267 2008-08-26 Chong Yidong <cyd@stupidchicken.com>
1268
1269 * indent.c (Fvertical_motion): If moving forward starting from a
1270 multi-line string, move the iterator to the last line of that
1271 string.
1272
1273 2008-08-25 Eli Zaretskii <eliz@gnu.org>
1274
1275 * frame.c (do_switch_frame): Mark previously displayed frame as
1276 obscured for FRAME_MSDOS_P frames as well.
1277
1278 2008-08-24 Eli Zaretskii <eliz@gnu.org>
1279
1280 * frame.c (make_terminal_frame): Initialize f->terminal,
1281 f->terminal->reference_count, and scroll bars on MS-DOS as well.
1282 Set the top frame to newly created frame.
1283 (Fmake_terminal_frame): Reuse the_only_display_info.
1284
1285 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
1286 estimating available memory.
1287
1288 2008-08-23 David Reitter <david.reitter@gmail.com>
1289
1290 * nsterm.m (ns_draw_window_cursor): Don't call
1291 NSDisableScreenUpdates and NSEnableScreenUpdates on
1292 non-NS_IMPL_COCOA systems.
1293
1294 2008-08-23 Andreas Schwab <schwab@suse.de>
1295
1296 * process.c (procfs_system_process_attributes): Fix use of
1297 uninitialized variables.
1298
1299 2008-08-23 Eli Zaretskii <eliz@gnu.org>
1300
1301 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
1302
1303 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1304 calling tty-set-up-initial-frame-faces.
1305
1306 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
1307 MSDOS frames along with X frames.
1308
1309 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1310 addition to output_termcap.
1311
1312 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
1313
1314 * termchar.h (FRAME_TTY): Support output_msdos_raw.
1315 (struct tty_display_info) [MSDOS]: Add fields related to mouse
1316 highlight.
1317
1318 * process.c [!subprocesses]: Define QCname.
1319 (syms_of_process): Intern and staticpro it.
1320
1321 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1322 Adjust for changes in encoding/decoding routines. Use
1323 encode_coding_object and decode_coding_object instead of
1324 encode_coding and decode_coding.
1325
1326 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
1327 argument.
1328
1329 * dosfns.c: Include frame.h before termhooks.h.
1330 (dos_cleanup): Use CURTTY ()->termscript instead of a global
1331 variable termscript.
1332
1333 * s/msdos.h (USER_FULL_NAME): Define.
1334 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
1335
1336 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
1337 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
1338 pw->pw_gecos.
1339
1340 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
1341 SELECTED_FRAME as additional (1st) argument.
1342 (tty_read_avail_input): Handle output_msdos_raw in
1343 addition to output_termcap.
1344
1345 * msdos.c: Include frame.h before termhooks.h.
1346 (mouse_on, mouse_off, mouse_moveto, mouse_init)
1347 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
1348 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
1349 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
1350 (IT_set_terminal_modes, IT_reset_terminal_modes)
1351 (IT_set_frame_parameters): Use tty->termscript instead of a global
1352 variable termscript.
1353 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
1354 global variable terminal_coding. Don't refer to
1355 Vnonascii_translation_table.
1356 (internal_terminal_init): Set Vwindow_system in current_kboard.
1357 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1358 Announce date and time of session start, if termscript is open.
1359 Don't zero out the_only_display_info (it is done in
1360 term.c:init_tty). Open termscript only of not already open. Log
1361 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1362 here instead of dos_ttraw. Don't initialize display if this is an
1363 initial tty. Don't set FRAME_FONT.
1364 (Vwindow_system_version): Bump to 23.
1365 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
1366 is available, set up mouse_position_hook.
1367 (dos_ttraw, IT_set_terminal_modes): If called with initial
1368 terminal, do nothing.
1369 (IT_set_frame_parameters): Handle the Qtty_type frame
1370 parameter by calling internal_terminal_init.
1371 (dos_set_window_size, show_mouse_face)
1372 (clear_mouse_face, IT_note_mode_line_highlight)
1373 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
1374 (dos_rawgetc): Use tty_display_info instead of x_display_info.
1375 (initialize_msdos_display): New function.
1376 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
1377 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1378 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1379 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1380 Accept additional argument: a pointer to a frame. All callers
1381 changed.
1382 (request_sigio, unrequest_sigio): Don't define, now defined on
1383 sysdep.c.
1384 (IT_write_glyphs): Rewrite to use encode_terminal_code.
1385
1386 * term.c [MSDOS]: Include msdos.h.
1387 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
1388 conditional to DOS_NT. Allow only one call to this function in a
1389 session. Don't allocate a new struct tty_display_info; instead,
1390 reuse the_only_display_info. Call get_tty_size to get screen
1391 dimensions. Call init_baud_rate to set bad_rate.
1392 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1393 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1394 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
1395 stdin/stdout.
1396 (get_tty_terminal, get_named_tty, Ftty_type)
1397 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1398 output_termcap.
1399 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
1400 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1401 only when subprocesses are supported
1402
1403 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
1404 f->output_data.x.
1405 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
1406 terminal devices.
1407
1408 * msdos.h Remove definition of struct x_display_info and struct
1409 x_output.
1410 (FRAME_FONT): Use output_data.tty.
1411 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1412 (struct x_display_info): Renamed from display_info. All users in
1413 msdos.c changed.
1414 (struct x_output): Remove background_pixel and foreground_pixel.
1415 (the_only_display_info): Renamed from the_only_x_display.
1416 (dos_ttraw): Update prototype.
1417
1418 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
1419 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
1420
1421 2008-08-23 Jason Rumney <jasonr@gnu.org>
1422
1423 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
1424 (fn_TIFFSetDirectory): New library function used.
1425 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
1426 (tiff_load): Use :index to select among multiple images. Set count
1427 property when multiple images exist.
1428 (gif_format): Use :index, not :image.
1429
1430 2008-08-23 Chong Yidong <cyd@stupidchicken.com>
1431
1432 * xdisp.c (try_scrolling): Check INT_MAX instead of
1433 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
1434 to obtain INT_MAX.
1435
1436 2008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
1437
1438 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
1439
1440 2008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
1441
1442 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
1443 GNUstep library location.
1444
1445 2008-08-21 Chong Yidong <cyd@stupidchicken.com>
1446
1447 * xfaces.c (x_update_menu_appearance): Check validity of menu font
1448 before using it.
1449
1450 * puresize.h (BASE_PURESIZE): Increase to 1250000.
1451
1452 2008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1453
1454 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
1455 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
1456 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
1457 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
1458 (EmacsApp-cursor_blink_handler): Remove declaration.
1459 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
1460 match 01 Feb 2008 changes in xterm.c.
1461 (ns_read_socket): Add cast to avoid warning.
1462 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
1463 GNUstep.
1464
1465 2008-08-20 Chong Yidong <cyd@stupidchicken.com>
1466
1467 * xselect.c (x_get_foreign_selection): Return nil if desired
1468 selection could not be obtained, instead of signalling an error.
1469
1470 2008-08-20 David Reitter <david.reitter@gmail.com>
1471
1472 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1473 * nsterm.m: Remove ns-specific code for cursor blinking.
1474 (ns_draw_window_cursor): Clear cursor properly rather than
1475 redrawing the area. Respect width of bar cursors.
1476 These changes enable the use of generic blink-cursor-mode and
1477 generic cursor types in NS and support smooth cursor movements (do
1478 not blink off after command).
1479 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
1480 Nextstep, too.
1481
1482 2008-08-19 Kenichi Handa <handa@m17n.org>
1483
1484 * font.c (Vfont_log_deferred): New variable.
1485 (font_add_log): Check Vfont_log_deferred.
1486 (font_deferred_log): New function.
1487
1488 * font.h (font_deferred_log): Extern it.
1489
1490 * fontset.c (reorder_font_vector): Use encoding charset of fonts
1491 for sorting.
1492 (face_for_char): Use deferred log.
1493
1494 2008-08-18 Kenichi Handa <handa@m17n.org>
1495
1496 * fontset.c (face_for_char): Add font log.
1497
1498 * font.c (font_add_log): Add the font properties :script, :lang,
1499 and :otf in the log.
1500
1501 2008-08-17 Chong Yidong <cyd@stupidchicken.com>
1502
1503 * xdisp.c: Remove dead code.
1504 (handle_invisible_prop, next_overlay_string): Defer call to
1505 setup_for_ellipsis.
1506 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1507
1508 2008-08-15 Chong Yidong <cyd@stupidchicken.com>
1509
1510 * xfaces.c (lookup_derived_face): Properly handle possible zero
1511 return value of get_lface_attributes.
1512 (merge_faces): Don't tell lookup_derived_face to signal an error
1513 if face is not found.
1514
1515 * dired.c (Fdirectory_files): Doc fix.
1516
1517 * process.c (make_process): Initialize kill_without_query struct
1518 member.
1519
1520 2008-08-15 Eli Zaretskii <eliz@gnu.org>
1521
1522 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1523 Alternative calculation of totphys for Visual Studio 6.
1524
1525 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1526
1527 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1528 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1529 All users changed.
1530 (stat): Only root directory passed to GetDriveType. Allow RAM
1531 disk as well as local fixed disk when w32-get-true-file-attributes
1532 is set to `local'.
1533 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1534 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1535 (w32_cached_id, w32_add_to_cache): New functions.
1536 (get_name_and_id): Look account names in the cache before calling
1537 lookup_account_sid.
1538 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1539 New initialization flags.
1540 (globals_of_w32): Initialize them to zero.
1541 (w32_system_process_attributes): Use w32_cached_id and
1542 w32_add_to_cache.
1543
1544 2008-08-14 Lawrence Mitchell <wence@gmx.li>
1545
1546 * lread.c (Fread_char, Fread_char_exclusive): If no character
1547 event is read before timeout is reached, return nil, rather than
1548 converting to a number.
1549
1550 2008-08-14 Chong Yidong <cyd@stupidchicken.com>
1551
1552 * fns.c (use_dialog_box): Doc fix.
1553
1554 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1555 on OS X.
1556
1557 2008-08-13 Chong Yidong <cyd@stupidchicken.com>
1558
1559 * frame.c (Qns_parse_geometry): New var.
1560 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1561
1562 2008-08-11 Chong Yidong <cyd@stupidchicken.com>
1563
1564 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1565 space character in calculating tabs.
1566
1567 2008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1568
1569 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1570
1571 2008-08-10 Glenn Morris <rgm@gnu.org>
1572
1573 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1574 silence gcc "limited range of data type" warnings in some
1575 make_fixnum_or_float calls.
1576
1577 2008-08-09 Eli Zaretskii <eliz@gnu.org>
1578
1579 * w32.c (w32_system_process_attributes): If the process does not
1580 exist, return nil.
1581
1582 * w32.c: Include thelp32.h, psapi.h and coding.h.
1583 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1584 declarations.
1585 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1586 (Process32Next_Proc): New typedefs.
1587 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1588 (g_b_init_process32_next, g_b_init_open_thread_token)
1589 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1590 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1591 (g_b_init_get_process_working_set_size)
1592 (g_b_init_global_memory_status_ex): New static variables.
1593 (globals_of_w32): Initialize them.
1594 (create_toolhelp32_snapshot, process32_first, process32_next)
1595 (open_thread_token, impersonate_self, revert_to_self)
1596 (get_process_memory_info, get_process_working_set_size)
1597 (global_memory_status, global_memory_status_ex): New wrapper
1598 functions.
1599 (w32_list_system_processes, w32_system_process_attributes)
1600 (enable_privilege, restore_privilege, ltime, process_times):
1601 New functions.
1602 (convert_time_raw): New function.
1603 (convert_time): Remove conversion of FILETIME into time in 100
1604 nsec units, call convert_time_raw instead.
1605
1606 * process.h (w32_list_system_processes, w32_system_process_attributes):
1607 Add prototypes.
1608 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1609 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1610 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1611 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1612
1613 * process.c (Fsystem_process_attributes): Doc fix.
1614
1615 2008-08-08 Chong Yidong <cyd@stupidchicken.com>
1616
1617 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1618 a continued multi-char glyph; if so, advance to the actual glyph.
1619
1620 2008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1621
1622 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
1623
1624 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1625 (.m.o): Use it.
1626 * config.in: Regenerate.
1627
1628 2008-08-07 Chong Yidong <cyd@stupidchicken.com>
1629
1630 * xdisp.c (redisplay_window): Revert last change.
1631 (try_window): Check bottom scroll margin too.
1632
1633 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1634
1635 * config.in: Regenerate.
1636
1637 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
1638 -list-load-path-shadows'.
1639 (nsgui.h): Reduce number of things depending on it.
1640
1641 2008-08-06 Chong Yidong <cyd@stupidchicken.com>
1642
1643 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1644 instead of window-end which does the wrong thing at eob.
1645 (try_cursor_movement): Minor optimization.
1646 (redisplay_window): If scroll margin is defined, don't assume
1647 window doesn't need scrolling.
1648
1649 2008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1650
1651 * config.in: Regenerate.
1652
1653 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1654 (mostlyclean): Don't delete *.d under NS.
1655
1656 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1657
1658 2008-08-06 Kenichi Handa <handa@m17n.org>
1659
1660 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
1661
1662 2008-08-06 Andreas Schwab <schwab@suse.de>
1663
1664 * config.in: Regenerate.
1665
1666 2008-08-05 Chong Yidong <cyd@stupidchicken.com>
1667
1668 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1669 forcing a window start.
1670
1671 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1672 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1673
1674 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1675
1676 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
1677 argument.
1678
1679 2008-08-05 Juanma Barranquero <lekktu@gmail.com>
1680
1681 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1682 <scroll-down-aggressively, before-change-functions>:
1683 <after-change-functions>: Reflow docstrings.
1684
1685 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1686 Ken Raeburn <raeburn@gnu.org>
1687
1688 Dock menu customization, based on a patch by Ken Raeburn, plus some
1689 other fixes.
1690 * nsmenu.m (dockMenu): New variable.
1691 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1692
1693 * nsterm.h (dockMenu): Declare.
1694
1695 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1696 (ns_term_init): Initialize dockMenu.
1697 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1698 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1699 left.
1700
1701 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1702
1703 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
1704
1705 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1706
1707 * config.in: Regenerate.
1708
1709 2008-08-04 Seiji Zenitani <zenitani@mac.com>
1710
1711 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
1712
1713 2008-08-04 Chong Yidong <cyd@stupidchicken.com>
1714
1715 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1716
1717 2008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1718
1719 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1720
1721 * keyboard.h: Comment an #endif.
1722
1723 * lisp.h (have_menus_p): Adjust comment.
1724
1725 * menu.c (find_and_return_menu_selection): Fix comparison with
1726 client_data.
1727
1728 * nsmenu.m (popup_activated_flag): New variable.
1729 (popup_activated): New function.
1730 (menu-or-popup-active-p): New exported lisp definition.
1731 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1732 when popup done.
1733 (ns_popup_dialog): Set popup_activated_flag.
1734
1735 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
1736 version for GNUstep (handled by conditional typedef in nsterm.m).
1737 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1738 in rgb.txt).
1739
1740 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1741
1742 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1743
1744 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1745
1746 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1747 shortcircuit if popup_activated like GTK and X toolkit.
1748
1749 * m/inter386.h: Change DARWIN to DARWIN_OS.
1750
1751 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1752 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
1753 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1754 comment on NO_SOCK_SIGIO.
1755
1756 2008-08-03 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * nsterm.m (windowDidResize): Remove stopModal call.
1759
1760 2008-08-03 Andreas Schwab <schwab@suse.de>
1761
1762 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1763 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
1764
1765 2008-08-02 Chong Yidong <cyd@stupidchicken.com>
1766
1767 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1768 Don't use uninitialized pointer variable when using getrlimit.
1769
1770 2008-08-02 Jason Rumney <jasonr@gnu.org>
1771
1772 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
1773
1774 2008-08-02 Eli Zaretskii <eliz@gnu.org>
1775
1776 * alloc.c (NSTATICS): Bump to 0x640.
1777
1778 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1779
1780 * lisp.h: Add prototype for directory_files_internal.
1781
1782 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1783 New functions.
1784 (syms_of_process): Defsubr them. Add initializations for various
1785 Q* symbols used in procfs_system_process_attributes.
1786 (procfs_list_system_processes, procfs_system_process_attributes)
1787 [HAVE_PROCFS]: New functions.
1788 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1789 (procfs_get_total_memory): New functions.
1790
1791 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
1792
1793 * xfaces.c (Fx_load_color_file): Fix previous change;
1794 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1795
1796 2008-08-01 Michael Albinus <michael.albinus@gmx.de>
1797
1798 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1799
1800 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1801
1802 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1803
1804 2008-08-01 Chong Yidong <cyd@stupidchicken.com>
1805
1806 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
1807
1808 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
1809 define NSApplicationDelegateReplySuccess.
1810 (EmacsView -converstationIdentifier): Use long instead of
1811 NSInteger for GNUstep, since it doesn't have NSInteger.
1812
1813 * xmenu.c: Revert last change.
1814
1815 * keyboard.h: Fix last change.
1816
1817 2008-08-01 Juanma Barranquero <lekktu@gmail.com>
1818
1819 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1820 on Windows.
1821
1822 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1823
1824 Warning clearing and clean-up in NS port.
1825 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1826 Add prototypes.
1827 * nsgui.h (FACE_DEFAULT): Remove, unused.
1828 (XGCValues): Change colors to unsigned long.
1829 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1830 nsterm.m.
1831 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1832 (ns_list_fonts): Remove, unused.
1833 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1834 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1835 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1836 (nsfont_draw): Compare face colors to 0, not nil.
1837 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1838 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1839 (-addSubmenuWithTitle:): Use NSMenuItem class.
1840 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1841 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1842 (ns_clip_to_row): Make gc arg a BOOL.
1843 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1844 ns_clip_to_row() call.
1845 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
1846 used). Cast FRAME_FONT assignments.
1847 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1848 (ns_string_to_lispmod): Change arg to const char.
1849 (ns_term_init): Use NSMenuItem class.
1850 (EmacsApp -openFile:): Move to different section of file.
1851 (EmacsApp -application:openFiles:): Don't return a value, call
1852 -replyToOpenOrPrint:.
1853 (EmacsView -keyDown:): Fix up cast.
1854 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1855 (EmacsView -menuDown:): Cast tag in call to
1856 find_and_call_menu_selection().
1857 (ns_list_fonts): Remove, unused.
1858 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1859 (ns_fontname_to_xlfd): Make static.
1860 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1861 Remove prototypes (now in keyboard.h).
1862 (next_menubar_widget_id): Remove, unused.
1863 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1864 Remove prototypes (now in keyboard.h).
1865 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1866
1867 2008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1868
1869 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1870 (floatfns.o): Depend on syssignal.h.
1871 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1872
1873 * systty.h: Fix previous change that removed BSD_TERMIOS.
1874 Add comments to #ifdefs.
1875
1876 2008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1877
1878 * w32fns.c (w32-load-color-file): Remove.
1879 (x-open-connection): Use renamed Fx_load_color_file.
1880 * xfaces.c (x-load-color-file): Add.
1881 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1882 Emacs.clr.
1883 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1884
1885 2008-07-31 Michael Albinus <michael.albinus@gmx.de>
1886
1887 * dbusbind.c (Fdbus_call_method_asynchronously)
1888 (Fdbus_method_error_internal): New defuns.
1889 (xd_read_message): Handle also reply messages.
1890 (Vdbus_registered_functions_table): Extend docstring.
1891
1892 2008-07-31 Juanma Barranquero <lekktu@gmail.com>
1893
1894 * keyboard.c (gobble_input): Fix previous change.
1895
1896 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1897
1898 * bitmaps/README:
1899 * xfns.c:
1900 * termcap.c:
1901 * term.c:
1902 * syswait.h:
1903 * systty.h:
1904 * systime.h:
1905 * syssignal.h:
1906 * sysdep.c:
1907 * process.h:
1908 * process.c:
1909 * print.c:
1910 * ndir.h:
1911 * lread.c:
1912 * keyboard.c:
1913 * getpagesize.h:
1914 * floatfns.c:
1915 * fileio.c:
1916 * emacs.c:
1917 * doc.c:
1918 * dispnew.c:
1919 * dired.c:
1920 * data.c:
1921 * callproc.c:
1922 * buffer.c:
1923 * README:
1924 * Makefile.in:
1925 * s/template.h:
1926 * s/msdos.h:
1927 * m/vax.h: Remove VMS support.
1928 * s/vms.h:
1929 * vlimit.h:
1930 * uaf.h:
1931 * temacs.opt:
1932 * param.h:
1933 * ioctl.h: Remove file.
1934
1935 2008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1936
1937 * s/ms-w32.h (MULTI_KBOARD): Remove.
1938 * xterm.c:
1939 * xselect.c:
1940 * xfns.c:
1941 * window.c:
1942 * w32term.c:
1943 * w32fns.c:
1944 * terminal.c:
1945 * termhooks.h:
1946 * term.c:
1947 * sysdep.c:
1948 * keyboard.h:
1949 * keyboard.c:
1950 * frame.h:
1951 * frame.c:
1952 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
1953 * config.in: Regenerate.
1954
1955 2008-07-30 Jason Rumney <jasonr@gnu.org>
1956
1957 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
1958
1959 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1960 (w32font_open_internal): Get unicode version of textmetrics.
1961 Don't enable or disable glyph indices here.
1962 (w32font_open): Disable use of glyph indices.
1963
1964 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
1965
1966 2008-07-30 Chong Yidong <cyd@stupidchicken.com>
1967
1968 * minibuf.c (Vread_buffer_function): Doc fix.
1969
1970 2008-07-30 John Paul Wallington <jpw@pobox.com>
1971
1972 * minibuf.c (read_buffer_completion_ignore_case): New var.
1973 (Fread_buffer): Use it.
1974
1975 2008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1976
1977 * systty.h (sensemode): Remove empty #if. Remove reference to
1978 BSD_TERMIOS, unused.
1979
1980 * sysdep.c: Remove reference to DGUX.
1981 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1982
1983 * config.in: Regenerate.
1984
1985 2008-07-30 Jason Rumney <jasonr@gnu.org>
1986
1987 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
1988
1989 2008-07-29 Jason Rumney <jasonr@gnu.org>
1990
1991 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1992 is populated.
1993 (uniscribe_encode_char): Always use uniscribe.
1994 Avoid using context if cache is populated.
1995
1996 2008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1997
1998 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1999 open menu.
2000
2001 * gtkutil.c (menu_nav_ended): Remove.
2002 (create_menus): Remove signal connect for menu_nav_ended.
2003
2004 2008-07-28 Chong Yidong <cyd@stupidchicken.com>
2005
2006 * xdisp.c (redisplay_window): Check return value of
2007 compute_window_start_on_continuation_line before forcing a window
2008 start.
2009
2010 2008-07-28 Jason Rumney <jasonr@gnu.org>
2011
2012 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
2013
2014 * w32term.c (w32_enable_unicode_output, cleartype_active):
2015 Remove obsolete display options.
2016 (x_draw_glyph_string_background): Don't use old cleartype_active
2017 workaround.
2018 (w32_initialize): Remove cleartype_active initialization.
2019 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
2020
2021 2008-07-28 Andreas Schwab <schwab@suse.de>
2022
2023 * lisp.h (init_weak_hash_tables, syms_of_font)
2024 (xd_read_queued_messages, syms_of_dbusbind): Declare.
2025 (remove_hash_entry): Don't declare.
2026 * eval.c (maybe_call_debugger): Make static and move before use.
2027 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
2028 * xdisp.c: Include "gtkutil.h" if USE_GTK.
2029 * xterm.h (x_set_frame_alpha): Declare.
2030
2031 2008-07-28 Jan Djärv <jan.h.d@swipnet.se>
2032
2033 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
2034 (create_menus): Connect selection-done to menu_nav_ended.
2035
2036 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2037
2038 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
2039 Set Vx_resource_name to a fallback. Replace read of 'buffered'
2040 parameter with read of 'alpha' one.
2041 (Qns_frame_parameter): Remove.
2042 * nsselection.m (selection-coding-system)
2043 (next-selection-coding-system, Vselection_coding_system)
2044 (Vnext_selection_coding_system): Drop.
2045
2046 2008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2047
2048 * nsfns.m (do-applescript, do_applescript): Rename to
2049 ns-do-applescript, ns_do_applescript, and move within file.
2050
2051 2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
2052
2053 Remove support for Mac Carbon.
2054 * mactoolbox.c:
2055 * macterm.h:
2056 * macterm.c:
2057 * macselect.c:
2058 * macmenu.c:
2059 * macgui.h:
2060 * macfns.c:
2061 * mac.c: Remove file.
2062 * s/darwin.h:
2063 * m/intel386.h:
2064 * xfaces.c:
2065 * xdisp.c:
2066 * window.c:
2067 * tparam.c:
2068 * termhooks.h:
2069 * termcap.c:
2070 * term.c:
2071 * syssignal.h:
2072 * sysselect.h:
2073 * sysdep.c:
2074 * process.c:
2075 * lread.c:
2076 * lisp.h:
2077 * keyboard.c:
2078 * image.c:
2079 * fringe.c:
2080 * frame.h:
2081 * frame.c:
2082 * fontset.c:
2083 * font.h:
2084 * font.c:
2085 * fns.c:
2086 * fileio.c:
2087 * emacs.c:
2088 * dispnew.c:
2089 * dispextern.h:
2090 * config.in:
2091 * atimer.c:
2092 * Makefile.in: Remove code for Carbon
2093
2094 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2095
2096 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
2097
2098 2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2099
2100 * macterm.h (kCGBitmapByteOrder32Host): New define for
2101 non-universal SDKs.
2102
2103 * image.c (mac_create_cg_image_from_image, image_load_image_io)
2104 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2105
2106 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
2107 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
2108
2109 2008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
2110
2111 * w32inevt.c: Include dispextern.h.
2112
2113 2008-07-26 Andreas Schwab <schwab@suse.de>
2114
2115 * print.c (print_object): Fix off-by-one in last change.
2116
2117 2008-07-25 Juanma Barranquero <lekktu@gmail.com>
2118
2119 * term.c (syms_of_term): Don't initialize default_orig_pair,
2120 default_set_foreground and default_set_background on Windows.
2121
2122 2008-07-25 Jason Rumney <jasonr@gnu.org>
2123
2124 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
2125 ScriptItemize. Clean up return value checking. Remove unused
2126 variables.
2127 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
2128 shaping engine.
2129
2130 * w32font.c (w32font_has_char): Handle the case where we can't
2131 determine the script for a character.
2132
2133 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
2134
2135 * term.c (syms_of_term): Initialize default_orig_pair,
2136 default_set_foreground, and default_set_background.
2137
2138 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2139 clash (bug#86).
2140 (getloadavg): Callers changed.
2141
2142 * image.c (svg_load_image): Fix last change.
2143 (svg_load_image): Use rsvg_handle_get_dimensions to check that
2144 image size is valid. Use g_object_unref instead of deprecated
2145 rsvg_handle_free to free rsvg handle.
2146 (x_from_xcolors): Don't initialize pixmap (silence compiler).
2147
2148 2008-07-25 Jason Rumney <jasonr@gnu.org>
2149
2150 * w32font.c (w32font_encode_char): Encode characters outside BMP as
2151 surrogates before looking up glyph index.
2152 (w32font_text_extents): Encode as surrogates if falling back to
2153 functions that need UTF-16 wide chars.
2154
2155 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
2156 BMP as surrogates before looking up glyph index.
2157
2158 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
2159
2160 * image.c (svg_load_image): Check for failure in return value of
2161 rsvg_handle_get_pixbuf. Free rsvg handle when done.
2162
2163 2008-07-25 Jason Rumney <jasonr@gnu.org>
2164
2165 * w32font.c (Fx_select_font): Reverse sense of second arg.
2166
2167 2008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
2168
2169 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
2170 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
2171
2172 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
2173 (PURESIZE): Use it.
2174
2175 2008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
2176
2177 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
2178 * m/alpha.h (TEXT_END):
2179 * m/ibmrs6000.h (TEXT_END):
2180 * m/macppc.h (TEXT_END):
2181 * s/darwin.h (TEXT_END):
2182 * s/msdos.h (TEXT_END): Remove, unused.
2183 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
2184 * s/cygwin.h: Remove comment.
2185
2186 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
2187 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
2188 * m/intel386.h (DOT_GLOBAL_START):
2189 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
2190 (USG): Remove, file not used on USG platforms.
2191
2192 * Makefile.in (HAVE_X11): Remove empty #else.
2193
2194 2008-07-24 Andreas Schwab <schwab@suse.de>
2195
2196 * fileio.c (Finsert_file_contents): Properly adjust undo list
2197 after format conversion.
2198
2199 2008-07-24 Jan Djärv <jan.h.d@swipnet.se>
2200
2201 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
2202 (menu_nav_ended): Remove.
2203 (create_menus): Remove signal connect for menu_nav_ended.
2204 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
2205 create_menus.
2206 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
2207
2208 2008-07-23 Jason Rumney <jasonr@gnu.org>
2209
2210 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
2211 with opened font.
2212 (w32font_open): Set font type to gdi.
2213
2214 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
2215
2216 2008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
2217
2218 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
2219 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
2220 defines it.
2221 * unexec.c (ADDR_CORRECT): Define unconditionally.
2222
2223 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
2224
2225 * unexec.c: Remove code depending on !COFF and USG, the file is
2226 not used for such systems.
2227
2228 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
2229 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
2230 (LD_SWITCH_SYSTEM_1): Remove, update users.
2231
2232 * s/darwin.h (DATA_END):
2233 * m/intel386.h (DATA_END):
2234 * m/ibmrs6000.h (DATA_END):
2235 * m/alpha.h (DATA_END): Remove, unused.
2236
2237 * config.in: Regenerate.
2238 * s/ms-w32.h (subprocesses): Define unconditionally.
2239 * s/template.h (subprocesses): Update comment.
2240 * s/vms.h (subprocesses):
2241 * s/usg5-4.h (subprocesses):
2242 * s/hpux10-20.h (subprocesses):
2243 * s/gnu-linux.h (subprocesses):
2244 * s/cygwin.h (subprocesses):
2245 * s/bsd-common.h (subprocesses):
2246 * s/aix4-2.h (subprocesses):
2247 * s/darwin.h (subprocesses): Do not define, defined by default now.
2248
2249 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
2250 Remove all references.
2251 (temacs): Add GNUstep specific ld flags.
2252
2253 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
2254 similarly to what X does.
2255
2256 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2257
2258 * nsfns.m (x-list-fonts): Remove.
2259 (syms_of_nsfns): Drop the x-list-fonts declaration.
2260 * nsterm.m: Get rid of remaining "//" comments.
2261
2262 2008-07-22 Chong Yidong <cyd@stupidchicken.com>
2263
2264 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
2265
2266 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
2267 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
2268 (Fns_own_selection_internal, Fx_disown_selection_internal)
2269 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
2270
2271 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
2272 ... */' style of docstrings. Doc fixes.
2273
2274 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2275
2276 * terminfo.c (UP, BC, PC): Undo previous change.
2277
2278 * nsfns.m: Rename ns prefixed functions/variables to the
2279 corresponding x versions. Update references.
2280
2281 2008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
2282
2283 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
2284
2285 2008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
2286
2287 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
2288 Remove forwarding functions.
2289 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
2290 non-static.
2291 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
2292 non-static.
2293 (ns_frame_parm_handlers): Use the new names.
2294 (syms_of_nsfns): Move to the end of file.
2295
2296 * nsterm.m (syms_of_nsterm): Move to the end of file.
2297
2298 * dispnew.c (init_display): Remove code for X10.
2299
2300 2008-07-22 Jason Rumney <jasonr@gnu.org>
2301
2302 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
2303 bare drive.
2304
2305 2008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2306
2307 * nsterm.m (syms_of_nsterm): Remove debugging println.
2308
2309 2008-07-22 David Reitter <david.reitter@gmail.com>
2310
2311 * nsfns.m (do_applescript, F_do_applescript): NS version of the
2312 Carbon implementation of the same functionality: execute arbitrary
2313 AppleScript code.
2314
2315 2008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2316
2317 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
2318 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
2319 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
2320 (Fx_display_mm_height, Fx_display_mm_width)
2321 (Fx_display_backing_store, Fx_display_visual_class)
2322 (Fx_display_save_under, Fx_open_connection)
2323 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
2324 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
2325 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2326 (Fx_display_pixel_width, Fx_display_pixel_height)
2327 (Fx_display_usable_bounds, Fx_display_planes)
2328 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
2329 ... */' style of docstrings.
2330
2331 2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
2332
2333 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
2334 on this platform.
2335 (mips):
2336 * m/iris4d.h (mips): Do not define.
2337 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
2338
2339 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
2340
2341 * image.c:
2342 * nsfns.m:
2343 * nsselect.m:
2344 * nsterm.h:
2345 * nsterm.m: Rename ns prefixed functions/variables to the
2346 corresponding x versions. Update references.
2347
2348 * m/ibms390x.h (NO_REMAP): Do not undefine.
2349
2350 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
2351
2352 2008-07-21 Chong Yidong <cyd@stupidchicken.com>
2353
2354 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
2355 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
2356 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
2357 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
2358 (Fns_display_mm_height, Fns_display_mm_width)
2359 (Fns_display_backing_store, Fns_display_visual_class)
2360 (Fns_display_save_under, Fns_open_connection)
2361 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
2362 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
2363 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
2364 (Fns_display_pixel_width, Fns_display_pixel_height)
2365 (Fns_display_usable_bounds, Fx_display_planes)
2366 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
2367
2368 2008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
2369
2370 * print.c (print_object): Check print_depth before searching for
2371 circularities.
2372
2373 2008-07-21 Michael Albinus <michael.albinus@gmx.de>
2374
2375 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
2376 only sprintf.
2377
2378 2008-07-21 Kenichi Handa <handa@m17n.org>
2379
2380 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
2381
2382 2008-07-20 Andreas Schwab <schwab@suse.de>
2383
2384 * syntax.c (find_start_pos, find_start_value)
2385 (find_start_value_byte, find_start_begv, find_defun_start)
2386 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
2387
2388 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2389
2390 * s/sol2-3.h: Insert contents of s/sol2.h.
2391 (LD_SWITCH_SYSTEM): Remove redundant definition.
2392 * s/sol2.h: Remove, unused.
2393
2394 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2395
2396 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
2397
2398 2008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2399
2400 * Makefile.in (ns_appdir): Fix typo in find command.
2401
2402 2008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
2403
2404 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
2405
2406 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
2407 added not supported anymore.
2408
2409 * s/usg5-4-2.h (LIBS_SYSTEM):
2410 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
2411
2412 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2413 * s/lynxos.h (GETPGRP_NO_ARG):
2414 * s/hpux10-20.h (NO_SIOCTL_H):
2415 * s/gnu.h (GETPGRP_NO_ARG):
2416 * s/gnu-linux.h (NO_SIOCTL_H):
2417 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
2418 * s/cygwin.h (GETPGRP_NO_ARG):
2419 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
2420 (C_DEBUG_SWITCH): Remove duplicate definition.
2421
2422 * m/ibms390.h: Remove boilerplate comments.
2423
2424 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
2425
2426 * process.c (HAVE_SERIAL): Consolidate ifdefs.
2427 (wait_reading_process_output): Remove code for SunOS, platform not
2428 supported anymore. Use SOLARIS2 instead of sun.
2429
2430 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2431
2432 * font.c (font_open_by_name): Under NS, default lface height to zero.
2433 (font_open_for_lface): Under NS, set size based on frame fontsize.
2434 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
2435 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
2436
2437 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2438
2439 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
2440 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
2441 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
2442 YES/NO.
2443 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
2444 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
2445 * Makefile.in (clean): Clear out build destination dir.
2446
2447 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2448
2449 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
2450 xterm, xselect.
2451 * lisp.h: Remove declaration of hash_remove.
2452 * nsgui.h: Remove redefinitions of hash_remove.
2453 * fns.c (hash_remove): Rename to hash_remove_from_table.
2454
2455 2008-07-19 Seiji Zenitani <zenitani@mac.com>
2456
2457 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
2458 strdup() the family UTF8String before modifying it.
2459
2460 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2461
2462 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
2463 NS_FACE_BACKGROUND with 0 instead of nil.
2464 * nsfont.m (nsfont_draw): Same.
2465
2466 2008-07-19 Chong Yidong <cyd@stupidchicken.com>
2467
2468 * nsfns.m (ns_set_background_color): Fix crash.
2469
2470 2008-07-18 Chong Yidong <cyd@stupidchicken.com>
2471
2472 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
2473
2474 2008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
2475
2476 * puresize.h (BASE_PURESIZE): Increase to 1240000.
2477
2478 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2479
2480 * gtkutil.c: Include <config.h> instead of "config.h".
2481
2482 * lisp.h (Foverlay_buffer): Add EXFUN.
2483
2484 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
2485 child process to complete child_setup. Undo 2005-09-21 change.
2486
2487 * s/darwin.h: Mention setsid after vfork.
2488
2489 2008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2490
2491 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2492 Depend on macgui.h.
2493
2494 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2495 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2496
2497 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2498 and f19.
2499 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2500
2501 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2502 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2503 Remove enumerators.
2504
2505 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2506 Check if FACE_FROM_ID returns NULL.
2507
2508 2008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2509
2510 * w32inevt.c (change_frame_size): Remove extern declaration.
2511 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2512 change_frame_size.
2513
2514 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2515
2516 * getloadavg.c: Revert last change (2008-07-15).
2517
2518 2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2519
2520 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2521 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2522 from configure.
2523
2524 2008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2525
2526 * s/sol2.h:
2527 * s/sol2-4.h: Reorganize conditionals.
2528
2529 * ecrt0.c: Remove code depending on m68000, not used anymore.
2530
2531 * fns.c (hash_remove): Make static.
2532 * lisp.h (hash_remove): Don't prototype.
2533
2534 * m/ibmrs6000.h:
2535 * m/ibms390x.h:
2536 * m/macppc.h: Remove boilerplate comments.
2537
2538 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2539 Solaris, which does not need them.
2540
2541 * m/vax.h: Remove comments about unsupported systems.
2542
2543 * s/darwin.h: Reorganize ifdefs.
2544
2545 2008-07-17 Andreas Schwab <schwab@suse.de>
2546
2547 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2548
2549 2008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2550
2551 Use SDATA. Follow coding convention of placing operators at
2552 beginning of next line rather than end of previous line, and placing
2553 spaces around infix operators.
2554
2555 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2556 in case it was defined already.
2557 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2558 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2559 ns_default.
2560 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2561 Lisp_Objects.
2562 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2563 (ns_defined_color, ns_color_to_lisp): Declare.
2564 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2565 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2566 it's accepted even with USE_LISP_UNION_TYPE.
2567 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2568 (update_frame_tool_bar): Remove apparently obsolete tests for
2569 non-integerness of f->tool_bar_lines.
2570 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2571 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2572 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2573 (nsfont_open): Don't confuse NULL for Qnil.
2574 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2575 * menu.h (find_and_call_menu_selection):
2576 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2577 (find_and_return_menu_selection): Always return something.
2578 * frame.h: Include dispextern.h for Display_Info.
2579 (display_x_get_resource): Declare.
2580
2581 2008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
2582
2583 * syntax.c: Remove stdio.h include accidentally introduced in
2584 Emacs.app commit.
2585 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2586 NS_IMPL_COCOA.
2587 * keyboard.c (handle_async_input, input_available_signal): Remove
2588 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2589
2590 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2591
2592 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2593 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2594 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2595 Use SDATA.
2596
2597 * keymap.c: Remove all NS-specific code.
2598 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2599 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2600 where_is_preferred_modifier, return a different value depending on how
2601 preferred is the binding.
2602 (where_is_internal): Adjust accordingly.
2603 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2604 Adjust to new preferred_sequence_p.
2605 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2606 * keyboard.c (parse_solitary_modifier): Not static any more.
2607 * keyboard.h (parse_solitary_modifier): Declare.
2608
2609 2008-07-16 Andreas Schwab <schwab@suse.de>
2610
2611 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2612 of easymenu.
2613
2614 2008-07-16 Chong Yidong <cyd@stupidchicken.com>
2615
2616 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2617 that we don't move off the line.
2618
2619 2008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2620
2621 * keyboard.c (Qsuper): Remove.
2622 (parse_menu_item): Don't call where_is_internal specially for NS.
2623
2624 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2625
2626 * s/gnu-linux.h: Remove boilerplate comments.
2627
2628 * m/alpha.h (__ELF__): Consolidate conditions.
2629
2630 * m/m68k.h (linux): Use GNU_LINUX instead.
2631 Remove boilerplate comments.
2632
2633 * m/intel386.h: Undo refactoring from previous change.
2634 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2635 too, remove dead code.
2636 (linux): Use GNU_LINUX instead.
2637
2638 2008-07-16 Jason Rumney <jasonr@gnu.org>
2639
2640 * w32gui.h: Repeat 26 June changes lost by last change.
2641
2642 2008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2643
2644 * systty.h: Remove code for Aix on 386, unsupported platform.
2645
2646 * s/ms-w32.h: Remove boilerplate comments.
2647 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2648
2649 * s/gnu-linux.h (TERM): Remove support.
2650 (HAVE_SYSVIPC): Remove, unused.
2651 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2652 for this system.
2653
2654 * process.c: Remove support for IRIS, unused.
2655 Remove support for TERM, not relevant anymore.
2656
2657 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2658 used with the definition.
2659
2660 * s/aix4-2.h (static): Do not undef.
2661
2662 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2663 only used on Aix.
2664 (HAVE_SYSVIPC): Remove, unused.
2665
2666 * m/hp800.h (CANNOT_DUMP): Do not undef.
2667
2668 * m/alpha.h: Fix comment.
2669
2670 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2671 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2672 used by this configuration.
2673 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2674 * unexec.c: Remove code depending on HPUX and
2675 USG_SHARED_LIBRARIES, not used with this file. Remove code
2676 depending on IRIS, unused. Remove if 0-ed code.
2677
2678 * s/template.h: Remove comments about static.
2679
2680 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2681 Remove if 0-ed code.
2682 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2683 were the same as the default.
2684 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2685 Remove boilerplate comments.
2686 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2687 (HAVE_SYSVIPC): Remove, unused.
2688 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2689
2690 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2691 Remove boilerplate comments.
2692 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2693 Remove boilerplate comments.
2694 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2695 Remove boilerplate comments.
2696 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2697
2698 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2699 USG systems which do not use DATA_SEG_BITS.
2700 Refactor code. Remove boilerplate comments.
2701
2702 * m/ibms390.h:
2703 * m/m68k.h:
2704 * s/bsd-common.h:
2705 * s/cygwin.h:
2706 * s/darwin.h:
2707 * s/freebsd.h:
2708 * s/gnu.h:
2709 * s/msdos.h: Remove boilerplate comments.
2710
2711 * m/iris4d.h: Remove boilerplate comments and code for systems that
2712 do not use this file.
2713 (IRIS_4D): Remove, unused.
2714
2715 * m/mips.h: Remove boilerplate comments and code for systems that
2716 do not use this file.
2717 (SIGN_EXTEND_CHAR):
2718 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2719 * unexmips.c: Remove file, unused.
2720
2721 * editfns.c (Fuser_full_name): Replace the only use of
2722 USER_FULL_NAME with its value.
2723 * config.in: Regenerate.
2724
2725 2008-07-16 David Reitter <david.reitter@gmail.com>
2726
2727 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2728 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
2729
2730 2008-07-16 Glenn Morris <rgm@gnu.org>
2731
2732 * emacs.c (system-type): Doc fix.
2733
2734 2008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2735
2736 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2737 If the cache doesn't work, let's fix it, rather than work around it.
2738
2739 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2740
2741 * Makefile.in: Correct additions for nsfont.o in last commit.
2742 * nsfont.m: New file (forgot last commit).
2743
2744 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2745
2746 * callproc.c (set_initial_environment): Initialize
2747 Vprocess_environment under CANNOT_DUMP (fixes crash when
2748 batch-compiling for bootstrap).
2749
2750 2008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2751 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2752
2753 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2754 fix crash due to different init order.
2755
2756 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2757
2758 Changes and additions for NeXTstep windowing system (Cocoa and
2759 GNUstep) support.
2760
2761 * Makefile.in:
2762 * config.in: Support defines and build commands for NS port.
2763 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2764 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
2765 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2766 windowing.
2767 (struct face): Add synth_ital field.
2768 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2769 (init_display): Initialize Vinitial_window_system to "ns" when so
2770 compiled.
2771 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2772 (display_arg): Use under NS.
2773 (main): Under NS, allocate autorelease pool and handle command line
2774 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2775 (standard_args): Add NS-specific args.
2776 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2777 * font.c (DEFAULT_ENCODING): New variable.
2778 (font_find_for_lface): Use it.
2779 (syms_of_font): Load syms_of_nsfont under NS.
2780 * font.h: Declare nsfont_driver when compiled under NS.
2781 * fontset.c: When compiling under NS, include nsterm.h.
2782 (fontset_from_font): Autoconstruct fontset under NS.
2783 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2784 symbol, document and use it.
2785 (do_switch_frame): When for_deletion under Cocoa, add
2786 Fraise_frame(Qnil).
2787 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2788 (x_get_arg): Allow "yes" and "no" as boolean values.
2789 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2790 Qright under Cocoa.
2791 (focus-follows-mouse): Default to 0 under NS.
2792 * frame.h (enum output_method): Add output_ns.
2793 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2794 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2795 (FRAME_WINDOW_P): NS-specific definition.
2796 * fringe.c (max_used_fringe_bitmap): Make public.
2797 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2798 (getloadavg): Use NeXT code under descendant OS's.
2799 * image.c (includes and header section, x_create_bitmap_from_data)
2800 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2801 (image_background_transparent, x_clear_image_1)
2802 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2803 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2804 (x_to_xcolors, x_from_xcolors, x_disable_image)
2805 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2806 other GUIs, including XPM support using code originally written for
2807 Carbon GUI.
2808 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
2809 using NS API.
2810 (image_ascent): Use font metrics macros instead of direct struct field
2811 access.
2812 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2813 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2814 Also, handle NS as GTK for menu bar purposes.
2815 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2816 toolkit where they differ.
2817 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2818 use cachelist, still needed under NS.
2819 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
2820 (struct widget_value): Define it here for menu.c.
2821 * keymap.c (includes): Include modifier internals.
2822 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2823 NS.
2824 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2825 support for preferring sequences using certain modifiers, specified by
2826 the FIRSTONLY argument.
2827 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2828 under NS GNUstep implementation.
2829 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2830 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2831 * menu.c: Include nsterm.h under NS.
2832 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2833 (free_menubar_widget_tree_value, update_submenu_strings)
2834 (find_and_call_menu_selection): Treat NS as X and NT.
2835 (find_and_return_menu_selection): New function, used for popup menus.
2836 * nsgui.h:
2837 * nsterm.h:
2838 * nsfns.m:
2839 * nsimage.m:
2840 * nsmenu.m:
2841 * nsselect.m:
2842 * nsterm.m: New files.
2843 * process.c (wait_reading_process_output): Under NS, call ns_select()
2844 instead of plain select().
2845 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2846 beginning of buffer.
2847 * sysselect.h (init_process): Rename when compiling under Cocoa to
2848 avoid name conflict.
2849 * termhooks.h (display_info): Add ns_display_info to union.
2850 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2851 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2852 COCOA environment.
2853 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2854 unexec() signature. (Note, this will dump, but the resulting file
2855 crashes; unexosx is used instead; keeping around for reference and
2856 possible aid in getting dump working under GNUstep.)
2857 * w32gui.h (button_type, widget_value): Remove definitions (now in
2858 keyboard.h).
2859 * window.c: Include nsterm.h when compiling under NS.
2860 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2861 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2862 other GUI windowing systems.
2863 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2864 GTK.
2865 (x_consider_frame_title): Under NS, set icon type and frame
2866 modified-state indicator; use ns_set_name_as_filename() when using
2867 formatted title.
2868 (update_window_cursor): Make public when compiling under NS.
2869 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2870 (hourglass_atimer, Vhourglass_delay
2871 * xfaces.c (header section, init_frame_faces, clear_font_table)
2872 (defined_color, unload_color, x_face_list_fonts)
2873 (prepare_face_for_display): Add NS support parallel to other GUIs.
2874 Emulate GCs like other non-X GUIs.
2875 (split_font_name): Don't lowercase font name under NS.
2876 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2877 under NS.
2878 * s/darwin.h: Add support for compilation under NS.
2879
2880 2008-07-15 Jason Rumney <jasonr@gnu.org>
2881
2882 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2883 (w32_show_hourglass): Rename from show_hourglass.
2884 (w32_hide_hourglass): Rename from hide_hourglass.
2885 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2886 (Vhourglass_delay): Declare extern.
2887 (hourglass_started): Remove.
2888
2889 * xdisp.c (Vhourglass_delay): Remove static.
2890 (hourglass_started, start_hourglass, cancel_hourglass):
2891 Don't include these versions on WINDOWSNT.
2892
2893 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2894
2895 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
2896 variables (formerly in xfns.c).
2897 (show_hourglass, hide_hourglass): New prototypes (same).
2898 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2899 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
2900 in xfns.c).
2901 (syms_of_xdisp): Declare/initialize display-hourglass,
2902 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2903 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
2904 formerly in xfns.c.
2905 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2906 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2907 (start_hourglass, cancel_hourglass): Remove.
2908 (show_hourglass, hide_hourglass): Remove prototypes and static
2909 modifiers.
2910 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2911 hourglass_atimer, hourglass_shown_p declaration/initialization.
2912 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2913 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2914 (start_hourglass, cancel_hourglass): Remove.
2915 (show_hourglass, hide_hourglass): Remove prototypes and static
2916 modifiers.
2917 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2918 hourglass_atimer, hourglass_shown_p declaration/initialization.
2919 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2920 (DEFAULT_HOURGLASS_DELAY): Remove.
2921 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2922 hourglass_shown_p declaration/initialization.
2923
2924 2008-07-14 Jason Rumney <jasonr@gnu.org>
2925
2926 * w32fns.c (w32_get_arg): Remove wrapper function.
2927 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2928 directly.
2929 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
2930
2931 2008-07-14 Kenichi Handa <handa@m17n.org>
2932
2933 * xfont.c (xfont_open): Add workaround for X's bug.
2934
2935 2008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2936
2937 * fontset.c: Include <stdio.h> unconditionally.
2938
2939 2008-07-13 Michael Albinus <michael.albinus@gmx.de>
2940
2941 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2942 for filtering.
2943
2944 2008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2945
2946 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2947
2948 * m/macppc.h:
2949 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2950
2951 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
2952 (SPECIAL_EMACS_INT):
2953 * m/ia64.h (SPECIAL_EMACS_INT):
2954 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2955 * s/gnu.h (NLIST_STRUCT):
2956 * s/aix4-2.h (X11R5_INHIBIT_I18N):
2957 * s/gnu-linux.h (LINUX):
2958 * s/msdos.h (HAVE_FACES):
2959 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2960
2961 * systty.h:
2962 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2963 anymore.
2964
2965 2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2966
2967 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2968 always defined as int.
2969
2970 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2971 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2972 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2973 * s/freebsd.h (HAVE_WAIT_HEADER):
2974 * s/bsd-common.h (HAVE_UNION_WAIT):
2975 * s/aix4-2.h (HAVE_WAIT_HEADER):
2976 * m/mips.h (HAVE_UNION_WAIT):
2977 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2978 (COFF, static): Do not define, they are undefined later in the file.
2979
2980 * process.c (update_status): Don't use a union.
2981 (status_convert):
2982 (sigchld_handler): Use int instead of WAITTYPE.
2983
2984 2008-07-12 Chong Yidong <cyd@stupidchicken.com>
2985
2986 * indent.c (Fvertical_motion): Restore hscroll before moving to
2987 goal column.
2988
2989 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2990
2991 * lisp.h: Remove left over code.
2992
2993 2008-07-11 Andreas Schwab <schwab@suse.de>
2994
2995 * lisp.h: Fix logic in last change.
2996
2997 * menu.h: New file.
2998 * menu.c: Include it.
2999 * xmenu.c: Likewise.
3000 * Makefile.in: Update dependencies.
3001
3002 2008-07-11 Kenichi Handa <handa@m17n.org>
3003
3004 * fontset.c (fontset_from_font): Cancel the previous change.
3005
3006 2008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3007
3008 * lisp.h:
3009 * w32heap.c:
3010 * emacs.c:
3011 * alloc.c: Replace all references of NO_UNION_TYPE with
3012 USE_LISP_UNION_TYPE.
3013
3014 * m/xtensa.h (NO_UNION_TYPE):
3015 * m/vax.h (NO_UNION_TYPE):
3016 * m/template.h (NO_UNION_TYPE):
3017 * m/sparc.h (NO_UNION_TYPE):
3018 * m/mips.h (NO_UNION_TYPE):
3019 * m/macppc.h (NO_UNION_TYPE):
3020 * m/m68k.h (NO_UNION_TYPE):
3021 * m/iris4d.h (NO_UNION_TYPE):
3022 * m/intel386.h (NO_UNION_TYPE):
3023 * m/ibms390x.h (NO_UNION_TYPE):
3024 * m/ibms390.h (NO_UNION_TYPE):
3025 * m/ibmrs6000.h (NO_UNION_TYPE):
3026 * m/ia64.h (NO_UNION_TYPE):
3027 * m/hp800.h (NO_UNION_TYPE):
3028 * m/arm.h (NO_UNION_TYPE):
3029 * m/amdx86-64.h (NO_UNION_TYPE):
3030 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
3031 defining it the same.
3032
3033 2008-07-10 Chong Yidong <cyd@stupidchicken.com>
3034
3035 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
3036
3037 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3038
3039 * fileio.c:
3040 * sysdep.c
3041 * systty.h:
3042 * m/ibmrs6000.h:
3043 * m/iris4d.h:
3044 * s/aix4-2.h:
3045 * s/freebsd.h:
3046 * s/gnu-linux.h:
3047 * s/hpux10-20.h:
3048 * s/hpux11.h:
3049 * s/netbsd.h:
3050 * s/sol2-3.h:
3051 * s/sol2-4.h:
3052 * s/sol2.h:
3053 * s/usg5-4.h:
3054 * s/vms.h: Remove references to unused variables.
3055
3056 2008-07-10 Andreas Schwab <schwab@suse.de>
3057
3058 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
3059 pattern before matching the generic family.
3060
3061 2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
3062
3063 * unexec.c:
3064 * s/vms.h:
3065 * s/usg5-4-2.h:
3066 * s/sol2-5.h:
3067 * s/freebsd.h:
3068 * s/darwin.h: Remove dead code.
3069
3070 * m/template.h:
3071 * m/sparc.h:
3072 * m/mips.h:
3073 * m/m68k.h:
3074 * m/iris4d.h:
3075 * m/intel386.h:
3076 * m/ibms390x.h:
3077 * m/ibms390.h:
3078 * m/ia64.h:
3079 * m/hp800.h:
3080 * m/arm.h:
3081 * m/amdx86-64.h: Remove dead code and references to unused
3082 and compiler defined symbols.
3083
3084 * unexmips.c:
3085 * unexelf.c: Remove references to desupported systems.
3086
3087 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
3088
3089 * m/powermac.h: Remove boilerplate comments.
3090 (NO_REMAP): Remove unused definition.
3091
3092 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
3093 define them.
3094
3095 2008-07-10 Kenichi Handa <handa@m17n.org>
3096
3097 * xfont.c (xfont_open): Log the reason of failure.
3098
3099 2008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
3100
3101 * fontset.c (fontset_get_font_group):
3102 * font.c (font_check_otf): Specify argument types.
3103
3104 2008-07-09 Kenichi Handa <handa@m17n.org>
3105
3106 * coding.c (detect_coding_utf_8): Set detect_info->found only when
3107 non-ASCII char is found.
3108
3109 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
3110 (reorder_font_vector): Change the arg preferred_family to font.
3111 Prefer the spec matching with font.
3112 (fontset_get_font_group): New function.
3113 (fontset_find_font): Change the format of an element of a realized
3114 fontset. Use fontset_get_font_group.
3115 (fontset_font): Try the current fontset, the default fontset, the
3116 fallbacks of the current fontset, and the fallbacks of the default
3117 fontset in this order.
3118 (face_for_char): Delete the shortcut to use the current font.
3119 (fontset_from_font): Don't set fonts for Latin in the fontset.
3120
3121 * font.h (font_make_object, font_match_p): Adjust prototypes.
3122
3123 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
3124
3125 * font.c (font_make_object): New arg entity and pixelsize.
3126 (font_check_otf_features, font_check_otf): New functions.
3127 (font_match_p): Check :lang, :script, and :otf properties.
3128
3129 * xfont.c (xfont_open): Adjust it for the change of
3130 font_make_object.
3131 (xfont_text_extents): Fix initial setting of metrics.
3132
3133 * ftfont.c (struct ftfont_info): New member index, delete member
3134 fc_charset_idx. Make the member order compatible with struct
3135 xftfont_info.
3136 (fc_charset_table): Change charset names to registry names.
3137 (ftfont_pattern_entity): Delete the args registry and
3138 fc_charset_idx. Change the value of :font-entity property
3139 to (FONTNAME . INDEX). Always set :registry property to
3140 `iso10646-1'.
3141 (struct ftfont_cache_data): New struct.
3142 (ftfont_lookup_cache): New arg for_face.
3143 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
3144 (ftfont_driver): Set the member otf_capability.
3145 (ftfont_get_charset): Adjust it for the change of
3146 fc_charset_table.
3147 (OTF_TAG_SYM): New macro.
3148 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
3149 for the change of fc_charset_table.
3150 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
3151 ftfont_pattern_entity. Add FC_INDEX to objset.
3152 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
3153 and ftfont_pattern_entity.
3154 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
3155 font_make_object, struct ftfont_info.
3156 (ftfont_has_char): Use ftfont_get_fc_charset.
3157 (ftfont_otf_features, ftfont_otf_capability): New functions.
3158 (ftfont_shape): Use ftfont_get_otf.
3159 (ftfont_text_extents): Fix initial setting of metrics.
3160
3161 * xftfont.c (struct xftfont_info): New member ft_size. Make the
3162 member order compatible with struct ftfont_info.
3163 (xftfont_open): Add FC_CHARSET to the pattern. Set
3164 xftfont_info->ft_size. Don't unlock the face. Check BDF
3165 properties if appropriate.
3166 (xftfont_close): Unlock the face.
3167 (xftfont_anchor_point, xftfont_shape): Deleted.
3168 (syms_of_xftfont): Don't set members anchor_point and shape of
3169 xftfont_driver.
3170
3171 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
3172 font_make_object.
3173
3174 * w32font.c (w32font_open): Adjust it for the change of
3175 font_make_object.
3176 (w32font_open_internal): Don't set properties of font_object here.
3177
3178 2008-07-08 Chong Yidong <cyd@stupidchicken.com>
3179
3180 * macfns.c (x_create_tip_frame):
3181 * w32fns.c (x_create_tip_frame):
3182 * xfns.c (x_create_tip_frame): Pass parameter argument to
3183 face-set-after-frame-default.
3184
3185 * xfaces.c (Finternal_merge_in_global_face): Save merged
3186 attributes for the default face back into the face vector.
3187
3188 2008-07-08 Andreas Schwab <schwab@suse.de>
3189
3190 * fontset.h: Declare fontset_from_font. Don't declare
3191 new_fontset_from_font and fontset_from_font_name.
3192 * xterm.c: Include "fontset.h".
3193 * Makefile.in (xterm.o): Update dependencies.
3194
3195 2008-07-08 Glenn Morris <rgm@gnu.org>
3196
3197 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
3198 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
3199
3200 2008-07-07 Chong Yidong <cyd@stupidchicken.com>
3201
3202 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
3203 (x_set_frame_parameters): Don't bind it.
3204
3205 2008-07-07 Juanma Barranquero <lekktu@gmail.com>
3206
3207 * w32fns.c (map_w32_filename): Declare extern.
3208
3209 2008-07-07 Jason Rumney <jasonr@gnu.org>
3210
3211 * w32term.c (WS_EX_LAYERED): Define if not already.
3212
3213 2008-07-06 Chong Yidong <cyd@stupidchicken.com>
3214
3215 * xfaces.c (set_font_frame_param): Don't try to set the font
3216 parameter if it is still unspecified in the lface.
3217
3218 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
3219
3220 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
3221 face if it didn't already exist.
3222
3223 * xdisp.c (try_window_id): Give up if word-wrapping is on.
3224
3225 2008-07-05 Andreas Schwab <schwab@suse.de>
3226
3227 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
3228
3229 2008-07-05 Chong Yidong <cyd@stupidchicken.com>
3230
3231 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
3232 word-wrapping.
3233 (IT_DISPLAYING_WHITESPACE): New macro.
3234 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
3235 when word-wrapping. Simplify word-wrapping logic. Use correct
3236 pixel positions when saving copies of the iterator.
3237 (display_line): Use proper wrap point if the last character on a
3238 line was preceded by whitespace.
3239
3240 2008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
3241
3242 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
3243
3244 2008-07-04 Kenichi Handa <handa@m17n.org>
3245
3246 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
3247
3248 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
3249
3250 2008-07-02 Jason Rumney <jasonr@gnu.org>
3251
3252 * xfns.c (syms_of_xfns): Only define x-select-font when both
3253 HAVE_FREETYPE and USE_GTK
3254
3255 * xdisp.c (next_element_from_display_vector): Move assignment out
3256 of if statement.
3257
3258 2008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
3259
3260 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
3261
3262 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
3263 (syms_of_fileio): Initialize and export them.
3264 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
3265
3266 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
3267 (Fsystem_move_file_to_trash): New function.
3268 (syms_of_w32fns): Export it to lisp.
3269
3270 2008-07-01 Jason Rumney <jasonr@gnu.org>
3271
3272 * w32font.c (w32font_text_extents): Don't count overhang as part
3273 of width.
3274
3275 2008-06-30 Miles Bader <miles@gnu.org>
3276
3277 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
3278 Add `avoid_cursor_p' field.
3279
3280 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
3281 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
3282 (append_glyph, append_composite_glyph, produce_image_glyph)
3283 (append_stretch_glyph): Initialize avoid_cursor_p.
3284 (get_it_property): Rename from `get_line_height_property'.
3285 (x_produce_glyphs): Use get_it_property.
3286 (handle_line_prefix, push_display_prop): New functions.
3287 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
3288 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
3289 New variables.
3290 (syms_of_xdisp): Initialize them.
3291
3292 2008-06-30 Kenichi Handa <handa@m17n.org>
3293
3294 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
3295 XftDefaultSubstitute (they are called in XftFontMatch).
3296 (xftfont_open): Fix args to ftfont_font_format.
3297
3298 * ftfont.c (fc_charset_table): New member lang.
3299 (ftfont_resolve_generic_family): New arg pattern.
3300 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
3301 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
3302 (ftfont_open): Fix args to ftfont_font_format.
3303 (ftfont_font_format): New arg filename.
3304
3305 2008-06-30 Chong Yidong <cyd@stupidchicken.com>
3306
3307 * xfaces.c (Finternal_merge_in_global_face): If default face was
3308 modified, realize it again. Update the font face attribute.
3309
3310 2008-06-29 Jason Rumney <jasonr@gnu.org>
3311
3312 * w32term.c (x_set_frame_alpha): Fix logic.
3313
3314 2008-06-29 Kenichi Handa <handa@m17n.org>
3315
3316 * fontset.c (Finternal_char_font): Return font-object instead of
3317 font-name.
3318
3319 * composite.c (get_composition_id): Fix the width calculation for TAB.
3320
3321 2008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
3322
3323 * indent.c (Fvertical_motion): Properly handle float column arg.
3324
3325 2008-06-28 Jason Rumney <jasonr@gnu.org>
3326
3327 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
3328 (pfnSetLayeredWindowAttributes): New function pointer.
3329 (w32_initialize): Initialize it when supported.
3330 (x_set_frame_alpha): New function.
3331
3332 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
3333 (w32_frame_parm_handlers): Set alpha handler.
3334
3335 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
3336
3337 2008-06-27 Jason Rumney <jasonr@gnu.org>
3338
3339 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
3340 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
3341 (w32_to_x_charset, x_to_w32_charset)
3342 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3343 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3344 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3345 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3346 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3347 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3348 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
3349 (Qw32_charset_unicode): Remove.
3350 (syms_of_w32fns): Update for above changes.
3351
3352 * w32font.c (w32_to_x_charset, x_to_w32_charset)
3353 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
3354 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
3355 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
3356 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
3357 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
3358 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
3359 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
3360 (syms_of_w32font): Update for above changes.
3361
3362 2008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
3363
3364 * s/usg5-4.h: Fix previous change: keep the correct branch of a
3365 removed #if.
3366 (USG_SHARED_LIBRARIES): Remove duplicate definition.
3367
3368 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
3369 Eli Zaretskii <eliz@gnu.org>
3370
3371 * makefile.w32-in (LOCAL_FLAGS):
3372 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
3373
3374 * sysdep.c (_spawnlp, _getpid):
3375 Declare with explicit _cdecl instead of _CRTAPI1.
3376
3377 * editfns.c (Fget_internal_run_time):
3378 Check for WINDOWSNT with #ifdef, not #if.
3379
3380 2008-06-26 Jason Rumney <jasonr@gnu.org>
3381
3382 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
3383
3384 * w32term.c (x_draw_glyph_string_foreground)
3385 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
3386 Use FONT_HANDLE macro.
3387 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
3388
3389 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3390 (uniscribe_encode_char): Use FONT_HANDLE macro.
3391
3392 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
3393 (w32font_text_extents): Use precast w32_font.
3394 (w32font_close): Free cached metrics.
3395 (w32font_open_internal): Allocate space for name on stack.
3396
3397 2008-06-26 Chong Yidong <cyd@stupidchicken.com>
3398
3399 * xdisp.c (extend_face_to_end_of_line): Fix last change.
3400
3401 2008-06-26 Jason Rumney <jasonr@gnu.org>
3402
3403 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
3404 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
3405
3406 2008-06-26 Juanma Barranquero <lekktu@gmail.com>
3407
3408 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
3409
3410 2008-06-26 Jason Rumney <jasonr@gnu.org>
3411
3412 * w32bdf.c, w32bdf.h: Remove obsolete files.
3413
3414 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
3415
3416 * w32gui.h: Don't include w32bdf.h.
3417 (XCharStruct, enum w32_char_font_type, W32FontStruct):
3418 Remove obsolete font support.
3419
3420 * w32font.h (struct w32font_info): Remove compat_w32_font.
3421 Add hfont member.
3422 (FONT_COMPAT): Remove obsolete macro.
3423
3424 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
3425 (w32font_encode_char, w32font_text_extents): Use new hfont member.
3426 (w32font_open_internal): Remove compat code. Set new hfont member.
3427 (Fx_select_font): Use new hfont member.
3428
3429 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
3430 (uniscribe_encode_char): Use new hfont member.
3431
3432 * w32term.c (x_draw_glyph_string_foreground)
3433 (x_draw_composite_glyph_string_foreground): Use new hfont member.
3434 (x_draw_glyph_string): Use metrics in w32font_info.
3435
3436 2008-06-26 Kenichi Handa <handa@m17n.org>
3437
3438 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
3439
3440 2008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
3441
3442 * unexnext.c:
3443 * m/ews4800.h:
3444 * m/hp9000s300.h:
3445 * m/ibm370aix.h:
3446 * m/mips-siemens.h:
3447 * m/ncr386.h:
3448 * m/next.h:
3449 * m/pmax.h:
3450 * m/powerpcle.h:
3451 * m/tandem-s2.h:
3452 * s/386bsd.h:
3453 * s/bsd386.h:
3454 * s/bsd4-1.h:
3455 * s/bsd4-2.h:
3456 * s/bsdos2-1.h:
3457 * s/bsdos2.h:
3458 * s/bsdos3.h:
3459 * s/bsdos4.h:
3460 * s/nextstep.h:
3461 * s/ultrix4-3.h:
3462 * s/usg5-0.h:
3463 * s/usg5-2-2.h:
3464 * s/usg5-2.h:
3465 * s/usg5-4-3.h:
3466 * s/ux4800.h:
3467 * s/uxpds.h:
3468 * s/uxpv.h: Remove support for obsolete systems.
3469 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
3470 Remove, insert contents in s/hpux-10.20.h.
3471 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
3472 Remove, insert contents in s/aix4-2.h.
3473 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
3474 * s/bsd4-3.h: Rename to ...
3475 * s/bsd-common.h: ... this.
3476 * data.c:
3477 * doc.c:
3478 * ecrt0.c:
3479 * emacs.c:
3480 * fileio.c:
3481 * floatfns.c:
3482 * keyboard.c:
3483 * mem-limits.h:
3484 * print.c:
3485 * process.c:
3486 * sysdep.c:
3487 * syssignal.h:
3488 * systty.h:
3489 * syswait.h:
3490 * term.c:
3491 * unexec.c:
3492 * unexelf.c:
3493 * unexhp9k800.c:
3494 * m/hp800.h:
3495 * m/ibmrs6000.h:
3496 * m/mips.h:
3497 * m/vax.h:
3498 * s/darwin.h:
3499 * s/freebsd.h:
3500 * s/gnu.h:
3501 * s/ms-w32.h:
3502 * s/msdos.h:
3503 * s/netbsd.h:
3504 * s/template.h: Remove references to obsolete variables.
3505
3506 * Makefile.in: Add dependencies for all unexec files.
3507 (admindir): Remove unused variable.
3508 (UNEXEC_SRC): Remove references.
3509
3510 2008-06-25 Chong Yidong <cyd@stupidchicken.com>
3511
3512 * xfns.c (x_default_font_parameter): If Xft is available, first
3513 try Monospace-12 for the default font.
3514
3515 2008-06-25 Jason Rumney <jasonr@gnu.org>
3516
3517 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
3518
3519 2008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3520
3521 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3522
3523 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3524
3525 2008-06-25 Juanma Barranquero <lekktu@gmail.com>
3526
3527 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3528 <scroll-conservatively>: Fix typo in docstring.
3529
3530 * xselect.c (Fx_send_client_event): Doc fix.
3531
3532 2008-06-25 Kenichi Handa <handa@m17n.org>
3533
3534 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3535
3536 * font.c (font_parse_fcname): Remove unused variables.
3537 (font_sort_entites): Delete the arg SPEC. Caller changed.
3538 Fix for the case of ! best_only.
3539 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3540
3541 * lisp.h (Fstring_to_unibyte): EXFUN it.
3542
3543 * character.h (str_to_unibyte): Extern it.
3544
3545 * character.c (str_to_unibyte): New function.
3546
3547 * fns.c (Fstring_to_unibyte): New function.
3548 (syms_of_fns): Defsubr it.
3549
3550 2008-06-24 Kenichi Handa <handa@m17n.org>
3551
3552 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3553 DPI too.
3554 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3555
3556 2008-06-24 Andreas Schwab <schwab@suse.de>
3557
3558 * Makefile.in (${lispsource}loaddefs.el): Rename from
3559 ../lisp/loaddefs.el.
3560 (bootstrap-clean): Do what distclean does but don't remove
3561 Makefile.
3562 (distclean): Depend on bootstrap-clean and remove Makefile.
3563
3564 2008-06-24 Chong Yidong <cyd@stupidchicken.com>
3565
3566 * buffer.h (struct buffer): New member word_wrap.
3567
3568 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3569 word-wrap.
3570 (init_buffer_once): Initialize them.
3571
3572 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3573 line_wrap enum possessing three possible values.
3574
3575 * termopts.h: Replace truncate_partial_width_windows with
3576 Vtruncate_partial_width_windows.
3577
3578 * dispnew.c (direct_output_for_insert): Avoid direct output when
3579 inserting a space with word wrap on.
3580
3581 * indent.c (compute_motion): Obey integer values of
3582 truncate-partial-width-windows.
3583
3584 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3585 replacing truncate_partial_width_windows.
3586 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3587 truncate only if the window width is below that integer.
3588 (start_display, resize_mini_window, produce_stretch_glyph)
3589 (display_string, move_it_in_display_line_to): Use line_wrap.
3590 (back_to_previous_visible_line_start, reseat_1): Reset
3591 string_from_display_prop_p.
3592 (display_line): Extend default face to end of line when wrapping.
3593
3594 2008-06-24 Kim F. Storm <storm@cua.dk>
3595
3596 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3597 to wrap continued lines at word boundaries.
3598
3599 2008-06-24 Jason Rumney <jasonr@gnu.org>
3600
3601 * font.c (Ffont_face_attributes): Multiply pixel size before point
3602 conversion to avoid multiplying rounding error.
3603
3604 2008-06-23 Jason Rumney <jasonr@gnu.org>
3605
3606 * w32term.c (x_draw_glyph_string_background)
3607 (x_draw_glyph_string): Remove old bdf font code.
3608
3609 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
3610
3611 2008-06-22 Kenichi Handa <handa@m17n.org>
3612
3613 * font.c (font_find_for_lface): Try the adstyle specified in
3614 the property of LFACE_FONT of LFACE (if any).
3615
3616 2008-06-21 Seiji Zenitani <zenitani@mac.com>
3617 Ryo Yoshitake <ryo@shiftmode.net>
3618
3619 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3620
3621 2008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3622
3623 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3624 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3625 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3626 (witness-emacs): Remove.
3627 (lisp, shortlisp): Move loaddefs.el earlier.
3628 (mostlyclean): Forget about witness-emacs.
3629
3630 2008-06-22 Glenn Morris <rgm@gnu.org>
3631
3632 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
3633 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
3634
3635 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3636
3637 * Makefile.in (PRECOMP): Remove.
3638 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3639 (witness-emacs): Run `compile-first'.
3640 (.el.elc): Use the new compile-onefile target.
3641
3642 2008-06-21 Kenichi Handa <handa@m17n.org>
3643
3644 * xftfont.c (xftfont_open): Handle QCembolden only when
3645 FC_EMBOLDEN is defined.
3646
3647 2008-06-21 Andreas Schwab <schwab@suse.de>
3648
3649 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
3650 (.el.elc): Likewise.
3651
3652 2008-06-21 Miles Bader <miles@gnu.org>
3653
3654 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3655 build dir, not the lisp source dir.
3656
3657 2008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3658
3659 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3660 (bootstrapclean): Remove.
3661 (.el.elc): New rule.
3662 (PRECOMP): New var.
3663 (../lisp/subdirs.el): Remove.
3664 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3665 (witness-emacs): New target.
3666 (mostlyclean): Remove witness-emacs as well.
3667 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3668 Add witness-emacs dependency.
3669
3670 2008-06-20 Chong Yidong <cyd@stupidchicken.com>
3671
3672 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3673 defined by the font.
3674
3675 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3676
3677 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3678 (bootstrap-clean): New target that keeps TAGS around.
3679 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3680 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3681
3682 2008-06-20 Jason Rumney <jasonr@gnu.org>
3683
3684 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3685 Remove obsolete font code.
3686
3687 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3688 to determine language support.
3689
3690 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3691
3692 * sysdep.c (cfsetspeed): New fun extracted from the code.
3693 (cfmakeraw): Move before first use.
3694
3695 2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3696
3697 * sysdep.c (cfmakeraw): Provide fallback implementation.
3698 (serial_configure): Provide fallback implementation of cfsetspeed.
3699
3700 2008-06-20 Kenichi Handa <handa@m17n.org>
3701
3702 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3703 the pattern.
3704
3705 * fontset.c (fontset_from_font): Copy font_spec before changing
3706 the elements.
3707
3708 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3709
3710 2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3711
3712 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
3713 for explicit `font' parameters.
3714
3715 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3716
3717 2008-06-19 Kenichi Handa <handa@m17n.org>
3718
3719 * frame.c: Include <ctype.h>.
3720 (x_set_font_backend): Allow spacing characters in the X resource
3721 for FontBackend.
3722
3723 2008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3724
3725 * w32fns.c, xfns.c (Qfont_param): New var.
3726 (syms_of_w32fns): Initialize it.
3727 (x_default_font_parameter): Record explicit `font' into
3728 `font-parameter'.
3729
3730 2008-06-18 Kenichi Handa <handa@m17n.org>
3731
3732 * font.c (font_parse_xlfd): Fix previous change.
3733 (font_parse_fcname): Don't use :fc-unknown-spec.
3734 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
3735 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3736 (font_add_log): Prepend the driver name to the resulting fonts.
3737
3738 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3739 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3740 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3741
3742 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3743 (QCembolden): New variables.
3744 (syms_of_xftfont): DEFSYM them.
3745 (xftfont_open): Call XftFontMatch. Don't trust the result of
3746 XftTextExtents8 if the pixel_size is less than 5.
3747
3748 2008-06-18 Andreas Schwab <schwab@suse.de>
3749
3750 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
3751 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3752
3753 2008-06-18 Jason Rumney <jasonr@gnu.org>
3754
3755 * w32font.c (w32font_list, w32font_match): Add logging.
3756
3757 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
3758
3759 2008-06-17 Chong Yidong <cyd@stupidchicken.com>
3760
3761 * font.c (font_parse_fcname): Store divider characters for
3762 unknown-spec list. For known key symbols, intern using correct
3763 symbol name.
3764
3765 2008-06-17 Kenichi Handa <handa@m17n.org>
3766
3767 * xfaces.c (realize_default_face): If the frame is not on window
3768 system, set the fontset of face to nil.
3769
3770 2008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3771
3772 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
3773
3774 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
3775
3776 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3777 (build_font_name_from_vector): Delete externs.
3778
3779 * xfaces.c (struct font_name): Don't declare.
3780
3781 2008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3782
3783 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3784
3785 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
3786
3787 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3788
3789 2008-06-16 Juanma Barranquero <lekktu@gmail.com>
3790
3791 * font.c (Ffont_spec): Fix usage in docstring.
3792 (Ffont_face_attributes): Doc fix.
3793
3794 2008-06-16 Andreas Schwab <schwab@suse.de>
3795
3796 * font.c (Ffont_face_attributes): Fix definition.
3797
3798 2008-06-16 Jason Rumney <jasonr@gnu.org>
3799
3800 * font.h (font_style_symbolic_from_value): Remove.
3801
3802 * font.c (font_style_symbolic_from_value): Remove.
3803 (font_style_symbolic): Revert to pre 2008-06-13 version.
3804
3805 * w32font.c (w32_to_fc_weight): New function.
3806 (w32font_full_name, logfont_to_fcname): Use it.
3807
3808 2008-06-16 Kenichi Handa <handa@m17n.org>
3809
3810 * font.c (font_check_object): Delete it.
3811 (font_clear_cache): Check if a font-object is alive.
3812 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3813 font-object to nil.
3814 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3815 (font_at): Don't call font_check_object.
3816 (Ffont_get): Return a symbol for :weight, :slant, and :width.
3817
3818 2008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3819
3820 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3821
3822 2008-06-16 Chong Yidong <cyd@stupidchicken.com>
3823
3824 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3825
3826 2008-06-15 Chong Yidong <cyd@stupidchicken.com>
3827
3828 * font.c (font_parse_fcname): Only one decimal point.
3829 (font_unparse_fcname): Handle data in family and foundry indices
3830 as symbols, not strings.
3831 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3832
3833 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
3834
3835 * font.h (font_unparse_gtkname): Add prototype.
3836
3837 2008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3838
3839 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
3840
3841 2008-06-15 Andreas Schwab <schwab@suse.de>
3842
3843 * font.c (font_update_drivers): Fix crash when no drivers match.
3844
3845 2008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3846
3847 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3848 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3849
3850 2008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3851
3852 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3853
3854 2008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3855
3856 * process.c (Fserial_process_configure, Fprocess_send_eof):
3857 Use EQ to compare Lisp_Objects.
3858
3859 2008-06-13 Jason Rumney <jasonr@gnu.org>
3860
3861 * w32fns.c (Fw32_select_font): Remove old font API function.
3862
3863 * w32font.c (logfont_to_fcname): New function.
3864 (Fx_select_font): New font dialog function compatible with
3865 GTK/fontconfig version.
3866
3867 * font.c (font_style_symbolic_from_value): New function.
3868 (font_style_symbolic): Use it.
3869
3870 * font.h (font_style_symbolic_from_value): Declare new function.
3871
3872 2008-06-13 Juanma Barranquero <lekktu@gmail.com>
3873
3874 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3875 <font-width-table>: Fix typos in docstrings.
3876
3877 2008-06-13 Daniel Engeler <engeler@gmail.com>
3878
3879 These changes add serial port access.
3880 * process.c: Add HAVE_SERIAL.
3881 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3882 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3883 (list_processes_1, select_wrapper, Fstop_process)
3884 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3885 (status_notify): Modify to handle serial processes.
3886 [HAVE_SERIAL] (Fserial_process_configure)
3887 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3888 New functions.
3889 * process.h (struct Lisp_Process): Add `type'.
3890 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3891 New functions.
3892 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3893 serial ports.
3894 (serial_open, serial_configure) New functions.
3895 * w32.h: Add FILE_SERIAL.
3896 (struct _child_process): Add ovl_read, ovl_write.
3897
3898 2008-06-13 Kenichi Handa <handa@m17n.org>
3899
3900 * dispextern.h (enum lface_attribute_index): New member
3901 LFACE_FOUNDRY_INDEX.
3902
3903 * font.c (font_score): Delete arg alternate_families. Check only
3904 weight, slant, width, and size. Ignore the difference of alias
3905 style symbols.
3906 (font_sort_entites): Adjust for the above change. Reflect the
3907 order of font-driver to scores.
3908 (font_list_entities): Don't check alternate_familes here.
3909 (font_clear_prop): Handle foundry.
3910 (font_update_lface): Don't parse "foundry-family" form here.
3911 Handle FONT_FOUNDRY_INDEX.
3912 (font_find_for_lface): Likewise. Handle alternate families here.
3913 If registry is nil, try iso8859-1 and ascii-0.
3914 (font_open_for_lface): Pay attention to size in ENTITY.
3915 (font_open_by_name): Simplify by calling font_load_for_lface.
3916 (free_font_driver_list): Delete it.
3917 (font_update_drivers): Preserve the order of backends.
3918 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3919 of font_score and font_sort_entites.
3920 (font_update_sort_order): Likewise.
3921
3922 * xfaces.c (LFACE_FOUNDRY): New macro.
3923 (check_lface_attrs): Check foundry.
3924 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
3925 (merge_face_vectors): Check foundry.
3926 (merge_face_ref): Likewise.
3927 (Finternal_set_lisp_face_attribute): Likewise.
3928 (x_update_menu_appearance): Likewise.
3929 (Finternal_get_lisp_face_attribute): Likewise.
3930 (lface_hash): Likewise.
3931 (lface_same_font_attributes_p): Likewise.
3932 (x_supports_face_attributes_p): Likewise.
3933 (tty_supports_face_attributes_p): Likewise.
3934 (Finternal_set_alternative_font_family_alist): Intern strings.
3935 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3936 (realize_default_face): Set LFACE_FOUNDRY (lface).
3937
3938 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3939 font-driver at first.
3940
3941 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3942
3943 2008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3944
3945 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3946
3947 2008-06-12 Jim Meyering <meyering@redhat.com>
3948
3949 Make unexec_free handle NULL the same way free does.
3950 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3951
3952 2008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3953
3954 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3955 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3956 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3957 (WEAK_ALIAS): Simplify.
3958 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3959 when searching a unibyte buffer.
3960
3961 2008-06-12 Chong Yidong <cyd@stupidchicken.com>
3962
3963 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3964
3965 2008-06-12 Juanma Barranquero <lekktu@gmail.com>
3966
3967 * w32font.c: Include ctype.h.
3968
3969 2008-06-11 Jason Rumney <jasonr@gnu.org>
3970
3971 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3972 misreported as space.
3973 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3974 as aliases for registry iso10646-1.
3975
3976 2008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3977
3978 * buffer.c (clone_per_buffer_values): Skip `name'.
3979
3980 2008-06-11 Chong Yidong <cyd@stupidchicken.com>
3981
3982 * font.c (font_parse_fcname): Fix last change; accept decimal
3983 points in font size.
3984
3985 2008-06-10 Jason Rumney <jasonr@gnu.org>
3986
3987 * w32uniscribe.c (add_opentype_font_name_to_list):
3988 Skip non unicode fonts.
3989
3990 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
3991
3992 * xfns.c (Fx_font_dialog): New function.
3993
3994 * gtkutil.c (xg_dialog_response_cb): Rename from
3995 xg_file_response_callback.
3996 (pop_down_dialog): Rename from pop_down_file_dialog.
3997 (xg_get_file_name): Callers changed.
3998 (xg_get_font_name): New function.
3999
4000 * gtkutil.h (xg_get_font_name): Insert prototype.
4001
4002 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4003
4004 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
4005 x_underline_minimum_display_offset.
4006 (syms_of_xdisp): Declare it here rather than in xterm.c.
4007 * dispextern.h (underline_minimum_offset): Declare it.
4008 * w32term.c (x_draw_glyph_string): Use it.
4009 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
4010 (syms_of_xterm): Don't declare it any more.
4011 (x_draw_glyph_string): Adjust to the new name.
4012
4013 2008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
4014
4015 * xterm.c (x_underline_minimum_display_offset): New var.
4016 (x_draw_glyph_string): Use it.
4017 (syms_of_xterm): Declare it.
4018
4019 2008-06-10 Chong Yidong <cyd@stupidchicken.com>
4020
4021 * font.c (font_parse_fcname): Accept GTK-style font names too.
4022
4023 2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
4024
4025 * dired.c (file_name_completion): Don't return t if the match is exact
4026 but with different capitalization.
4027 * minibuf.c (Ftry_completion): Simplify.
4028
4029 * window.c (Vwindow_point_insertion_type): New var.
4030 (set_window_buffer): Use it.
4031 (syms_of_window): Init and export it to Lisp.
4032
4033 2008-06-10 Kenichi Handa <handa@m17n.org>
4034
4035 * font.h (font_intern_prop): Prototype adjusted.
4036
4037 * font.c (font_intern_prop): New arg force_symbol.
4038 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
4039 Adjust for the change of font_intern_prop.
4040
4041 * ftfont.c (ftfont_pattern_entity):
4042 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
4043 (w32_registry):
4044 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
4045 the change of font_intern_prop.
4046
4047 2008-06-09 Juanma Barranquero <lekktu@gmail.com>
4048
4049 * w32menu.c (digest_single_submenu): Declare extern.
4050
4051 2008-06-09 Jason Rumney <jasonr@gnu.org>
4052
4053 * w32term.c (x_make_frame_visible): Use alternate restore flags.
4054
4055 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
4056 (parse_single_submenu): Remove.
4057 (digest_single_submenu): Remove.
4058 (syms_of_w32menu): Don't initialise variables that have moved
4059 to menu.c.
4060 (set_frame_menubar): Sync with version in xmenu.c.
4061 (w32_menu_show): Sync with xmenu_show in xmenu.c.
4062
4063 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
4064 Make static again.
4065
4066 2008-06-09 Jason Rumney <jasonr@gnu.org>
4067
4068 Changes to w32 files related to the move of common menu code
4069 to menu.c on 2008-06-08 by Chong Yidong.
4070
4071 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
4072 defs to w32gui.h.
4073 (single_keymap_panes, push_menu_item, push_menu_pane):
4074 Make globally visible.
4075
4076 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
4077 (local_free, malloc_widget_value, free_widget_value)
4078 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
4079 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
4080 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
4081 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
4082 (menu_items, menu_items_allocated, menu_items_used)
4083 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
4084 (init_menu_items, finish_menu_items, discard_menu_items)
4085 (grow_menu_items, push_submenu_start, push_submenu_end)
4086 (push_left_right_boundary, push_menu_pane, push_menu_item)
4087 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
4088 (free_menubar_widget_tree_value, parse_single_submenu)
4089 (update_submenu_strings): Remove functions.
4090 (xmalloc_widget_value): Remove and declare extern.
4091
4092 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
4093 (OBJ1): Build it.
4094
4095 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
4096 (local_heap, local_alloc, local_free, malloc_widget_value)
4097 (free_widget_value): Define here.
4098
4099 2008-06-09 Kenichi Handa <handa@m17n.org>
4100
4101 * font.h (Qascii_0): Extern it.
4102
4103 * font.c (Qascii_0): New variable.
4104 (syms_of_font): DEFSYM it.
4105 (font_open_by_name): If the registry "iso8859-1" fails, try also
4106 "ascii-0".
4107
4108 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
4109
4110 2008-06-08 Kenichi Handa <handa@m17n.org>
4111
4112 * .gdbinit (xfont): New command.
4113
4114 2008-06-08 Andreas Schwab <schwab@suse.de>
4115
4116 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
4117 * Makefile.in (menu.o): Update dependencies.
4118
4119 * Makefile.in (obj): Always add menu.o.
4120 * emacs.c (main): Always call syms_of_menu.
4121 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
4122
4123 2008-06-08 Chong Yidong <cyd@stupidchicken.com>
4124
4125 * Makefile.in: Compile menu.c.
4126
4127 * lisp.h: Declare syms_of_menu.
4128
4129 * emacs.c (main): Call syms_of_menu.
4130
4131 * keyboard.h: Relocate platform-independent menu definitions from
4132 xmenu.c.
4133
4134 * menu.c: New file. Relocate platform-independent menu
4135 definitions from xmenu.c. Suggested by Adrian Robert.
4136
4137 * xmenu.c: Remove platform-independent menu definitions.
4138 (menu_items menu_items_inuse, menu_items_allocated)
4139 (menu_items_used, menu_items_n_panes)
4140 (menu_items_submenu_depth): Move to keyboard.h.
4141 (init_menu_items, finish_menu_items, unuse_menu_items)
4142 (discard_menu_items, restore_menu_items, save_menu_items)
4143 (grow_menu_items, push_submenu_start, push_submenu_end)
4144 (push_left_right_boundary, push_menu_pane, push_menu_item)
4145 (keymap_panes, single_keymap_panes, single_menu_item)
4146 (list_of_panes, list_of_items, find_and_call_menu_selection)
4147 (xmalloc_widget_value, free_menubar_widget_value_tree)
4148 (parse_single_submenu, digest_single_submenu)
4149 (update_submenu_strings): Move to menu.c.
4150
4151 2008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
4152
4153 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
4154
4155 2008-06-06 Miles Bader <miles@gnu.org>
4156
4157 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
4158 face, not frame default.
4159
4160 2008-06-05 Martin Rudalics <rudalics@gmx.at>
4161
4162 * window.c (pop_up_windows, pop_up_frames)
4163 (display_buffer_reuse_frames, Vpop_up_frame_function)
4164 (Vdisplay_buffer_function, Veven_window_heights)
4165 (Vspecial_display_buffer_names, Vspecial_display_regexps)
4166 (Vspecial_display_function, Vsame_window_buffer_names)
4167 (Vsame_window_regexps, split_height_threshold)
4168 (Vsplit_window_preferred_function): Move those vars to window.el.
4169 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
4170 (Fdisplay_buffer): Move those functions to window.el.
4171 (syms_of_window): Remove corresponding declarations.
4172 (display_buffer): New function.
4173 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
4174 * dispnew.c (Flast_nonminibuf_frame): New function.
4175 * buffer.c (Fpop_to_buffer): Move to window.el.
4176
4177 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4178
4179 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
4180
4181 2008-06-05 Kenichi Handa <handa@m17n.org>
4182
4183 * coding.c (detect_coding): Fix previous change.
4184 (detect_coding_system): Likewise.
4185
4186 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4187
4188 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
4189
4190 * keymap.c (Vminibuffer_local_filename_must_match_map):
4191 Rename from Vminibuffer_local_must_match_filename_map.
4192 (syms_of_keymap):
4193 * minibuf.c (Fcompleting_read): Adjust accordingly.
4194 * commands.h: Rename declaration as well.
4195
4196 2008-06-05 Kenichi Handa <handa@m17n.org>
4197
4198 * font.c (Ffont_spec): Don't use font_parse_family_registry for
4199 family name.
4200 (Ffont_put): Likewise.
4201
4202 * fontset.c (fontset_find_font): Call font_open_for_lface with the
4203 current font-spec.
4204
4205 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
4206 is unspecified.
4207
4208 * xfaces.c (realize_x_face): If the font-related face attributes
4209 are the same as those of default face, realize a new fontset from
4210 default->fontset.
4211 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
4212
4213 2008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
4214
4215 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
4216 (move_it_in_display_line): New wrapper.
4217
4218 * window.c (window_scroll_pixel_based_preserve_x)
4219 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
4220 (window_scroll_pixel_based, window_scroll_line_based):
4221 Use them to preserve column positions.
4222 (syms_of_window): Initialize them.
4223
4224 * indent.c (Fvertical_motion): Extend first arg to allow passing an
4225 (HPOS . VPOS) pair.
4226
4227 * dispextern.h (move_it_in_display_line): Declare.
4228
4229 2008-06-05 Juanma Barranquero <lekktu@gmail.com>
4230
4231 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
4232 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
4233 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
4234
4235 2008-06-04 Juanma Barranquero <lekktu@gmail.com>
4236
4237 * window.c (Fset_window_parameter): Doc fix.
4238 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
4239
4240 2008-06-04 Joakim Verona <joakim@verona.se>
4241
4242 * window.h (struct window): Add new member window_parameters.
4243
4244 * window.c (Fwindow_parameters, Fwindow_parameter)
4245 (Fset_window_parameter): New defuns.
4246 (syms_of_window): Defsubr the new defuns.
4247 (make_window): Initialize window_parameters to nil.
4248
4249 2008-06-04 John Paul Wallington <jpw@pobox.com>
4250
4251 * eval.c (Fdefmacro): Doc fix.
4252
4253 2008-06-04 Kenichi Handa <handa@m17n.org>
4254
4255 * coding.c (detect_coding): Fix handling of coding->head_ascii.
4256 Be sure to call setup_coding_system when we find a proper coding system.
4257 (detect_coding_system): Fix handling of coding->head_ascii.
4258
4259 2008-06-03 Andreas Schwab <schwab@suse.de>
4260
4261 * font.c (font_prop_validate_spacing): Fix last change.
4262
4263 2008-06-03 Kenichi Handa <handa@m17n.org>
4264
4265 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
4266 (font_parse_fcname): Fix handling of unknown key.
4267
4268 * xfont.c (xfont_list): Try an alias.
4269
4270 * charset.c (char_charset): Return NULL if the arg charset_list is
4271 specified and C doesn't belong to any of them.
4272
4273 2008-06-02 Chip Coldwell <coldwell@redhat.com>
4274
4275 * font.c (font_pixel_size): Don't take cdr of an integer.
4276
4277 2008-06-02 Jim Meyering <meyering@redhat.com>
4278
4279 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
4280 * alloc.c (xfree): Return right away for a NULL arg.
4281 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
4282 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
4283 * mac.c (create_apple_event_from_event_ref): Likewise.
4284 (create_apple_event_from_drag_ref, cfstring_create_normalized):
4285 Likewise.
4286 * doprnt.c (doprnt1): Likewise.
4287 * frame.c (frame): Likewise.
4288 * keyboard.c (wipe_kboard): Likewise.
4289 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
4290 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
4291 * term.c (tty_default_color_capabilities, maybe_fatal)
4292 (delete_tty): Likewise.
4293 * w16select.c (string): Likewise.
4294 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
4295 * w32bdf.c (w32_free_bdf_font): Likewise.
4296 * w32fns.c (w32_unload_font): Likewise.
4297 * w32font.c (w32font_close): Likewise.
4298 * window.c (size_window): Likewise.
4299 * xselect.c (receive_incremental_selection): Likewise.
4300 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
4301 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
4302 * w32.c (stat): Likewise.
4303
4304 Remove useless if-before-free tests.
4305 * editfns.c (Fset_time_zone_rule): Likewise.
4306 * lread.c (nosuffix): Likewise.
4307 * ralloc.c (get_bloc): Likewise.
4308 * regex.c (reg_free): Likewise.
4309 * xftfont.c (xftfont_open, xftfont_close): Likewise.
4310 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
4311 * xsmfns.c (smc_save_yourself_CB): Likewise.
4312
4313 2008-06-02 Kenichi Handa <handa@m17n.org>
4314
4315 * font.c (font_find_for_lface): Handle float font size.
4316 (font_open_for_lface): Likewise.
4317
4318 * xfaces.c (x_supports_face_attributes_p): Check face->font before
4319 comparing the properties.
4320
4321 2008-06-01 Jason Rumney <jasonr@gnu.org>
4322
4323 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
4324 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
4325 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
4326 Don't add empty script list.
4327 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
4328
4329 2008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
4330
4331 * Makefile.in (dot, dotdot): Remove, update users.
4332 ".." has been used elsewhere in the file for a long time.
4333 (LIBXT_STATIC): Remove conditional based on unused variable.
4334
4335 2008-06-01 Miles Bader <miles@gnu.org>
4336
4337 * xfaces.c (Vface_remapping_alist): New variable.
4338 (syms_of_xfaces): Initialize it.
4339 (enum named_merge_point_kind): New type.
4340 (struct named_merge_point): Add `named_merge_point_kind' field.
4341 (push_named_merge_point): Make cycle detection respect different
4342 named-merge-point kinds.
4343 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
4344 Remove face-name alias resolution.
4345 (lface_from_face_name): New definition using
4346 `lface_from_face_name_no_resolve'.
4347 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
4348 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
4349 (get_lface_attributes): New definition that layers face-remapping on
4350 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
4351 (lookup_basic_face): New function.
4352 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
4353 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
4354 `get_lface_attributes'.
4355 (face_at_buffer_position): Use `lookup_basic_face' to lookup
4356 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
4357 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
4358
4359 * xdisp.c (init_iterator): Pass base_face_id through
4360 `lookup_basic_face' when we actually use it as a face-id.
4361 (handle_single_display_prop): Use `lookup_basic_face' to lookup
4362 DEFAULT_FACE_ID.
4363
4364 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
4365 lookup the initial face-id.
4366
4367 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
4368
4369 2008-06-01 Juanma Barranquero <lekktu@gmail.com>
4370
4371 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
4372 (Fremove_text_properties): Fix typos in docstrings.
4373
4374 2008-05-31 Kenichi Handa <handa@m17n.org>
4375
4376 * font.c (font_list_entities): Fix the car part of data to be
4377 stored in the cache.
4378
4379 * ftfont.c (ftfont_font_format): Don't use strcasestr.
4380
4381 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4382
4383 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
4384 Add a `test' argument so another predicate than `equal' can be used.
4385 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
4386 (map_char_table): Remove unused vars `c' and `i'.
4387 * lisp.h (Foptimize_char_table): Adjust declaration.
4388 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
4389
4390 2008-05-30 Kenichi Handa <handa@m17n.org>
4391
4392 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
4393 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
4394 defined.
4395
4396 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
4397
4398 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4399 (Fmake_variable_frame_local): Disallow mixing buffer-local and
4400 frame-local settings for the same variable.
4401
4402 2008-05-30 Kenichi Handa <handa@m17n.org>
4403
4404 * fontset.c (Ffont_info): Move to font.c.
4405 (syms_of_fontset): Delete defsubr of Sfont_info.
4406
4407 * font.c (font_style_to_value, font_score): Delete casting of the
4408 args to xstcasecmp.
4409 (register_font_driver): Increment num_font_drivers only when
4410 registering the driver globally.
4411 (Ffont_info): Move from fontset.c. Handle a font object too.
4412 (syms_of_font): Defsubr Sfont_info.
4413
4414 2008-05-29 Kenichi Handa <handa@m17n.org>
4415
4416 * coding.h (enum define_coding_utf8_arg_index): New enum.
4417 (enum coding_attr_index): Change coding_attr_utf_16_bom to
4418 coding_attr_utf_bom.
4419 (enum utf_bom_type): Rename from utf_16_bom_type.
4420 (struct utf_16_spec): Adjust for the above change.
4421 (struct coding_system): Add utf_8_bom in `spec' union.
4422
4423 * coding.c (CODING_UTF_8_BOM): New macro.
4424 (enum coding_category): Delete coding_category_utf_8, add
4425 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
4426 coding_category_utf_8_sig.
4427 (CATEGORY_MASK_UTF_8): Delete it.
4428 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
4429 (CATEGORY_MASK_UTF_8_SIG): New macros.
4430 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
4431 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
4432 CATEGORY_MASK_UTF_8_SIG.
4433 (CATEGORY_MASK_UTF_8): New macro.
4434 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
4435 (detect_coding_utf_8): Check BOM.
4436 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
4437 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
4438 (encode_coding_utf_16): Likewise.
4439 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
4440 (detect_coding, detect_coding_system): Handle utf-8-auto.
4441 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
4442 (syms_of_coding): Fix setting up of Vcoding_category_table.
4443
4444 2008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
4445
4446 * process.c (Faccept_process_output): If `millisec' is non-nil,
4447 `seconds' default to 0.
4448 (wait_reading_process_output): Also return non-nil if we read output
4449 from a non-running process.
4450
4451 2008-05-29 Jason Rumney <jasonr@gnu.org>
4452
4453 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
4454 `raster' specified.
4455 (add_font_entity_to_list): Allow non-opentype truetype fonts back
4456 in the uniscribe backend, but disallow any font that has no
4457 unicode subrange support.
4458
4459 2008-05-29 Juanma Barranquero <lekktu@gmail.com>
4460
4461 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
4462 Fix typos in docstrings.
4463
4464 2008-05-29 Kenichi Handa <handa@m17n.org>
4465
4466 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
4467 (Fx_family_fonts): Set frame correctly.
4468
4469 2008-05-28 Jason Rumney <jasonr@gnu.org>
4470
4471 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
4472
4473 2008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4474
4475 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
4476 calling build_annotations.
4477
4478 2008-05-28 Juanma Barranquero <lekktu@gmail.com>
4479
4480 * coding.c (Fdecode_coding_region, Fencode_coding_region)
4481 (Fencode_coding_string):
4482 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
4483 <latin-extra-code-table>: Fix typos in docstrings.
4484 (syms_of_coding) <coding-system-alist>: Doc fix.
4485 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
4486
4487 2008-05-28 Kenichi Handa <handa@m17n.org>
4488
4489 * fontset.c (Ffont_info): Don't call font_close_object.
4490
4491 * font.c (font_parse_family_registry): Use Ffont_put to validate
4492 foundry and family.
4493 (font_delete_unmatched): Don't check spacing.
4494 (font_list_entities): Add spacing to the spec to list fonts.
4495
4496 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
4497 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
4498
4499 * coding.c (encode_coding_raw_text): Fix previous change.
4500 (encode_coding_object): When the dst_object is a buffer and is
4501 different from src_object, move gap to PT.
4502
4503 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
4504
4505 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
4506
4507 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4508
4509 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4510 all branches. Compute it differently.
4511
4512 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4513
4514 2008-05-27 Juanma Barranquero <lekktu@gmail.com>
4515
4516 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4517 into "else if () ... else ...".
4518
4519 2008-05-27 Jason Rumney <jasonr@gnu.org>
4520
4521 * w32font.c (w32font_open_internal): Determine if glyph indices
4522 are likely to work here.
4523
4524 2008-05-27 Chong Yidong <cyd@stupidchicken.com>
4525
4526 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4527 draw overlap glyphs with appropriate highlighting.
4528
4529 2008-05-27 Kenichi Handa <handa@m17n.org>
4530
4531 * xfont.c (xfont_open): Fix calculation of font->average_width.
4532
4533 2008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4534
4535 * casefiddle.c (casify_object): Try to guess better whether the
4536 argument is a byte or a char.
4537
4538 2008-05-26 Andreas Schwab <schwab@suse.de>
4539
4540 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4541 Always send multiples of format size.
4542
4543 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4544
4545 2008-05-26 Jason Rumney <jasonr@gnu.org>
4546
4547 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4548 (compute_metrics): Don't set failure if we just cleared the cache.
4549 (w32_weight_table): Remove unused variable.
4550 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4551 backwards compatibility.
4552
4553 2008-05-25 Kenichi Handa <handa@m17n.org>
4554
4555 * w32term.c (x_draw_glyph_string):
4556 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
4557
4558 * xfaces.c: Delete unused function prototypes.
4559 (xstrlwr, font_frame): Delete them.
4560 (clear_face_cache): Delete unused variable.
4561
4562 * xftfont.c (xftfont_open): Delete unused variable.
4563 If underline_thickness is not 1, adjust underline_position.
4564
4565 * ftxfont.c (ftxfont_open): Delete unused variable.
4566
4567 * fontset.c (face_for_char): Optimize for the case of no charset
4568 property.
4569
4570 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4571 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4572 (otf_open, font_otf_capability, generate_otf_features)
4573 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
4574 Comment out by surrounding "#if 0" and "#endif" for the moment.
4575 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4576 (syms_of_font): Codes for accessing above commented out.
4577
4578 2008-05-24 Eli Zaretskii <eliz@gnu.org>
4579
4580 * w32proc.c: Include dispextern.h.
4581
4582 * w32.c: Include dispextern.h.
4583
4584 2008-05-23 Juanma Barranquero <lekktu@gmail.com>
4585
4586 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4587 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4588 Fix typos in docstrings.
4589
4590 2008-05-23 Jason Rumney <jasonr@gnu.org>
4591
4592 * xsmfns.c: Remove includes that are already included by config.h.
4593
4594 2008-05-23 Kenichi Handa <handa@m17n.org>
4595
4596 * charset.c (Qemacs, charset_emacs): New variables.
4597 (char_charset): Fix for non-Unicode characters.
4598 (syms_of_charset): Define charset_emacs.
4599
4600 * w32term.c (x_draw_glyph_string): Be sure to update
4601 s->underline_thickness and s->underline_position. Be sure to draw
4602 underline within the current line area.
4603
4604 * xterm.c (x_draw_glyph_string): Be sure to update
4605 s->underline_thickness and s->underline_position. Be sure to draw
4606 underline within the current line area.
4607
4608 * fontset.c: Delete unused variables and add casting for char *
4609 throughout the file.
4610 (fontset_font): Try the fallback fonts of the current fontset
4611 before consulting the default fontset.
4612
4613 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4614
4615 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
4616
4617 2008-05-22 Jason Rumney <jasonr@gnu.org>
4618
4619 * font.c: Don't include strings.h.
4620
4621 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
4622
4623 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4624 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
4625 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4626 to call xstrcasecmp.
4627
4628 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
4629
4630 * fontset.c (fs_query_fontset): Use xstrcasecmp.
4631
4632 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
4633
4634 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
4635
4636 2008-05-22 Kenichi Handa <handa@m17n.org>
4637
4638 * puresize.h (BASE_PURESIZE): Increase to 1220000.
4639
4640 * font.c (font_prop_validate_style): Adjust for the format
4641 change of font_style_table.
4642
4643 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4644 two args.
4645
4646 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4647 two args.
4648
4649 2008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4650
4651 * minibuf.c (keys_of_minibuf): Delete.
4652 * lisp.h (keys_of_minibuf): Delete.
4653 * emacs.c (main): Don't call keys_of_minibuf.
4654
4655 2008-05-22 Kenichi Handa <handa@m17n.org>
4656
4657 * ftfont.c (ftfont_resolve_generic_family): Rename from
4658 ftfont_list_generic_family. Return a single family for each
4659 generic family.
4660 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
4661 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4662 Call font_add_log.
4663 (ftfont_match): Call font_add_log.
4664
4665 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4666 (FONT_DEBUG): Define it.
4667 (font_add_log): Extern it.
4668 (font_assert): Rename from xassert.
4669
4670 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4671 (xfont_list_family): Call font_add_log.
4672 (xfont_match): Likewise.
4673 (memq_no_quit): Delete.
4674
4675 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4676 call of Ffont_xlfd_name.
4677
4678 * xfaces.c (struct table_entry, slant_table, weight_table)
4679 (swidth_table): Move to font.c.
4680
4681 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
4682 xassert are changed to font_assert. Delete many unused variables.
4683 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4684 New variables.
4685 (struct table_entry): Move from xfaces.c and modified.
4686 (weight_table, slant_table, width_table): Move from xfaces.c and
4687 contents adjusted for the change of struct table_entry.
4688 (font_style_to_value, font_style_symbolic): Adjust for the
4689 format change of font_style_table.
4690 (font_parse_family_registry): Don't overwrite existing foundry and
4691 family of font_spec.
4692 (font_score): Fix calculation of diff for sizes.
4693 (font_sort_entites): Call font_add_log.
4694 (font_delete_unmatched): Return a newly created list.
4695 (font_list_entities): Fix previous change. Call font_add_log.
4696 (font_matching_entity, font_open_entity, font_close_entity):
4697 Call font_add_log.
4698 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
4699 (Finternal_set_font_style_table): Delete.
4700 (BUILD_STYLE_TABLE): New macro.
4701 (build_style_table): New function.
4702 (Vfont_log, font_log_env_checked): New variables.
4703 (font_add_log): New function.
4704 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4705 Declare Lisp variables "font-weight-table", "font-slant-table",
4706 "font-width-table", and "font-log". Initialize font_style_table.
4707
4708 2008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4709
4710 * xterm.c (x_set_frame_alpha): Move declarations before statements.
4711
4712 2008-05-21 Seiji Zenitani <zenitani@mac.com>
4713 Ryo Yoshitake <ryo@shiftmode.net>
4714
4715 * frame.c (Qalpha): Add a new frame parameter `alpha'.
4716 (Vframe_alpha_lower_limit): New variable.
4717 (x_set_alpha): New function.
4718
4719 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
4720
4721 * xfns.c (x-create-frame, Qalpha):
4722 Initialize the frame parameter `alpha'.
4723 * xterm.c (OPAQUE, OPACITY): New.
4724 (x_set_frame_alpha): New function.
4725 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
4726
4727 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4728 * w32fns.c (w32_frame_parm_handlers): Likewise.
4729
4730 2008-05-20 Jason Rumney <jasonr@gnu.org>
4731
4732 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4733 truetype fonts to opentype list.
4734
4735 2008-05-20 Juanma Barranquero <lekktu@gmail.com>
4736
4737 * fontset.c (Ffontset_info): Doc fix.
4738 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4739 <ignore-relative-composition>: Fix typos in docstrings.
4740
4741 * font.c (syms-of-font) <font-encoding-alist>:
4742 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4743 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4744 (Ffont_otf_alternates): Doc fixes.
4745
4746 2008-05-20 Kenichi Handa <handa@m17n.org>
4747
4748 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4749 font.h through out the file.
4750 (FONT_DRIVERS): Rename from FONTOBJ.
4751 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
4752 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4753
4754 * emacs.c (main): Call syms_of_font unconditionally.
4755
4756 * font.h (find_font_encoding): Extern it.
4757
4758 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
4759 fontset.c.
4760 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4761 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4762 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4763 only when HAVE_WINDOW_SYSTEM is defined.
4764 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4765 when HAVE_WINDOW_SYSTEM is defined.
4766
4767 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4768 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
4769
4770 * xfaces.c: Include font.h unconditionally.
4771 (merge_face_ref, merge_face_vectors)
4772 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4773
4774 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4775
4776 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4777 indirect_variable.
4778 * eval.c (lisp_indirect_variable): New fun.
4779 (Fuser_variable_p): Use it.
4780
4781 2008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4782
4783 * lisp.h (indirect_variable):
4784 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4785 Use Lisp_Symbol pointers rather than Lisp_Object.
4786 Adjust callers.
4787 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4788 To this end, change calling-convention.
4789
4790 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4791 if some non-hidden buffers are selected by string&pred.
4792
4793 2008-05-19 Chong Yidong <cyd@stupidchicken.com>
4794
4795 * process.c (wait_reading_process_output): Always check status
4796 when in batch mode.
4797
4798 2008-05-19 Kenichi Handa <handa@m17n.org>
4799
4800 * font.c (font_list_entities): Fix handling of cache.
4801 (font_matching_entity): Likewise.
4802
4803 * ftfont.c (cs_iso8859_1): Delete.
4804 (ft_face_cache): New variable.
4805 (struct ftfont_info): New member fc_charset_idx.
4806 (ftfont_build_basic_charsets): Delete.
4807 (fc_charset_table): New variable.
4808 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4809 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4810 Callers changed.
4811 (ftfont_lookup_cache, ftfont_get_charset): New functions.
4812 (ftfont_spec_pattern): New argument fc_charset_idx.
4813 Check registry more rigidly. Change callers.
4814 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
4815 change of :font-entity property of the font.
4816
4817 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
4818 property of the font.
4819
4820 2008-05-18 Juanma Barranquero <lekktu@gmail.com>
4821
4822 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4823 (Funencodable_char_position, Fcheck_coding_systems_region)
4824 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4825 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4826 (Ffind_operation_coding_system, Fset_coding_system_priority)
4827 (Fcoding_system_eol_type): Doc fixes.
4828
4829 2008-05-17 Glenn Morris <rgm@gnu.org>
4830
4831 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4832
4833 2008-05-16 Eli Zaretskii <eliz@gnu.org>
4834
4835 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4836 and st_gid.
4837
4838 * frame.c (Fdelete_frame): Don't call font_update_drivers if
4839 HAVE_WINDOW_SYSTEM is not defined.
4840
4841 * xfaces.c (merge_face_ref, merge_face_vectors)
4842 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4843 HAVE_WINDOW_SYSTEM is defined.
4844 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4845
4846 2008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4847
4848 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4849
4850 2008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4851
4852 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
4853
4854 2008-05-15 Kenichi Handa <handa@m17n.org>
4855
4856 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4857 preference.
4858
4859 2008-05-15 Glenn Morris <rgm@gnu.org>
4860
4861 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4862
4863 2008-05-15 Chong Yidong <cyd@stupidchicken.com>
4864
4865 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4866 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4867
4868 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4869
4870 2008-05-15 Kenichi Handa <handa@m17n.org>
4871
4872 * ftfont.c (ftfont_list): Downcase family name to check generic
4873 families.
4874
4875 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4876 font-spec for QCfont value.
4877
4878 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4879 buffer. Check the return value of it.
4880
4881 2008-05-14 Jason Rumney <jasonr@gnu.org>
4882
4883 * w32term.c (w32_get_glyph_overhangs): Remove.
4884 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4885
4886 2008-05-14 Kenichi Handa <handa@m17n.org>
4887
4888 * font.c (font_prop_validate): Make nil a valid value.
4889 (font_clear_cache): Check if the cached vector of entities is nil
4890 or not.
4891
4892 2008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4893
4894 * emacs.c (main_thread): Conditionalize on
4895 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4896 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4897
4898 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4899 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4900 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4901
4902 2008-05-14 Kenichi Handa <handa@m17n.org>
4903
4904 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4905 has no corresponding coding system.
4906
4907 2008-05-14 Jason Rumney <jasonr@gnu.org>
4908
4909 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4910
4911 * w32font.h (w32font_open_internal): Update declaration.
4912
4913 * w32font.c (w32font_open_internal): Change last argument from
4914 w32font_info struct to font object. Fill in font object from
4915 font_entity. Get Outline metrics if possible. Use them to
4916 calculate underline position and thickness. Use xlfd name as name
4917 property. Don't set codepage.
4918 (w32font_open): Pass font_object to w32font_open_internal. Don't
4919 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
4920 (w32font_draw): Use s->font.
4921 (clear_cached_metrics): Don't clear non-existent blocks.
4922
4923 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4924 font was not found.
4925 (x_draw_glyph_string): Use underline position and thickness from font.
4926
4927 * w32uniscribe.c (uniscribe_open): Pass font_object to
4928 w32font_open_internal.
4929
4930 2008-05-14 Kenichi Handa <handa@m17n.org>
4931
4932 These changes are to delete all legacy font-handling codes, and
4933 make Emacs use only font-backends.
4934
4935 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4936 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4937
4938 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4939
4940 * charset.h (Vcharset_non_preferred_head)
4941 (Vcurrent_iso639_language): Extern them.
4942
4943 * charset.c (Vcharset_non_preferred_head): New variable.
4944 (Vcurrent_iso639_language): New variable.
4945 (syms_of_charset): Declare it as a Lisp variable.
4946 (char_charset): Don't check non preferred charsets. As a last
4947 resort, return charset_unicode.
4948 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4949
4950 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4951 conditionals. Don't check enable_font_backend. Delete all codes
4952 used only when USE_FONT_BACKEND is not defined.
4953
4954 * dispextern.h (struct glyph_string): Change type of `font' to
4955 `struct font *'.
4956 (struct glyph_string): New member underline_position and
4957 underline_thickness.
4958 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4959 (struct face): Change type of `font' to `struct font *'. Remove
4960 members `font_name', `font_info_id'.
4961 (per_char_metric, encode_char): Delete externs.
4962 (calc_pixel_width_or_height): Adjust the prototype.
4963
4964 * emacs.c (enable_font_backend): Delete extern.
4965 (main): Don't set enable_font_backend. Don't check the command
4966 line argument "-disable-font-backend".
4967
4968 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4969 (enum font_property_index): New members FONT_DPI_INDEX,
4970 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4971 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4972 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4973 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4974 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4975 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4976 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4977 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4978 (struct font_spec, struct font_entity): New structs.
4979 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4980 (struct font): Many members from old "struct font_info" moved to
4981 here. Members font and entity deleted.
4982 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4983 the new font-related objects.
4984 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4985 (CHECK_FONT_GET_OBJECT): Likewise.
4986 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4987 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4988 (struct font_driver): New members case_sensitive anc check. Type
4989 of the member list and open changed.
4990 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4991 (font_symbolic_width, font_find_object, font_get_spec)
4992 (font_set_lface_from_name): Delete extern.
4993 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
4994
4995 * font.c: Include <strings.h>.
4996 (enable_font_backend): Delete it.
4997 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4998 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4999 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
5000 (null_string): Delete it.
5001 (null_vector): Make it static.
5002 (font_family_alist): Delete it.
5003 (Qnormal): Extern it.
5004 (QCextra, QClanguage): Delete it.
5005 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
5006 (font_make_spec, font_make_entity, font_make_object)
5007 (font_intern_prop): Renamed from intern_downcase. Don't downcase
5008 the string. Callers changed.
5009 (font_pixel_size): Adjusted for the format change of font-related
5010 objects.
5011 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
5012 (font_style_to_value, font_style_symbolic): New function.
5013 (build_font_family_alist): Delete it.
5014 (font_registry_charsets): Use Fassoc_string instead of
5015 assq_no_quit.
5016 (font_prop_validate_symbol): Don't return null_string.
5017 (font_prop_validate_style): Adjusted for the change of
5018 style-related values in a font vector.
5019 (font_property_table): Delete entries for QClanguage and
5020 QCantialias, add entries for QCavgwidth.
5021 (get_font_prop_index): Delete the 2nd argument FROM.
5022 (font_prop_validate): Arguments changed.
5023 (font_put_extra): Adjusted for the change of font-related objects.
5024 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
5025 (font_parse_fcname, font_unparse_fcname)
5026 (font_prepare_composition): Likewise.
5027 (font_parse_family_registry): Renamed from font_merge_old_spec.
5028 (otf_open): Delete the 1st arg entity.
5029 (font_otf_capability): Adjusted for the above change.
5030 (font_score): New arg alternate_families. Adjusted for the change
5031 of font-related objects.
5032 (font_sort_entites): New arg best_only.
5033 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
5034 Delete them.
5035 (font_match_p): Check alternate families.
5036 (font_find_object): Delete it.
5037 (font_check_object): New function.
5038 (font_clear_cache): Adjusted for the change of font-related objects.
5039 (font_delete_unmatched): New arg.
5040 (font_list_entities): Call font_driver->list with a spec that
5041 doesn't specify style-related properties.
5042 (font_matching_entity): Arguments changed. Caller changed.
5043 (font_open_entity): Adjusted for the change of font-related objects.
5044 (font_close_object, font_has_char, font_encode_char)
5045 (font_get_name, font_get_spec): Likewise.
5046 (font_spec_from_name, font_clear_prop, font_update_lface):
5047 New functions.
5048 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
5049 (font_prepare_for_face, font_done_for_face, font_open_by_name)
5050 (font_at): Adjusted for the change of font-related objects.
5051 (font_range): New function.
5052 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
5053 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
5054 (Fcopy_font_spec, Fmerge_font_spec): New function.
5055 (Ffont_family_list): Renamed from list-families.
5056 (Finternal_set_font_style_table): Arguments changed.
5057 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
5058 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
5059 change of font-related objects.
5060 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
5061
5062 * fontset.h (struct font_info): Delete it. Most members go to
5063 struct font.
5064 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
5065 (enum FONT_SPEC_INDEX): Delete it.
5066 (font_info, list_fonts_func, load_font_func, query_font_func)
5067 (set_frame_fontset_func, find_ccl_program_func)
5068 (get_font_repertory_func, new_fontset_from_font_name): Delete
5069 externs.
5070 (fontset_from_font_name): Extern it.
5071 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
5072 (FONT_INFO_FROM_FACE): Deleted.
5073 (face_for_font): Adjust prototype.
5074
5075 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
5076 conditionals. Don't check enable_font_backend. Delete all codes
5077 used only when USE_FONT_BACKEND is not defined.
5078 (get_font_info_func, list_font_func, load_font_func)
5079 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
5080 (get_font_repertory_func): Delete them.
5081 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
5082 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
5083 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
5084 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
5085 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
5086 (fontset_compare_rfontdef): New function.
5087 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
5088 rfont-defs by qsort. Adjusted for the change of font-group vector.
5089 (load_font_get_repertory): Deleted.
5090 (fontset_find_font): Use new macros to ref/set elements of
5091 font-def and rfont-def.
5092 (fontset_font): Fix the timing of remembering that no font for C.
5093 (free_face_fontset): Do nothing if the face has no fontset.
5094 (face_suitable_for_char_p): Use new macros to ref/set elements of
5095 rfont-def.
5096 (face_for_char): Likewise. Call face_for_char with font_object.
5097 (fs_load_font): Delete. Delete #pragma surrounding it.
5098 (fs_query_fontset): Use strcasecmp instead of strcmp.
5099 (generate_ascii_font_name): Adjusted for the format change of
5100 font-spec.
5101 (Fset_fontset_font): Likewise. Use new macros to set elements of
5102 font-def.
5103 (Fnew_fontset): Use font_unparse_xlfd to generate
5104 FONTSET_ASCII (fontset).
5105 (new_fontset_from_font_name): Deleted.
5106 (fontset_from_font): Renamed from new_fontset_from_font. Check if
5107 a fontset is already created for the font. FIx updating of
5108 Vfontset_alias_alist.
5109 (fontset_ascii_font): Deleted.
5110 (Ffont_info): Adjusted for the format change of font-spec.
5111 (Finternal_char_font): Likewise.
5112 (Ffontset_info): Likewise.
5113 (syms_of_fontset): Don't check load_font_func.
5114
5115 * fns.c (internal_equal): Handle PREV_FONT.
5116
5117 * frame.h: Delete USE_FONT_BACKEND conditional.
5118
5119 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
5120 conditionals. Don't check enable_font_backend. Delete all codes
5121 used only when USE_FONT_BACKEND is not defined.
5122 (x_set_font): Call x_new_font, not x_new_fontset2.
5123 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
5124 already set for the frame.
5125
5126 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
5127 a font-entity by font_make_entity. Use font_intern_prop instead
5128 of intern_downcase. Use FONT_SET_STYLE to set a style-related
5129 font property. If a font is scalable, set avgwidth property to 0.
5130 Set font-entity property by font_put_extra.
5131 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
5132 (ffont_driver): Adjusted for the change of struct font_driver.
5133 (ftfont_spec_pattern): New function.
5134 (ftfont_list): Return a list, not vector.
5135 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
5136 (ftfont_list_family): Don't downcase names.
5137 (ftfont_free_entity): Deleted.
5138 (ftfont_open): Return a font-object. Adjusted for the change of
5139 struct font. Get underline_thickness and underline_position from
5140 font property. Don't update dpyinfo->smallest_font_height and
5141 dpyinfo->smallest_char_width.
5142 (ftfont_close): Don't free `struct font'.
5143 (ftfont_has_char): Adjusted for the format change of font-entity.
5144 (ftfont_encode_char, ftfont_text_extents): Likewise.
5145
5146 * ftxfont.c (ftxfont_list): Return a list, not vector.
5147 (ftxfont_open): Return a font-object. Adjusted for the change of
5148 struct font. Get underline_thickness and underline_position from
5149 font property. Don't update dpyinfo->smallest_font_height and
5150 dpyinfo->smallest_char_width.
5151 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
5152 (ftxfont_draw): Adjusted for the change of struct font.
5153
5154 * image.c (image_ascent): Don't include "charset.h". Include
5155 "character.h" and "font.h".
5156
5157 * lisp.h (enum pvec_type): New member PREV_FONT.
5158 (Fassoc_string): EXFUN it.
5159
5160 * print.c: Include font.h.
5161 (print_object): Handle font-related objects.
5162
5163 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
5164 conditionals. Don't check enable_font_backend. Delete all codes
5165 used only when USE_FONT_BACKEND is not defined.
5166 (handle_auto_composed_prop): Do nothing if it->f is not on a
5167 window system. Check how many following characters can be
5168 displayed by the same font.
5169 (calc_pixel_width_or_height): Type of the 4th arg is changed to
5170 'struct font *'.
5171 (get_char_face_and_encoding): Assign the whole encoding task to
5172 the `encode-char' method of a font driver.
5173 (fill_composite_glyph_string): Adjusted for the change of `struct
5174 face' and `struct glyph_string'.
5175 (fill_glyph_string): Likewise.
5176 (get_per_char_metric): Arguments changed.
5177 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
5178 and `struct glyph_string'.
5179 (produce_stretch_glyph, calc_line_height_property)
5180 (x_produce_glyphs): Likewise.
5181
5182 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
5183 conditionals. Don't check enable_font_backend. Delete all codes
5184 used only when USE_FONT_BACKEND is not defined. Use
5185 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
5186 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
5187 (Qp): Extern them.
5188 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
5189 Deleted.
5190 (struct font_name): Deleted.
5191 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
5192 (compare_fonts_by_sort_order): New function.
5193 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
5194 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
5195 Deleted.
5196 (Fx_family_fonts): Use font_list_entities, and sort fonts by
5197 compare_fonts_by_sort_order.
5198 (Fx_font_family_list): Call Ffont_family_list.
5199 (face_numeric_value, face_numeric_weight, face_numeric_slant)
5200 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
5201 (face_symbolic_slant, face_symbolic_swidth)
5202 (split_font_name_into_vector, build_font_name_from_vector)
5203 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
5204 (font_rescale_ratio, split_font_name, build_font_name)
5205 (free_font_names, sort_fonts, x_face_list_fonts)
5206 (face_font_available_p, sorted_font_list, cmp_font_names)
5207 (font_list_1, concat_font_list, font_list, remove_duplicates):
5208 Deleted.
5209 (Fx_list_fonts): Use Ffont_list.
5210 (LFACE_AVGWIDTH): Deleted.
5211 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
5212 by FONTP.
5213 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5214 (set_lface_from_font_name): Delete it.
5215 (set_lface_from_font): Renamed from
5216 set_lface_from_font_and_fontset. Caller changed. Don't set
5217 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
5218 for face.
5219 (merge_face_vectors): Copy font-spec if necessary.
5220 Clear properties of the font-spec if necessary.
5221 (merge_face_ref): Clear properties of the font-spec if necessary.
5222 (Finternal_set_lisp_face_attribute): Likewise.
5223 (set_font_frame_param): Use font_load_for_lface to load a
5224 font-object, and call Fmodify_frame_parameters with it.
5225 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
5226 font name by Ffont_xlfd_name.
5227 (Finternal_lisp_face_attribute_values): Don't check QCweight,
5228 QCslant, and QCwidth.
5229 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
5230 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
5231 Compare fonts by EQ.
5232 (lookup_non_ascii_face): Deleted.
5233 (face_for_font): The 2nd argument changed.
5234 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
5235 Check atomic font properties by case insensitive.
5236 (realize_non_ascii_face): Set face->overstrike correctly.
5237 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
5238 (dump_realized_face): Get font name from
5239 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
5240
5241 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
5242 conditionals. Don't check enable_font_backend. Delete all codes
5243 used only when USE_FONT_BACKEND is not defined.
5244 (xic_create_xfontset): Original code deleted and renamed from
5245 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
5246 (x_make_gc): Don't set GCFont in GCs.
5247 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
5248 opened by "fixed".
5249 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
5250 find_ccl_program_func, query_font_func, set_frame_fontset_func,
5251 get_font_repertory_func.
5252
5253 * xfont.c: Include <stdlib.h> and "ccl.h".
5254 (struct xfont_info): New structure.
5255 (xfont_query_font): Deleted.
5256 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
5257 moved from xterm.c.
5258 (xfont_driver): Adjusted for the change of struct font_driver.
5259 (compare_font_names): New function.
5260 (xfont_list_pattern): Sort font names case insensitively. Make
5261 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
5262 (xfont_list): Return a list, not vector.
5263 (xfont_match): If the font doesn't have QCname property, generate
5264 a name from the other font properties.
5265 (xfont_open): Return a font-object. Adjusted for the change of
5266 struct font. Get underline_thickness and underline_position from
5267 font property. Don't update dpyinfo->smallest_font_height and
5268 dpyinfo->smallest_char_width.
5269 (xfont_close): Don't free struct font.
5270 (xfont_prepare_face): Adjusted for the change of struct font.
5271 (xfont_done_face): Deleted.
5272 (xfont_has_char): Adjusted for the change of struct font.
5273 (xfont_encode_char, xfont_draw): Likewise.
5274 (xfont_check): New function.
5275
5276 * xftfont.c (xftfont_list): Adjusted for the change of `list'
5277 callback function.
5278 (xftfont_match): Adjusted for the format change of font-entity.
5279 (xftfont_open): Adjusted for the format change of font-entity and
5280 font-object. Adjusted for the change of struct font. Return a
5281 font-object. Don't update dpyinfo->smallest_font_height and
5282 dpyinfo->smallest_char_width.
5283 (xftfont_close): Block input while calling XftFontClose.
5284 (xftfont_prepare_face): Don't block input while calling
5285 xftfont_get_colors. Adjusted for the change of struct font.
5286 (xftfont_shape): Return value of error case fixed.
5287
5288 * xrdb.c (x_load_resources): Don't setup a fontset resource.
5289
5290 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
5291 conditionals.
5292 (FONT_WIDTH): Return (f)->max_width.
5293 (struct x_display_info): Delete member `font'.
5294 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
5295 (x_find_ccl_program, x_get_font_repertory): Delete externs.
5296 (struct x_output): Change type of `font' to `struct font *'.
5297
5298 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
5299 conditionals. Don't check enable_font_backend. Delete all codes
5300 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
5301 (x_per_char_metric, x_encode_char): Deleted.
5302 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
5303 (x_compute_glyph_string_overhangs): Adjusted for the change of
5304 `struct face'.
5305 (x_draw_glyph_string_foreground)
5306 (x_draw_composite_glyph_string_foreground): Likewise.
5307 (x_draw_glyph_string): Likewise. Use font->underline_position and
5308 font->underline_thickness.
5309 (x_new_font): Renamed from x_new_fontset2.
5310 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
5311 (x_check_font): Call `check' method of a font driver.
5312 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
5313 (x_query_font, x_get_font_repertory): Deleted.
5314 (x_find_ccl_program): Renamed and moved to xfont.c.
5315 (x_redisplay_interface): Adjusted for the change of `struct
5316 redisplay_interface'.
5317
5318 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
5319 conditionals. Don't check enable_font_backend. Delete all codes
5320 used only when USE_FONT_BACKEND is not defined. Surround non-used
5321 code by "#ifdef OLD_FONT" and "endif".
5322 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
5323
5324 * w32font.h (struct w32font_info): New member.
5325 (FONT_COMPAT): New macro.
5326 (w32font_open_internal): Prototype adjusted.
5327
5328 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
5329 OLD_FONT" and "endif".
5330
5331 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
5332 conditionals. Don't check enable_font_backend. Delete all codes
5333 used only when USE_FONT_BACKEND is not defined.
5334 (w32font_open): Return a font-object. Make a font-object by
5335 font_make_object. Adjusted for the change of struct w32font_info.
5336 (w32font_close): Don't free struct font. Adjusted for the change
5337 of struct w32font_info.
5338 (w32font_encode_char, w32font_text_extents, w32font_draw):
5339 Adjusted for the change of struct w32font_info.
5340 (w32font_draw): Likewise.
5341 (w32font_list_internal): Return a list, not vector.
5342 (w32font_open_internal): Change the 4th arg to font-object.
5343 Adjusted for the change of struct w32font_info and font-object format.
5344 (add_font_name_to_list): Don't downcase names.
5345 (w32_enumfont_pattern_entity): Make a font-entity by
5346 font_make_entity. Adjusted for the format change of font-entity.
5347 Use FONT_SET_STYLE to set a style-related font property. If a
5348 font is scalable, set avgwidth property to 0. Set font-entity
5349 property by font_put_extra.
5350 (font_matches_spec): Adjusted for the format change of font-entity.
5351 (w32_weight_table, w32_decode_weight): New variables.
5352 (w32_encode_weight): New function.
5353 (fill_in_logfont): Adjusted for the format change of font-spec.
5354 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
5355 weight value.
5356 (w32font_driver): Adjusted for the change of struct font_driver.
5357
5358 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
5359 conditionals. Don't check enable_font_backend. Surround non-used
5360 code by "#ifdef OLD_FONT" and "endif".
5361 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
5362 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
5363
5364 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
5365 conditionals. Don't check enable_font_backend. Delete all codes
5366 used only when USE_FONT_BACKEND is not defined. Surround non-used
5367 code by "#ifdef OLD_FONT" and "endif".
5368
5369 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
5370 (uniscribe_open): Return value changed to font-object.
5371 Adjusted for the format change of font-object.
5372 (uniscribe_otf_capability): Adjusted for the change of struct font.
5373 (add_opentype_font_name_to_list): Don't downcase names.
5374 (uniscribe_font_driver): Adjusted for the change of struct
5375 font_driver.
5376
5377 2008-05-13 Chong Yidong <cyd@stupidchicken.com>
5378
5379 * dispnew.c (update_frame_1): Check if tty output is still valid
5380 before flushing it.
5381
5382 2008-05-13 Jan Djärv <jan.h.d@swipnet.se>
5383
5384 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
5385 to Gtk+ menus.
5386
5387 2008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
5388
5389 * dired.c (file_name_completion): Tweak the code so as to always do it
5390 in a single pass. Tighten the scope of some variables.
5391
5392 * dired.c (Qdefault_directory): New var.
5393 (file_name_completion): Use it instead of Fexpand_file_name.
5394 (syms_of_dired): Initialize it.
5395
5396 2008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
5397
5398 * fileio.c (double_dollars): Remove dead code.
5399
5400 2008-05-10 Eli Zaretskii <eliz@gnu.org>
5401
5402 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
5403 Mention w32-get-true-file-attributes in doc string.
5404
5405 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
5406
5407 2008-05-09 Glenn Morris <rgm@gnu.org>
5408
5409 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
5410 2008-04-23.
5411
5412 2008-05-09 Eli Zaretskii <eliz@gnu.org>
5413
5414 Support for reporting owner and group of each file on MS-Windows:
5415 * dired.c (stat_uname, stat_gname): New functions, with special
5416 implementation for w32.
5417 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
5418
5419 * w32.c: Rename the_passwd_* to dflt_passwd_*.
5420 (dflt_group_name): New static variable.
5421 (dflt_group): Rename from the_group.
5422 (init_user_info): Init dflt_group fields. Get user's group name
5423 from LookupAccountSid.
5424 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
5425 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
5426 New initialization states.
5427 (globals_of_w32): Initialize them to zero. Initialize the default
5428 group name to "None".
5429 (GetFileSecurity_Name): New global var, the name of the function
5430 to call for GetFileSecurity.
5431 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
5432 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
5433 (get_file_security, get_security_descriptor_owner)
5434 (get_security_descriptor_group, is_valid_sid)
5435 (get_file_security_desc, get_rid, get_name_and_id)
5436 (get_file_owner_and_group): New functions.
5437 (stat): Use get_file_security_desc and get_file_owner_and_group to
5438 report the owner and primary group of each file. Don't ignore the
5439 high 32 bits of file's size, now that st_size is 64-bit wide.
5440 Fix test when to get true file attributes.
5441 (init_user_info): Use get_rid instead of equivalent inline code.
5442 (fstat): Don't ignore the high 32 bits of file's size.
5443
5444 2008-05-09 Chong Yidong <cyd@stupidchicken.com>
5445
5446 * image.c (png_load): Use correct bit-depth for setting background
5447 color.
5448
5449 2008-05-08 Eli Zaretskii <eliz@gnu.org>
5450
5451 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
5452 epa-hook.elc.
5453
5454 2008-05-08 Juanma Barranquero <lekktu@gmail.com>
5455
5456 * font.c (Ffont_match_p): Don't use `iff' in docstring.
5457
5458 2008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
5459
5460 * macfns.c (Fx_create_frame): Make a copy of frame parameters
5461 because the original parameters are in pure storage now.
5462 (mac_window): Remove unused params. Update callers.
5463
5464 2008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
5465
5466 * lread.c (substitute_object_recurse): Use lower-level primitives.
5467 Don't signal errors when traversing sub-char-tables.
5468 Don't loop over all the possible characters when traversing char-tables.
5469
5470 * print.c (print_preprocess): Add sub-char-tables to the print-table,
5471 just like we do in print.c.
5472
5473 2008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
5474
5475 * minibuf.c (Ftry_completion): Remove code left over from when we used
5476 scmp instead of Fcompare_strings.
5477
5478 2008-05-04 Juanma Barranquero <lekktu@gmail.com>
5479
5480 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
5481
5482 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5483
5484 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
5485 Create bitmap context in native byte order.
5486
5487 * macterm.c (XDrawLine)
5488 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
5489 context in native byte order.
5490
5491 2008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5492
5493 * config.in: Regenerate.
5494
5495 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5496 New definitions for Image I/O support.
5497 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5498 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5499 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5500 (mac_data_provider_release_data, image_load_image_io)
5501 [USE_MAC_IMAGE_IO]: New functions.
5502 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5503 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5504 (init_image_func_pointer) [MAC_OSX]: Remove function.
5505 (image_load_quartz2d) [MAC_OSX]: Check availability of
5506 CGImageCreateWithPNGDataProvider at compile time.
5507 Use lowercase `false' for boolean constant.
5508 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5509 Use image_load_image_io.
5510 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5511 Don't check MyCGImageCreateWithPNGDataProvider.
5512 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5513 Don't call init_image_func_pointer.
5514
5515 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5516
5517 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5518 Make variable non-static.
5519 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5520 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5521
5522 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5523 (RED_FROM_ULONG): Mask off higher bits.
5524 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5525
5526 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5527 Include AvailabilityMacros.h.
5528 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5529 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5530
5531 2008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5532
5533 * chartab.c (Fset_char_table_range): If range is t, really set all
5534 chars to that value.
5535
5536 2008-05-03 Eli Zaretskii <eliz@gnu.org>
5537
5538 * dired.c (Ffile_attributes): Don't allow the device number become
5539 negative.
5540
5541 2008-05-02 Daiki Ueno <ueno@unixuser.org>
5542
5543 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
5544
5545 2008-05-02 Juri Linkov <juri@jurta.org>
5546
5547 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
5548 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5549 DEFAULT argument as a list of default values in docstrings.
5550
5551 2008-05-01 Chong Yidong <cyd@stupidchicken.com>
5552
5553 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5554
5555 2008-05-01 Martin Rudalics <rudalics@gmx.at>
5556
5557 * dispnew.c (change_frame_size_1): Preserve small windows when
5558 shrinking frames by calling set_window_height|width with third
5559 arg 2.
5560
5561 * window.h (struct window): Replace field too_small_ok by field
5562 resize_proportionally.
5563
5564 * window.c (make_window): Initialize resize_proportionally.
5565 (enlarge_window): Temporarily set resize_proportionally to make
5566 sure that shrink_windows does scale the window proportionally.
5567 (shrink_windows): When window has resize_proportionally set try
5568 to shrink it proportionally by stealing from other windows.
5569 (struct saved_window, Fset_window_configuration)
5570 (compare_window_configurations): Handle resize_proportionally.
5571 (WINDOW_TOTAL_SIZE): New macro.
5572 (window_min_size, shrink_windows, size_window): Use it.
5573 (check_min_window_sizes): Remove. Invalid values of
5574 window-min-height|width are handled by window_min_size_2 now.
5575 (size_window, Fsplit_window, enlarge_window)
5576 (adjust_window_trailing_edge, grow_mini_window): Don't call
5577 check_min_window_sizes.
5578 (window_min_size_2, window_min_size_1, window_min_size):
5579 New argument safe_p for retrieving "safe" minimum sizes.
5580 (Fdisplay_buffer, Fsplit_window, enlarge_window)
5581 (adjust_window_trailing_edge, grow_mini_window):
5582 Adjust arguments of window_min_size... functions.
5583 (shrink_windows): Argument min_size removed. New argument
5584 safe_p allows shrinking windows to their safe minimum sizes.
5585 Calculate minimum size and decide whether a window shall be
5586 deleted for each window individually.
5587 (size_window): When nodelete_p equals 2, tell shrink_windows to
5588 delete windows only if their new minimum size is no more safe.
5589 (shrink_window_lowest_first): Call window_min_size_1 to make
5590 sure to preserve modeline of bottom-most window when resizing
5591 the minibuffer.
5592 (Fset_window_configuration, Fcurrent_window_configuration)
5593 (compare_window_configurations): Do not handle
5594 window-min-height|width any more.
5595 (syms_of_window): Clarify window-min-height|width doc-strings.
5596
5597 2008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5598
5599 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5600 some more. Copy some of the code from Ftry_completions.
5601 Remove special case code that dates back to initial revision when the
5602 slash was only added when necessary and that can't trigger nowadays.
5603
5604 2008-04-27 Kenichi Handa <handa@m17n.org>
5605
5606 * font.c (font_prop_validate): Signal `error' instead of `font'.
5607
5608 2008-04-29 Jason Rumney <jasonr@gnu.org>
5609
5610 * w32fns.c (Fw32_battery_status): New defun.
5611 (syms_of_w32fns): Defsubr it.
5612
5613 2008-04-28 Andreas Schwab <schwab@suse.de>
5614
5615 * dired.c (file_name_completion): Fix another mixing of encoded
5616 and decoded names.
5617
5618 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
5619
5620 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5621
5622 2008-04-27 Juanma Barranquero <lekktu@gmail.com>
5623
5624 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5625
5626 2008-04-27 Andreas Schwab <schwab@suse.de>
5627
5628 * dired.c (file_name_completion): Fix inappropriate mixing of
5629 encoded and decoded names.
5630
5631 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5632
5633 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5634
5635 2008-04-26 Eli Zaretskii <eliz@gnu.org>
5636
5637 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5638 2008-03-31, it's not needed anymore with `struct stat' definition
5639 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5640 for the same reasons.
5641
5642 2008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
5643
5644 * m/sparc.h: Additional redefinitions for GNU/Linux.
5645
5646 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5647
5648 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5649 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5650 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5651 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5652 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5653 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5654 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5655 Likewise.
5656
5657 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
5658 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
5659 (mac_ax_number_of_characters): Add externs.
5660 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5661 [USE_MAC_TSM]: Likewise.
5662 (mac_handle_text_input_event) [MAC_OSX]:
5663 Handle kEventTextInputOffsetToPos for no active input area case.
5664 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5665 (mac_handle_document_access_event)
5666 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5667 (install_application_handler) [MAC_OSX]: Register handlers for
5668 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5669 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5670 Register mac_handle_document_access_event.
5671
5672 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5673 Make functions non-static.
5674
5675 2008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5676
5677 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5678 (read_file_name_completion_ignore_case, insert_default_directory)
5679 (Qdefault_directory): Move to minibuffer.el.
5680 (Fread_file_name): Call the new `read-file-name' instead.
5681
5682 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5683
5684 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5685 Make function non-static.
5686 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5687 Remove function.
5688 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5689 Move to mactoolbox.c.
5690 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5691
5692 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5693 (mac_rect_make): New macro.
5694
5695 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5696 instead of float.
5697 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5698 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5699 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5700 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5701 CGRectMake.
5702 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5703 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5704 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5705 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5706 instead of WindowRef in argument type.
5707 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5708 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5709 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5710 instead of DISPLAY. All uses changed.
5711 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5712 (x_calc_absolute_position): Simplify so as not to use
5713 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
5714
5715 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5716 instead of WindowRef in argument type.
5717 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5718 [TARGET_API_MAC_CARBON]: Remove externs.
5719 (create_apple_event, mac_event_parameters_to_lisp)
5720 [TARGET_API_MAC_CARBON]: Add externs.
5721
5722 * mactoolbox.c (Vmac_ts_script_language_on_focus)
5723 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5724 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5725 is clicked.
5726 (x_activate_menubar): Remove extern for saved_menu_event_location.
5727 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5728 Move from mac.c.
5729
5730 2008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5731
5732 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5733 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5734
5735 2008-04-23 Jason Rumney <jasonr@gnu.org>
5736
5737 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5738 attributes only for local files.
5739
5740 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
5741 default to Qlocal.
5742
5743 2008-04-22 Juri Linkov <juri@jurta.org>
5744
5745 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5746 read-buffer-to-switch instead of using the letter "B".
5747
5748 2008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5749
5750 * fileio.c (Qdefault_directory): New variable.
5751 (Fread_file_name): Use it to pass `dir' to the completion functions.
5752
5753 2008-04-20 Chong Yidong <cyd@stupidchicken.com>
5754
5755 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
5756
5757 2008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5758
5759 * keyboard.c (Vpre_help_message): Remove.
5760 (show_help_echo): Remove default C code.
5761
5762 * dired.c (directory_files_internal, file_name_completion):
5763 Only call ENCODE_FILE if the string is indeed decoded.
5764
5765 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5766
5767 * Makefile.in (TOOLKIT_DEFINES): Remove.
5768 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5769
5770 2008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5771
5772 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5773 (mactoolbox.o): New target.
5774
5775 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5776 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5777
5778 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5779 Use mac_set_frame_window_background instead of XSetWindowBackground.
5780 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5781 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5782 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5783 instead of SetWindowTitleWithCFString.
5784 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5785 Move function to mactoolbox.c.
5786 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5787 Use mac_set_window_modified instead of SetWindowModified.
5788 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5789 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5790 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5791 FrontNonFloatingWindow. Use mac_activate_window instead of
5792 ActivateWindow. Use mac_active_non_floating_window instead of
5793 ActiveNonFloatingWindow.
5794 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5795 Use mac_show_hourglass and mac_hide_hourglass.
5796 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5797 instead of GetGlobalMouse.
5798 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5799 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5800 Use mac_bring_window_to_front instead of BringToFront.
5801 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5802 mactoolbox.c.
5803 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5804 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5805 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5806 mactoolbox.c.
5807
5808 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5809 (XtPointer): Move typedef from macmenu.c.
5810 (enum button_type): Move enum from macmenu.c.
5811 (widget_value): Move typedef from macmenu.c.
5812 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5813 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5814 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5815 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5816 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5817 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5818 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5819 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5820 (Selection): Move typedef from macselect.c.
5821 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5822 macterm.c.
5823 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5824 (mac_is_window_collapsed, mac_bring_window_to_front)
5825 (mac_send_window_behind, mac_hide_window, mac_show_window)
5826 (mac_collapse_window, mac_front_non_floating_window)
5827 (mac_active_non_floating_window, mac_activate_window)
5828 (mac_move_window_structure, mac_move_window, mac_size_window)
5829 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5830
5831 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5832 (enum mac_menu_kind): Move enum to mactoolbox.c.
5833 (min_menu_id): Move variable to mactoolbox.c.
5834 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5835 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5836 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5837 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5838 [TARGET_API_MAC_CARBON]: Likewise.
5839 (XtPointer): Move typedef to macgui.h.
5840 (enum button_type): Move enum to macgui.h.
5841 (widget_value): Move typedef to macgui.h.
5842 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5843 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5844 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5845 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5846 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5847 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5848 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5849 (popup_activated_flag): Make variable non-static.
5850 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5851 (add_menu_item, fill_menu, dispose_menus):
5852 Move functions to mactoolbox.c.
5853 (restore_show_help_function, menu_target_item_handler)
5854 (install_menu_target_item_handler, mac_handle_dialog_event)
5855 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5856 [TARGET_API_MAC_CARBON]: Likewise.
5857 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5858 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5859 (find_and_call_menu_selection, name_is_separator): Make function
5860 non-static.
5861 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5862 to mactoolbox.c.
5863 (set_frame_menubar): Don't call install_menu_quit_handler.
5864 (menu_item_selection): New variable.
5865 (mac_menu_show): Use create_and_show_popup_menu.
5866 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5867 selection but set variable menu_item_selection. All uses changed.
5868 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5869 Call install_menu_quit_handler. Move to mactoolbox.c.
5870
5871 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5872 (Selection): Move typedef to macgui.h.
5873 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5874 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5875 Make variables non-static.
5876 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5877 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5878 Make functions non-static.
5879 (Vmac_service_selection) [MAC_OSX]: Likewise.
5880 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5881 (mac_valid_selection_target_p, mac_clear_selection)
5882 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5883 (mac_put_selection_value, mac_selection_has_target_p)
5884 (mac_get_selection_value, mac_get_selection_target_list)
5885 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5886 Move functions to mactoolbox.c.
5887 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5888 Likewise.
5889 (copy_scrap_flavor_data, mac_handle_service_event)
5890 (install_service_handler) [MAC_OSX]: Likewise.
5891 (syms_of_macselect) <Vmac_dnd_known_types>:
5892 Use mac_dnd_default_known_types.
5893
5894 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5895 Move to mactoolbox.c.
5896 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5897 (Fx_selection_owner_p): Add EXFUN.
5898 (install_window_handler, remove_window_handler, XSetWindowBackground):
5899 Remove externs.
5900 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5901 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5902 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5903 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5904 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5905 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5906 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5907 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5908 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5909 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5910 (mac_valid_selection_target_p, mac_clear_selection)
5911 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5912 (mac_put_selection_value, mac_selection_has_target_p)
5913 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5914 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5915 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5916 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5917 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5918 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5919 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5920 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5921 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5922
5923 * mactoolbox.c: New file.
5924
5925 2008-04-18 Jason Rumney <jasonr@gnu.org>
5926
5927 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
5928
5929 2008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5930
5931 * character.c (Fmultibyte_char_to_unibyte):
5932 Return latin1 chars unchanged.
5933
5934 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5935 relocated if it points to `name'.
5936
5937 2008-04-17 Kenichi Handa <handa@m17n.org>
5938
5939 * data.c (Faset): Allow setting a multibyte character in an
5940 ASCII-only unibyte string.
5941
5942 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5943
5944 2008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5945
5946 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5947 done in config.h.
5948
5949 2008-04-16 Juanma Barranquero <lekktu@gmail.com>
5950
5951 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5952 (Fchar_direction): Add usage in the docstring.
5953
5954 2008-04-15 Chong Yidong <cyd@stupidchicken.com>
5955
5956 * keyboard.c (read_key_sequence): Remove always-true checks.
5957
5958 2008-04-14 Jason Rumney <jasonr@gnu.org>
5959
5960 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5961 compatibility struct, for better underline positioning.
5962
5963 2008-04-13 David Hansen <david.hansen@gmx.net>
5964
5965 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5966 string.
5967
5968 2008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5969
5970 * m/hp800.h (XUINT, XSET): Remove.
5971
5972 2008-04-12 Juanma Barranquero <lekktu@gmail.com>
5973
5974 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5975 previous change.
5976
5977 2008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5978
5979 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5980 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5981
5982 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5983
5984 * keymap.h (map_keymap_canonical): Declare.
5985 * xmenu.c (single_keymap_panes): Use it.
5986
5987 2008-04-11 Glenn Morris <rgm@gnu.org>
5988
5989 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5990 set the target's value to that of the alias.
5991
5992 2008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5993
5994 * term.c (set_tty_color_mode): Left over typo.
5995
5996 2008-04-10 Michael Albinus <michael.albinus@gmx.de>
5997
5998 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
5999 only after check for file name handler functions. Signal, when
6000 native functionality is not supported.
6001 (syms_of_fileio): Declare it unconditionally.
6002
6003 2008-04-10 Jason Rumney <jasonr@gnu.org>
6004
6005 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
6006 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
6007
6008 * w32.c (logon_network_drive): Also logon to remote drives that
6009 are mapped to drive letters.
6010
6011 2008-04-10 Glenn Morris <rgm@gnu.org>
6012
6013 * xdisp.c (truncate-partial-width-windows): Doc fix.
6014
6015 2008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
6016
6017 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
6018 Move functions to minibuffer.el.
6019 (syms_of_fileio): Don't declare them.
6020
6021 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6022
6023 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
6024 (syms_of_minibuf): Remove its initialization.
6025
6026 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
6027
6028 2008-04-09 Juanma Barranquero <lekktu@gmail.com>
6029
6030 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
6031
6032 2008-04-09 Jason Rumney <jasonr@gnu.org>
6033
6034 * makefile.w32-in (distclean): Delete makefile too.
6035 (maintainer-clean): New target.
6036
6037 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
6038
6039 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
6040 for new font backend and composite cases.
6041
6042 2008-04-09 Jan Djärv <jan.h.d@swipnet.se>
6043
6044 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
6045 Most of the code moved to run_timers.
6046 (do_pending_atimers): Call run_timers.
6047 (run_timers): New function.
6048
6049 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
6050 run atimers.
6051
6052 * process.c (wait_reading_process_output): The same as above.
6053
6054 2008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
6055
6056 * minibuf.c (last_exact_completion): Remove variable.
6057 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
6058 (complete_and_exit_1, complete_and_exit_2)
6059 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
6060 (Fdisplay_completion_list, display_completion_list_1)
6061 (Fminibuffer_completion_help, Fself_insert_and_exit)
6062 (Fexit_minibuffer, Fminibuffer_message): Move functions to
6063 minibuffer.el.
6064 (syms_of_minibuf): Remove corresponding initializations.
6065
6066 * keyboard.c (Qdeactivate_mark): New var.
6067 (command_loop_1): Use it to call `deactivate-mark'.
6068 (syms_of_keyboard): Initialize it.
6069
6070 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
6071 to another frame.
6072 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
6073 Don't call set_tty_color_mode.
6074 (store_frame_param): Reset previous_frame rather than call
6075 set_tty_color_mode.
6076 * term.c (set_tty_color_mode): Rewrite.
6077 * dispextern.h (set_tty_color_mode): New type.
6078 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
6079
6080 2008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
6081
6082 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
6083 for generic chars, which do not exist any more in emacs-unicode.
6084
6085 2008-04-08 Michael Albinus <michael.albinus@gmx.de>
6086
6087 * coding.c (detect_coding_emacs_mule)
6088 (Ffind_operation_coding_system): Fix typo.
6089
6090 2008-04-08 Jason Rumney <jasonr@gnu.org>
6091
6092 * w32uniscribe.c (SNAME): Extract only symbol name.
6093
6094 * w32font.h (struct w32_metric_cache): New struct.
6095 (w32font_info): Use it.
6096 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
6097 (CACHE_BLOCKSIZE): New constants.
6098
6099 * w32font.c (Qja, Qko, Qzh): New symbols.
6100 (syms_of_w32font): Initialise them.
6101 (font_matches_spec): Use them to filter by language.
6102 (recompute_cached_metrics): Remove function.
6103 (compute_metrics, clear_cached_metrics): New functions.
6104 (w32font_encode_char): Use them to manage metric cache.
6105 (w32font_text_extents): Cache metrics for all glyphs on demand.
6106 Delay converting glyph indices to WORD until needed.
6107 (w32font_open_internal): Initialize metric cache to empty.
6108 (registry_to_w32_charset): Charset should always be a symbol.
6109 (fill_in_logfont, list_all_matching_fonts): Family should
6110 always be a symbol.
6111
6112 2008-04-06 Jason Rumney <jasonr@gnu.org>
6113
6114 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
6115 Give up if glyph indices not supported. Use uniscribe obtained
6116 ABC widths for individual metrics. Map glyph clusters back to
6117 characters using fClusterStart flag. Return number of glyphs
6118 produced, not chars processed.
6119 (uniscribe_shape): Map char at FROM to current glyph.
6120
6121 2008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6122
6123 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
6124 Use SetMenuItemHierarchicalMenu.
6125
6126 2008-04-05 Jason Rumney <jasonr@gnu.org>
6127
6128 * image.c (pbm_load): Allow color values up to 65535.
6129 Throw an error if max_color_idx is outside the supported range.
6130 Report an error when image size is invalid.
6131 Read two bytes at a time when raw images have max_color_idx above 255.
6132
6133 2008-04-05 Eli Zaretskii <eliz@gnu.org>
6134
6135 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6136 cFileName a file name that includes `?' characters, use the 8+3
6137 alias in cAlternateFileName instead.
6138
6139 2008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
6140
6141 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
6142 append "CCL: Quitted" when the CCL program is quitted.
6143 (setup_ccl_program): Initialize ccl->quit_silently to zero.
6144
6145 * ccl.h (struct ccl_program): New member quit_silently.
6146
6147 2008-04-05 Chong Yidong <cyd@stupidchicken.com>
6148
6149 * search.c (compile_pattern_1): Treat non-nil and non-string of
6150 search-spaces-regexp as nil.
6151
6152 * minibuf.c (Fassoc_string): Tweak docstring.
6153
6154 2008-04-05 Eli Zaretskii <eliz@gnu.org>
6155
6156 * dired.c (Ffile_attributes): Support inode numbers wider than 32
6157 bits. Remove ugly WINDOWSNT-specific kludge introduced on
6158 2008-03-14 to force inode be positive.
6159
6160 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
6161 _S_* ones, since we now use our own sys/stat.h.
6162 (stat, fstat): Don't mangle the inode number.
6163 (init_user_info): Don't restrict UID and GID to 0-60000 range.
6164
6165 2008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
6166
6167 * frame.h (struct frame): Give one more bit to `visible' since we use
6168 values larger than 1 to indicate obscured frames on ttys.
6169
6170 * keymap.c (Qkeymap_canonicalize): New var.
6171 (Fmap_keymap_internal): New fun.
6172 (describe_map): Use keymap-canonicalize.
6173
6174 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
6175 (Fundo_boundary): Set them.
6176 (syms_of_undo): Initialize them.
6177 (record_point): Use them instead of last_point_position*.
6178 (last_undo_buffer): Change type.
6179
6180 2008-04-04 Jason Rumney <jasonr@gnu.org>
6181
6182 * w32font.c (w32font_text_extents): Use font's ascent and descent.
6183 (recompute_cached_metrics): Don't set ascent and descent per char.
6184
6185 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
6186 (uniscribe_check_otf): Add GC protection before consing.
6187 Rearrange loop for counting features.
6188
6189 2008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
6190
6191 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
6192 buffer with byte-size of source buffer.
6193
6194 2008-04-03 Chong Yidong <cyd@stupidchicken.com>
6195
6196 * callint.c (Fcall_interactively): Handle temporary region even
6197 when shift-select-mode is off.
6198
6199 2008-04-03 Jason Rumney <jasonr@gnu.org>
6200
6201 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
6202
6203 2008-04-03 Kenichi Handa <handa@m17n.org>
6204
6205 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
6206 (CATEGORY_MASK_UTF_16): Likewise.
6207 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
6208 binary file.
6209 (detect_coding): Add null-byte detection for a binary file.
6210 (detect_coding_system): Likewise.
6211
6212 2008-04-03 Jason Rumney <jasonr@gnu.org>
6213
6214 * w32uniscribe.c: New file.
6215
6216 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
6217
6218 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
6219
6220 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
6221 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
6222 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
6223 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
6224 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
6225 (Qphonetic): New symbols.
6226 (syms_of_w32font): Initialize them.
6227 (font_supported_scripts): Use them.
6228 (w32font_list_family): List all charsets.
6229 (w32font_text_extents, recompute_cached_metrics): Fix metric
6230 calculations.
6231 (w32_enumfont_pattern_entity): Make full_type a DWORD.
6232 Give opentype fonts their own format.
6233 (font_matches_spec): New arguments backend and logfont.
6234 Handle :otf spec for uniscribe backend.
6235 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
6236 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
6237
6238 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
6239 font backend.
6240 (globals_of_w32fns): Initialize uniscribe font backend.
6241
6242 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
6243 dependencies.
6244 (w32uniscribe.$(O)): New file to build.
6245 (FONT_OBJ): Include w32uniscribe.$(O).
6246 (LIBS): Add uniscribe libraries.
6247
6248 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
6249
6250 2008-04-02 Chong Yidong <cyd@stupidchicken.com>
6251
6252 * callint.c (Vshift_select_mode): New var.
6253 (Finteractive): Document new ^ spec.
6254 (Fcall_interactively): Call handle-shift-selection if the ^ spec
6255 is present.
6256
6257 * keyboard.c (Vthis_command_keys_shift_translated): New var.
6258 (command_loop_1): Avoid running the direct display versions of
6259 forward-char and backward-char if shift-selection may occur.
6260 (read_key_sequence): Set Vthis_command_keys_shift_translated if
6261 shift-translation takes place.
6262
6263 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
6264 avoid clobbering by define-minor-mode.
6265
6266 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
6267 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
6268
6269 * syntax.c (Fforward_word): Add ^ interactive spec.
6270
6271 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
6272 (Fscroll_right): Add ^ interactive spec.
6273
6274 2008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
6275
6276 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
6277
6278 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
6279
6280 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
6281
6282 2008-03-31 Juri Linkov <juri@jurta.org>
6283
6284 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
6285
6286 2008-03-30 Jan Djärv <jan.h.d@swipnet.se>
6287
6288 * gtkutil.c (xg_set_geometry): Fix indentation.
6289 (xg_resize_outer_widget): Remove.
6290 (x_wm_size_hint_off): Fix indentation.
6291 (xg_frame_set_char_size): Call flush_and_sync after
6292 gtk_window_resize.
6293 (x_wm_set_size_hint): Pass NULL as geometry window to
6294 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
6295 Add menu bar and tool bar height to base height.
6296 (xg_update_frame_menubar, free_frame_menubar)
6297 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
6298 (update_frame_tool_bar, free_frame_tool_bar):
6299 Change xg_resize_outer_widget to xg_frame_set_char_size.
6300
6301 2008-03-30 Michael Albinus <michael.albinus@gmx.de>
6302
6303 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
6304 (Fdbus_call_method): New parameter TIMEOUT.
6305 (dbus-send-signal): Optimize UNGCPRO call.
6306
6307 2008-03-29 Juri Linkov <juri@jurta.org>
6308
6309 * window.c (Fdisplay_buffer): Move call to
6310 Vsplit_window_preferred_function out of conditions that check
6311 if window is eligible for vertical splitting.
6312 When Vsplit_window_preferred_function is non-nil, call it and use
6313 its non-nil return value as window. Otherwise, continue doing
6314 vertical splitting using Fsplit_window with arg horflag=nil.
6315 (syms_of_window) <Vsplit_window_preferred_function>: Change the
6316 default value from `split-window' to nil.
6317
6318 2008-03-29 Juri Linkov <juri@jurta.org>
6319
6320 * callint.c (Fcall_interactively): Revert 2008-03-16 change
6321 for interactive code letters 'b' and 'B'.
6322
6323 2008-03-29 Eli Zaretskii <eliz@gnu.org>
6324
6325 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
6326 multibyte string.
6327
6328 2008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
6329
6330 * keyboard.c (pending_funcalls): New var.
6331 (timer_check): Run it.
6332 (syms_of_keyboard): Initialize it.
6333 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
6334 (Vdelete_terminal_functions): New vars.
6335 (syms_of_terminal): Initialize them.
6336 (Fdelete_terminal): Run delete-terminal-functions.
6337 * xdisp.c (safe_eval): Rewrite.
6338 (safe_call2): New fun.
6339 * frame.c (Qdelete_frame_functions): New var.
6340 (syms_of_frame): Initialize it.
6341 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
6342 * lisp.h (safe_call2, pending_funcalls): Declare.
6343
6344 2008-03-28 Andreas Schwab <schwab@suse.de>
6345
6346 * indent.c (Fmove_to_column): Move declaration before statements.
6347
6348 2008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
6349
6350 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
6351 (struct frame): Use bit fields for boolean vars.
6352
6353 * process.c (server_accept_connection): Simplify naming.
6354 (emacs_get_tty_pgrp): Use SDATA.
6355
6356 * coding.c (decode_coding_object): Fix last change.
6357
6358 2008-03-27 Jason Rumney <jasonr@gnu.org>
6359
6360 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
6361
6362 2008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
6363
6364 * charset.c (Fdefine_charset_internal): Change the way of
6365 registering charsets in Vcharset_order_list.
6366 (syms_of_charset): Make the charset `eight-bit' supplementary.
6367
6368 2008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
6369
6370 * regex.c (EXTEND_BUFFER): Change order of pointer addition
6371 operations, to avoid having the difference between pointers
6372 overflow.
6373
6374 2008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
6375
6376 * indent.c (check_display_width): New fun.
6377 (scan_for_column): Use it.
6378
6379 * data.c (syms_of_data): Mark most-positive-fixnum and
6380 most-negative-fixnum as constants.
6381
6382 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
6383
6384 * indent.c (scan_for_column): Extract from current_column_1.
6385 Merge with the same code from Fmove_to_column.
6386 (current_column_1, Fmove_to_column): Use it.
6387
6388 2008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
6389
6390 * keymap.c (map_keymap_internal): New fun.
6391 (map_keymap): Use it.
6392 (Fmap_keymap_internal): New fun.
6393 (Fmap_keymap): Remove left-out test from before make_save_value.
6394
6395 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
6396
6397 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
6398 Use XCAR/XCDR.
6399
6400 * process.h (struct Lisp_Process): Remove filter_multibyte.
6401 * process.c (QCfilter_multibyte): Remove.
6402 (setup_process_coding_systems): Don't use filter_multibyte.
6403 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
6404 (read_process_output): Don't adjust multibyteness to filter_multibyte.
6405 (Fset_process_filter_multibyte): Change the coding-system to
6406 approximate the previous behavior.
6407 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
6408 coding-system.
6409
6410 * coding.c (decode_coding_object): When not decoding into a buffer,
6411 obey the coding system's preference of (uni|multi)byte.
6412
6413 2008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
6414
6415 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
6416 every char is changed and has a different byte-length.
6417 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
6418 Fix int -> EMACS_INT.
6419
6420 2008-03-23 David Hansen <david.hansen@gmx.net>
6421
6422 * dbusbind.c (xd_read_message): Remove extra copying of message
6423 strings. Check for NULL `interface' or `member'.
6424
6425 2008-03-22 Eli Zaretskii <eliz@gnu.org>
6426
6427 * w32.c (readdir): If FindFirstFile/FindNextFile return in
6428 cFileName a file name that includes `?' characters, use the 8+3
6429 alias in cAlternateFileName instead.
6430
6431 2008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
6432
6433 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
6434
6435 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6436
6437 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
6438 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
6439 work on current_buffer only instead (that was already the case
6440 for some of the code anyway).
6441 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
6442 (temp_set_point, temp_set_point_both): Use EMACS_INT.
6443 (SET_PT, SET_PT_BOTH): Adjust.
6444 * intervals.h (set_point, temp_set_point, set_point_both)
6445 (temp_set_point_both): Remove redundant declarations.
6446
6447 2008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
6448
6449 * fileio.c (Finsert_file_contents):
6450 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
6451 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
6452 when buffer != current_buffer anyway.
6453
6454 2008-03-20 Andreas Schwab <schwab@suse.de>
6455
6456 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
6457 as default.
6458
6459 2008-03-19 Jason Rumney <jasonr@gnu.org>
6460
6461 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
6462 (syms_of_w32fns): Initialize them.
6463 (HOURGLASS_ID): New constant.
6464 (x_window_to_frame): Don't check hourglass_window.
6465 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
6466 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
6467 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
6468 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
6469 Only change the cursor if hourglass is not active.
6470 (Fx_create_frame): Initialize frame's current_cursor.
6471 (hourglass_atimer): Remove.
6472 (hourglass_started): New function.
6473 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
6474 (show_hourglass): Adapt to w32, changing argument to frame.
6475
6476 * w32term.h (struct w32_output): Remove hourglass_window.
6477 Add current_cursor.
6478
6479 * eval.c (call_debugger, Fsignal):
6480 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
6481 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
6482 (Fexecute_extended_command, cancel_hourglass_unwind):
6483 * minibuf.c (read_minibuf):
6484 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
6485
6486 2008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
6487
6488 * window.c (run_funs): New fun.
6489 (run_window_configuration_change_hook): Use it to run the buffer-local
6490 and the global part of the hook.
6491
6492 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6493 (unwind_format_mode_line): Restore selected window.
6494 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6495
6496 2008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6497
6498 * editfns.c (Fchar_equal): Check they are valid characters.
6499
6500 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6501
6502 2008-03-17 Andreas Schwab <schwab@suse.de>
6503
6504 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6505 against a charset.
6506
6507 * lisp.h (Fbuffer_list): Declare.
6508
6509 2008-03-17 Jan Djärv <jan.h.d@swipnet.se>
6510
6511 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6512 handlebox_widget is != 0.
6513
6514 2008-03-16 Juri Linkov <juri@jurta.org>
6515
6516 * callint.c (Fcall_interactively): For interactive code letters
6517 'b' and 'B' put the buffer list into the list of default "future"
6518 values of the minibuffer.
6519
6520 2008-03-16 Andreas Schwab <schwab@suse.de>
6521
6522 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6523 modifiers.
6524
6525 * regex.c (re_match_2_internal): Correct matching of a charset
6526 against latin-1 characters.
6527
6528 2008-03-16 Kenichi Handa <handa@m17n.org>
6529
6530 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6531 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
6532 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6533 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
6534 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6535 CHAR_STRING_ADVANCE.
6536 (produce_chars): Fix for the case that the source and the
6537 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6538 instead of CHAR_STRING_ADVANCE.
6539 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6540 STRING_CHAR_ADVANCE.
6541
6542 2008-03-15 Andreas Schwab <schwab@suse.de>
6543
6544 * regex.c (re_match_2_internal): Correct matching of eight bit
6545 characters in unibyte strings.
6546
6547 2008-03-15 Martin Rudalics <rudalics@gmx.at>
6548
6549 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6550 at end of range when it coincides with the end of the buffer.
6551
6552 2008-03-14 Eli Zaretskii <eliz@gnu.org>
6553
6554 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6555
6556 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6557
6558 2008-03-14 Jason Rumney <jasonr@gnu.org>
6559
6560 * editfns.c (initial_tz): New variable.
6561 (syms_of_editfns): Initialize it.
6562 (Fset_time_zone_rule): Set it when first called.
6563 Use it when TZSTRING is nil.
6564
6565 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6566 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6567 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6568 (globals_of_w32fns): Initialize them.
6569 (compute_tip_xy): Use them to position tooltips.
6570
6571 2008-03-14 Glenn Morris <rgm@gnu.org>
6572
6573 * emacs.c (main): Revert previous change.
6574 (standard_args): Revert -internal-script back to -scriptload,
6575 and remove the long-option form.
6576
6577 2008-03-13 Glenn Morris <rgm@gnu.org>
6578
6579 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6580 Remove option -enable-font-backend.
6581
6582 2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6583
6584 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6585
6586 2008-03-11 Jan Djärv <jan.h.d@swipnet.se>
6587
6588 * xterm.c (x_connection_closed): For GTK: If this is the last
6589 terminal just exit without closing the display.
6590
6591 2008-03-11 Jason Rumney <jasonr@gnu.org>
6592
6593 * w32font.c (w32font_full_name): Use floor to round.
6594
6595 2008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
6596
6597 * sound.c (alsa_configure): Declare vol at beginning of block.
6598
6599 * fontset.c (Ffontset_info): Remove extra semicolon.
6600
6601 2008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
6602
6603 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6604 size of resulting string.
6605
6606 2008-03-10 Jason Rumney <jasonr@gnu.org>
6607
6608 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
6609
6610 2008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6611
6612 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6613 Don't pretend as if characters with display property haven't been
6614 consumed for string-replacing-string case.
6615
6616 2008-03-08 Kim F. Storm <storm@cua.dk>
6617
6618 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6619 (get_next_display_element, next_element_from_string)
6620 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6621
6622 2008-03-08 Andreas Schwab <schwab@suse.de>
6623
6624 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6625
6626 2008-03-06 Jason Rumney <jasonr@gnu.org>
6627
6628 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6629 when charset not specified. Only translate ANSI to unicode when
6630 font_type is truetype.
6631 (w32font_coverage_ok): New function.
6632 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6633
6634 2008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6635
6636 * lread.c (Fread_char): Resolve modifiers.
6637 (Fread_char_exclusive): Likewise.
6638
6639 * character.c (char_resolve_modifier_mask): New function.
6640 (char_string): Use char_resolve_modifier_mask.
6641 (Fchar_resolve_modifiers): New function.
6642 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6643 function.
6644
6645 2008-03-04 Jason Rumney <jasonr@gnu.org>
6646
6647 * makefile.w32-in: Always include w32font.c in the build.
6648 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6649
6650 2008-03-04 Andreas Schwab <schwab@suse.de>
6651
6652 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6653 (versionclean): Likewise.
6654
6655 2008-03-04 Juanma Barranquero <lekktu@gmail.com>
6656
6657 * .cvsignore: Add oo.
6658
6659 2008-03-03 Andreas Schwab <schwab@suse.de>
6660
6661 * coding.c (decode_coding_object): Inhibit gap shrinking while
6662 decoding in place.
6663
6664 2008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6665
6666 * w32term.c: Remove unused include "gnu.h".
6667 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
6668
6669 * gnu.h: Rename to ...
6670 * emacs-icon.h: ... this.
6671 * xterm.c: Use emacs-icon.h instead of gnu.h.
6672 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6673
6674 2008-03-03 Juanma Barranquero <lekktu@gmail.com>
6675
6676 * w32font.c: Include math.h.
6677
6678 2008-03-03 Jason Rumney <jasonr@gnu.org>
6679
6680 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6681 Compute options separately.
6682 (w32font_open_internal): Set glyph_idx before caching metrics.
6683
6684 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6685 Define if system headers don't.
6686 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
6687 (w32font_encode_char): Don't declare here.
6688
6689 * w32font.c (Quniscribe, QCformat): New symbols.
6690 (syms_of_w32font): Define them.
6691 (w32font_has_char): Indicate uncertainty.
6692 (w32font_encode_char): Encode as glyph point. Make static.
6693 (recompute_cached_metrics): New function.
6694 (w32font_open_internal): Use it. Set font to use glyph points
6695 initially. Set format based on type of font.
6696 (w32font_text_extents, w32font_draw): Optionally use glyph points.
6697 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6698 on it. Set format based on information available here.
6699 (add_font_entity_to_list): Identify backend based on opentype_only.
6700
6701 2008-03-02 Andreas Schwab <schwab@suse.de>
6702
6703 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6704
6705 * coding.c (decode_coding_big5, produce_chars):
6706 Fix typos in last change.
6707
6708 2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6709
6710 * gnu.h: New icon.
6711
6712 2008-03-02 Kenichi Handa <handa@m17n.org>
6713
6714 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6715 `dos', don't decode '\r' if that is the last in the source.
6716 (decode_coding_utf_16, decode_coding_emacs_mule)
6717 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6718 (decode_coding_raw_text, decode_coding_charset): Likewise.
6719 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6720
6721 2008-03-01 Jason Rumney <jasonr@gnu.org>
6722
6723 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6724
6725 2008-03-01 Kim F. Storm <storm@cua.dk>
6726
6727 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6728
6729 2008-03-01 Jason Rumney <jasonr@gnu.org>
6730
6731 * w32font.c (w32font_full_name): New function.
6732 (w32font_open_internal): Use it.
6733
6734 2008-03-01 Kim F. Storm <storm@cua.dk>
6735
6736 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6737
6738 2008-03-01 Jason Rumney <jasonr@gnu.org>
6739
6740 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6741
6742 2008-03-01 Jan Djärv <jan.h.d@swipnet.se>
6743
6744 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6745 xg_frame_resized when the event is for the edit widget.
6746
6747 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6748
6749 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6750 set_char_size.
6751 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6752 operations on widgets here. Just set frame size if needed.
6753 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6754 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6755 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6756 the whole frame.
6757 (xg_create_tool_bar): Move attachment of the tool bar to
6758 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6759 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6760
6761 2008-03-01 Jason Rumney <jasonr@gnu.org>
6762
6763 * w32fns.c (w32_msg_pump): Disable debug code.
6764
6765 2008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6766
6767 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
6768
6769 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
6770
6771 * xdisp.c (next_overlay_string): Don't set
6772 overlay_strings_at_end_processed_p if we're currently reading from
6773 a display string.
6774
6775 2008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6776
6777 * xdisp.c (get_overlay_strings_1): Fix typo.
6778
6779 2008-02-29 Chong Yidong <cyd@stupidchicken.com>
6780
6781 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6782
6783 2008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6784
6785 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6786
6787 * xdisp.c (display_mode_element): Cancel the previous change.
6788 (decode_mode_spec): Likewise.
6789 (handle_auto_composed_prop): Don't make composition if it->string
6790 is a string.
6791
6792 2008-02-27 Kim F. Storm <storm@cua.dk>
6793
6794 * lisp.h (GLYPH): Change type from int to struct with separate char
6795 and face_id members.
6796 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6797 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6798 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6799 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6800 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6801 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6802 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6803 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6804 handle new Lisp glyph code encoding, either an integer or a cons.
6805
6806 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6807 (GLYPH_ALIAS): Delete.
6808 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6809 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6810 (GLYPH_FROM_CHAR): Replace macro by ...
6811 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6812
6813 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6814 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6815 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6816 (GLYPH_INVALID_P): New macro.
6817 (spec_glyph_lookup_face): Update prototype.
6818
6819 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6820 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6821 new glyph code encoding.
6822 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6823 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6824
6825 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6826 Adapt to new glyph type and new glyph code encoding.
6827
6828 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6829
6830 * indent.c (current_column, current_column_1, Fmove_to_column)
6831 (compute_motion): Adapt to new glyph code encoding.
6832
6833 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6834
6835 2008-02-27 Chong Yidong <cyd@stupidchicken.com>
6836
6837 * process.c (wait_reading_process_output): Check for window
6838 changes caused by timers.
6839 Suggested by Johan Bockgård.
6840
6841 2008-02-27 Glenn Morris <rgm@gnu.org>
6842
6843 * emacs.c (USAGE1): Add `--disable-font-backend'.
6844
6845 2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6846
6847 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6848 is made to the buffer.
6849
6850 2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6851
6852 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6853 (face_at_string_position):
6854 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6855 (face_at_string_position):
6856 * xdisp.c (display_string, next_overlay_change):
6857 * buffer.h (overlays_at):
6858 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6859 Update callers.
6860
6861 2008-02-26 Chong Yidong <cyd@stupidchicken.com>
6862
6863 * editfns.c (Fformat): Doc fix.
6864
6865 2008-02-26 Juanma Barranquero <lekktu@gmail.com>
6866
6867 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6868 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6869 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6870
6871 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6872
6873 * buffer.c (Fbuffer_swap_text): New function.
6874 (syms_of_buffer): Defsubr it.
6875
6876 2008-02-25 Chong Yidong <cyd@stupidchicken.com>
6877
6878 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6879
6880 2008-02-25 Jason Rumney <jasonr@gnu.org>
6881
6882 * w32font.c (w32font_draw): Draw one character at a time when padding.
6883
6884 2008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6885
6886 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6887 Handle a nil arg. Use run_window_configuration_change_hook.
6888 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6889 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6890 Use run_window_configuration_change_hook.
6891
6892 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6893
6894 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6895 1-pixel width.
6896
6897 2008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6898
6899 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6900 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6901 if the glyph in the font is zero pixel with.
6902
6903 * dispextern.h (struct glyph_string): New member padding_p.
6904
6905 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6906
6907 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6908
6909 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6910
6911 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6912
6913 * font.c: If the font driver doesn't have `shape' function, return Qnil.
6914
6915 2008-02-25 Jason Rumney <jasonr@gnu.org>
6916
6917 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
6918
6919 2008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6920
6921 Allow fine-grained image-cache flushing.
6922 * dispextern.h (struct image): Add `dependencies' field.
6923 (clear_image_caches): Change arg to Lisp_Object.
6924 * image.c (make_image): Initialize `dependencies' field.
6925 (clear_image_cache): Change arg to allow fine-grained flushing.
6926 Perform the flush even if image-cache-eviction-delay is nil.
6927 (clear_image_caches): Change arg to Lisp_Object.
6928 (Fclear_image_cache): Expand meaning of the argument.
6929 (mark_image): Mark `dependencies' field.
6930 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6931 (lface_hash): Use XHASH rather than XFASTINT.
6932 (face_at_buffer_position): Fix int -> EMACS_INT position.
6933 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6934 (select_frame_for_redisplay): Remove code duplication.
6935 (redisplay_internal): Adapt arg to call to clear_image_caches.
6936
6937 2008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6938
6939 * s/vms4-0.h:
6940 * s/vms4-2.h:
6941 * s/vms4-4.h:
6942 * s/vms5-5.h: Remove, unused.
6943
6944 * s/irix5-2.h:
6945 * s/irix6-0.h:
6946 * s/riscos5.h:
6947 * s/mach-bsd4-3.h:
6948 * m/mips4.h: Remove files for obsolete systems.
6949
6950 * Makefile.in:
6951 * filelock.c:
6952 * unexmips.c:
6953 * m/hp9000s300.h:
6954 * m/iris4d.h:
6955 * s/aix3-1.h:
6956 * s/hpux.h:
6957 * s/msdos.h:
6958 * s/usg5-0.h:
6959 * s/usg5-2-2.h:
6960 * s/usg5-2.h:
6961 * s/usg5-3.h: Remove references to obsolete variables.
6962
6963 * s/irix5-0.h: Remove, move all the contents ...
6964 * s/irix6-5.h: ... here. Simplify.
6965 * config.in: Regenerate.
6966
6967 2008-02-24 Jason Rumney <jasonr@gnu.org>
6968
6969 * w32term.c (x_draw_glyph_string_background): Clear the background
6970 manually when cleartype is in use.
6971 (x_draw_glyph_string_foreground): Draw text transparently when
6972 cleartype is in use.
6973
6974 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6975 a font into it unless we have to.
6976
6977 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6978
6979 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6980 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
6981
6982 2008-02-18 Jason Rumney <jasonr@gnu.org>
6983
6984 * w32fns.c (Fw32_shell_execute): Encode parameters.
6985
6986 2008-02-09 Eli Zaretskii <eliz@gnu.org>
6987
6988 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
6989
6990 2008-02-05 Juanma Barranquero <lekktu@gmail.com>
6991
6992 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
6993
6994 2008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6995
6996 * xterm.c (x_set_offset): Don't change the gravity if
6997 CHANGE_GRAVITY is -1.
6998
6999 2008-02-23 Chong Yidong <cyd@stupidchicken.com>
7000
7001 * fileio.c (auto_save_error_occurred): New var.
7002 (auto_save_error): Set it.
7003 (Fdo_auto_save): Don't overwrite the error message if an auto-save
7004 error occurred.
7005
7006 2008-02-23 Eli Zaretskii <eliz@gnu.org>
7007
7008 * w32.c (globals_of_w32): Add initializations for
7009 g_b_init_get_sid_sub_authority and
7010 g_b_init_get_sid_sub_authority_count.
7011
7012 2008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
7013
7014 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
7015 (font_parse_xlfd): Use them for sanity check.
7016 (Finternal_set_font_style_table): Make sure the table is bijective.
7017
7018 Consolidate the image_cache to the terminal struct.
7019 * termhooks.h (P_): Remove redundant def.
7020 (struct terminal): New field `image_cache'.
7021 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
7022 of FRAME_X_IMAGE_CACHE.
7023 * xterm.h (struct x_display_info): Remove image_cache field.
7024 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7025 * w32term.h (struct w32_display_info): Remove image_cache field.
7026 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7027 * macterm.h (struct mac_display_info): Remove image_cache field.
7028 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
7029 * xterm.c (x_term_init):
7030 * w32term.c (w32_term_init):
7031 * macterm.c (mac_term_init): Set the image_cache in the terminal.
7032 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
7033 Remove declarations.
7034 (clear_image_caches, mark_image_cache): New declarations.
7035 * xfaces.c (clear_face_cache):
7036 * xdisp.c (redisplay_internal): Use clear_image_caches.
7037 * image.c (clear_image_cache): Don't check that a frame is on
7038 a window-system before checking if it shares the same cache.
7039 (clear_image_caches): New function.
7040 (Fclear_image_cache): Use it.
7041 (mark_image): Move from allo.c.
7042 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
7043 * alloc.c (mark_image, mark_image_cache): Move to image.c.
7044 (mark_object): Don't call mark_image_cache for frames.
7045 (mark_terminals): Call mark_image_cache.
7046
7047 * lisp.h (Fdelete_terminal): Declare.
7048
7049 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
7050 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
7051 wrong_type_argument.
7052
7053 2008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
7054
7055 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
7056 malayalam.el, and tamil.el. Add sinhala.el.
7057
7058 2008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
7059
7060 * xterm.c (x_connection_closed): Consolidate identical tests.
7061 (x_delete_terminal): Don't crash if called via x_connection_closed.
7062
7063 2008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
7064
7065 * xdisp.c (decode_mode_spec): New arg string.
7066 (display_mode_element): Adjust for the above change.
7067
7068 2008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7069
7070 * callint.c (Fcall_interactively): Use AREF.
7071
7072 2008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
7073
7074 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
7075
7076 2008-02-18 Jan Djärv <jan.h.d@swipnet.se>
7077
7078 * xfns.c (Fx_show_tip): Set string to " " if empty.
7079
7080 2008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
7081
7082 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
7083 with Qt.
7084
7085 2008-02-17 Kenichi Handa <handa@m17n.org>
7086
7087 * ftfont.c (ftfont_shape): Return Lispy number.
7088
7089 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
7090 for GCs.
7091 (Finternal_set_font_selection_order): Call font_update_sort_order
7092 only when enable_font_backend is set.
7093 (realize_x_face): Set face->font_info to that of default face only
7094 when enable_font_backend is set.
7095
7096 * xdisp.c (handle_composition_prop): Set it->c to the fist
7097 character of the composed region.
7098 (fill_composite_glyph_string): Set base_face->font_info to
7099 s->font_info. Get a face for ascii from base_face->ascii_face.
7100 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
7101 with a face already decided.
7102 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
7103 non-negative.
7104 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
7105 call font_prepare_composition unconditionally.
7106
7107 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
7108
7109 * xterm.h (struct x_display_info): New member font.
7110
7111 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
7112 (x_set_mouse_face_gc, x_new_font): Likewise.
7113 (x_term_init): Setup display_info->font.
7114 (x_delete_terminal): Free display_info->font.
7115
7116 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
7117
7118 * ftxfont.c (ftxfont_default_fid): Delete it.
7119 (ftxfont_open): Set xfont->fid to 0.
7120 (ftxfont_end_for_frame): Clear data specific to the frame and the
7121 font-driver.
7122
7123 * xftfont.c (xftfont_default_fid): Delete it.
7124 (xftfont_open): Set xfont->fid to 0.
7125
7126 * fontset.c (FONTSET_OBJLIST): New macro.
7127 (fontset_find_font): Update font-object list of the fontset.
7128 (free_realized_fontset): New function.
7129 (free_face_fontset): Call free_realized_fontset.
7130 (Ffont_info): Call font_close_object only when enable_font_backend
7131 is set.
7132
7133 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
7134 [HAVE_NTGUI]: Include w32term.h.
7135 [MAC_OS]: Include macterm.ch.
7136 (font_otf_ValueRecord): Use make_number.
7137 (font_finish_cache): Fix handling of reference count.
7138 (font_clear_cache): Update num_fonts.
7139 (font_open_entity): Update smallest_char_width and
7140 smallest_font_height of the frame.
7141 (font_close_object): Update num_fonts.
7142 (Fclear_font_cache): Fix finding the target cache data.
7143
7144 2008-02-16 Glenn Morris <rgm@gnu.org>
7145
7146 * fontset.c (Finternal_char_font): Fix compilation warning.
7147
7148 2008-02-16 Eli Zaretskii <eliz@gnu.org>
7149
7150 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
7151 instead of char arrays. Enlarge the size of array passed to
7152 get_token_information.
7153
7154 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
7155 warnings.
7156
7157 2008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
7158
7159 * .gdbinit: Don't set `args', it breaks gdb --args.
7160
7161 2008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
7162
7163 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
7164 within a narrowed buffer.
7165
7166 2008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
7167
7168 * coding.c (decode_coding_object, encode_coding_object):
7169 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
7170
7171 2008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
7172
7173 * coding.c (coding_set_destination): Use BEG_BYTE rather than
7174 hardcoding 1.
7175 (detect_coding_system):
7176 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
7177 (string_char_to_byte, string_byte_to_char, insert_from_gap):
7178 * insdel.c (insert_from_gap):
7179 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
7180 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
7181 (string_to_multibyte):
7182 * character.c (chars_in_text, multibyte_chars_in_text):
7183 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
7184
7185 * character.h (FETCH_STRING_CHAR_ADVANCE)
7186 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
7187 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
7188 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
7189
7190 * casefiddle.c (casify_region): Only call after-change and composition
7191 functions on the part of the region that was changed.
7192
7193 * keyboard.c (read_avail_input):
7194 * frame.c (Fdelete_frame): Call Fdelete_terminal.
7195
7196 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7197
7198 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
7199 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
7200
7201 2008-02-11 Juanma Barranquero <lekktu@gmail.com>
7202
7203 * w32menu.c (push_submenu_start, push_submenu_end)
7204 (push_left_right_boundary, push_menu_pane, push_menu_item):
7205 * keyboard.c (read_key_sequence): Don't pass args with side effects
7206 to AREF, it fails when compiling with -DENABLE_CHECKING.
7207
7208 2008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
7209
7210 * Makefile.in (${lispsource}international/charprop.el):
7211 Delete this target.
7212
7213 * search.c (boyer_moore): Fix incorrect synching of the trunk and
7214 emacs-unicode-2.
7215
7216 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7217
7218 * terminal.c (Fdelete_terminal): Clean up the `force' path.
7219
7220 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7221
7222 * frame.c (Qnoelisp): New symbol.
7223 (syms_of_frame): Initialize it.
7224 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
7225 harmless Elisp code, from a strong `force' from x_connection_closed.
7226 * frame.h (Qnoelisp): Declare.
7227 * xterm.c (x_connection_closed): Pass `noelisp'.
7228
7229 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
7230 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
7231 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
7232 rather than `int' for the type of `type'.
7233
7234 2008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
7235
7236 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
7237
7238 * Makefile.in (GNUC): Remove support for gcc-1.x.
7239
7240 2008-02-10 Richard Stallman <rms@gnu.org>
7241
7242 * lisp.h (ASET): Use AREF, not ASLOT.
7243
7244 2008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
7245
7246 * lisp.h (ASET): Check bounds.
7247
7248 2008-02-10 Glenn Morris <rgm@gnu.org>
7249
7250 * buffer.c (mode-name): Doc fix.
7251
7252 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7253
7254 * Makefile.in:
7255 * emacs.c:
7256 * gmalloc.c:
7257 * keyboard.c:
7258 * lisp.h:
7259 * m/ibm370aix.h:
7260 * process.c:
7261 * regex.c:
7262 * s/hpux.h:
7263 * sysdep.c:
7264 * sysselect.h:
7265 * systty.h:
7266 * unexec.c:
7267 * w32term.c:
7268 * xsmfns.c:
7269 * xterm.c: Remove code that deals with obsolete variables.
7270
7271 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
7272
7273 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
7274 nothing else needs it anymore.
7275
7276 2008-02-09 Eli Zaretskii <eliz@gnu.org>
7277
7278 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
7279 instead of unibyte_char_to_multibyte.
7280
7281 2008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
7282
7283 * s/gnu-linux.h: Remove commented out code.
7284
7285 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
7286
7287 * Makefile.in: Update what RMS says about using autoconf.
7288 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
7289 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
7290 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
7291 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
7292
7293 2008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
7294
7295 * keymap.c (Fkey_description): Move side effect outside of macro call.
7296
7297 * xfaces.c (Finternal_make_lisp_face):
7298 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
7299
7300 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
7301 (syms_of_fontset): Use ASET.
7302
7303 * fns.c (concat): Move side effect outside of macro call.
7304 (hash_clear): Use ASET.
7305
7306 2008-02-08 Richard Stallman <rms@gnu.org>
7307
7308 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
7309 If FORCE, and frame has a surrogate minibuffer for another frame,
7310 delete the other frame first.
7311
7312 2008-02-07 Timo Savola <timo.savola@iki.fi>
7313
7314 * xterm.c (x_detect_focus_change): Handle embed client message.
7315 (handle_one_xevent): Ditto.
7316 (handle_one_xevent): If embedded and we get a button press/release,
7317 request focus.
7318 (xembed_set_info, xembed_send_message): New functions.
7319 (x_make_frame_visible): Call xembed_set_info if embedded.
7320 (x_make_frame_invisible): Call xembed_set_info if embedded.
7321 (x_term_init): Initialize Xatom_XEMBED.
7322 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
7323 (x_iconify_frame): Ditto.
7324
7325 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
7326 (enum xembed_info, enum xembed_message, enum xembed_focus)
7327 (enum xembed_modifier, enum xembed_accelerator): New.
7328 (xembed_set_info, xembed_send_message): Declare.
7329 (FRAME_X_EMBEDDED_P): New.
7330
7331 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
7332 gtk_plug_new.
7333
7334 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
7335 window ID of a frame.
7336 (x_window): Reparent frame if embedded.
7337 (Fx_create_frame): Don't set border width if embedded.
7338
7339 * emacs.c (USAGE3): Add --parent-id.
7340 (standard_args): Ditto.
7341
7342 2008-02-07 Jan Djärv <jan.h.d@swipnet.se>
7343
7344 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
7345
7346 2008-02-07 Jim Meyering <meyering@redhat.com>
7347
7348 Use "do...while (0)", not "if (1)...else" in macro definitions.
7349 The latter provokes a warning from gcc about the empty else, when
7350 followed by ";". Also, without that trailing semicolon, it would
7351 silently swallow up any following statement.
7352 * syntax.h (SETUP_SYNTAX_TABLE)
7353 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
7354 * buffer.h (DECODE_POSITION): Likewise.
7355 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
7356 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
7357 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
7358 (FETCH_CHAR_ADVANCE): Likewise.
7359 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
7360
7361 2008-02-07 Jim Meyering <meyering@redhat.com>
7362
7363 * lread.c [lint]: Don't include <sys/inode.h>.
7364
7365 2008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
7366
7367 * xselect.c (x_handle_dnd_message):
7368 * xmenu.c (digest_single_submenu, xmenu_show):
7369 * xdisp.c (with_echo_area_buffer_unwind_data)
7370 (format_mode_line_unwind_data, unwind_format_mode_line)
7371 (display_menu_bar):
7372 * eval.c (Ffetch_bytecode):
7373 * doc.c (store_function_docstring):
7374 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
7375 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
7376 * buffer.c (add_overlay_mod_hooklist): Use ASET.
7377
7378 2008-02-07 Kenichi Handa <handa@m17n.org>
7379
7380 * ftxfont.c (ftxfont_open): Don't set
7381 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
7382
7383 * ftfont.c (ftfont_open): Fix previous change.
7384
7385 2008-02-06 Jason Rumney <jasonr@gnu.org>
7386
7387 * w32font.c (w32font_text_extents): Fill in lbearing metric.
7388 Use cached metrics for ASCII characters.
7389 (w32font_open_internal): Don't set font's owning_frame.
7390 Cache metrics for ASCII characters.
7391
7392 * w32font.h (struct w32font_info): Add ascii_metrics.
7393 Remove owning_frame.
7394
7395 2008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
7396
7397 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
7398 to negative value.
7399
7400 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
7401
7402 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
7403
7404 * charset.c (syms_of_charset): Set QCtest and Qeq.
7405
7406 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
7407
7408 * process.c (Fstart_process):
7409 * callproc.c (Fcall_process): Handle the case where
7410 Funhandled_file_name_directory returns nil.
7411
7412 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
7413 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
7414 * font.c (check_gstring): Use them and AREF to access the vector before
7415 we know it's really a gstring.
7416 (Ffont_shape_text): Fix typo.
7417 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
7418
7419 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
7420 Declare.
7421
7422 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
7423
7424 2008-02-05 Jason Rumney <jasonr@gnu.org>
7425
7426 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
7427 Set smallest_font_height and smallest_char_width in display info.
7428
7429 2008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
7430
7431 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
7432
7433 2008-02-05 Miles Bader <miles@gnu.org>
7434
7435 * xfaces.c (get_lface_attributes, merge_named_face)
7436 (lookup_named_face, lookup_derived_face, realize_named_face):
7437 Revert 2008-02-01 change by cyd@stupidchicken.com.
7438
7439 2008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
7440
7441 * fontset.c (Ffontset_info): Handle the case of inhibitting the
7442 fallback fonts.
7443 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
7444
7445 2008-02-04 Jason Rumney <jasonr@gnu.org>
7446
7447 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
7448 set full_name.
7449 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
7450
7451 2008-02-03 Jason Rumney <jasonr@gnu.org>
7452
7453 * makefile.w32-in (OBJ1): Include font.o here.
7454 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
7455
7456 2008-02-02 Jason Rumney <jasonr@gnu.org>
7457
7458 * makefile.w32-in (temacs): Bump EMHEAP to 21.
7459
7460 2008-02-01 Jason Rumney <jasonr@gnu.org>
7461
7462 * s/cygwin.h: Define VIRT_ADDR_VARIES.
7463
7464 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
7465
7466 2008-02-01 Andreas Schwab <schwab@suse.de>
7467
7468 * Makefile.in (shortlisp, lisp): Update for rename of
7469 ../lisp/language/myanmar.el.
7470
7471 2008-02-01 Chong Yidong <cyd@stupidchicken.com>
7472
7473 * xfaces.c (get_lface_attributes): Delete function.
7474 (merge_named_face, lookup_named_face, lookup_derived_face)
7475 (realize_named_face): Call lface_from_face_name directly, and use
7476 the fact that merge_face_vectors does not alter its FROM argument.
7477
7478 2008-02-01 Jason Rumney <jasonr@gnu.org>
7479
7480 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
7481 input in the default locale. Handle non-Unicode multibyte input.
7482
7483 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7484
7485 * fontset.c (reorder_font_vector): Exclude nil elements from the
7486 font group. Don't try multiple fonts.
7487 (fontset_font): Adjust for the above change.
7488 (Finternal_char_font): Return nil if the found font doesn't
7489 contain the character ch.
7490
7491 * Makefile.in (lisp, shortlisp): Add cham.el.
7492
7493 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7494
7495 * font.h (FONTP): Make it return 1 also for a font-object.
7496
7497 * .gdbinit (xfontset): New function.
7498
7499 * font.c (font_find_for_lface): Check if the character C is
7500 supported or not only for the first font.
7501
7502 * fontset.c (reorder_font_vector): Fix typo.
7503 (fontset_find_font): Don't add a font-spec specifying a script.
7504 Use 0 (not Qt) for the indication of empty font-group. Change the
7505 format of RFONT-DEF. Return Qt if no font in the font-group
7506 support the character.
7507 (fontset_font): Adjust for the above change. If no font was
7508 found the character, remember that.
7509 (face_for_char): Adjust for the change of RFONT-DEF.
7510 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7511 no font for the target.
7512 (Finternal_char_font): Adjust for the change of RFONT-DEF.
7513
7514 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7515
7516 * font.c (font_load_for_face): Handle the case that the font in
7517 face->lface is a string.
7518
7519 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7520
7521 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
7522
7523 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7524
7525 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7526 Fix previous change. If the frame is not on a window system,
7527 signal an error.
7528
7529 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7530
7531 * coding.c (decode_coding_object, encode_coding_object): Adjust
7532 marker positions after conversion.
7533
7534 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7535
7536 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7537
7538 * font.c (font_find_for_lface): Fix the handling of the return
7539 value of font_has_char.
7540 (Ffont_shape_text): Fix previous change.
7541
7542 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7543 (fontset_ref_and_range): Delete it.
7544 (fontset_find_font): Call char_table_ref_and_range instead of
7545 FONTSET_REF_AND_RANGE.
7546 (make_fontset): Don't setup font groups of Latin here.
7547 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7548 (new_fontset_from_font): Make the specified font the default for
7549 all Latin characters.
7550
7551 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7552
7553 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7554 is on a window system before accessing the fontset of the frame.
7555
7556 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7557
7558 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
7559
7560 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7561 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7562
7563 * font.c (Ffont_shape_text): If the font driver doesn't have a
7564 shaper function, make zero-width glyphs to have at least one-pixel
7565 width. Fix setting of `to' field of glyphs.
7566
7567 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7568
7569 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7570 glyphs.
7571
7572 * font.h (struct font_driver): Improve docstring of member `shape'.
7573
7574 2008-02-01 Kenichi Handa <handa@m17n.org>
7575
7576 * composite.c (syms_of_composite): Fix docstring of
7577 auto-composition-function.
7578
7579 * font.h (LGLYPH_SIZE): New macro.
7580
7581 * font.c (Ffont_fill_gstring): Stop filling when a character not
7582 supported by the font is found.
7583 (Ffont_shape_text): When a shape callback function returns nil,
7584 try at most two more times with larger gstring.
7585 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
7586
7587 * xdisp.c (handle_auto_composed_prop): Change the argument to
7588 auto-composition-function.
7589
7590 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7591 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7592 Lispy glyph and store it in the lgstring.
7593
7594 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7595
7596 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7597
7598 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7599
7600 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7601
7602 * fontset.c (Vfont_encoding_charset_alist): New variable.
7603 (syms_of_fontset): DEFVAR it.
7604 (reorder_font_vector, fontset_find_font): Optimize for the case of
7605 no need of reordering.
7606 (face_for_char): Map the charset property by
7607 Vfont_encoding_charset_alist.
7608
7609 2008-02-01 Jason Rumney <jasonr@gnu.org>
7610
7611 * w32font.c (logfonts_match): Don't check adstyle here.
7612 (font_matches_spec): Check here against physical font instead.
7613 (add_font_entity_to_list): Avoid some substitutions.
7614
7615 * font.c (font_parse_fcname): Default weight and slant to normal.
7616 (font_score): Prefer normal fonts if weight or slant unspecified.
7617 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7618 match freetype scores.
7619
7620 2008-02-01 Jason Rumney <jasonr@gnu.org>
7621
7622 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7623 font, as it may have been deleted.
7624 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7625 most common hyphenless variation.
7626 (logfonts_match): Check generic family.
7627 (font_matches_spec): Don't check generic family here.
7628 (fill_in_logfont): Set generic family based on adstyle.
7629
7630 * w32font.h (w32font_get_cache): Update declaration.
7631
7632 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7633
7634 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7635
7636 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
7637 If none of the new drivers are available, call font_update_drivers
7638 with the old drivers.
7639
7640 * w32font.c (w32font_get_cache): Adjust the argument type.
7641
7642 * xfont.c (xfont_get_cache): Adjust the argument type.
7643
7644 * font.h (struct font_driver): Change argument type of get_cache.
7645
7646 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7647
7648 * font.c (Ffont_get): Fix arguments to Fassoc.
7649 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
7650 (font_clear_cache): New function.
7651 (font_list_entities, font_matching_entity): Use font_get_cache.
7652 (font_update_drivers): Call font_clear_cache when finishing a driver.
7653
7654 * fontset.c (fontset_find_font): Fix previous change.
7655
7656 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7657
7658 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7659 dpyinfo->font_table.
7660 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
7661 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
7662
7663 * font.c (font_at): Handle the case that the arg C is negative.
7664 Handle the unibyte case.
7665 (Ffont_at): Call font_at with the arg C -1.
7666
7667 * xdisp.c (handle_auto_composed_prop): Don't get a character at
7668 the position here, and call font_at with the arg C -1.
7669 Don't check the range of the existing composition at the point.
7670
7671 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7672
7673 * fontset.c (fontset_add): New args charset_id and family.
7674 Change caller.
7675 (load_font_get_repertory, fontset_find_font): Assume that
7676 font_spec is always a font-spec object.
7677 (Fset_fontset_font): Always store a font-spec object in a fontset.
7678
7679 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7680 instead of get_property_and_range.
7681
7682 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7683
7684 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7685 (xftfont_open): Don't keep locking face.
7686 (xftfont_close): Don't unlock face.
7687 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
7688
7689 * fontset.c (fontset_find_font): Don't prefer a font of
7690 supplementary charset.
7691
7692 2008-02-01 Kenichi Handa <handa@m17n.org>
7693
7694 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7695 script, langsys_tag to langsys, new member script.
7696 (OTF_TAG_STR): Terminate by '\0'.
7697 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7698 listing to the script specified in that property. Fix arg to
7699 OTF_check_features.
7700
7701 2008-02-01 Jason Rumney <jasonr@gnu.org>
7702
7703 * w32font.h: New file.
7704
7705 * w32font.c: Include it.
7706 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7707 (w32font_open): Set owning_frame.
7708 (w32font_text_extents): Use owning_frame.
7709 (struct font_callback_data): Add opentype_only field.
7710 (add_font_entity_to_list): Use it to filter fonts.
7711 Don't check against full name.
7712 (w32font_list_internal): New function.
7713 (w32font_list): Use it.
7714 (w32font_match_internal): New function.
7715 (w32font_match): Use it.
7716 (w32font_open_internal): New function.
7717 (w32font_open): Use it.
7718 (w32font_get_cache, w32font_close, w32font_has_char)
7719 (w32font_encode_char, w32font_text_extents, w32font_draw):
7720 Make non-static.
7721
7722 * makefile.w32-in (w32font.o): Depend on w32font.h.
7723
7724 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7725
7726 * charset.c (Fdefine_charset_internal): Record a supplementary
7727 charset at the tail of Vcharset_order_list.
7728
7729 * font.c (Ffont_shape_text): Fix the return value.
7730
7731 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7732
7733 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7734
7735 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7736
7737 * ftfont.c (struct OpenTypeSpec): New struct.
7738 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7739 (ftfont_get_open_type_spec): New function.
7740 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7741
7742 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
7743
7744 2008-02-01 Jason Rumney <jasonr@gnu.org>
7745
7746 * w32font.c (add_font_entity_to_list): Compare only the beginning
7747 of full name.
7748
7749 2008-02-01 Kenichi Handa <handa@m17n.org>
7750
7751 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7752 Never return HANDLED_RECOMPUTE_PROPS.
7753
7754 2008-02-01 Kenichi Handa <handa@m17n.org>
7755
7756 * font.c (font_gstring_produce): Delete it.
7757
7758 * composite.h (COMPOSITION_METHOD):
7759 Handle COMPOSITION_WITH_GLYPH_STRING.
7760
7761 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7762
7763 * xfont.c (Qx): Delete.
7764 (syms_of_xfont): Don't initialize Qx.
7765
7766 * composite.h (enum composition_method):
7767 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
7768
7769 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7770
7771 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7772 (choose_face_font): Accept new form of font-spec.
7773
7774 * frame.h (font_driver_list): Declare it unconditionally.
7775 (struct frame): Define members font_driver_list and font_data_list
7776 unconditionally.
7777
7778 * fontset.c: Include "font.h" unconditionally.
7779 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
7780 (Fset_fontset_font): Accept a font-spec object.
7781
7782 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7783 PIXEL_SIZE part a wild card.
7784
7785 * dispextern.h (struct glyph_string): Define members clip and
7786 num_clips unconditionally.
7787 (struct face): Define members font_info and extra unconditionally.
7788
7789 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7790 ftfont_info only when HAVE_LIBOTF is defined.
7791
7792 2008-02-01 Andreas Schwab <schwab@suse.de>
7793
7794 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7795 and end.
7796
7797 2008-02-01 Jason Rumney <jasonr@gnu.org>
7798
7799 * w32font.c (w32font_driver): Add new fields.
7800
7801 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7802
7803 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7804 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7805 (LIBES): Add @M17N_FLT_CFLAGS@.
7806
7807 * composite.c (compose_text): Don't treat the new style
7808 composition specially.
7809
7810 * emacs.c (main): Call syms_of_font unconditionally.
7811
7812 * font.h (FONT_ENTITY_NOT_LOADABLE)
7813 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
7814 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
7815 (struct font_driver): New member shape.
7816 (font_registry_charsets): Extern it.
7817 (font_find_for_lface, font_prepare_composition): Adjust prototype.
7818 (font_otf_capability, font_drive_otf): Delete their externs.
7819
7820 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
7821 (font_charset_alist, font_registry_charsets): Move from xfont.c
7822 and rename.
7823 (font_prop_validate_otf): New function.
7824 (font_property_table): Register it for QCotf.
7825 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
7826 (font_drive_otf): Delete.
7827 (font_prepare_composition): New arg F. Adjust for the change of
7828 lispy gstring.
7829 (font_find_for_lface): New arg C.
7830 (font_load_for_face): Adjust for the change of font_find_for_lface.
7831 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7832 lispy gstring.
7833 (Ffont_shape_text): New function.
7834 (Fopen_font): If the font size is not given, use 12-pixel.
7835 (Ffont_at): New arg STRING.
7836 (syms_of_font): Initalize font_charset_alist.
7837 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
7838 conditionally.
7839
7840 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7841 fonts of the same font-spec. Change the format of RFONT-DEF.
7842 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7843 Adjust for the change of RFONT-DEF.
7844 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
7845
7846 * ftfont.h: New file.
7847
7848 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7849 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7850 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7851 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7852 font_otf_capability and font_drive_otf, set ftfont_shape.
7853 (ftfont_list): Adjust for the change of :otf property value.
7854 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7855 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7856 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
7857 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7858 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7859 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7860
7861 * w32term.c (x_draw_composite_glyph_string_foreground):
7862 Adjust for the change of lispy gstring.
7863
7864 * xdisp.c (handle_composition_prop): Adjust for the change of
7865 lispy gstring. Call a function for auto-composition with the
7866 third arg it->window.
7867 (fill_composite_glyph_string): Adjust for the change of lispy string.
7868 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
7869
7870 * xfaces.c (set_font_frame_param): Adjust for the change of
7871 font_find_for_lface.
7872
7873 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7874 (xfont_registry_charsets): Likewise. Change caller.
7875 (syms_of_xfont): Don't handle x_font_charset_alist.
7876
7877 * xftfont.c: Include "ftfont.h".
7878 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7879 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7880 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7881 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
7882 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7883 Set xftfont_driver.shape to xftfont_shape.
7884
7885 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
7886 the change of lispy gstring.
7887
7888 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7889
7890 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7891
7892 2008-02-01 Jason Rumney <jasonr@gnu.org>
7893
7894 * w32font.c (w32font_draw): Fill background manually.
7895
7896 2008-02-01 Jason Rumney <jasonr@gnu.org>
7897
7898 * font.c (Qfontp): Remove unused symbol.
7899 (QCantialias): New symbol.
7900 (syms_of_font): Define it.
7901 (font_property_table): Set a validator for QCantialias.
7902
7903 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7904 Define if not already.
7905 (QCfamily): Share with xfaces.c.
7906 (Qstandard, Qsubpixel, Qnatural): New symbols.
7907 (syms_of_w32font): Define them. Don't define QCfamily here.
7908 (w32_antialias_type, lispy_antialias_type): New functions.
7909 (w32_enumfont_pattern_entity): New arg requested_font.
7910 Set antialias parameter if non-default was requested.
7911 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7912
7913 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7914
7915 * lread.c (read1): Undo the previous change.
7916
7917 2008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
7918
7919 * frame.c (Fdelete_frame): Call font_update_drivers only when
7920 USE_FONT_BACKEND is defined.
7921
7922 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7923
7924 * font.h (struct font_bitmap): New member bits_per_pixel.
7925 (struct font_driver): New members start_for_frame and end_for_frame.
7926 (struct font_data_list): New struct.
7927 (font_put_frame_data, font_get_frame_data): Extern them.
7928
7929 * frame.h (struct frame): New member font_data_list.
7930
7931 * font.c (font_update_drivers): Call driver->start_for_frame and
7932 driver->end_for_frame at proper timings.
7933 (font_put_frame_data, font_get_frame_data): New functions.
7934 (Ffont_spec): Add usage in the docstring.
7935
7936 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7937 (Fdelete_frame): Call font_update_drivers.
7938
7939 * xftfont.c (struct xftface_info): Delete the member xft_draw.
7940 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
7941 (xftfont_get_xft_draw): New function.
7942 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7943 (xftfont_end_for_frame): New function.
7944 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7945
7946 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
7947 Change argument. Cache GCs in the per-frame data.
7948 (struct ftxfont_frame_data): New struct.
7949 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7950 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
7951 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
7952 (ftxfont_end_for_frame): New function.
7953 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7954
7955 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7956
7957 2008-02-01 Kenichi Handa <handa@m17n.org>
7958
7959 * xselect.c (Vselection_coding_system)
7960 (Vnext_selection_coding_system): Delete them.
7961 (syms_of_xselect): Don't declare selection-coding-system and
7962 next-selection-coding-system. They are declared in select.el.
7963
7964 2008-02-01 Jason Rumney <jasonr@gnu.org>
7965
7966 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7967
7968 * w32fns.c: Include imm.h.
7969 (get_composition_string_fn, get_ime_context_fn): New optional
7970 system functions.
7971 (globals_of_w32fns): Load them from imm32.dll.
7972 (ignore_ime_char): New flag.
7973 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7974 WM_IME_ENDCOMPOSITION messages.
7975
7976 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7977 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7978
7979 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7980
7981 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7982 (READCHAR_REPORT_MULTIBYTE): New macro.
7983 (readchar): New 2nd arg MULTIBYTE.
7984 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7985 Make symbol's name multibyte according to the multibyteness of the
7986 source.
7987
7988 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
7989
7990 * xfaces.c (face_for_overlay_string): Call lookup_face with
7991 correct arguments (fix of synching with the trunk).
7992
7993 2008-02-01 Kenichi Handa <handa@m17n.org>
7994
7995 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7996 (font_prop_validate_non_neg, font_prop_validate_spacing):
7997 Delete argument prop_index.
7998 (font_property_table): Change arguments to validater. Change Callers.
7999 (font_lispy_object): Delete.
8000 (font_at): Use font_find_object instead fo font_lispy_object.
8001
8002 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8003
8004 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
8005 and file names.
8006
8007 2008-02-01 Jason Rumney <jasonr@gnu.org>
8008
8009 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
8010 (font_matches_spec): Remove debug output.
8011 (add_font_entity_to_list): Avoid using substituted fonts.
8012
8013 2008-02-01 Jason Rumney <jasonr@gnu.org>
8014
8015 * doc.c (Fsnarf_documentation):
8016 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
8017
8018 2008-02-01 Miles Bader <miles@gnu.org>
8019
8020 * dispextern.h (struct glyph_row): Only define "clip" field if
8021 HAVE_WINDOW_SYSTEM is defined.
8022
8023 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8024
8025 Fix up multi-tty merge.
8026
8027 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
8028 and indentation.
8029
8030 * xfaces.c (free_realized_face, clear_face_gcs):
8031 Include font_done_for_face in the input_blocked section, just in case.
8032
8033 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
8034 (get_char_face_and_encoding): Undo last change and remove the *other*
8035 duplicate definition (i.e. keep the one that's better scoped and that
8036 includes code for the font-backend).
8037
8038 * terminal.c (create_terminal): Default keyboard_coding to
8039 `no-conversion' and terminal_coding to `undecided'.
8040
8041 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
8042
8043 * fontset.c (free_realized_fontsets): Check that the table entry does
8044 contain a fontset before trying to compare it to `base'.
8045
8046 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
8047 syms_of_charset, and syms_of_coding earlier because init_window_once
8048 now needs Vcoding_system_hash_table to be setup.
8049
8050 * coding.h (default_buffer_file_coding): Remove.
8051
8052 * coding.c (default_buffer_file_coding): Remove.
8053 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
8054 than ->symbol, and use the terminal-local coding system.
8055 (syms_of_coding): Don't setup the coding-systems that are not
8056 terminal-local.
8057 (Fdefine_coding_system_internal): Use XCAR/XCDR.
8058
8059 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
8060 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
8061
8062 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
8063 in chartab.c and were re-added here by mistake.
8064 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
8065
8066 * doc.c (Fsnarf_documentation):
8067 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
8068 src to etc.
8069
8070 * ChangeLog.10: Add mistakenly removed entry.
8071
8072 2008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
8073
8074 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
8075
8076 2008-02-01 Miles Bader <miles@gnu.org>
8077
8078 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
8079 Add extra args to FACE_FOR_CHAR.
8080
8081 2008-02-01 Kenichi Handa <handa@m17n.org>
8082
8083 * keymap.c (where_is_internal_1): If key is a cons, store the copy
8084 in sequence.
8085
8086 * chartab.c (map_sub_char_table, map_char_table): If the range
8087 contains just one character, call the function with that character
8088 even if the depth is not 3.
8089
8090 2008-02-01 Jason Rumney <jasonr@gnu.org>
8091
8092 * w32font.c (w32font_text_extents): Calculate metrics for the
8093 whole string.
8094
8095 2008-02-01 Jason Rumney <jasonr@gnu.org>
8096
8097 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
8098
8099 2008-02-01 Jason Rumney <jasonr@gnu.org>
8100
8101 * w32term.c (x_set_glyph_string_clipping): Use
8102 get_glyph_string_clip_rects.
8103 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8104 Adjust for the change of struct glyph_string.
8105
8106 * w32font.c (w32font_draw): Do clipping here.
8107
8108 2008-02-01 Kenichi Handa <handa@m17n.org>
8109
8110 * xftfont.c (xftfont_draw): Adjust for the change of struct
8111 glyph_string.
8112
8113 * xterm.c (x_set_glyph_string_clipping): Use
8114 get_glyph_string_clip_rects.
8115 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
8116 Adjust for the change of struct glyph_string.
8117
8118 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
8119 the resulting clip(s}.
8120 (expose_overlaps): Add arg r. Change callers. Set it to
8121 row->clip temporarily.
8122 (expose_window): Redraw rows overlapping the exposed area.
8123
8124 * dispextern.h (struct glyph_row): New member clip.
8125 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
8126 clip_height, new member clip, and num_clips.
8127
8128 2008-02-01 Kenichi Handa <handa@m17n.org>
8129
8130 * data.c (Fchar_or_string_p): Fix docstring.
8131
8132 2008-02-01 Kenichi Handa <handa@m17n.org>
8133
8134 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
8135 create a temporary XftDraw object.
8136
8137 2008-02-01 Kenichi Handa <handa@m17n.org>
8138
8139 * font.c (Ffontp): Fix docstring.
8140
8141 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
8142 strong evidence of ISO-2022.
8143
8144 2008-02-01 Kenichi Handa <handa@m17n.org>
8145
8146 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
8147 SYNTAX_ENTRY_FOLLOW_PARENT.
8148
8149 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
8150
8151 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
8152 its type.
8153 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
8154 Update to the new type of weak_hash_tables and next_weak.
8155
8156 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
8157 a plain C pointer to Lisp_Hash_Table.
8158
8159 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
8160 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
8161 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
8162 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
8163 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
8164 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
8165 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
8166 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
8167 (GC_EQ): Remove since they've been identical to their non-GC_
8168 alter-egos ever since the markbit was eradicated.
8169
8170 * alloc.c:
8171 * buffer.c:
8172 * buffer.h:
8173 * data.c:
8174 * fileio.c:
8175 * filelock.c:
8176 * fns.c:
8177 * frame.h:
8178 * lisp.h:
8179 * macterm.c:
8180 * print.c:
8181 * process.c:
8182 * w32fns.c:
8183 * w32menu.c:
8184 * w32term.c:
8185 * xfns.c:
8186 * xmenu.c:
8187 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
8188
8189 2008-02-01 Kenichi Handa <handa@m17n.org>
8190
8191 * chartab.c (map_sub_char_table): Make it work for the top-level
8192 char-table. Fix handling of parent char-table.
8193 (map_char_table): Adjust for the above change.
8194
8195 2008-02-01 Jason Rumney <jasonr@gnu.org>
8196
8197 * w32font.c (Qgdi): Rename from Qw32.
8198
8199 2008-02-01 Jason Rumney <jasonr@gnu.org>
8200
8201 * w32bdf.c (get_quoted_string): Make function static.
8202
8203 2008-02-01 Kenichi Handa <handa@m17n.org>
8204
8205 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
8206 bigger ascent and descent than those of the font, use them as
8207 font's ascent and descent.
8208
8209 2008-02-01 Kenichi Handa <handa@m17n.org>
8210
8211 * Makefile.in (${lispsource}international/charprop.el): Move this
8212 target within "#ifdef HAVE_UNIDATA" and "#endif".
8213
8214 2008-02-01 Kenichi Handa <handa@m17n.org>
8215
8216 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
8217 (shortlisp): Add ../lisp/language/tai-viet.el.
8218
8219 2008-02-01 Ulrich Mueller <ulm@gentoo.org>
8220
8221 * Makefile.in (${lispsource}international/charprop.el): Depend on
8222 temacs${EXEEXT}.
8223
8224 2008-02-01 Jason Rumney <jasonr@gnu.org>
8225
8226 * w32font.c (w32font_close): Delete the GDI font object.
8227
8228 * w32menu.c: Include character.h.
8229
8230 * w32proc.c: Likewise.
8231
8232 * w32select.c: Likewise.
8233
8234 * makefile.w32-in (w32proc.o): Depend on character.h.
8235
8236 2008-02-01 Jason Rumney <jasonr@gnu.org>
8237
8238 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
8239
8240 * w32menu.c (syms_of_w32menu): Likewise.
8241
8242 * w32proc.c (syms_of_ntproc): Likewise.
8243
8244 * w32select.c (syms_of_w32select): Likewise.
8245
8246 * w32term.c (syms_of_w32term): Likewise.
8247
8248 2008-02-01 Jason Rumney <jasonr@gnu.org>
8249
8250 * w32font.c (w32font_draw): Delete brush after using it.
8251
8252 2008-02-01 Jason Rumney <jasonr@gnu.org>
8253
8254 * w32font.c (w32font_open): Don't set font_idx.
8255 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
8256 to font settings.
8257 (w32font_draw): Fill background explicitly.
8258
8259 2008-02-01 Jason Rumney <jasonr@gnu.org>
8260
8261 * w32term.c (w32_initialize): Don't call w32font_initialize.
8262
8263 * w32font.c (w32font_info): Remove subranges.
8264 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
8265 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
8266 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
8267 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
8268 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
8269 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
8270 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
8271 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
8272 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
8273 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
8274 New symbols.
8275 (font_callback_data): New struct.
8276 (w32font_list, w32font_match): Use it.
8277 (w32font_open): Don't populate subranges.
8278 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
8279 (w32font_encode_char): Always return unicode code-point as-is.
8280 (w32font_text_extents): Supply a transformation matrix to
8281 GetGlyphOutline. Never look up by glyph index. Avoid looping
8282 twice. Use unicode version of GetTexExtentPoint32 instead of
8283 glyph index version.
8284 (set_fonts_frame): Remove.
8285 (w32_enumfont_pattern_entity): Add frame parameter, use it to
8286 set frame parameter. Use backward compatible fake foundries.
8287 Save generic family in extra slot under QCfamily. Make width slot
8288 constant. Save QCspacing value. Save list of scripts instead of
8289 binary subranges.
8290 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
8291 (add_font_entity_to_list): Use font_callback_data struct. Filter
8292 unwanted fonts.
8293 (add_one_font_entity_to_list): Use font_callback_data struct.
8294 (w32_registry): Default to iso10646_1.
8295 (fill_in_logfont): Use dpi from extra slot. Don't bother with
8296 string font registries. Don't fill in font name if it is a generic
8297 family name, fill family instead. Use spacing, family and script
8298 extra info to fill pitch, family and charset fields.
8299 (list_all_matching_fonts): Use font_callback_data struct.
8300 (unicode_range_for_char): Remove.
8301 (font_supported_scripts): New function.
8302 (w32font_initialize): Remove.
8303 (syms_of_w32font): Update which symbols are defined.
8304
8305 2008-02-01 Jason Rumney <jasonr@gnu.org>
8306
8307 * font.c (font_pixel_size): Reverse assq_no_quit args.
8308
8309 * w32term.h (FONT_WIDTH): Report max width, not average.
8310 (FONT_MAX_WIDTH): Remove.
8311 (FONT_AVG_WIDTH): New macro.
8312
8313 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
8314 redefinition of FONT_WIDTH.
8315
8316 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
8317 (w32_cache_char_metrics): Use FONT_WIDTH.
8318
8319 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
8320
8321 2008-02-01 Jason Rumney <jasonr@gnu.org>
8322
8323 * w32font.c (w32font_open): Make lfHeight negative.
8324
8325 * w32fns.c (x_default_font_parameter): Use new style font name.
8326 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
8327
8328 2008-02-01 Jason Rumney <jasonr@gnu.org>
8329
8330 * w32font.c (QCsubranges): New symbol.
8331 (w32font_open, w32font_has_char): Get subranges from subproperty
8332 of extra.
8333 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
8334 (syms_of_w32font): Define :subranges symbol.
8335
8336 * font.c (font_put_extra): Expose externally.
8337
8338 * font.h (font_put_extra): Move declaration from font.c.
8339
8340 * font.c (Ffont_get): Use font driver to determine otf capability.
8341 (adjust_anchor): Check if driver defines anchor_point before using.
8342
8343 * w32font.c (w32font_open): Handle size, height and pixel_size better.
8344 (w32font_draw): Use options.
8345 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
8346 Fix detection of truetype fonts.
8347 (registry_to_w32_charset): Handle charsets other than iso8859-1
8348 expressed as lisp symbols.
8349 (w32_registry): Express charset as lisp symbol.
8350 (fill_in_logfont): Reverse pixel and point height logic.
8351 Don't set width here. Set quality to default.
8352
8353 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
8354 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
8355
8356 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8357 Remove redundant loop and allocation.
8358
8359 * makefile.w32-in (font.o, w32font.o): New objects.
8360 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
8361 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
8362
8363 * xdisp.c (fill_composite_glyph_string): Make the first arg to
8364 STORE_XCHARB a valid l-value.
8365
8366 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
8367 calculations for non-Truetype fonts.
8368 (x_draw_glyph_string): Sync with xterm.c.
8369 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
8370 Remove redundant code.
8371 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
8372
8373 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
8374 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
8375
8376 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
8377 (x_to_w32_charset, w32_to_x_charset): Expose externally.
8378
8379 * w32font.c: New file for w32 font backend.
8380
8381 2008-02-01 Kenichi Handa <handa@m17n.org>
8382
8383 * term.c: Don't include "buffer.h" twice.
8384
8385 2008-02-01 Kenichi Handa <handa@m17n.org>
8386
8387 * character.c (Funibyte_string): New function.
8388 (syms_of_character): Defsubr it.
8389
8390 2008-02-01 Jason Rumney <jasonr@gnu.org>
8391
8392 * w32term.c [USE_FONT_BACKEND]:
8393 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
8394 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
8395 (x_draw_glyph_string, x_draw_glyph_string_foreground)
8396 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
8397 (x_free_frame_resources): Sync with xterm.c.
8398
8399 2008-02-01 Andreas Schwab <schwab@suse.de>
8400
8401 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
8402 char-table size.
8403
8404 2008-02-01 Kenichi Handa <handa@m17n.org>
8405
8406 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
8407
8408 2008-02-01 Kenichi Handa <handa@m17n.org>
8409
8410 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
8411 font_otf_gpos, add font_drive_otf.
8412
8413 * fontset.c (fontset_find_font): Pay attention to font size
8414 specified for a font.
8415 (reorder_font_vector): Check contents of font_def.
8416
8417 * font.c (struct otf_list): Delete it.
8418 (otf_list): Make it a lisp variable.
8419 (otf_open): Use lispy otf_list.
8420 (generate_otf_features): Rename from parse_gsub_gpos_spec.
8421 (check_otf_features): New function.
8422 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8423 New functions.
8424 (font_drive_otf): New function merging font_otf_gsub and
8425 font_otf_gpos.
8426 (font_open_for_lface): New arg spec. Change argument order.
8427 (font_load_for_face): Adjust for the change of font_open_for_lface.
8428 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
8429 Ffont_otf_gpos.
8430 (syms_of_font): Staticpro otf_list. Delete defsubr of
8431 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
8432
8433 * xfaces.c (set_font_frame_param): Adjust for the change of
8434 font_open_for_lface.
8435
8436 * font.h (font_open_for_lface): Adjust prototype.
8437 (struct font_driver): Delete members otf_gsub and otf_gpos, add
8438 member otf_drive.
8439 (font_otf_gsub, font_otf_gpos): Delete externs.
8440 (font_drive_otf): Extern it.
8441
8442 2008-02-01 Kenichi Handa <handa@m17n.org>
8443
8444 * font.c (font_at): If the window W is not on a window system,
8445 return Qnil.
8446
8447 * coding.c (produce_chars, encode_coding): Don't call
8448 insert_from_gap if no characters to produce.
8449
8450 2008-02-01 Kenichi Handa <handa@m17n.org>
8451
8452 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
8453 Fclear_face_cache.
8454
8455 * xfaces.c (face_for_font): Check also face->font==font->font.font.
8456
8457 2008-02-01 Miles Bader <miles@gnu.org>
8458
8459 * emacs.c (main): Change default value of `enable_font_backend' to 1.
8460 Parse "--disable-font-backend" option.
8461 (standard_args): Add "--disable-font-backend" option.
8462
8463 2008-02-01 Kenichi Handa <handa@m17n.org>
8464
8465 * fontset.c (fontset_find_font): New function.
8466 (fontset_font): Use fontset_find_font.
8467 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
8468 Register the specified font for all Latin characters.
8469 (new_fontset_from_font): Register the specified font for all Latin
8470 characters.
8471 (dump_fontset): For a realized fontset, include the base fontset
8472 name in the returned vector.
8473
8474 2008-02-01 Kenichi Handa <handa@m17n.org>
8475
8476 * character.h (CHAR_STRING): Cast C to unsigned on calling
8477 char_string.
8478
8479 * character.c (char_string): Type of arg C changed to unsigned.
8480 Signal an error if C is an invalid character code.
8481
8482 * editfns.c (general_insert_function, Fchar_to_string):
8483 Use CHARACTERP, not INTEGERP.
8484
8485 2008-02-01 Kenichi Handa <handa@m17n.org>
8486
8487 * character.h (MIN_MULTIBYTE_LEADING_CODE)
8488 (MAX_MULTIBYTE_LEADING_CODE): New macros.
8489
8490 * regex.c (analyse_first): Fix for multibyte characters in "case
8491 charset:" and "case categoryspec:".
8492
8493 2008-02-01 Andreas Schwab <schwab@suse.de>
8494
8495 * Makefile.in (LIBES): Move standard libraries to the end.
8496
8497 2008-02-01 Kenichi Handa <handa@m17n.org>
8498
8499 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8500 nonzero, don't shrink the buffer nextb.
8501
8502 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8503
8504 * coding.c (coding_alloc_by_making_gap): New arg offset.
8505 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8506 offset.
8507 (decode_coding_iso_2022): Update coding->safe_charsets.
8508 (decode_coding_gap): Temporarily set
8509 current_buffer->text->inhibit_shrinking to 1.
8510
8511 2008-02-01 Kenichi Handa <handa@m17n.org>
8512
8513 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8514 indexing into elements of s->cmp and s->char2b.
8515
8516 2008-02-01 Juanma Barranquero <lekktu@gmail.com>
8517
8518 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8519
8520 2008-02-01 Kenichi Handa <handa@m17n.org>
8521
8522 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8523 target_multibyte instead of multibyte.
8524 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8525 (bcmp_translate): Change the argument name from multibyte to
8526 target_multibyte.
8527
8528 2008-02-01 Kenichi Handa <handa@m17n.org>
8529
8530 These changes are to compile a regexp into a pattern that can be
8531 used both for multibyte and unibyte targets.
8532
8533 * Makefile.in (search.o): Depend on charset.h.
8534
8535 * character.c (multibyte_char_to_unibyte_safe): New function.
8536
8537 * search.c: Include "charset.h".
8538 (compile_pattern_1): Delete argument multibyte. Don't set
8539 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8540 (compile_pattern): Don't compare cp->buf.target_multibyte.
8541 Compare cp->buf.charset_unibyte.
8542 (compile_pattern): Set cp->buf.target_multibyte.
8543
8544 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8545
8546 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8547
8548 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
8549 multibyte. Change callers.
8550 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
8551 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8552 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
8553 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8554 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8555 (regex_compile): Make the compiled pattern usable both for
8556 multibyte and unibyte targets.
8557 (analyse_first): Make the fastmap usable both for multibyte and
8558 unibyte targets.
8559 (TRANSLATE_VIA_MULTIBYTE): Delete.
8560 (re_match_2_internal): Pay attention to the case that the
8561 multibyteness of bufp and target may be different.
8562
8563 2008-02-01 Kenichi Handa <handa@m17n.org>
8564
8565 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8566 empty box occupy at least one column width.
8567
8568 2008-02-01 Miles Bader <miles@gnu.org>
8569
8570 * Makefile.in: Remove redundant HAVE_XFT clause.
8571
8572 2008-02-01 Kenichi Handa <handa@m17n.org>
8573
8574 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
8575
8576 2008-02-01 Kenichi Handa <handa@m17n.org>
8577
8578 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8579 being nil.
8580
8581 2008-02-01 Kenichi Handa <handa@m17n.org>
8582
8583 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8584
8585 2008-02-01 Kenichi Handa <handa@m17n.org>
8586
8587 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8588
8589 2008-02-01 Kenichi Handa <handa@m17n.org>
8590
8591 * search.c (simple_search): Fix previous change.
8592
8593 2008-02-01 Kenichi Handa <handa@m17n.org>
8594
8595 * xftfont.c (ftfont_font_format): Extern declaration.
8596
8597 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8598
8599 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8600 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8601
8602 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8603 (ftfont_font_format): Fix previous change.
8604
8605 * font.h (Ffont_xlfd_name): EXFUN it.
8606
8607 * font.c (font_parse_xlfd): Fix the array size of `f'.
8608 (register_font_driver): Use EQ to compare driver->type.
8609
8610 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8611 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8612 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8613
8614 2008-02-01 Kenichi Handa <handa@m17n.org>
8615
8616 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8617 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
8618
8619 2008-02-01 Kenichi Handa <handa@m17n.org>
8620
8621 * xfont.c (xfont_open): Set font->format.
8622
8623 * xftfont.c (xftfont_open): Set font->format.
8624
8625 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8626 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8627 (ftfont_open): Set font->format.
8628 (ftfont_font_format): New function.
8629
8630 * font.h (struct font): New member format.
8631
8632 * font.c (Qopentype): New variable.
8633 (syms_of_font): Defsym it.
8634 (Fquery_font): Change the format of the last element of the return
8635 value.
8636
8637 2008-02-01 Kenichi Handa <handa@m17n.org>
8638
8639 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8640 last resort.
8641
8642 2008-02-01 Kenichi Handa <handa@m17n.org>
8643
8644 * coding.c (detect_coding_charset): Fix detection of multi-byte
8645 charset.
8646
8647 2008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
8648
8649 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8650
8651 2008-02-01 Kenichi Handa <handa@m17n.org>
8652
8653 * xdisp.c (get_next_display_element): Set it->face_id for the
8654 first component of a composition.
8655 (x_produce_glyphs): Check if the font is changed or not for composition.
8656
8657 2008-02-01 Kenichi Handa <handa@m17n.org>
8658
8659 * fontset.c (Qlatin): New variable.
8660 (syms_of_fontset): Define it as a lisp symbol.
8661 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
8662
8663 2008-02-01 Kenichi Handa <handa@m17n.org>
8664
8665 * font.c (font_unparse_fcname): Pay attention to the case that
8666 some of font property is a null string.
8667
8668 2008-02-01 Kenichi Handa <handa@m17n.org>
8669
8670 * term.c: Include "composite.h".
8671 (encode_terminal_code): Output all components of composition.
8672 Check the size of encode_terminal_src.
8673 (produce_glyphs): For composition, call produce_composite_glyph.
8674 (append_composite_glyph, produce_composite_glyph): New functions.
8675
8676 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8677 is not found, get font_info from the current ascii face.
8678
8679 2008-02-01 Kenichi Handa <handa@m17n.org>
8680
8681 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8682 buffer-file-name to Qnil before calling insert_from_buffer.
8683
8684 * font.c (font_unparse_fcname): Pay attention to the case that
8685 foundry is a null string.
8686
8687 2008-02-01 Kenichi Handa <handa@m17n.org>
8688
8689 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8690
8691 * font.c (Qunicode_sip): New variable.
8692 (syms_of_font): Declare it as a Lisp symbol.
8693
8694 * font.h (Qunicode_sip): Extern it.
8695
8696 2008-02-01 Kenichi Handa <handa@m17n.org>
8697
8698 * composite.c (get_composition_id): Pay attention to TAB component.
8699
8700 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
8701 TAB. Adjust for the change of s->char2b which always points to
8702 the first element of allocated memory.
8703
8704 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
8705
8706 * xdisp.c (handle_composition_prop): Set it->c to the first
8707 non-TAB component.
8708 (fill_composite_glyph_string): Change argument.
8709 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
8710 (x_produce_glyphs): Fix handling of left/right padding.
8711
8712 2008-02-01 Kenichi Handa <handa@m17n.org>
8713
8714 * coding.c (detect_coding_system): Fix for handling off
8715 inhibit_iso_escape_detection. Fix for the case that no coding
8716 system is defined for a specific coding category.
8717
8718 2008-02-01 Kenichi Handa <handa@m17n.org>
8719
8720 * font.c (font_matching_entity): Delete unused local var.
8721
8722 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8723 opening a font.
8724
8725 * fileio.c (Finsert_file_contents): On recovering a file, assume
8726 Unix-like eol.
8727 (choose_write_coding_system): On auto-saving a file, force
8728 Unix-like eol.
8729
8730 * coding.c (setup_coding_system): Fix setting of
8731 coding->common_flags based on eol_type.
8732 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8733 inherit from it.
8734
8735 2008-02-01 Kenichi Handa <handa@m17n.org>
8736
8737 * alloc.c (NSTATICS): Increas to 0x600.
8738
8739 2008-02-01 Kenichi Handa <handa@m17n.org>
8740
8741 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
8742 (ftfont_list): Don't check :name property.
8743 (ftfont_match): New function.
8744 (ftfont_pattern_entity): If the pattern doesn't contain
8745 FC_SPACING, don't assume FC_MONO.
8746
8747 * font.h (struct font_driver): New member `match'.
8748 (font_update_drivers): Adjust prototype.
8749
8750 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8751 property of FONT.
8752 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8753 them unconditionally.
8754 (font_matching_entity): New function.
8755 (font_open_by_name): Try font_matching_entity if exact match is
8756 not found.
8757 (font_update_drivers): Delete the arg FONT. Return a list of
8758 actually used backends. Don't free faces, font caches here.
8759 Don't store data in frame parameters. Don't call x_set_font.
8760 (Ffont_spec): Store :name property as is.
8761 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
8762 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8763 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
8764 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8765 Call font->driver->otf_gsub instead of font_otf_gsub.
8766
8767 * frame.c (x_set_font_backend): Do more works that were done in
8768 font_update_drivers before.
8769
8770 * xfont.c (xfont_match): New function.
8771 (xfont_driver): Set xfont_driver.match to xfont_match.
8772 (xfont_draw): Set font in GC if necessary.
8773
8774 * ftxfont.c (ftxfont_match): New function.
8775 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8776
8777 * xftfont.c (xftfont_match): New function.
8778 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8779
8780 2008-02-01 Kenichi Handa <handa@m17n.org>
8781
8782 * font.h (struct font): New member scalable.
8783 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
8784 (font_otf_gsub): Adjust prototype.
8785
8786 * font.c (font_otf_capability): Fix handling of the default langsys.
8787 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
8788 Check the contents of SPEC.
8789 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8790 (check_gstring): New function.
8791 (REPLACEMENT_CHARACTER): New macro.
8792 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8793 glyph codes of GSTRING.
8794 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8795 (font_prepare_composition): Set cmp->glyph_len.
8796 (font_open_entity): Set font->scalable.
8797 (Ffont_get): Handle :otf property.
8798 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8799 functions.
8800 (Fquery_font): Use font->font.full_name.
8801 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8802 Sfont_otf_alternates.
8803
8804 * ftfont.c (ftfont_open): Set font->font.full_name and
8805 font->font.name properly. Fix calculation of font->font.height
8806 and font->min_width.
8807
8808 * ftxfont.c (ftxfont_create_gcs): New function.
8809 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8810 (ftxfont_draw_backgrond): Fix filling region.
8811 (ftxfont_default_fid): New function.
8812 (ftxfont_open): Set xfont->fid to the return value of
8813 ftxfont_default_fid.
8814 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8815 (ftxfont_done_face): Free only GCs that are created by
8816 ftxfont_create_gcs.
8817 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8818
8819 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8820 Clip to src->width, etc (not src->clip_XXX).
8821
8822 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8823 FontBackend frame parameter.
8824
8825 2008-02-01 Kenichi Handa <handa@m17n.org>
8826
8827 * font.h (struct font_driver_list): New member `on'.
8828 (Fclear_font_cache): EXFUN it.
8829 (font_update_drivers): Extern it.
8830
8831 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8832 (font_list_entities): Check driver_list->on.
8833 (register_font_driver): Initalize `on' member to 0.
8834 (font_update_drivers): New function.
8835 (Fclear_font_cache): Check driver_list->on.
8836
8837 * frame.h (Qfont_backend): Extern it.
8838 (x_set_font_backend): Extern it.
8839
8840 * frame.c (Qfont_backend): New variable.
8841 (frame_parms): New element for font-backend.
8842 (x_set_font_backend): New function.
8843
8844 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8845 FontBackend frame parameter.
8846 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8847 x_set_font_backend.
8848
8849 * xfont.c (xfont_list): Don't try listing by :name property if the
8850 name is not for XLFD.
8851
8852 2008-02-01 Kenichi Handa <handa@m17n.org>
8853
8854 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8855 (LGLYPH_SET_TO): New macros.
8856 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8857 element of G is vector or not.
8858 (font_at): Extern it.
8859
8860 * font.c: Include window.h.
8861 (font_lispy_object): New function.
8862 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8863 end of valid glyph.
8864 (font_close_object): Fix getting (struct font *).
8865 (font_at): New function.
8866 (Ffont_get): If FONT is a font-object, get entity from it.
8867 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8868 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8869 range check.
8870 (Ffont_at): New function.
8871 (syms_of_font): Defsubr Sfont_at.
8872
8873 * xdisp.c (it_props): Move the entry for Qauto_composed to just
8874 before the entry for Qcomposition.
8875 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
8876 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8877 the font in gstring.
8878 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8879 LGLYPH_FORM (g) to detect the end of valid glyph.
8880 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8881 we are composing with gstring.
8882
8883 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8884 Check if adjustment is vector or not.
8885
8886 * Makefile.in (font.o): Make it depends on window.h.
8887
8888 2008-02-01 Kenichi Handa <handa@m17n.org>
8889
8890 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8891 adjustment is vector or not.
8892
8893 2008-02-01 Miles Bader <miles@gnu.org>
8894
8895 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8896
8897 2008-02-01 Kenichi Handa <handa@m17n.org>
8898
8899 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8900 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8901 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8902
8903 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
8904 (DEVICE_DELTA): Fix typo.
8905 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8906 LGLYPH format.
8907
8908 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8909 the change of LGLYPH format.
8910
8911 2008-02-01 Kenichi Handa <handa@m17n.org>
8912
8913 * ftfont.c (ftfont_list): Fix typo.
8914 (ftfont_build_basic_charsets): Don't include letters with diacritics.
8915
8916 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8917
8918 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8919
8920 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8921 xftface_info is non-NULL.
8922
8923 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
8924
8925 * ftfont.c (ftfont_list): Move misplaced #endif.
8926
8927 2008-02-01 Kenichi Handa <handa@m17n.org>
8928
8929 * ftfont.c (ftfont_list): Pay attention to the case that
8930 FC_CAPABILITY is not defined.
8931
8932 2008-02-01 Kenichi Handa <handa@m17n.org>
8933
8934 * xftfont.c (xftfont_open): Set charset related members to -1.
8935
8936 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8937 QCname.
8938 (ftfont_open): Set charset related members to -1.
8939
8940 * fontset.c (Votf_script_alist): New variable.
8941 (syms_of_fontset): Initialize it.
8942 (fontset_font): Delete unused variable.
8943
8944 * fontset.h (Votf_script_alist): Extern it.
8945
8946 * font.c (font_find_for_lface): Optimize code.
8947
8948 * font.h (font_close_object, font_merge_old_spec): Extern them.
8949
8950 2008-02-01 Kenichi Handa <handa@m17n.org>
8951
8952 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8953 (syms_of_font): Initialize them.
8954 (font_pixel_size): Allow float value in dpi.
8955 (font_prop_validate_type): Delete.
8956 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8957 Change caller.
8958 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8959 (font_prop_validate_extra): Delete.
8960 (font_prop_validate_spacing): New function.
8961 (font_property_table): Add elements for all known properties.
8962 (get_font_prop_index): Rename from check_font_prop_name. New
8963 argument FROM. Change caller.
8964 (font_prop_validate): Validate all known properties.
8965 (font_put_extra): Delete argument force. Change caller.
8966 (font_expand_wildcards): Make it static. Fix the way of shrinking
8967 the possible range.
8968 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
8969 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
8970 Change caller.
8971 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
8972 (font_parse_fcname): Delete argument merge. Fix parsing of point
8973 size. Don't validate properties values here. Change caller.
8974 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
8975 (font_open_by_name): Delete unused variable.
8976 (Ffont_spec): Likewise. Validate property values.
8977 (Ffont_match_p): New function.
8978
8979 * font.h (QCscalable): Extern it.
8980 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
8981
8982 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
8983
8984 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
8985 (xfont_list_pattern): New function.
8986 (xfont_list): Use xfont_list_pattern.
8987
8988 2008-02-01 Kenichi Handa <handa@m17n.org>
8989
8990 * font.h (Flist_fonts): EXFUN it.
8991
8992 2008-02-01 Jason Rumney <jasonr@gnu.org>
8993
8994 * w32term.c (w32_initialize): Add back smoothing_type and
8995 smoothing_enabled definitions.
8996
8997 2008-02-01 Kenichi Handa <handa@m17n.org>
8998
8999 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
9000 s->face->font on determining underline position.
9001
9002 2008-02-01 Kenichi Handa <handa@m17n.org>
9003
9004 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
9005 (font_has_char): Accept font-object too.
9006 (font_find_for_lface): Try at first with a size specified in face.
9007
9008 2008-02-01 Kenichi Handa <handa@m17n.org>
9009
9010 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
9011 font_open_by_name.
9012
9013 2008-02-01 Kenichi Handa <handa@m17n.org>
9014
9015 * font.h (QCspacing, QCdpi): Extern them.
9016 (enum font_spacing): New enum.
9017 (FONT_PIXEL_SIZE_QUANTUM): New macro.
9018
9019 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
9020 (QCspacing, QCdpi): New variables.
9021 (syms_of_font): Initialize them.
9022 (font_pixel_size): New function.
9023 (font_put_extra): New function.
9024 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
9025 in FONT_EXTRA.
9026 (font_parse_fcname): Handle enumerated values (e.g. bold).
9027 Fix handling font size. Add QCname property that contains only
9028 unknown properties.
9029 (font_score): Change argument. Change caller. Pay attention to
9030 FONT_PIXEL_SIZE_QUANTUM.
9031 (font_sort_entites, font_list_entities, font_find_for_lface)
9032 (font_open_for_lface, font_open_by_name): Fix handling of font size.
9033 (Ffont_spec): Add QCname property that contains only unknown properties.
9034
9035 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
9036 include weight in listing pattern, instead check weight of each
9037 listed font. Don't include scalable in pattern. Pay attention to
9038 FONT_PIXEL_SIZE_QUANTUM.
9039
9040 2008-02-01 Kenichi Handa <handa@m17n.org>
9041
9042 * font.c (font_parse_fcname): Fix parsing of point-size.
9043 (font_unparse_fcname): Produce symbolic names for style properties.
9044 (font_list_entities): Handle float size correctly.
9045 (font_open_by_name): Prefer `normal' property values if the name
9046 doesn't specify them.
9047
9048 * fontset.c (Finternal_char_font): Use font_get_name, not
9049 Ffont_xlfd_name.
9050
9051 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
9052 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
9053 pattern. Don't force scalable.
9054
9055 * xftfont.c (xftfont_open): For generating a name, start from
9056 96-byte buffer.
9057
9058 2008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9059
9060 * frame.h (x_new_fontset2): Fix prototype.
9061
9062 2008-02-01 Kenichi Handa <handa@m17n.org>
9063
9064 * font.h (struct font_driver): Delete member parse_name.
9065 (font_match_p, font_get_spec, font_parse_fcname)
9066 (font_unparse_fcname): Extern them.
9067 (font_get_name): Adjust prototype.
9068
9069 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
9070 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
9071 (font_expand_wildcards): Fix handling ENCODING field. Avoid
9072 unnecessary checks for weight, slant, and swidth.
9073 (font_parse_fcname): New function.
9074 (font_unparse_fcname): New function.
9075 (font_parse_name): New function.
9076 (font_match_p): New function.
9077 (font_get_name): Change return value to Lisp string.
9078 (font_get_spec): New function.
9079 (Qunspecified, Qignore_defface): Don't extern them.
9080 (font_find_for_lface): Assume that LFACE is fully specified.
9081 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
9082 object, use it for FACE.
9083 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
9084 driver->parse_name.
9085 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
9086
9087 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
9088 prototype.
9089
9090 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
9091 argument F. Don't call Fnew_fontset. Instead, directly call
9092 make_fontset.
9093
9094 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
9095
9096 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
9097 of x_new_fontset2.
9098
9099 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
9100 (Qsans__serif): New variables.
9101 (ftfont_generic_family_list): New variable.
9102 (syms_of_ftfont): Initialize the above variables.
9103 (ftfont_pattern_entity): Delete argument NAME.
9104 (ftfont_list_generic_family): New function.
9105 (ftfont_parse_name): Delete this function.
9106 (ftfont_list): Try generic family only when FcFontList found no font.
9107 (ftfont_list_family): Fix args to FcObjectSetBuild.
9108
9109 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
9110 object in attrs[LFACE_FONT_INDEX].
9111 (set_lface_from_font_name): Cancel all changes for font-backend.
9112 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
9113 function.
9114 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
9115 font object in QCfont attribute.
9116 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
9117 (realize_default_face) [USE_FONT_BACKEND]: Call
9118 set_lface_from_font_and_fontset.
9119
9120 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
9121 "fixed", and signal error here if no suitable font was found.
9122
9123 * xfont.c (xfont_parse_name): Delete this function.
9124
9125 * xftfont.c (xftfont_open): Change coding style of error
9126 handling. Generate fontconfig's fontname pattern.
9127
9128 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
9129 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
9130
9131 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
9132 Both args FONTSET and FONT_OBJECT must be existing ones.
9133
9134 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9135
9136 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
9137
9138 2008-02-01 Kenichi Handa <handa@m17n.org>
9139
9140 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
9141
9142 * font.h (struct font): Fix typo.
9143
9144 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
9145 XLFD_XXX_INDEX.
9146 (enum xlfd_field_mask): New enum.
9147 (intern_font_field): Changed argument. Change caller. If digits
9148 are followed by non-digits, return a symbol.
9149 (font_expand_wildcards): New function.
9150 (font_parse_xlfd): Fix wildcard handling.
9151 (Ffont_spec): If :name is specified, reflect the info in the other
9152 properties.
9153
9154 * ftfont.c (ftfont_pattern_entity): Fix typo.
9155 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
9156 locale.
9157
9158 2008-02-01 Kenichi Handa <handa@m17n.org>
9159
9160 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
9161
9162 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
9163 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
9164 registry doesn't specify encoding part.
9165 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
9166 (font_open_by_name): At first try parsing the name.
9167 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
9168 as Lisp symbols.
9169
9170 * fontset.c (reorder_font_vector): Pay attention to the case that
9171 the 3rd element of font_def is nil.
9172 (fontset_font): For the default fontset, append one more fontset
9173 elements for a script-based font specification. Don't add script
9174 attribute on finding a font.
9175 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
9176 font name.
9177 (fontset_ascii_font): If a font can't be opened, return nil.
9178
9179 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
9180 (ftfont_pattern_entity): New function.
9181 (ftfont_get_cache): Assume that freetype_font_cache is already
9182 initialized.
9183 (ftfont_list): Handle the case that a file is specified in font
9184 name. Use ftfont_pattern_entity to generate entities.
9185 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
9186 (syms_of_ftfont): Initialize freetype_font_cache.
9187
9188 * xftfont.c (xftfont_open): Make the font name fontconfig's
9189 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
9190 (xftfont_close): Free font->font.name if not NULL.
9191
9192 * xfont.c (xfont_list): If script is specified for a font, return
9193 null_vector.
9194 (xfont_list_family): Declare argument type.
9195
9196 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
9197 name, set LFACE_FONT (lface) to nil.
9198
9199 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
9200 return Qnil.
9201
9202 2008-02-01 Kenichi Handa <handa@m17n.org>
9203
9204 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
9205 (standard_args): Add "-enable-font-backend".
9206
9207 2008-02-01 Kenichi Handa <handa@m17n.org>
9208
9209 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
9210 (struct xftdraw_list, xftdraw_list): Delete them.
9211 (register_xftdraw, check_xftdraw): Delete them.
9212 (xftfont_prepare_face): Don't call register_xftdraw.
9213 (xftfont_done_face): Don't call check_xftdraw.
9214 (xftfont_draw): Get background color only when with_background is
9215 nonzero.
9216
9217 * xfont.c (xfont_encode_char): Fix calculation of char2b.
9218
9219 2008-02-01 Kenichi Handa <handa@m17n.org>
9220
9221 These changes are for the new font handling codes.
9222
9223 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
9224 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
9225 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
9226 (FONTSRC, FONTOBJ): New variables.
9227 (obj): Add $(FONTOBJ).
9228 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
9229 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
9230 @LIBOTF_LIBS@.
9231 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
9232 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
9233
9234 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
9235
9236 * character.h (Vscript_representative_chars): Extern it.
9237
9238 * character.c (Vscript_representative_chars): New variable.
9239 (syms_of_character): Declare it as a Lisp variable.
9240
9241 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
9242 enable_font_backend is nonzero, accept the composition method
9243 COMPOSITION_WITH_GLYPH_STRING.
9244
9245 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
9246 enumeration COMPOSITION_WITH_GLYPH_STRING.
9247
9248 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
9249 members clip_x, clip_y, clip_width, and clip_height.
9250 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
9251
9252 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
9253 --enable-font-backend. Call syms_of_font.
9254
9255 * fns.c (assoc_no_quit): New function.
9256
9257 * fontset.h (FONT_INFO_FROM_FACE): New macro.
9258 (face_for_font, new_fontset_from_font)
9259 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
9260
9261 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
9262 (fontset_font, fontset_ascii, face_for_char)
9263 (make_fontset_for_ascii_face, Ffont_info)
9264 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
9265 is nonzero, use font-backend mechanism.
9266 (find_font_encoding): Make it non-static.
9267 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
9268 New functions.
9269
9270 * frame.h (struct frame): New members resx and resy.
9271 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
9272 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
9273
9274 * frame.c [USE_FONT_BACKEND]: Include "font.h".
9275 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
9276
9277 * lisp.h (assoc_no_quit): Extern it.
9278
9279 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
9280 Through out the file, use FONT_INFO_FROM_FACE instead of
9281 FONT_INFO_FROM_ID, use get_per_char_metric instead of
9282 rif->per_char_metric.
9283 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
9284 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
9285 (get_glyph_face_and_encoding, fill_composite_glyph_string)
9286 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9287 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
9288 nonzero, use font-backend mechanism.
9289 (get_per_char_metric): New function.
9290
9291 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
9292 (set_lface_from_font_name)
9293 (set_font_frame_param, free_realized_face)
9294 (prepare_face_for_display, clear_face_gcs)
9295 (Finternal_set_font_selection_order, realize_x_face)
9296 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
9297 font-backend mechanism.
9298 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
9299 (load_face_font) [USE_FONT_BACKEND]: Abort.
9300 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
9301 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
9302
9303 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
9304 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
9305 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
9306 nonzero, register all available font drivers. Call
9307 x_default_font_parameter for deciding a font.
9308 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
9309
9310 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
9311 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
9312 (x_set_glyph_string_clipping_exactly)
9313 (x_compute_glyph_string_overhangs)
9314 (x_draw_glyph_string_foreground)
9315 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
9316 (x_free_frame_resources) [USE_FONT_BACKEND]: If
9317 enable_font_backend is nonzero, use font-backend mechanism.
9318 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
9319
9320 2008-02-01 Kenichi Handa <handa@m17n.org>
9321
9322 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
9323 system_eol_type.
9324 (syms_of_coding): Initialize system_eol_type.
9325
9326 * process.c (Fset_process_coding_system): Inherit system's eol
9327 format if necessary.
9328
9329 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9330
9331 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
9332
9333 2008-02-01 Kenichi Handa <handa@m17n.org>
9334
9335 * coding.c (decode_eol): Pay attention to buffer relocation in
9336 del_range_2.
9337 (decode_coding): Call decode_eol before restoring undo_list.
9338
9339 2008-02-01 Kenichi Handa <handa@m17n.org>
9340
9341 * charset.c (Fdefine_charset_internal): Fix setting of
9342 emacs_mule_bytes.
9343
9344 2008-02-01 Kenichi Handa <handa@m17n.org>
9345
9346 * keyboard.c (read_char): Check if C is a character or not before
9347 looking up Vkeyboard_translate_table.
9348
9349 2008-02-01 Kenichi Handa <handa@m17n.org>
9350
9351 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
9352 condition to terminate the loop.
9353
9354 2008-02-01 Kenichi Handa <handa@m17n.org>
9355
9356 * coding.c (produce_composition): Compare charbuf[i] instead of
9357 args[i] against 0.
9358 (Fterminal_coding_system): Use EQ to compare Lisp objects.
9359
9360 2008-02-01 Kenichi Handa <handa@m17n.org>
9361
9362 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
9363 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
9364 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
9365 detect_coding.
9366 (emacs_mule_char): Handle old style (Emacs 20) component character
9367 of a composition.
9368 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
9369 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
9370 composition rule.
9371 (decode_coding_emacs_mule): Handle invalid bytes correctly.
9372
9373 2008-02-01 Kenichi Handa <handa@m17n.org>
9374
9375 * coding.c (encode_coding_ccl): Allocate destination dynamically
9376 when necessary.
9377
9378 2008-02-01 Kenichi Handa <handa@m17n.org>
9379
9380 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
9381 the loop. When quitted, show a proper error message.
9382
9383 2008-02-01 Kenichi Handa <handa@m17n.org>
9384
9385 * xterm.c (x_set_glyph_string_clipping_exactly): Set
9386 src->clip_head and src->clip_tail temporarily instead of src->hl.
9387
9388 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
9389 character sequence.
9390 (Fccl_execute_on_string): Use ASET, not XSET.
9391
9392 2008-02-01 Kenichi Handa <handa@m17n.org>
9393
9394 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
9395
9396 2008-02-01 Kenichi Handa <handa@m17n.org>
9397
9398 * coding.c (decode_coding): Fix the condition of terminating the
9399 decoding loop.
9400
9401 2008-02-01 Kenichi Handa <handa@m17n.org>
9402
9403 * data.c (Faset): On setting a character bigger than 255 in a
9404 unibyte string, signal an error instead of make the string multibyte.
9405
9406 2008-02-01 Kenichi Handa <handa@m17n.org>
9407
9408 * charset.c (map_charset_chars): Fix for ascii-compatible charset
9409 made by a mapping table.
9410
9411 2008-02-01 Kenichi Handa <handa@m17n.org>
9412
9413 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
9414 not.
9415 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
9416 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
9417
9418 * xterm.c (x_draw_composite_glyph_string_foreground): Check
9419 s->face is NULL or not.
9420
9421 2008-02-01 Kenichi Handa <handa@m17n.org>
9422
9423 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
9424 (x_draw_glyph_string): Fix drawing of right_overhang and
9425 left_overhang around/on cursor.
9426
9427 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
9428
9429 2008-02-01 Kenichi Handa <handa@m17n.org>
9430
9431 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
9432
9433 2008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * coding.c (Fdefine_coding_system_internal)
9436 (Fdefine_coding_system_alias): Avoid a duplicated element in
9437 Vcoding_system_alist.
9438
9439 2008-02-01 Kenichi Handa <handa@m17n.org>
9440
9441 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
9442
9443 * coding.c (Qcoding_system_define_form): New variable.
9444 (syms_of_coding): Intern and staticpro it.
9445 (Fcoding_system_p): Check Qcoding_system_define_form.
9446 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
9447
9448 * coding.h (CODING_SYSTEM_P): If ID is not available, call
9449 Fcoding_system_p.
9450 (CHECK_CODING_SYSTEM): If ID is not available, call
9451 Fcheck_coding_system.
9452 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
9453 Try also Fcheck_coding_system.
9454
9455 2008-02-01 Kenichi Handa <handa@m17n.org>
9456
9457 * coding.c (code_conversion_restore): GCPRO arg.
9458
9459 2008-02-01 Kenichi Handa <handa@m17n.org>
9460
9461 * character.c (lisp_string_width): Check multibyteness of STRING.
9462
9463 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9464
9465 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
9466 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
9467 (decode_mac_font_name): Use decode_coding_c_string instead of
9468 decode_coding.
9469 (x_load_font): Initialize fontp->fontset to -1. Set
9470 fontp->encoding_type.
9471
9472 2008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * search.c (search_buffer): Give up BM search on case-fold-search
9475 if one of a target character has a case-equivalence of different
9476 byte length even if that target charcter is an ASCII.
9477 (simple_search): Fix calculation of byte length of matched text.
9478 (boyer_moore): Fix handling of case-equivalent multibyte characters.
9479
9480 2008-02-01 Kenichi Handa <handa@m17n.org>
9481
9482 * coding.c (decode_coding): Fix handling of invalid bytes.
9483
9484 2008-02-01 Kenichi Handa <handa@m17n.org>
9485
9486 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
9487 Unicode characters.
9488
9489 2008-02-01 Kenichi Handa <handa@m17n.org>
9490
9491 * coding.c (encode_coding_object): If a pre-write-conversion
9492 function makes a new buffer, kill it.
9493
9494 2008-02-01 Kenichi Handa <handa@m17n.org>
9495
9496 * coding.c (QCascii_compatible_p): New variable.
9497 (syms_of_coding): Initialize it.
9498 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9499 calling string_char.
9500 (record_conversion_result): Add `default:' case.
9501 (coding_charset_list): Delete unused variable `coding_type'.
9502 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9503 property in the plist of the coding system.
9504 (Fcoding_system_put): Check QCascii_compatible_p.
9505
9506 2008-02-01 Miles Bader <miles@gnu.org>
9507
9508 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9509 removed calculation of frame `f', as it's now used.
9510
9511 2008-02-01 Kenichi Handa <handa@m17n.org>
9512
9513 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
9514 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9515 (UNIDATA): New variable.
9516 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9517 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9518 $(RUN_TEMACS) unconditionally.
9519
9520 2008-02-01 Kenichi Handa <handa@m17n.org>
9521
9522 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
9523 (admindir): New variable.
9524 ($(lispsource)international/charprop.el): New target.
9525
9526 2008-02-01 Miles Bader <miles@gnu.org>
9527
9528 * character.c (chars-in-region): Remove obsolete function.
9529 (syms_of_character): Remove its initialization.
9530
9531 2008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
9532
9533 * w32select.c (validate_coding_system)
9534 (setup_windows_coding_system): New functions.
9535 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9536 setup_windows_coding_system.
9537 (setup_config, Fw32_get_clipboard_data): Use
9538 validate_coding_system.
9539 (Fx_selection_exists): Move call to setup_config to a place
9540 where signals are allowed.
9541
9542 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9543 (Fcheck_coding_system): Add declarations.
9544
9545 2008-02-01 Kenichi Handa <handa@m17n.org>
9546
9547 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
9548
9549 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9550
9551 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9552 string as the second argument for x_new_fontset.
9553
9554 2008-02-01 Kenichi Handa <handa@m17n.org>
9555
9556 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9557 (encode_coding_object): Use safe_call instead of call2.
9558
9559 2008-02-01 Kenichi Handa <handa@m17n.org>
9560
9561 * fontset.c (Fset_fontset_font): Check family element of a given vector.
9562
9563 * Makefile.in (lisp): Include charprop.el.
9564
9565 2008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9566
9567 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9568 Not sure if it's unnecessary.
9569
9570 2008-02-01 Steven Tamm <steventamm@mac.com>
9571
9572 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9573 some possibly unnecessary fontset checking code that crashed
9574 when creating a new frame.
9575
9576 2008-02-01 Kenichi Handa <handa@m17n.org>
9577
9578 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9579 lookup_face.
9580
9581 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9582
9583 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
9584
9585 2008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * coding.c: Cancel the change done in HEAD on 2008-02-01.
9588 (coding_charset_list): New function.
9589
9590 * coding.h (coding_charset_list): Extern it.
9591
9592 2008-02-01 Kenichi Handa <handa@m17n.org>
9593
9594 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9595 concatenation of family and registry.
9596
9597 2008-02-01 Kenichi Handa <handa@m17n.org>
9598
9599 * character.h (BYTE8_STRING): Fix typo.
9600
9601 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9602 string to multibyte (sync to HEAD).
9603
9604 * casefiddle.c (casify_region): Handle changes in byte-length
9605 using replace_range_2 (sync to HEAD).
9606
9607 2008-02-01 Andreas Schwab <schwab@suse.de>
9608
9609 * chartab.c (map_char_table): GCPRO table and arg.
9610
9611 2008-02-01 Kenichi Handa <handa@m17n.org>
9612
9613 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9614 already at limit.
9615
9616 2008-02-01 Kenichi Handa <handa@m17n.org>
9617
9618 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9619 instead of fast_c_string_match_ignore_case.
9620 (find_font_encoding): Change argument to Lisp_Object. Use
9621 fast_string_match_ignore_case instead of
9622 fast_c_string_match_ignore_case. Change caller.
9623
9624 2008-02-01 Kenichi Handa <handa@m17n.org>
9625
9626 * xdisp.c (get_next_display_element): In unibyte case, decide to
9627 display in octal form by checking a character by
9628 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9629
9630 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
9631
9632 * character.c (unibyte_has_multibyte_table): New variable.
9633
9634 * character.h (unibyte_has_multibyte_table): Extern it.
9635 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9636
9637 2008-02-01 Kenichi Handa <handa@m17n.org>
9638
9639 * coding.c (encode_coding_iso_2022): Fix handling of charset
9640 annotation.
9641
9642 2008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * coding.c (setup_coding_system): If coding_system is nil, use
9645 Qundecided.
9646 (Fterminal_coding_system): Return nil if terminal coding system is
9647 `undecided'.
9648 (syms_of_coding): Define coding-system `undecided' here. Setup
9649 terminal_coding as `undecided'.
9650
9651 2008-02-01 Kenichi Handa <handa@m17n.org>
9652
9653 * xdisp.c (message_dolog, set_message_1): Call
9654 unibyte_char_to_multibyte with arg type int.
9655
9656 * lread.c (read1): Fix reading of a char-table.
9657
9658 * print.c (print_object): Include sub char-table in circularities
9659 detection.
9660
9661 2008-02-01 Kenichi Handa <handa@m17n.org>
9662
9663 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9664 Append the found sequences in car of ARGS instead of prepending.
9665
9666 2008-02-01 Kenichi Handa <handa@m17n.org>
9667
9668 * fileio.c (report_file_error): Make a unibyte string from
9669 strerror (errorno).
9670 (Fsubstitute_in_file_name): Fix the arg to
9671 unibyte_char_to_multibyte. It is evaluated twice.
9672
9673 2008-02-01 Kenichi Handa <handa@m17n.org>
9674
9675 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9676
9677 2008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9680 BOM is not found.
9681 (detect_coding, detect_coding_system): Optimization for ISO-2022
9682 when no 8-bit data is found.
9683
9684 2008-02-01 Jason Rumney <jasonr@gnu.org>
9685
9686 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9687
9688 2008-02-01 Kenichi Handa <handa@m17n.org>
9689
9690 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9691 CHARS.
9692
9693 2008-02-01 Steven Tamm <steventamm@mac.com>
9694
9695 * macterm.c (mac_encode_char): Add charset argument and update
9696 to use encoding_type.
9697 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
9698 switch to pure fontset.
9699 (decode_mac_font_name): Temporarily remove decoding.
9700 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9701 (x_load_font): Temporarily remove encoding.
9702
9703 2008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * xfaces.c (Fface_font): If frame is not on a window system,
9706 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9707 refer to face->font.
9708 (split_font_name_into_vector, build_font_name_from_vector)
9709 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
9710 when HAVE_WINDOW_SYSTEM is defined.
9711
9712 2008-02-01 Kenichi Handa <handa@m17n.org>
9713
9714 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9715 (x_produce_glyphs): Fix setting of members of cmp in case
9716 cmp->glyph_len is zero.
9717
9718 * fontset.c (Fset_fontset_font): Fix docstring.
9719 (Ffontset_info): Make it backward compatible. New arg ALL.
9720
9721 2008-02-01 Kim F. Storm <storm@cua.dk>
9722
9723 * process.c (read_process_output): Grow decoding_buf when needed;
9724 this could cause a crash in allocate_string and compact_small_strings.
9725
9726 2008-02-01 Kenichi Handa <handa@m17n.org>
9727
9728 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
9729
9730 2008-02-01 Kenichi Handa <handa@m17n.org>
9731
9732 * coding.c (setup_coding_system): Set coding->common_flags
9733 correctly for raw-text.
9734 (consume_chars): On encoding unibyte text by raw-text, don't check
9735 multibyte form.
9736 (encode_coding): On encoding by raw-text, never use translation tables.
9737
9738 * fileio.c (e_write): Short cut for the case of no encoding.
9739
9740 2008-02-01 Kenichi Handa <handa@m17n.org>
9741
9742 * coding.c (detect_coding, detect_coding_system): Delete unused
9743 variables.
9744
9745 2008-02-01 Kenichi Handa <handa@m17n.org>
9746
9747 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9748 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9749
9750 2008-02-01 Kenichi Handa <handa@m17n.org>
9751
9752 * coding.c (Ffind_coding_systems_region_internal): Include
9753 raw-text and no-conversion in the result.
9754
9755 2008-02-01 Kenichi Handa <handa@m17n.org>
9756
9757 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
9758 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9759 FONT_DEF.
9760 (font_def_arg, add_arg, from_arg, to_arg): New args.
9761 (set_fontset_font): Change argument.
9762 (Fset_fontset_font): Fix for the case that TARGET is a script
9763 name and charset name.
9764 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9765
9766 2008-02-01 Kenichi Handa <handa@m17n.org>
9767
9768 * fontset.c (fontset_font): Rename from fontset_face. Change return
9769 value.
9770 (face_suitable_for_char_p, face_for_char): Adjust for the change
9771 of fontset_font.
9772 (make_fontset_for_ascii_face): Fix setting of the fontset element
9773 for ASCII.
9774 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9775 to get a font name.
9776 (Ffontset_info): Adjust for the change of fontset_font.
9777
9778 * coding.c (emacs_mule_char): Check invalid code more rigidly.
9779
9780 * character.h (LEADING_CODE_LATIN_1_MIN)
9781 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9782
9783 2008-02-01 Kenichi Handa <handa@m17n.org>
9784
9785 * editfns.c (check_translation): New function.
9786 (Ftranslate_region_internal): Handle M:N mapping.
9787
9788 2008-02-01 Kenichi Handa <handa@m17n.org>
9789
9790 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9791
9792 2008-02-01 Kenichi Handa <handa@m17n.org>
9793
9794 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9795 goto invalid_code.
9796 (decode_coding_iso_2022): Fix handling of invalid designation.
9797
9798 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9799 after calling code_conversion_save.
9800
9801 2008-02-01 Kenichi Handa <handa@m17n.org>
9802
9803 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9804
9805 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9806
9807 * fontset.c: Include "intervals.h".
9808 (fontset_face): Fix comparing of Lisp_Objects.
9809 (free_face_fontset, new_fontset_from_font_name): Fix
9810 Lisp_Object/int mixup.
9811
9812 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9813
9814 * coding.c: Add many prototypes for static functions.
9815 (get_translation_table): Allow max_lookup to be NULL.
9816 (decode_coding, Ffind_coding_systems_region_internal)
9817 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9818 get_translation_table with max_lookup NULL.
9819
9820 2008-02-01 Kenichi Handa <handa@m17n.org>
9821
9822 * coding.c (get_translation_table): Declare it as Lisp_Object.
9823 (LOOKUP_TRANSLATION_TABLE): New macro.
9824 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9825 instead of CHAR_TABLE_REF.
9826
9827 2008-02-01 Kenichi Handa <handa@m17n.org>
9828
9829 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
9830 annotation data format.
9831 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
9832 Change arguments FROM and TO to single argument NCHARS. Change caller.
9833 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
9834 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
9835 (decode_coding_ccl, decode_coding_charset): Pay attention to
9836 coding->charbuf_used.
9837 (get_translation): New function.
9838 (produce_chars): New arguments translation_table and last_block.
9839 Translate characters here. Return number of carryover chars.
9840 Change caller.
9841 (produce_composition): New argument pos. Change caller.
9842 Adjust for the change of annotation data format.
9843 (produce_charset, produce_annotation): Likewise.
9844 (decode_coding, encode_coding): Don't call translate_chars.
9845 (consume_chars): New arg translation_table. Change caller.
9846 (translate_chars): Delete.
9847 (syms_of_coding): Make translation-table's number of extra slots 2.
9848
9849 2008-02-01 Kenichi Handa <handa@m17n.org>
9850
9851 * search.c (simple_search): Fix setting this_pos_byte in backward
9852 search.
9853
9854 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9855 byte sequence.
9856 (detect_coding_ccl): Fix setting of the variable valids.
9857
9858 2008-02-01 Kenichi Handa <handa@m17n.org>
9859
9860 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9861
9862 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9863
9864 * editfns.c (Ftranslate_region_internal): Rename from
9865 Ftranslate_region. Accept a char-table in TABLE.
9866 (syms_of_editfns): Defsubr Stranslate_region_internal.
9867
9868 * xfaces.c (set_lface_from_font_name): If a font is specified for
9869 a frame, generate a fontset from the font.
9870 (build_scalable_font_name): If the scalable font is requested for
9871 a specific size, don't change that size.
9872 (try_font_list): Try a scalable font also in the case that a
9873 pattern string is specified.
9874
9875 2008-02-01 Kenichi Handa <handa@m17n.org>
9876
9877 * xfaces.c (Fface_font): New optional arg CHARACTER.
9878
9879 2008-02-01 Kenichi Handa <handa@m17n.org>
9880
9881 * charset.h (CHARSET_OFFSET): New macro.
9882
9883 2008-02-01 Kenichi Handa <handa@m17n.org>
9884
9885 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9886
9887 * fontset.c (fontset_face): Handle the case that repertory is a
9888 char-table.
9889 (find_font_encoding): Return nil for unknown encoding.
9890 (Fset_fontset_font): Ignore a font of unknown encoding.
9891
9892 2008-02-01 Kenichi Handa <handa@m17n.org>
9893
9894 * keymap.c (describe_vector): Handle default value of a char table.
9895
9896 * fontset.c (fontset_face): Handle fallback fonts correctly.
9897 (Ffontset_info): Return infomation about fallback fonts.
9898
9899 2008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * fontset.c (FONTSET_DEFAULT): New macro.
9902 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
9903 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9904 the case that it is nil.
9905 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
9906 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
9907
9908 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9909 subset or superset.
9910
9911 2008-02-01 Kenichi Handa <handa@m17n.org>
9912
9913 * emacs.c (main): Call init_charset after syms_of_XXX.
9914
9915 * charset.c (Vcharset_map_directory): Delete.
9916 (Vcharset_map_path): New variable.
9917 (load_charset_map_from_file): Use Vcharset_map_path instead.
9918 (init_charset): Initialize Vcharset_map_path.
9919 (syms_of_charset): Delete declaration of "charset-map-directory",
9920 add declaration of "charset-map-path".
9921
9922 2008-02-01 Kenichi Handa <handa@m17n.org>
9923
9924 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9925 ASCII only string.
9926
9927 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9928
9929 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
9930 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
9931
9932 2008-02-01 Kenichi Handa <handa@m17n.org>
9933
9934 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9935
9936 * coding.c (QCmnemonic, QCdefalut_char)
9937 (QCdecode_translation_table, QCencode_translation_table)
9938 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9939 (get_translation_table): Return a list of translation tables if
9940 necessary.
9941 (decode_coding): Call get_translation_table with ENCODEP 0.
9942 (char_encodable_p): If translation_table is non-nil, always call
9943 translate_char.
9944 (Fdefine_coding_system_internal): Accept list of translation
9945 tables as :encode-translation-table and :decode-translation-table.
9946 (Fcoding_system_put): New function.
9947 (syms_of_coding): Declare new symbols. Defsubr
9948 Scoding_system_put.
9949 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9950 typically JISX0212.
9951
9952 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9953 when the charset is superset type.
9954
9955 * character.c (translate_char): Accept list of translation tables.
9956
9957 2008-02-01 Kenichi Handa <handa@m17n.org>
9958
9959 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
9960 (CODING_ATTR_TRANS_TBL): New macro.
9961
9962 * coding.c (get_translation_table): New function.
9963 (translate_chars): Fix the bug of skipping annotation data.
9964 (decode_coding, encode_coding): Utilize get_translation_table.
9965 (char_encodable_p, Funencodable_char_position): Translate char if
9966 necessary.
9967 (Ffind_coding_systems_region_internal)
9968 (Fcheck_coding_systems_region): Setup translation table for encode
9969 in a coding system attribute vector in advance.
9970 (Fdefine_coding_system_internal): Allow a symbol as translation
9971 table. For shift-jis type coding system, allow 4th charset.
9972
9973 2008-02-01 Kenichi Handa <handa@m17n.org>
9974
9975 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9976
9977 * xdisp.c (get_next_display_element): Pass -1 as POS to
9978 FACE_FOR_CHAR if displaying a C-string.
9979
9980 2008-02-01 Kenichi Handa <handa@m17n.org>
9981
9982 * composite.c (get_composition_id): Handle xoff and yoff in a
9983 composition rule.
9984
9985 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9986 (struct composition): New member lbearing and rbearing.
9987
9988 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9989 (x_get_glyph_overhangs): Handle a composition glyph.
9990 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
9991
9992 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9993 composition glyph.
9994
9995 2008-02-01 Kenichi Handa <handa@m17n.org>
9996
9997 * print.c: Include charset.h.
9998 (Vprint_charset_text_property): New variable.
9999 (Qdefault): Extern it.
10000 (PRINT_STRING_NON_CHARSET_FOUND)
10001 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
10002 (print_check_string_result): New variable.
10003 (print_check_string_charset_prop): New function.
10004 (print_prune_charset_plist): New variable.
10005 (print_prune_string_charset): New function.
10006 (print_object): Call print_prune_string_charset if
10007 Vprint_charset_text_property is not t.
10008 (print_interval): Print nothing if interval->plist is nil.
10009 (syms_of_print): Declare Vprint_charset_text_property as a lisp
10010 variable. Init and staticpro print_prune_charset_plist.
10011
10012 2008-02-01 Kenichi Handa <handa@m17n.org>
10013
10014 * fontset.c (new_fontset_from_font_name): Use the specified font
10015 for all characters in the new fontset.
10016
10017 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10018 OBJECT args.
10019
10020 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
10021 OBJECT args for composition too.
10022
10023 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
10024 OBJECT args.
10025
10026 2008-02-01 Kenichi Handa <handa@m17n.org>
10027
10028 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
10029
10030 * fontset.c (reorder_font_vector): Adjust for the change of
10031 FONT_DEF format.
10032 (fontset_face): New arg id. Change caller.
10033 (face_for_char): New args pos and object.
10034 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
10035 (fs_query_fontset): Check NAME by Fassoc too.
10036 (Fset_fontset_font): Allow non-XLFD font name.
10037 (Ffontset_info): Adjust for the change of FONT_DEF format.
10038
10039 * fontset.h (face_for_char): Adjust prototype.
10040
10041 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
10042 (append_space, extend_face_to_end_of_line)
10043 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10044 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
10045
10046 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
10047 POS and OBJECT args.
10048
10049 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
10050 POS and OBJECT args.
10051
10052 2008-02-01 Jason Rumney <jasonr@gnu.org>
10053
10054 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
10055 of GlobalAlloc'ed memory.
10056
10057 2008-02-01 Kenichi Handa <handa@m17n.org>
10058
10059 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
10060
10061 * charset.h (charset_table_used): Delete extern.
10062
10063 * charset.c (charset_table_used): Make it static.
10064 (map_charset_chars): Fix args to c_function with.
10065
10066 * chartab.c (map_sub_char_table_for_charset): Fix args to
10067 c_function with.
10068
10069 * coding.h (enum coding_result_code): Delete
10070 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
10071
10072 * coding.c (Qinsufficient_source, Qinconsistent_eol)
10073 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
10074 (Vlast_code_conversion_error): New variables.
10075 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
10076 (ONE_MORE_BYTE): Record error if any instead of signaling an
10077 error. If non-ASCII multibyte char is found, return the negative
10078 value of the code. All callers changed to check it.
10079 (ONE_MORE_BYTE_NO_CHECK): Likewise.
10080 (record_conversion_result): New function. Change all codes setting
10081 coding->result to call this function.
10082 (detect_coding_utf_8, decode_coding_utf_8)
10083 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
10084 Don't use the local variable incomplete.
10085 (emacs_mule_char): Change the second arg to `const'.
10086 (decode_coding): Fix of flushing out unprocessed data.
10087 (make_conversion_work_buffer): Fix making of a work buffer.
10088 (decode_coding_object): Return coding->dst_object.
10089
10090 * fontset.c (set_fontset_font): Fix args.
10091
10092 * lisp.h (CHARACTERBITS): Define as 22.
10093
10094 * process.c (send_process): Be sure to set coding->src_multibyte.
10095
10096 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
10097
10098 2008-02-01 Kenichi Handa <handa@m17n.org>
10099
10100 * xdisp.c (handle_auto_composed_prop): Give limit to
10101 Fnext_single_char_property_change.
10102
10103 2008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * composite.c (syms_of_composite): Don't make the composition hash
10106 table weak.
10107
10108 * fontset.c (Fset_fontset_font): Fix docstring.
10109
10110 * lisp.h (detect_coding_system): Adjust prototype.
10111
10112 * fileio.c (kill_workbuf_unwind): Delete this function.
10113 (Finsert_file_contents): Adjust the call of detect_coding_system.
10114 Get conversion_buffer by code_conversion_save. Use the macro
10115 CODING_MAY_REQUIRE_DECODING. After decoding, update
10116 coding_system.
10117
10118 * coding.h (make_conversion_work_buffer): Delete extern.
10119 (code_conversion_save): Extern it.
10120
10121 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
10122 (CODING_GET_INFO): Delete argument eol_type. Change callers.
10123 (decode_coding_utf_8): Don't do eol converion.
10124 (detect_coding_utf_16): Check coding->src_chars, not
10125 coding->src_bytes. Add heuristics for those that have no signature.
10126 (decode_coding_emacs_mule, decode_coding_iso_2022)
10127 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10128 Don't do eol converion.
10129 (adjust_coding_eol_type): Return a new coding system.
10130 (detect_coding): Don't detect eol. Fix for utf-16 detection.
10131 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
10132 each change.
10133 (decode_coding): Pay attention to undo_list. Do eol conversion for
10134 all types of coding-systems (if necessary).
10135 (Vcode_conversion_work_buf_list): Delete it.
10136 (Vcode_conversion_reused_workbuf): Rename from
10137 Vcode_conversion_reused_work_buf.
10138 (Vcode_conversion_workbuf_name): New variable.
10139 (reused_workbuf_in_use): New variable.
10140 (make_conversion_work_buffer): Delete the arg DEPTH.
10141 (code_conversion_restore): Change argument to cons.
10142 (code_conversion_save): Delete the argument BUFFER. Change callers.
10143 (detect_coding_system): New argument src_chars. Change callers.
10144 Fix for utf-16 detection.
10145 (init_coding_once): Don't use ISO_carriage_return.
10146 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
10147 reused_workbuf_in_use.
10148
10149 2008-02-01 Kenichi Handa <handa@m17n.org>
10150
10151 * keymap.c (store_in_keymap): Pay attention to the case that idx
10152 is a cons specifying a character range.
10153
10154 2008-02-01 Kenichi Handa <handa@m17n.org>
10155
10156 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
10157 HANDLED_RECOMPUTE_PROPS.
10158
10159 * coding.c (Fdefine_coding_system_internal): Fix checking of
10160 ascii compatibility.
10161
10162 2008-02-01 Kenichi Handa <handa@m17n.org>
10163
10164 * charset.c (find_charsets_in_text): Delete unused locale variable.
10165 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
10166
10167 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
10168 Resync charset_list to Vemacs_mule_charset_list.
10169
10170 * keymap.c (store_in_keymap): Pay attention to the case that idx
10171 is a cons specifying a character range.
10172
10173 2008-02-01 Kenichi Handa <handa@m17n.org>
10174
10175 * composite.c (update_compositions): Bind inhibit-read-only, etc
10176 to t before calling remove-list-of-text-properties.
10177
10178 * print.c (print_object): Always print ASCII chars as is.
10179
10180 2008-02-01 Kenichi Handa <handa@m17n.org>
10181
10182 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
10183
10184 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
10185 is a char table.
10186
10187 2008-02-01 Kenichi Handa <handa@m17n.org>
10188
10189 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
10190
10191 2008-02-01 Kenichi Handa <handa@m17n.org>
10192
10193 * xfaces.c (set_lface_from_font_name): Fix for the case that
10194 FONTNAME is not fontset name.
10195
10196 2008-02-01 Kenichi Handa <handa@m17n.org>
10197
10198 * fns.c (base64_encode_1): Fix previous change.
10199
10200 2008-02-01 Kenichi Handa <handa@m17n.org>
10201
10202 * fontset.c (set_fontset_font): New function.
10203 (Fset_fontset_font): If a font is specified for a charset, use
10204 map_charset_chars to store the font spec in a fontset.
10205
10206 2008-02-01 Kenichi Handa <handa@m17n.org>
10207
10208 * fontset.c (fontset_face): Create a fallback fontset on demand.
10209 (make_fontset): Don't create a fallback fontset here.
10210 (free_face_fontset): Free a fallback fontset (if any) too.
10211 (n_auto_fontsets): Delete this variable.
10212 (auto_fontset_alist): New variable.
10213 (new_fontset_from_font_name): Check auto_fontset_alist.
10214 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
10215 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
10216 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
10217 Defsubr Sfontset_list_all.
10218
10219 2008-02-01 Kenichi Handa <handa@m17n.org>
10220
10221 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
10222
10223 2008-02-01 Kenichi Handa <handa@m17n.org>
10224
10225 * fontset.c (Fnew_fontset): Check NAME more rigidly.
10226
10227 2008-02-01 Kenichi Handa <handa@m17n.org>
10228
10229 * editfns.c (Fgoto_char): Fix docstring.
10230
10231 2008-02-01 Kenichi Handa <handa@m17n.org>
10232
10233 * insdel.c (insert_from_gap): Adjust intervals correctly.
10234
10235 2008-02-01 Jason Rumney <jasonr@gnu.org>
10236
10237 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
10238 (pfnGetFontUnicodeRanges): New dynamically loaded function.
10239 (w32_initialize): Try to load it.
10240 (x_get_font_repertory): Use it if available.
10241 (w32_encode_char): Add shortcut for unicode output.
10242
10243 * w32fns.c (w32_load_system_font): Default charset to -1.
10244 (x_to_w32_charset): Match all fonts for unicode.
10245 (w32_to_x_charset): New parameter matching. Don't return partial
10246 or wildcard charsets.
10247 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
10248 (w32_codepage_for_font): Return CP_UNICODE for unicode.
10249 (w32_to_x_font): Match charset to real charset.
10250 (enum_font_cb2): Always list unicode versions.
10251
10252 * makefile.w32-in (temacs): Increase EMHEAP.
10253
10254 2008-02-01 Jason Rumney <jasonr@gnu.org>
10255
10256 * w32term.c (w32_encode_char): New charset parameter.
10257 font_info.encoding becomes encoding_type.
10258 (x_get_font_repertory): New function. Warning: stub only!
10259 (x_new_font): Return quickly if font already set.
10260 (x_new_fontset): fontsetname parameter is Lisp_Object.
10261 Use new fs_query_fontset. Try new_fontset_from_font_name.
10262 Use fontset_name for return value.
10263
10264 * w32term.h: Declare x_get_font_repertory.
10265
10266 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
10267 place of find_charset_in_text. Use encode_coding_object in place
10268 of encode_coding.
10269 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
10270 decode_coding.
10271
10272 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
10273 of x_new_fontset.
10274 (w32_load_system_font): Initialize charset as unicode.
10275 font_info.encoding becomes encoding_type.
10276 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
10277 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
10278 (syms_of_w32fns): Set get_font_repertory_func.
10279
10280 * w32console.c: Include character.h. Use terminal_encode_buffer
10281 from term.c.
10282 (write_glyphs): Use new version of encode_terminal_code. Use
10283 encode_coding_object in place of encode_coding.
10284
10285 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
10286 encoding becomes encoding_type.
10287
10288 * term.c (terminal_encode_buffer): Make externally visible.
10289
10290 * makefile.w32-in: Add character.h dependancies.
10291 (character.o, chartab.o): New targets.
10292
10293 2008-02-01 Kenichi Handa <handa@m17n.org>
10294
10295 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
10296 CODING_ID_EOL_TYPE.
10297
10298 2008-02-01 Andreas Schwab <schwab@suse.de>
10299
10300 * coding.c (produce_chars): Revert last change.
10301
10302 2008-02-01 Kenichi Handa <handa@m17n.org>
10303
10304 * charset.h (charset_unicode): Extern it.
10305
10306 * charset.c (string_xstring_p): Check by (C >= 0x100).
10307 (find_charsets_in_text): Change format of the arc CHARSETS. New
10308 arg MULTIBYTE.
10309 (Ffind_charset_region, Ffind_charset_string): Adjust for the
10310 change of find_charsets_in_text.
10311 (Fsplit_char): Fix doc. Never return unknown.
10312
10313 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
10314
10315 * coding.c (Fdefine_coding_system_alias): Update
10316 Vcoding_system_list.
10317
10318 * fontset.c (load_font_get_repertory): Pay attention to the case
10319 that ENCODING of a font is specified by a char-table.
10320
10321 * xterm.c (x_get_font_repertory): Handle the case that the
10322 encoding of font is other than Unicode.
10323
10324 2008-02-01 Kenichi Handa <handa@m17n.org>
10325
10326 * term.c (encode_terminal_code): Don't handle glyph-table. Check
10327 if a character is encodable by the terminal coding system. If
10328 not, produces proper number of `?'s. Update
10329 terminal_encode_buffer and terminal_encode_buf_size if necessary.
10330 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
10331
10332 2008-02-01 Kenichi Handa <handa@m17n.org>
10333
10334 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
10335 variables.
10336 (encode_terminal_code): Change argument. Encode multiple
10337 characters at once. Store the result of encoding in
10338 terminal_encode_buffer.
10339 (write_glyphs, insert_glyphs): Adjust for the change of
10340 encode_terminal_code.
10341 (term_init): Initialize terminal_encode_buffer and
10342 terminal_encode_buf_size.
10343
10344 * coding.c (consume_chars): If coding->src_object is nil, don't
10345 check annotation.
10346
10347 2008-02-01 Kenichi Handa <handa@m17n.org>
10348
10349 * character.c (char_string): Use ASCII_CHAR_P instead of
10350 SINGLE_BYTE_CHAR_P.
10351
10352 2008-02-01 Kenichi Handa <handa@m17n.org>
10353
10354 * xdisp.c (handle_auto_composed_prop): Check if the last
10355 characters of auto-composed region is newly composed with the
10356 following characters.
10357 (handle_composition_prop): Fix checking of point being inside
10358 composition.
10359
10360 2008-02-01 Kenichi Handa <handa@m17n.org>
10361
10362 * fns.c (concat): Don't change multibyteness of the result by
10363 concatenating an 8-bit character.
10364
10365 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
10366 multibyteness of the result when newelt is an 8-bit character.
10367
10368 2008-02-01 Dave Love <fx@gnu.org>
10369
10370 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
10371 EMACS_INT.
10372
10373 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
10374
10375 * xfaces.c (face_numeric_value): Declare dim size_t.
10376 (Finternal_lisp_face_equal_p): Remove unused f.
10377
10378 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
10379 (MATRIX_ROW): Remove unused vars.
10380 (draw_glyphs, x_insert_glyphs, fast_find_position)
10381 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
10382 byte/char counts.
10383
10384 * regex.c (regex_compile): Remove unused var.
10385
10386 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
10387
10388 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
10389 (Faccessible_keymaps, where_is_internal): Remove unused vars.
10390
10391 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
10392
10393 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
10394
10395 * fileio.c (Fwrite_region): Remove unused var.
10396
10397 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
10398 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
10399
10400 * composite.c (Fremove_list_of_text_properties): Declare.
10401
10402 * coding.c (inhibit_pre_post_conversion): Remove (unused).
10403 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
10404 (coding_inherit_eol_type): Remove unused attrs.
10405 (detect_coding): Cast arg of detect_eol.
10406
10407 * charset.c (syms_of_charset): Remove unused var p.
10408 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
10409 byte/char counts.
10410
10411 * casetab.c (set_case_table): Remove unused var.
10412
10413 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
10414 unused vars.
10415
10416 2008-02-01 Dave Love <fx@gnu.org>
10417
10418 * xterm.c (x_bitmap_mask): Declare.
10419
10420 2008-02-01 Dave Love <fx@gnu.org>
10421
10422 * xterm.c (x_term_init): Fix type error.
10423
10424 * lisp.h: Add Funibyte_char_to_multibyte.
10425
10426 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
10427 (Fset_coding_system_priority): Doc fix.
10428
10429 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
10430
10431 * indent.c (check_composition): Make start and end EMACS_INT.
10432
10433 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
10434
10435 * xdisp.c (handle_composition_prop, check_point_in_composition):
10436 Make buffer positions EMACS_INT.
10437
10438 * composite.c (find_composition, run_composition_function)
10439 (update_compositions, Ffind_composition_internal): Make buffer
10440 positions EMACS_INT.
10441
10442 * composite.h (find_composition, update_compositions): Make
10443 position args EMACS_INT.
10444
10445 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
10446
10447 * intervals.c (get_property_and_range):
10448 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
10449
10450 * unexalpha.c: Don't include varargs.h.
10451
10452 2008-02-01 Dave Love <fx@gnu.org>
10453
10454 * coding.h (ENCODE_UTF_8): New.
10455
10456 * Makefile.in (gtkutil.o): Depend on coding.h.
10457
10458 * coding.c (Fset_coding_system_priority): Doc fix.
10459
10460 2008-02-01 Kenichi Handa <handa@m17n.org>
10461
10462 * fileio.c (Finsert_file_contents): Call setup_coding_system in
10463 the case of auto saving.
10464
10465 2008-02-01 Andreas Schwab <schwab@suse.de>
10466
10467 * chartab.c (map_char_table, map_char_table_for_charset): Protect
10468 `range' from GC.
10469
10470 2008-02-01 Kenichi Handa <handa@m17n.org>
10471
10472 * coding.c (decode_coding_sjis): Check bytes more rigidly.
10473
10474 2008-02-01 Kenichi Handa <handa@m17n.org>
10475
10476 * fileio.c (choose_write_coding_system): Return a decided coding system.
10477 (Fwrite_region): Set Vlast_coding_system_used to the return value
10478 of choose_write_coding_system.
10479
10480 2008-02-01 Kenichi Handa <handa@m17n.org>
10481
10482 * charset.c (Fset_charset_priority): Pay attention to duplicated
10483 arguments.
10484
10485 * coding.c (QCcategory): New variable.
10486 (syms_of_coding): Defsym it. Set all elements of
10487 Vcoding_category_table and their symbol values.
10488 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
10489 coding-category-XXX, and coding-category-list.
10490 (Fdefine_coding_system_internal): Add category in the plist.
10491
10492 2008-02-01 Kenichi Handa <handa@m17n.org>
10493
10494 * callproc.c (Fcall_process): Handle carryover correctly.
10495
10496 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
10497 (raw_text_coding_system): Check NILP (coding_system).
10498 (coding_inherit_eol_type): Check NILP (coding_system) and
10499 NILP (parent).
10500 (consume_chars): Fix for the case of raw-text.
10501
10502 * process.c (read_process_output): Handle carryover correctly.
10503
10504 2008-02-01 Dave Love <fx@gnu.org>
10505
10506 * regex.c (re_search_2): Fix last change.
10507
10508 2008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10511 target_multibyte. Even in a unibyte case, return a converted
10512 multibyte char.
10513 (GET_CHAR_AFTER): New macro.
10514 (PATFETCH): Translate via multibyte char.
10515 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10516 (SETUP_MULTIBYTE_RANGE): New macro.
10517 (regex_compile): Setup compiled code so that its multibyteness
10518 matches that of a target. Fix the handling of "[X-YZ]" using
10519 SETUP_MULTIBYTE_RANGE.
10520 (analyse_first) <charset>: For filling fastmap for all multibyte
10521 characters, don't check by BASE_LEADING_CODE_P.
10522 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10523 the same as RE_MULTIBYTE_P (bufp) now.
10524 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
10525 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10526 (TRANSLATE_VIA_MULTIBYTE): New macro.
10527 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10528 It is the same as RE_MULTIBYTE_P (bufp) now.
10529 <exactn>: Translate via multibyte.
10530 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10531 translate it.
10532 <charset, charset_not>: Fetch a character by
10533 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10534 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10535 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10536 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10537 by GET_CHAR_AFTER.
10538 (bcmp_translate): Likewise.
10539
10540 * search.c (compile_pattern): Check the member target_multibyte,
10541 not the member multibyte of buf.
10542
10543 * lread.c (read1): While reading a string, set force_singlebyte
10544 and force_multibyte correctly.
10545
10546 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10547 up of unibyte_to_multibyte_table.
10548
10549 2008-02-01 Kenichi Handa <handa@m17n.org>
10550
10551 * coding.c (setup_coding_system): If coding has
10552 post-read-conversion or pre-write-conversion, set
10553 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10554 respectively.
10555 (decode_coding_gap): Run post-read-conversion if any.
10556
10557 * fileio.c (Finsert_file_contents): Even if we read into a
10558 unibyte buffer, check if we must decode the result or not.
10559
10560 2008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * coding.c (make_conversion_work_buffer): Change the work buffer
10563 name to the same one as that of Emacs 21.
10564
10565 2008-02-01 Kenichi Handa <handa@m17n.org>
10566
10567 * coding.h (make_conversion_work_buffer): Adjust prototype.
10568 (code_conversion_restore): Don't extern it.
10569
10570 * coding.c (detected_mask): Delete unused variable.
10571 (decode_coding_iso_2022): Pay attention to the byte sequence of
10572 CTEXT extended segment, and retain those bytes as is.
10573 (decode_coding_ccl): Delete unused variable `valids'.
10574 (setup_coding_system): Delete unused variable `category'.
10575 (consume_chars): Delete unused variable `category'. Make it work
10576 for non-multibyte case.
10577 (make_conversion_work_buffer): Change argument.
10578 (saved_coding): Delete unused variable.
10579 (code_conversion_restore): Don't check saved_coding->destination.
10580 (code_conversion_save): New function.
10581 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10582 instead of record_unwind_protect.
10583 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
10584 (detect_coding_system): Delete unused variable `mask'.
10585 (Fdefine_coding_system_internal): Delete unused variable id.
10586
10587 * fileio.c (kill_workbuf_unwind): New function.
10588 (Finsert_file_contents): On replacing, call
10589 make_conversion_work_buffer with correct args, and call
10590 record_unwind_protect with the first arg kill_workbuf_unwind.
10591
10592 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10593
10594 2008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
10597 (fontset_add): Fix for the case that TO is less than TO1.
10598 (Ffontset_info): Don't use fallback fontset on checking the
10599 default fontset.
10600 (dump_fontset): New function for debugging.
10601
10602 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10603 coding_type is Qcharset.
10604
10605 2008-02-01 Kenichi Handa <handa@m17n.org>
10606
10607 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10608 (map_char_table): Don't inherit the value from the parent on
10609 initializing VAL. Adjust for the above change.
10610
10611 2008-02-01 Kenichi Handa <handa@m17n.org>
10612
10613 * coding.c (Qsignature, Qendian): Delete these variables.
10614 (syms_of_coding): Don't initialize them.
10615 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10616 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10617 detect_info->found.
10618 (decode_coding_utf_16): Don't detect BOM here.
10619 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10620 is NOT utf_16_without_bom.
10621 (setup_coding_system): For a coding system of type utf-16, check
10622 if the attribute :endian is Qbig or not (not nil or not), and set
10623 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10624 (detect_coding): If coding type is utf-16 and BOM detection is
10625 required, detect it.
10626 (Fdefine_coding_system_internal): For a coding system of type
10627 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
10628
10629 2008-02-01 Kenichi Handa <handa@m17n.org>
10630
10631 * coding.c (coding_set_source): Fix for the case that the current
10632 buffer is different from coding->src_object.
10633 (decode_coding_object): Don't use the conversion work buffer if
10634 DST_OBJECT is a buffer.
10635
10636 2008-02-01 Dave Love <fx@gnu.org>
10637
10638 * lread.c (read_emacs_mule_char) [len==2]: Index
10639 emacs_mule_charset correctly.
10640
10641 2008-02-01 Dave Love <fx@gnu.org>
10642
10643 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10644 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
10645 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
10646 treated specially.)
10647 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10648 (detected_mask): Remove Big5 bits.
10649
10650 2008-02-01 Kenichi Handa <handa@m17n.org>
10651
10652 The following changes are to make the font rescaling facility
10653 compatible with Emacs 21.
10654
10655 * xfaces.c (Vface_font_rescale_alist): Rename from
10656 Vface_resizing_fonts.
10657 (struct font_name): Rename member resizing_ratio to rescale_ratio.
10658 (font_rescale_ratio): Rename from font_resizing_ratio.
10659 (split_font_name): Set font->rescale_ratio.
10660 (better_font_p): Pay attention to font->rescale_ratio.
10661 (build_scalable_font_name): Likewise. Change RESX, and RESY
10662 fields.
10663 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
10664
10665 2008-02-01 Kenichi Handa <handa@m17n.org>
10666
10667 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10668 (Qutf_16_le): Remove these variables.
10669 (syms_of_coding): Don't DEFSYM them.
10670 (decode_coding_utf_16): Fix handling of BOM.
10671 (encode_coding_utf_16): Fix handling of BOM.
10672
10673 2008-02-01 Kenichi Handa <handa@m17n.org>
10674
10675 * fileio.c (Finsert_file_contents): On replacing, before decoding
10676 the file into the work buffer, set point of the work buffer to the end.
10677
10678 2008-02-01 Dave Love <fx@gnu.org>
10679
10680 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10681
10682 2008-02-01 Dave Love <fx@gnu.org>
10683
10684 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10685 and fix C types.
10686
10687 2008-02-01 Kenichi Handa <handa@m17n.org>
10688
10689 * xdisp.c (SKIP_GLYPHS): New macro.
10690 (set_cursor_from_row): Pay attention to string display properties.
10691
10692 * category.c (copy_category_entry): Fix for the case that RANGE
10693 is an integer.
10694
10695 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10696
10697 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
10698
10699 2008-02-01 Kenichi Handa <handa@m17n.org>
10700
10701 * charset.c (Fcharset_id_internal): New function.
10702 (syms_of_charset): Defsubr it.
10703
10704 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10705 with the last arg charset_list acquired from coding.
10706 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10707 the attribute coding_attr_ccl_valids.
10708
10709 * coding.h (enum define_coding_ccl_arg_index): Set the first
10710 member coding_arg_ccl_decoder to coding_arg_max.
10711
10712 * ccl.h (ccl_driver): Adjust prototype.
10713
10714 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10715 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10716 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
10717 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10718 last arg Qnil.
10719
10720 2008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10723 call encode_char.
10724
10725 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
10726
10727 2008-02-01 Dave Love <fx@gnu.org>
10728
10729 * composite.c (syms_of_composite): Make composition_hash_table weak.
10730
10731 2008-02-01 Kenichi Handa <handa@m17n.org>
10732
10733 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10734 (font_name_registry): Don't extern them.
10735 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
10736
10737 * fontset.h (Qfontset): Don't extern it.
10738 (new_fontset_from_font_name): Extern it.
10739
10740 * fontset.c: Give 8 extra slots to fontset objects.
10741 (Qfontset_info): New variable.
10742 (syms_of_fontset): Defsym it.
10743 (FONTSET_FALLBACK): New macro.
10744 (fontset_face): Try also the default fontset.
10745 (make_fontset): Realize a fallback fontset from the default fontset.
10746 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
10747 using split_font_name_into_vector and build_font_name_from_vector.
10748 (Fset_fontset_font): Access the elements of font_spec by enum
10749 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10750 name by using split_font_name_into_vector.
10751 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10752 generate a proper font name from the fontset name. Update
10753 Vfontset_alias_alist.
10754 (n_auto_fontsets): New variable.
10755 (new_fontset_from_font_name): New function.
10756 (Ffont_info): Store the information about fonts generated from the
10757 default fontset in the first extra slot of the returned char-table.
10758
10759 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10760 (font_name_registry): Delete function.
10761 (split_font_name_into_vector): New function.
10762 (build_font_name_from_vector): New function.
10763 (font_list): The argument REGISTRY is now a list of registry names.
10764 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10765 specifies an explicit font name, return the name as is. Make a
10766 list of registy names.
10767
10768 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
10769 of x_new_fontset.
10770 (Fx_create_frame): Don't call x_new_fontset here. Just use
10771 x_list_fonts to check the existence of fonts.
10772
10773 * xterm.h (x_new_fontset): Adjust prototype.
10774
10775 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10776 string. Use new_fontset_from_font_name to create a fontset from a
10777 font name.
10778
10779 2008-02-01 Kenichi Handa <handa@m17n.org>
10780
10781 * syntax.c (Vfind_word_boundary_function_table): New name for
10782 Vnext_word_boundary_function_table.
10783 (find-word-boundary-function-table): New name for
10784 next-word-boundary-function-table.
10785
10786 2008-02-01 Dave Love <fx@gnu.org>
10787
10788 * Makefile.in: Fix some dependencies.
10789
10790 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10791 set it to nil before returning.
10792
10793 * composite.c (update_compositions): Fix type error.
10794
10795 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10796
10797 2008-02-01 Kenichi Handa <handa@m17n.org>
10798
10799 * xterm.c (x_new_font): Optimize for the case that the font is
10800 already set for the frame.
10801
10802 2008-02-01 Kenichi Handa <handa@m17n.org>
10803
10804 * chartab.c (char_table_ascii): Check if the char table contents
10805 is sub-char-table or not.
10806 (char_table_set, char_table_set_range): Fix argument to
10807 char_table_ascii.
10808
10809 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10810 (detect_coding_utf_8, detect_coding_utf_16)
10811 (detect_coding_emacs_mule, detect_coding_iso_2022)
10812 (detect_coding_sjis, detect_coding_big5)
10813 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10814 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
10815 sequence is valid in this coding system. Change callers.
10816 (MAX_ANNOTATION_LENGTH): New macro.
10817 (ADD_ANNOTATION_DATA): New macro.
10818 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10819 ADD_ANNOTATION_DATA. Change the format of annotation data.
10820 (ADD_CHARSET_DATA): New macro.
10821 (emacs_mule_char): New argument ID. Change callers.
10822 (decode_coding_emacs_mule, decode_coding_iso_2022)
10823 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10824 Produce charset annotation data in coding->charbuf.
10825 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10826 to charset annotation data in coding->charbuf.
10827 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10828 coding->common_flags if the coding system is iso-2022 based and
10829 uses designation.
10830 (produce_composition): Adjust for the new annotation data format.
10831 (produce_charset): New function.
10832 (produce_annotation): Handle charset annotation.
10833 (handle_composition_annotation, handle_charset_annotation): New
10834 functions.
10835 (consume_chars): Handle charset annotation. Utilize the above two
10836 functions.
10837 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10838 buffer, get the deleted text as a string and set
10839 coding->src_object to that string.
10840 (detect_coding, detect_coding_system): Use the new struct
10841 coding_detection_info.
10842
10843 * coding.h (struct coding_detection_info): New structure.
10844 (struct coding_system): Adjust prototype of the member `detector'.
10845 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10846
10847 2008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10850
10851 2008-02-01 Dave Love <fx@gnu.org>
10852
10853 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
10854 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10855 to new local and nullify apropos_accumulate before returning.
10856 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10857
10858 2008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10861 correctly.
10862
10863 2008-02-01 Dave Love <fx@gnu.org>
10864
10865 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10866
10867 2008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 The following changes are to make character composition happen
10870 automatically on displaying.
10871
10872 * Makefile.in (lisp, shortlisp): Add composite.elc.
10873
10874 * composite.h (Qauto_composed, Vauto_composition_function)
10875 (Qauto_composition_function): Extern them.
10876
10877 * composite.c (Vcomposition_function_table)
10878 (Qcomposition_function_table): Delete variables.
10879 (Qauto_composed, Vauto_composition_function)
10880 (Qauto_composition_function): New variables.
10881 (run_composition_function): Don't call
10882 compose-chars-after-function.
10883 (update_compositions): Clear `auto-composed' text property.
10884 (compose_chars_in_text): Delete this function.
10885 (syms_of_composite): Staticpro Qauto_composed and
10886 Qauto_composition_function. Declare Vauto_composition_function as
10887 a Lisp variable.
10888
10889 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10890
10891 * xdisp.c (it_props): Add an entry for Qauto_composed.
10892 (handle_auto_composed_prop): New function.
10893
10894 * xselect.c (selection_data_to_lisp_data): Don't call
10895 compose_chars_in_text.
10896
10897 2008-02-01 Dave Love <fx@gnu.org>
10898
10899 * keyboard.c (read_char): Modify checking around use of
10900 Vkeyboard_translate_table.
10901
10902 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10903 and fix C types.
10904
10905 2008-02-01 Kenichi Handa <handa@m17n.org>
10906
10907 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10908 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10909 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
10910 the case that the last byte is '\r' correctly.
10911 (decode_coding): Flush out the unprocessed data correctly.
10912 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
10913
10914 2008-02-01 Dave Love <fx@gnu.org>
10915
10916 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10917 Add XK_ISO... case.
10918 (xaw_scroll_callback): Revert last change.
10919
10920 2008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
10923
10924 2008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * xfaces.c (Vface_resizing_fonts): New variable.
10927 (struct font_name): New member `resizing_ratio'.
10928 (font_resizing_ratio): New function.
10929 (split_font_name): Set font->resizing_ratio.
10930 (better_font_p): Pay attention to font->resizing_ratio.
10931 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10932 RESX, and RESY fields.
10933 (try_alternative_families): Try scalable fonts if
10934 Vscalable_fonts_allowed is not Qt.
10935 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10936
10937 2008-02-01 Dave Love <fx@gnu.org>
10938
10939 * xterm.c (xaw_scroll_callback): Cast correctly.
10940
10941 2008-02-01 Dave Love <fx@gnu.org>
10942
10943 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10944 (lispy_kana_keys): Comment out.
10945 (make_lispy_event) [XK_kana_A]: Comment out.
10946
10947 * xterm.c (xaw_scroll_callback): Cast call_data.
10948 (XTread_socket): Deal with ASCII keysyms.
10949 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10950
10951 2008-02-01 Dave Love <fx@gnu.org>
10952
10953 * xterm.c (Vx_keysym_table): New.
10954 (syms_of_xterm): Initialize it.
10955 (XTread_socket): Use it.
10956 From head: Eliminate incorrect optimization that tried to avoid
10957 decoding the output of X*LookupString.
10958 (x_get_font_repertory): Delete charset declaration.
10959
10960 2008-02-01 Kenichi Handa <handa@m17n.org>
10961
10962 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10963 return 0.
10964 (Fdefine_coding_system_internal): Setup
10965 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10966
10967 2008-02-01 Dave Love <fx@gnu.org>
10968
10969 * coding.c (Fcheck_coding_system): Doc fix.
10970
10971 * editfns.c (Finsert_byte): Return a proper value.
10972
10973 2008-02-01 Kenichi Handa <handa@m17n.org>
10974
10975 * coding.c (decode_coding): Fix args to translate_chars. Pay
10976 attention to Vstandard_translation_table_for_decode.
10977 (encode_coding): Fix args to translate_chars. Pay attention to
10978 Vstandard_translation_table_for_encode.
10979
10980 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10981 SINGLE_BYTE_CHAR_P.
10982
10983 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10984 not by SINGLE_BYTE_CHAR_P.
10985
10986 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10987 SINGLE_BYTE_CHAR_P.
10988
10989 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10990 SINGLE_BYTE_CHAR_P.
10991
10992 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10993 by SINGLE_BYTE_CHAR_P.
10994
10995 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10996 SINGLE_BYTE_CHAR_P.
10997
10998 2008-02-01 Dave Love <fx@gnu.org>
10999
11000 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
11001
11002 2008-02-01 Dave Love <fx@gnu.org>
11003
11004 * fns.c (Flanginfo): Fix typo.
11005
11006 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
11007
11008 2008-02-01 Kenichi Handa <handa@m17n.org>
11009
11010 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
11011 (detect_coding_emacs_mule, detect_coding_iso_2022)
11012 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
11013 incomplete byte sequence. Don't update *mask when correctly detected.
11014 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
11015 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
11016 (detect_coding, detect_coding_system): Adjust for the changes above.
11017
11018 2008-02-01 Kenichi Handa <handa@m17n.org>
11019
11020 * character.c (char_string): Rename from
11021 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
11022 (string_char): Rename from string_char.
11023
11024 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
11025 if C is greater than MAX_3_BYTE_CHAR.
11026 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
11027 string_char instead of string_char_with_unification.
11028
11029 2008-02-01 Dave Love <fx@gnu.org>
11030
11031 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
11032
11033 2008-02-01 Kenichi Handa <handa@m17n.org>
11034
11035 * keymap.c (push_key_description): Pay attention to force_multibyte.
11036
11037 * regex.c (re_search_2): Fix for the case of unibyte buffer.
11038
11039 2008-02-01 Dave Love <fx@gnu.org>
11040
11041 * charset.c (define_charset_internal): Rename `supprementary'.
11042
11043 * Makefile.in (lisp, shortlisp): Remove latin-N.
11044
11045 2008-02-01 Dave Love <fx@gnu.org>
11046
11047 * xfns.c (x_window, x_window): Use use_xim.
11048
11049 * xterm.c (use_xim): Initialize.
11050 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
11051 (x_term_init): Maybe set use_xim.
11052
11053 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
11054
11055 2008-02-01 Kenichi Handa <handa@m17n.org>
11056
11057 * search.c (search_buffer): Fix case-fold-search of multibyte
11058 characters.
11059 (boyer_moore): Rename the last argument to char_high_bits.
11060
11061 2008-02-01 Kenichi Handa <handa@m17n.org>
11062
11063 * xdisp.c (display_string): Fix for the case of zero width glyph.
11064
11065 * xfns.c (x_set_font): Change the error message of the case that
11066 x_new_fontset returns Qt.
11067
11068 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
11069 (Finternal_set_lisp_face_attribute): Use signal_error for the
11070 error of invalid fontset.
11071
11072 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
11073 fontset, return Qt.
11074
11075 2008-02-01 Dave Love <fx@gnu.org>
11076
11077 * unexelf.c (unexec): Make .got handling not SGI-specific.
11078
11079 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
11080
11081 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
11082
11083 * keyboard.c (read_key_sequence): Fix type error.
11084
11085 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
11086 type error.
11087
11088 * fontset.c (fontset_add): Return Lisp_Object.
11089
11090 2008-02-01 Dave Love <fx@gnu.org>
11091
11092 * charset.h (charset_ordered_list_tick): Declare extern.
11093
11094 2008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 The following changes (and some of 2008-02-01 changes of mine) are
11097 for handling syntax, category, and case conversion for unibyte
11098 characters by converting them to multibyte on the fly. With these
11099 changes, we don't have to setup syntax and case tables for unibyte
11100 characters in each language environment.
11101
11102 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
11103 multibyte if necessary.
11104
11105 * bytecode.c (Fbyte_code): Likewise.
11106
11107 * character.h (LEADING_CODE_LATIN_1_MIN)
11108 (LEADING_CODE_LATIN_1_MAX): New macros.
11109 (unibyte_to_multibyte_table): Extern it.
11110 (unibyte_char_to_multibyte): New macro.
11111 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
11112 (CHAR_LEADING_CODE): New macro.
11113 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
11114
11115 * character.c (unibyte_to_multibyte_table): New variable.
11116 (unibyte_char_to_multibyte): Move to character.h and define as macro.
11117 (multibyte_char_to_unibyte): If C is an eight-bit character,
11118 convert it to the corresponding byte value.
11119
11120 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
11121 not 1, signals an error. Update the elements of
11122 unibyte_to_multibyte_table.
11123 (init_charset_once): Initialize unibyte_to_multibyte_table.
11124 (syms_of_charset): Define the charset `iso-8859-1'.
11125
11126 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
11127 as is without converting it to unibyte. In a unibyte buffer,
11128 convert C to multibyte before checking the syntax.
11129
11130 * lisp.h (unibyte_char_to_multibyte): Delete extern.
11131
11132 * minibuf.c (Fminibuffer_complete_word): Use the macro
11133 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
11134
11135 * regex.h (struct re_pattern_buffer): New member target_multibyte.
11136
11137 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
11138 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
11139 that is zero, convert an eight-bit char to multibyte.
11140 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
11141 non-emacs case.
11142 (PATFETCH): Convert an eight-bit char to multibyte.
11143 (HANDLE_UNIBYTE_RANGE): New macro.
11144 (regex_compile): Setup the compiled pattern for multibyte chars
11145 even if the given regex string is unibyte. Use PATFETCH_RAW
11146 instead of PATFETCH in many places. To handle `charset'
11147 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
11148 only for ASCII chars.
11149 (analyse_first) <exactn>: Simplify because the compiled pattern
11150 is multibyte.
11151 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
11152 <charset>: Use CHAR_LEADING_CODE to get leading codes.
11153 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
11154 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
11155 multibyte always 1.
11156 (re_search_2): In emacs, set the locale variable multibyte to 1,
11157 otherwise to 0. New local variable target_multibyte. Check it
11158 to decide the multibyteness of STR1 and STR2. If
11159 target_multibyte is zero, convert unibyte chars to multibyte
11160 before translating and checking fastmap.
11161 (TARGET_CHAR_AND_LENGTH): New macro.
11162 (re_match_2_internal): In emacs, set the locale variable multibyte
11163 to 1, otherwise to 0. New local variable target_multibyte. Check
11164 it to decide the multibyteness of STR1 and STR2. Use
11165 TARGET_CHAR_AND_LENGTH to fetch a character from D.
11166 <charset, charset_not>: If multibyte is nonzero, check fastmap
11167 only for ASCII chars. Call bcmp_translate with
11168 target_multibyte, not with multibyte.
11169 <begline>: Declare the local variable C as `unsigned'.
11170 (bcmp_translate): Change the last arg name to target_multibyte.
11171
11172 * search.c (compile_pattern_1): Don't adjust the multibyteness of
11173 the regexp pattern and the matching target. Set cp->buf.multibyte
11174 to the multibyteness of the regexp pattern. Set
11175 cp->but.target_multibyte to the multibyteness of the matching target.
11176 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
11177 FETCH_STRING_CHAR_ADVANCE.
11178 (Freplace_match): Convert unibyte chars to multibyte.
11179
11180 * syntax.c (char_quoted, back_comment, scan_words)
11181 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
11182 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
11183 unibyte chars to multibyte.
11184 (skip_chars): Delete the arg syntaxp, and move the code for
11185 handling syntaxes to skip_syntaxes. Change callers.
11186 Fix the case that the multibyteness of STRING and the current
11187 buffer doesn't match.
11188 (skip_syntaxes): New function.
11189 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
11190 SINGLE_BYTE_CHAR_P.
11191
11192 2008-02-01 Kenichi Handa <handa@m17n.org>
11193
11194 * xfaces.c (QCfontset): New variable.
11195 (LFACE_FONTSET): New macro.
11196 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
11197 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
11198 (Finternal_set_lisp_face_attribute)
11199 (Finternal_get_lisp_face_attribute): Handle QCfontset.
11200 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
11201 check also LFACE_FONTSET_INDEX.
11202 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
11203 attrs[LFACE_FONT_INDEX].
11204 (syms_of_xfaces): Intern and staticpro QCfontset.
11205
11206 * dispextern.h (enum lface_attribute_index): New member
11207 LFACE_FONTSET_INDEX.
11208
11209 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
11210
11211 2008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * coding.c (coding_set_destination): Fix coding->destination for
11214 the case converting a region.
11215 (encode_coding_utf_8): Encode eight-bit chars as single byte.
11216 (encode_coding_object): Fix coding->dst_pos and
11217 coding->dst_pos_byte for the case converting a region.
11218
11219 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
11220
11221 * character.h (BYTE8_STRING): New macro.
11222
11223 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
11224
11225 2008-02-01 Kenichi Handa <handa@m17n.org>
11226
11227 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
11228 characters by octal form.
11229
11230 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11231
11232 * buffer.h (_fetch_multibyte_char_len): Delete extern.
11233 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
11234 _fetch_multibyte_char_len.
11235 (FETCH_CHAR_AS_MULTIBYTE): New macro.
11236
11237 * casetab.c (set_canon, set_identity, shuffle): Simplify.
11238
11239 * casefiddle.c (casify_object): Simplify. Handle the case that
11240 the case conversion change the byte length.
11241 (casify_region): Likewise.
11242
11243 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
11244
11245 * character.c (_fetch_multibyte_char_len): Delete this variable.
11246 (syms_of_character): Setup Vprintable_chars.
11247
11248 * editfns.c (Fchar_equal): Fix for the unibyte case.
11249 (Finsert_byte): New function.
11250 (syms_of_editfns): Defsubr it.
11251
11252 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
11253 of direct code 0x3ffff.
11254
11255 * search.c (Freplace_match): Fix for the unibyte case.
11256
11257 2008-02-01 Kenichi Handa <handa@m17n.org>
11258
11259 * lread.c (safe_to_load_p): Fix the logic.
11260
11261 * syntax.c (scan_words): Don't treat characters belonging to
11262 different scripts as constituting a word.
11263
11264 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11265
11266 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
11267
11268 * emacs.c (main): In the case of --unibyte, instead of aborting on
11269 finding non-empty buffer, make it unibyte.
11270
11271 2008-02-01 Kenichi Handa <handa@m17n.org>
11272
11273 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
11274 to create a fontset.
11275
11276 2008-02-01 Dave Love <fx@gnu.org>
11277
11278 * character.c (Funibyte_char_to_multibyte): Doc fix.
11279
11280 * xfns.c [HAVE_STDLIB_H]: Fix last change.
11281
11282 2008-02-01 Kenichi Handa <handa@m17n.org>
11283
11284 * fontset.c (fontset_add): Make the type `int'.
11285 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
11286
11287 * character.c (unibyte_char_to_multibyte)
11288 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
11289 charset_unibyte, not charset_primary.
11290
11291 * charset.h (charset_unibyte): Extern it instead of charset_primary.
11292
11293 * charset.c (charset_unibyte): Rename from charset_primary.
11294 (Funibyte_charset): Rename from Fprimary_charset.
11295 (Fset_unibyte_charset): Rename from Fset_primary_charset.
11296 (syms_of_charset): Adjust for the above changes.
11297
11298 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11299 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11300 it->multibyte_p is zero.
11301
11302 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
11303 Delete extern.
11304
11305 2008-02-01 Kenichi Handa <handa@m17n.org>
11306
11307 * coding.c (Fdefine_coding_system_internal): Fix category setting
11308 for a coding system of type iso-2022.
11309
11310 2008-02-01 Kenichi Handa <handa@m17n.org>
11311
11312 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
11313
11314 2008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * syntax.c (Vnext_word_boundary_function_table): New variable.
11317 (next-word-boundary-function-table): Declare it as a Lisp variable
11318 in syms_of_syntax.
11319 (scan_words): Call functions in Vnext_word_boundary_function_table
11320 if any.
11321
11322 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
11323
11324 * fontset.c (fs_load_font): If fontp->charset is not negative,
11325 return fontp without setting its members.
11326
11327 2008-02-01 Dave Love <fx@gnu.org>
11328
11329 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
11330
11331 * m/sparc.h (HAVE_ALLOCA): Delete.
11332
11333 * s/irix6-5.h: Don't include strings.h.
11334 (bcopy, bzero, bcmp): Don't undef.
11335
11336 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
11337
11338 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
11339 (TIOCSIGSEND): Don't test IRIX6.
11340 (bcopy, bzero, bcmp): Define conditionally.
11341
11342 2008-02-01 Kenichi Handa <handa@m17n.org>
11343
11344 * buffer.c (Qas, Qmake, Qto): New variables.
11345 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
11346 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
11347
11348 * callproc.c (Fcall_process): Don't call insert_1_both directly if
11349 we are inserting a process output into a multibyte buffer.
11350
11351 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
11352 multibyte_char_to_unibyte.
11353
11354 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
11355 by the primary charset, make it eight-bit char.
11356 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
11357
11358 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
11359 (charset_8_bit__control, charset_8_bit_graphic)
11360 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
11361 (define_charset_internal): New function.
11362 (syms_of_charset): Call define_charset_internal for pre-defined
11363 charsets.
11364
11365 * charset.h (charset_8_bit): Extern it.
11366
11367 * coding.c (make_conversion_work_buffer): Adjust for the change
11368 of Fset_buffer_multibyte.
11369 (encode_coding_raw_text): Increment p0 in the loop.
11370
11371 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
11372
11373 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
11374 for the change of Fset_buffer_multibyte.
11375
11376 * fns.c (Fstring_to_multibyte): New function.
11377 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
11378
11379 2008-02-01 Dave Love <fx@gnu.org>
11380
11381 * xfns.c (x_put_x_image): Declare args.
11382
11383 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
11384 (try_font_list): Declare an arg.
11385
11386 * xdisp.c (message2_nolog, set_message): Declare an arg.
11387
11388 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
11389
11390 * syntax.c (scan_sexps_forward): Declare an arg.
11391
11392 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11393 Declare an arg.
11394
11395 * lisp.h (Fnew_fontset): Declare.
11396
11397 * keymap.c (push_key_description): Call CHARACTERP correctly.
11398
11399 * fontset.c (fontset_add): Declare args. Call make_number correctly.
11400 (face_for_char): Delete unused vars.
11401 (Fset_fontset_font): Doc fix. Delete unused vars.
11402
11403 * doc.c (Fsubstitute_command_keys): Delete unused vars.
11404
11405 * composite.c (update_compositions): Declare arg.
11406
11407 * cm.c (calccost, cmgoto): Declare args.
11408
11409 * charset.c: Remove `emacs' conditional. Doc fixes.
11410 (map_char_table_for_charset): Declare.
11411
11412 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
11413
11414 * ccl.c: Remove `emacs' conditional.
11415
11416 2008-02-01 Kenichi Handa <handa@m17n.org>
11417
11418 The following changes are to allow specifying multiple font
11419 patterns for a character range (specified by script or charset).
11420
11421 * Makefile.in (abbrev.o): Depend on syntax.h.
11422 (xfaces.o): Depend on charset.h.
11423
11424 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
11425 SINGLE_BYTE_CHAR_P.
11426
11427 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
11428
11429 * character.h (Vchar_script_table): Extern it.
11430
11431 * character.c (Vscript_alist): Delete.
11432 (Vchar_script_table, Qchar_script_table): New variable.
11433 (syms_of_character): Declare Vchar_script_table as a lisp variable
11434 and initialize it.
11435
11436 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
11437 have property char-table-extra-slots, make no extra slot.
11438
11439 * dispextern.h (struct face): Delete member `charset'.
11440 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
11441 SINGLE_BYTE_CHAR_P.
11442 (choose_face_font, lookup_non_ascii_face, font_name_registry):
11443 Add prototypes.
11444 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
11445 (generate_ascii_font_name): Rename from generate_ascii_font.
11446
11447 * fontset.h (get_font_repertory_func): New prototype.
11448 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
11449 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
11450
11451 * fontset.c (Qprepend, Qappend): New variables.
11452 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
11453 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
11454 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
11455 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
11456 (fontset_ref_and_range, fontset_add, reorder_font_vector)
11457 (load_font_get_repertory): New functions.
11458 (fontset_set): Delete.
11459 (fontset_face): New arg FACE. Return face ID, not face.
11460 Complete re-write to handle new fontset structure. Change caller.
11461 (free_face_fontset): Use ASET istead of AREF (X) = Y.
11462 (face_for_char): Don't call lookup_face.
11463 (make_fontset_for_ascii_face): New arg FACE.
11464 (fs_load_font): New arg CHARSET_ID. Don't check
11465 Vfont_encoding_alist here.
11466 (find_font_encoding): New function.
11467 (list_fontsets): Use STRINGP, not ! NILP.
11468 (accumulate_script_ranges): New function.
11469 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
11470 re-written to handle new fontset structure.
11471 (Ffontset_font): Return a copy of element.
11472 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
11473 docstring of font-encoding-alist.
11474
11475 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
11476 (Fset_fotset_font): Fix arguments to 5.
11477
11478 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
11479
11480 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
11481 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11482 (highlight_trailing_whitespace): Adjust for the change of
11483 lookup_named_face.
11484
11485 * xfaces.c: Include charset.h.
11486 (load_face_font): Delete argument C. Change caller.
11487 (generate_ascii_font_name): Rename from generate_ascii_font.
11488 (font_name_registry): New function.
11489 (cache_face): Store ascii faces before non-ascii faces in buckets.
11490 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
11491 Lookup only ascii faces.
11492 (lookup_non_ascii_face): New function.
11493 (lookup_named_face): Delete argument C. Change caller.
11494 (lookup_derived_face): Delete argument C. Change caller.
11495 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
11496 a string, just call font_list with it.
11497 (choose_face_font): Delete arguments FACE and C. New arg
11498 FONT_SPEC. Change caller.
11499 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11500 Change caller.
11501 (realize_non_ascii_face): New function.
11502 (realize_x_face): Call load_face_font here.
11503 (realize_tty_face): Delete argument C. Change caller.
11504 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11505 get a face ID.
11506 (dump_realized_face): Don't print charset of FACE.
11507
11508 * xfns.c (x_set_font): Always call x_new_fontset and
11509 store_frame_parameter.
11510 (Fx_create_frame): Call x_new_fontset, not x_new_font.
11511 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
11512
11513 * xterm.h (x_get_font_repertory): Extern it.
11514
11515 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11516 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11517 it->multibyte_p is zero.
11518 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11519 (x_new_fontset): If FONTSETNAME doesn't match any existing
11520 fontsets, create a new one.
11521 (x_get_font_repertory): New function.
11522
11523 2008-02-01 Kenichi Handa <handa@m17n.org>
11524
11525 * coding.c (Ffind_coding_systems_region_internal): Detect an
11526 ASCII only string correctly.
11527
11528 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11529 version is 0.
11530
11531 2008-02-01 Kenichi Handa <handa@m17n.org>
11532
11533 * lread.c: Include "coding.h".
11534 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11535 (load_each_byte, unread_char): New variables.
11536 (readchar_backlog): Delete.
11537 (readchar): Return a character unless load_each_byte is nonzero.
11538 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11539 cons. If unread_char is not -1, simply return it.
11540 (unreadchar): Handle the case that readcharfun is
11541 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11542 (read_multibyte): Delete.
11543 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11544 (read_emacs_mule_char): New functions.
11545 (Fload): Even if the file doesn't have the extension ".elc", if
11546 safe_to_load_p returns a positive version number, assume that the
11547 file contains bytecompiled code. If the version is less than 22,
11548 load the file while decoding multibyte sequences by emacs-mule.
11549 (readevalloop): Don't use readchar_backlog.
11550 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11551 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11552 (read_escape): Delete the arg BYTEREP.
11553 (read1): Set load_each_byte to 1 temporarily while handling
11554 #@NUMBER. Don't call read_multibyte.
11555 (read_vector): Call Fread with a cons. If readcharfun is
11556 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
11557 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
11558 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11559 and Qload_force_doc_strings.
11560
11561 2008-02-01 Kenichi Handa <handa@m17n.org>
11562
11563 * xdisp.c (face_before_or_after_it_pos): Call
11564 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11565
11566 2008-02-01 Kenichi Handa <handa@m17n.org>
11567
11568 * character.h (TRAILING_CODE_P): New macro.
11569 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
11570 (string_char_with_unification): Fix prototype.
11571 (Vscript_alist): Extern it.
11572
11573 * character.c (Vscript_alist): New variable.
11574 (string_char_with_unification, str_as_unibyte)
11575 (string_escape_byte8): Add `const' to local variables.
11576 (syms_of_character): Declare script-alist as a Lisp variable.
11577
11578 * charset.h (Vcharset_ordered_list): Extern it.
11579 (charset_ordered_list_tick): Extern it.
11580 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11581 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11582 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
11583 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
11584 (Funify_charset): Adjust for the change of Funify_charset.
11585
11586 * charset.c (charset_ordered_list_tick): New variable.
11587 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11588 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11589 deunify intead of unify a charset.
11590 (string_xstring_p): Add `const' to local variables.
11591 (find_charsets_in_text): Add `const' to arguments and local variables.
11592 (encode_char): Adjust for the change of Funify_charset. Fix
11593 detecting of invalid code.
11594 (Fset_charset_priority): Increment charset_ordered_list_tick.
11595 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11596 and TO_CODE.
11597
11598 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
11599 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11600 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
11601 (decode_coding_ccl, consume_chars)
11602 (Ffind_coding_systems_region_internal)
11603 (Fcheck_coding_systems_region): Add `const' to local variables.
11604
11605 * print.c (print_object): Use octal form for printing the
11606 contents of a bool vector.
11607
11608 2008-02-01 Dave Love <fx@gnu.org>
11609
11610 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11611 <version == 20>: Refuse to load.
11612
11613 2008-02-01 Dave Love <fx@gnu.org>
11614
11615 * fns.c: Move coding.h.
11616 (Qcodeset, Qdays, Qmonths): New.
11617 (concat): Use CHARACTERP instead of INTEGERP.
11618 (Flocale_codeset): Delete.
11619 (Flanginfo): New function.
11620 (syms_of_fns): Change accordingly.
11621
11622 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11623
11624 2008-02-01 Dave Love <fx@gnu.org>
11625
11626 * casetab.c (init_casetab_once, init_casetab_once): Fix
11627 CHAR_TABLE_SET call.
11628
11629 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11630
11631 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11632
11633 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11634 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11635 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11636
11637 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11638
11639 * coding.c (ENCODE_DESIGNATION, decode_eol)
11640 (make_conversion_work_buffer, code_conversion_restore)
11641 (Fdefine_coding_system_internal): Convert Lisp types.
11642 (code_conversion_restore): Use EQ, not ==.
11643 (Fencode_coding_string): Fix code_convert_string call.
11644
11645 * coding.h (code_convert_region): Fix prototype.
11646
11647 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
11648
11649 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11650 (Ffontset_info): Convert Lisp types.
11651
11652 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11653
11654 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11655
11656 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11657
11658 * chartab.c: Include "...h", not <...h> in some cases.
11659
11660 * callproc.c (Fcall_process): Remove unused variables.
11661
11662 2008-02-01 Dave Love <fx@gnu.org>
11663
11664 * coding.c (Fset_coding_system_priority): Allow null arg list.
11665
11666 2008-02-01 Dave Love <fx@gnu.org>
11667
11668 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11669 (Fself_insert_and_exit): Use CHARACTERP.
11670
11671 * callproc.c (Fcall_process): Remove unused vars.
11672
11673 * xterm.c (XTread_socket): Add extra dead keysyms.
11674
11675 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11676
11677 * dispextern.h: Remove prototypes for redraw_frame,
11678 redraw_garbaged_frames.
11679
11680 * cmds.c (Fself_insert_command): Use CHARACTERP.
11681
11682 * chartab.c (make_sub_char_table): Remove unused var.
11683 (Fset_char_table_default, Fmap_char_table): Doc fix.
11684
11685 * keymap.c (access_keymap): Remove generic char code.
11686 (push_key_description): Use CHARACTERP.
11687
11688 2008-02-01 Dave Love <fx@gnu.org>
11689
11690 * charset.c: Doc fixes.
11691 (Funify_charset): Extra checking.
11692
11693 2008-02-01 Dave Love <fx@gnu.org>
11694
11695 * lread.c: Remove some unused variables.
11696 (safe_to_load_p): If safe, return the magic number version byte.
11697 (Fload): Maybe use load-with-code-conversion.
11698
11699 2008-02-01 Kenichi Handa <handa@m17n.org>
11700
11701 * category.c (Fmodify_category_entry): Don't modify the contents
11702 of category_set for characters out of the range. Avoid
11703 unnecessary modification.
11704
11705 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
11706 Vchar_unify_table. The default value of the table is now nil.
11707
11708 * character.c (syms_of_character): Setup Vchar_width_table for
11709 eight-bit-control and raw-byte chars.
11710
11711 * charset.h (enum define_charset_arg_index): Delete
11712 charset_arg_parents and add charset_arg_subset and
11713 charset_arg_superset.
11714 (enum charset_attr_index): Delete charset_parents and add
11715 charset_subset and charset_superset.
11716 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11717 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
11718 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
11719 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11720 (CHARSET_SUPERSET): New macros.
11721 (charset_work): Extern it.
11722 (ENCODE_CHAR): Use charset_work.
11723 (CHAR_CHARSET_P): Adjust for the change of encoder format.
11724 (map_charset_chars): Extern it.
11725
11726 * charset.c (load_charset_map): Set the default value of encoder
11727 and deunifier char-tables to nil.
11728 (map_charset_chars): Change argument. Change callers. Use
11729 map_char_table_for_charset instead of map_char_table.
11730 (Fmap_charset_chars): New optional args from_code and to_code.
11731 (Fdefine_charset_internal): Adjust for the change of
11732 `define-charset' (:parents -> :subset or :superset).
11733 (charset_work): New variable.
11734 (encode_char, syms_of_charset): Adjust for the change of
11735 Fdefine_charset_internal.
11736 (Ffind_charset_string): Setup the vector `charsets' correctly.
11737
11738 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
11739 the previous change.
11740 (char_table_ref_and_range): Adjust for the above change.
11741 (map_sub_char_table_for_charset): New function.
11742 (map_char_table_for_charset): New function.
11743
11744 * keymap.c (describe_vector): Handle a char-table directly here.
11745 (describe_char_table): Delete.
11746
11747 * lisp.h (map_charset_chars): Delete.
11748
11749 2008-02-01 Dave Love <fx@gnu.org>
11750
11751 * fns.c (count_combining): Comment out (unused).
11752 (Flocale_codeset): New.
11753 (syms_of_fns): Defsubr it.
11754
11755 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
11756 (size_t): Remove.
11757
11758 2008-02-01 Dave Love <fx@gnu.org>
11759
11760 * Makefile.in (chartab.o): Depend on charset.h.
11761
11762 2008-02-01 Kenichi Handa <handa@m17n.org>
11763
11764 * character.c (syms_of_character): Set the default value of
11765 Vprintable_chars to Qnil.
11766
11767 2008-02-01 Dave Love <fx@gnu.org>
11768
11769 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11770
11771 2008-02-01 Kenichi Handa <handa@m17n.org>
11772
11773 * charset.c (load_charset_map): Handle the case that from < to
11774 correctly.
11775
11776 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11777 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11778 Pay attention to raw-8-bit chars.
11779
11780 2008-02-01 Kenichi Handa <handa@m17n.org>
11781
11782 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11783 It is not bytecompiled now.
11784
11785 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11786 (charset_jisx0208): New variables.
11787 (Fdefine_charset_internal): Setup them if appropriate.
11788 (init_charset_once): Initialize them to -1.
11789
11790 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11791 (charset_jisx0208): Extern them.
11792
11793 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
11794 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
11795 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11796 (setup_iso_safe_charsets): Fix arguments to Fassq.
11797 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11798 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11799 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
11800 (encode_coding_iso_2022): Change the 1st arg to
11801 ENCODE_ISO_CHARACTER to a variable.
11802
11803 2008-02-01 Kenichi Handa <handa@m17n.org>
11804
11805 * charset.h (enum define_charset_arg_index): New enums
11806 charset_arg_min_code and charset_arg_max_code.
11807 (struct charset): New member char_index_offset.
11808
11809 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11810 Take charset->char_index_offset into account.
11811 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11812 args[charset_arg_max_code]. Setup charset.char_index_offset.
11813 (syms_of_charset): Fix args to Fdefine_charset_internal.
11814
11815 2008-02-01 Dave Love <fx@gnu.org>
11816
11817 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11818
11819 2008-02-01 Dave Love <fx@gnu.org>
11820
11821 * coding.c: Doc fixes.
11822 (Fcoding_system_aliases): Fix return value.
11823 (Qmac): Remove (duplicated) definition.
11824
11825 2008-02-01 Dave Love <fx@gnu.org>
11826
11827 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11828 functions.
11829
11830 * character.c (Fstring): Doc fix.
11831
11832 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11833
11834 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11835 ids.
11836 (font-encoding-alist): Doc fix.
11837
11838 2008-02-01 Dave Love <fx@gnu.org>
11839
11840 * term.c (costs_set): Declare static, non-initialized for pcc.
11841 (encode_terminal_code): Remove unused var.
11842
11843 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11844 for K&R.
11845
11846 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11847
11848 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
11849 (suffixes): Move out of make_subsidiaries for K&R.
11850
11851 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
11852
11853 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11854
11855 2008-02-01 Dave Love <fx@gnu.org>
11856
11857 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11858
11859 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
11860
11861 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
11862
11863 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11864
11865 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
11866
11867 2008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
11870 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
11871
11872 2008-02-01 Kenichi Handa <handa@m17n.org>
11873
11874 * coding.c (decode_coding_charset): Adjust for the change of
11875 Fdefine_coding_system_internal.
11876 (Fdefine_coding_system_internal): For a coding system of
11877 `charset' type, store a list of charset IDs in
11878 `charset_attr_charset_valids' element of coding attributes.
11879
11880 2008-02-01 Kenichi Handa <handa@m17n.org>
11881
11882 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
11883 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11884 caller. Handle 2-byte and 3-byte charsets correctly.
11885 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11886 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
11887 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11888 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11889 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11890 sequence.
11891 (decode_coding_emacs_mule): Handle composition correctly. Rewind
11892 `src' and `consumed_chars' correctly before calling emacs_mule_char.
11893 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11894 and alt&rule composition.
11895 (decode_coding_iso_2022): Handle composition correctly.
11896 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11897
11898 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11899 re-defining a charset. If the charset has :emacs-mule-id, setup
11900 emacs_mule_bytes.
11901 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
11902
11903 2008-02-01 Kenichi Handa <handa@m17n.org>
11904
11905 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11906 (encode_coding_big5, encode_coding_charset): If coding requires safe
11907 encoding, produce a character specified by
11908 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
11909
11910 2008-02-01 Dave Love <fx@gnu.org>
11911
11912 * xterm.c (XSetIMValues): Declare.
11913
11914 * process.c: Conditionally include sys/wait.h, pty.h.
11915
11916 * print.c (print_object): Fix print format for 64-bit systems.
11917
11918 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
11919
11920 * buffer.c (emacs_strerror): Declare.
11921
11922 * fontset.c (Fclear_face_cache): Declare.
11923 (accumulate_font_info): Comment-out (unused).
11924 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11925 variables.
11926
11927 * character.h (string_escape_byte8): Declare.
11928
11929 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11930 unused vars.
11931 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11932 (Fmap_charset_chars): Doc fix.
11933
11934 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
11935 (Fset_coding_system_priority, Fset_coding_system_priority)
11936 (Fdefine_coding_system_internal): Doc fix.
11937
11938 2008-02-01 Dave Love <fx@gnu.org>
11939
11940 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11941
11942 2008-02-01 Kenichi Handa <handa@m17n.org>
11943
11944 * character.c (string_escape_byte8): Make multibyte string with
11945 correct size.
11946
11947 * charset.c (Fmake_char): Delete unnecessary code.
11948
11949 2008-02-01 Kenichi Handa <handa@m17n.org>
11950
11951 * xfns.c (x_encode_text): Allocate coding.destination here, and
11952 call encode_coding_object with dst_object Qnil.
11953
11954 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11955 multibyte form correctly.
11956
11957 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11958 against Vfont_encoding_alist.
11959
11960 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11961 handling of charset list.
11962 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11963 (decode_coding_object): Move point to coding->dst_pos before
11964 calling post-read-conversion function.
11965 (encode_coding_object): Give correct arguments to
11966 pre-write-conversion. Ignore the return value of
11967 pre-write-conversion function. Pay attention to the case that
11968 pre-write-conversion changes the current buffer. If dst_object is
11969 Qt, even if coding->src_bytes is zero, allocate at least one byte
11970 to coding->destination.
11971
11972 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11973
11974 * charset.c (Fmake_char): Make it more backward compatible.
11975 (Fmap_charset_chars): Fix docstring.
11976
11977 2008-02-01 Dave Love <fx@gnu.org>
11978
11979 * coding.c: Doc fixes.
11980 (Fdefine_coding_system_alias): Use names, not symbols, in
11981 coding-system-alist.
11982
11983 2008-02-01 Kenichi Handa <handa@m17n.org>
11984
11985 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11986 of calling free_realized_face.
11987
11988 2008-02-01 Yong Lu <lyongu@asia-infonet.com>
11989
11990 * charset.c (read_hex): Don't treat SPC as a comment starter.
11991 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
11992 (Fdecode_char): Fix typo.
11993
11994 2008-02-01 Kenichi Handa <handa@m17n.org>
11995
11996 * charset.h (struct charset): New member `code_space_mask'.
11997
11998 * coding.c (coding_set_source): Delete the local variable beg_byte.
11999 (encode_coding_charset, Fdefine_coding_system_internal):
12000 Delete the local variable charset.
12001 (Fdefine_coding_system_internal): Setup
12002 attrs[coding_attr_charset_valids] correctly.
12003
12004 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
12005 member to check if CODE is valid or not.
12006 (Fdefine_charset_internal): Initialize `code_space_mask' member.
12007 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
12008 is within the range of charset->min_code and carset->max_code.
12009
12010 2008-02-01 Dave Love <fx@gnu.org>
12011
12012 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
12013
12014 * dispextern.h (generate_ascii_font): Fix return type.
12015
12016 * xfaces.c (generate_ascii_font): Fix arg declaration.
12017
12018 * coding.c (coding_inherit_eol_type)
12019 (Fset_terminal_coding_system_internal)
12020 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
12021
12022 2008-02-01 Kenichi Handa <handa@m17n.org>
12023
12024 * coding.c (decode_coding_charset, encode_coding_charset): Handle
12025 multiple charsets correctly.
12026
12027 2008-02-01 Kenichi Handa <handa@m17n.org>
12028
12029 * search.c (boyer_moore): Fix handling of multibyte character
12030 translation.
12031
12032 * xdisp.c (display_mode_element): When the variable `elt' is
12033 changed, update `this' and `lisp_string'.
12034
12035 2008-02-01 Kenichi Handa <handa@m17n.org>
12036
12037 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
12038
12039 * callproc.c (Fcall_process): Be sure to give the current buffer
12040 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
12041
12042 * charset.c (struct charset_map_entries): New struct.
12043 (load_charset_map): Rename from parse_charset_map. New args
12044 entries and n_entries. Change caller.
12045 (load_charset_map_from_file): Rename from load_charset_map.
12046 Change caller. New arg control_flag. Call load_charset_map at
12047 the tail.
12048 (load_charset_map_from_vector): New function.
12049 (Fdefine_charset_internal): Setup charset.compact_codes_p.
12050 (encode_char): If the charset is compact, change a character index
12051 to a code point.
12052
12053 * coding.c (coding_alloc_by_making_gap): Check the case that the
12054 source and destination are the same correctly.
12055 (decode_coding_raw_text): Set coding->consumed_char and
12056 coding->consumed to 0.
12057 (produce_chars): If coding->chars_at_source is nonzero, update
12058 coding->consumed_char and coding->consumed before calling
12059 alloc_destination.
12060 (Fdefine_coding_system_alias): Register ALIAS in
12061 Vcoding_system_alist.
12062 (syms_of_coding): Define `no-conversion' coding system at the tail.
12063
12064 * fileio.c (Finsert_file_contents): Set coding_system instead of
12065 val. If the current buffer is multibyte, always call
12066 decode_coding_gap.
12067
12068 * xfaces.c (try_font_list): Give higher priority to fontset's
12069 family than face's family.
12070
12071 2008-02-01 Kenichi Handa <handa@m17n.org>
12072
12073 * callproc.c (Fcall_process): Be sure to give the current buffer
12074 to decode_coding_c_string.
12075
12076 * xfaces.c (try_font_list): Give a family specified in a fontset
12077 higher priority than a family specified in a face.
12078
12079 2008-02-01 Kenichi Handa <handa@m17n.org>
12080
12081 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
12082 Fix arguments to insert_from_buffer.
12083
12084 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
12085
12086 2008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * coding.c (produce_chars): Set the variable `multibytep' correctly.
12089 (decode_coding_gap): Set coding->dst_multibyte correctly.
12090
12091 2008-02-01 Kenichi Handa <handa@m17n.org>
12092
12093 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
12094 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
12095 (encode_coding_utf_16): Substitute coding->default_char for
12096 non-Unicode characters.
12097 (decode_coding): Don't call record_insert here.
12098 (setup_coding_system): Initialize `surrogate' of
12099 coding->spec.utf_16 to 0.
12100 (EMIT_ONE_BYTE): Fix for multibyte case.
12101
12102 * insdel.c (insert_from_gap): Call record_insert.
12103
12104 2008-02-01 Kenichi Handa <handa@m17n.org>
12105
12106 * casefiddle.c (casify_region): Fix multibyte case.
12107
12108 * character.c (c_string_width): Add return type `int'.
12109 (char_string_with_unification): Delete arg ADVANCED.
12110
12111 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
12112 (CHAR_STRING): Adjust for the change of char_string_with_unification.
12113 (CHAR_STRING_ADVANCE): Make it do-while statement.
12114
12115 * chartab.c (sub_char_table_set_range): Optimize for the case
12116 DEPTH == 3. Add workaround code for a GCC optimization bug.
12117
12118 * charset.c (parse_charset_map): Remove an unused variable.
12119
12120 * coding.c: Delete unused variables.
12121
12122 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
12123 earlier. If inserted is zero and the coding system doesn't
12124 require flushing, don't call decode_coding_gap.
12125
12126 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
12127
12128 2008-02-01 Kenichi Handa <handa@m17n.org>
12129
12130 The following changes are for using Unicode as an internal
12131 character model, and use UTF-8 format for buffer/string
12132 representation.
12133
12134 * .gdbinit (xchartable): Adjust for the change of char table structure.
12135 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
12136
12137 * Makefile.in (obj): Add character.o and chartab.o.
12138 (lisp, shortlisp): Remove utf-8.elc.
12139 (*.o): For many files, change dependency on charset.h to
12140 character.h, and add dependency on character.h.
12141 (character.o, chartab.o): New targets.
12142
12143 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
12144 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
12145 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
12146 of "charset.h".
12147
12148 * dired.c, filelock.c: Include "character.h".
12149
12150 * alloc.c: Include "character.h" instead of "charset.h".
12151 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
12152 (syms_of_alloc): Remove defsubr for Smake_char_table.
12153
12154 * buffer.c: Include "character.h" instead of "charset.h", don't
12155 include "coding.h".
12156 (Fset_buffer_multibyte): Adjust for UTF-8.
12157
12158 * buffer.h: EXFUN Fbuffer_live_p.
12159
12160 * callproc.c: Include "character.h" instead of "charset.h".
12161 (Fcall_process): Big change for the new code-conversion APIs.
12162
12163 * casetab.c: Include "character.h" instead of "charset.h".
12164 (set_canon, set_identity, shuffle): Adjust for the new
12165 map_char_table spec.
12166 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
12167 accessing the char table structure.
12168
12169 * chartab.c: New file that implements char table.
12170
12171 * category.c: Include "character.h".
12172 (copy_category_entry): New function.
12173 (copy_category_table): Call map_char_table and copy_category_entry.
12174 (Fmake_category_table): Initialize all top-level slots.
12175 (char_category_set): New function.
12176 (modify_lower_category_set): Delete.
12177 (Fmodify_category_entry): Call char_table_ref_and_range.
12178
12179 * category.h (CATEGORY_SET): Just call char_category_set.
12180
12181 * ccl.c: Include "character.h".
12182 (Qccl, Qcclp): New variables.
12183 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
12184 it's less than 256.
12185 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
12186 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
12187 and DST type.
12188 (ccl_driver): Change types of argument, adjust code accordingly.
12189 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
12190 ccl_driver.
12191 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
12192
12193 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
12194 New members src_multibyte, dst_multibyte, consumed, and produced.
12195 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
12196 (CODING_SPEC_CCL_PROGRAM): New macro.
12197 (ccl_driver): Update prototype.
12198 (Qccl, Qcclp, Fccl_program_p): Extern them.
12199 (CHECK_CCL_PROGRAM): New macro.
12200
12201 * character.c, character.h, chartab.c: New files.
12202
12203 * charset.c: Mostly re-written. Move character and multibyte sequence
12204 handling codes to character.c.
12205
12206 * charset.h: Mostly re-written. Move character and multibyte sequence
12207 handling codes to character.h.
12208
12209 * coding.c, coding.h: Mostly re-written.
12210
12211 * composite.c: Include "character.h" instead of "charset.h".
12212 (CHAR_WIDTH): Move to character.h.
12213 (HASH_KEY, HASH_VALUE): Delete.
12214
12215 * composite.h (enum composition_method): Change order of enumeration
12216 symbols.
12217
12218 * data.c: Include "character.h" instead of "charset.h".
12219 (Faref): Call CHAR_TABLE_REF for a char table.
12220 (Faset): Call CHAR_TABLE_SET for a char table.
12221
12222 * dispextern.h (free_realized_face, check_face_attribytes)
12223 (generate_ascii_font): Extern them.
12224 (free_realized_multibyte_face): Delete extern.
12225
12226 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
12227 table structure.
12228
12229 * editfns.c: Include "character.h" instead of "charset.h".
12230 (Fchar_to_string): Always call CHAR_STRING.
12231
12232 * emacs.c (main): Call init_charset_once, init_charset,
12233 syms_of_chartab, and syms_of_character.
12234
12235 * fileio.c: Include "character.h" instead of "charset.h".
12236 (Finsert_file_contents): Big change for the new code-conversion API.
12237 (choose_write_coding_system, Fwrite_region): Likewise.
12238 (build_annotations_2): Delete.
12239 (e_write): Big change for the new code-conversion API.
12240
12241 * fns.c: Include "character.h" instead of "charset.h".
12242 (copy_sub_char_table): Move to chartab.c.
12243 (Fcopy_sequence): Call copy_char_table for a char table.
12244 (concat): Delete codes calling count_multibyte.
12245 (string_char_to_byte, string_byte_to_char): Adjust for the new
12246 multibyte form.
12247 (internal_equal): Adjust for the change of char table structure.
12248 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
12249 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
12250 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
12251 (char_table_translate, optimize_sub_char_table)
12252 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
12253 chartab.c.
12254 (char_table_ref_and_index): Delete.
12255 (HASH_KEY, HASH_VALUE): Move to lisp.h.
12256 (Fmd5): Call preferred_coding_system instead of accessing
12257 Vcoding_category_list. Adjust for the new code-conversion API.
12258 (syms_of_fns): Move defsubr for char table related functions to
12259 chartab.c.
12260
12261 * fontset.c: Mostly re-written.
12262
12263 * fontset.h (struct font_info): Change type of the member encoding_type.
12264 (enum FONT_SPEC_INDEX): New enum.
12265 (fontset_font_pattern, fs_load_font): Update prototype.
12266 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
12267
12268 * indent.c: Include "character.h" instead of "charset.h".
12269 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
12270
12271 * insdel.c: Include "character.h" instead of "charset.h".
12272 (copy_text): Don't refer to Vnonascii_translation_table.
12273 (insert_from_gap): New function.
12274
12275 * keyboard.c: Include "character.h" instead of "charset.h".
12276 (command_loop_1): Never call direct_output_forward_char before
12277 a non-ASCII character.
12278 (read_char): If Vkeyboard_translate_table is a char table, always
12279 translate a character.
12280
12281 * keymap.c: Include "character.h".
12282 (store_in_keymap): Handle the case that IDX is a cons.
12283 (Fdefine_key): Handle the case that KEY is a cons and the car part
12284 is also a cons (range).
12285 (push_key_description): Adjust for the new character code.
12286 (describe_vector): Call describe_char_table for a char table.
12287 (describe_char_table): New function.
12288
12289 * keymap.h (describe_char_table): Extern it.
12290
12291 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
12292 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
12293 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
12294 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
12295 Delete.
12296 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
12297 structure.
12298 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
12299 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
12300 (CHARTAB_SIZE_BITS_3): New macros.
12301 (chartab_size): Extern it.
12302 (struct Lisp_Char_Table): Re-design.
12303 (struct Lisp_Sub_Char_Table): New structure.
12304 (HASH_KEY, HASH_VALUE): Move from fns.c.
12305 (CHARACTERBITS): Define as 22.
12306 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
12307 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
12308 (GC_SUB_CHAR_TABLE_P): New macro.
12309 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
12310 (code_convert_string_norecord): Deleted extern.
12311 (init_character_once, syms_of_character, init_charset)
12312 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
12313
12314 * lread.c: Include "character.h".
12315 (read_multibyte): New arg NBYTES.
12316 (read_escape): Change the meaning of returned *BYTEREP.
12317 (to_multibyte): Delete.
12318 (read1): Adjust the handling of char table and string.
12319
12320 * print.c: Include "character.h" instead of "charset.h".
12321 (print_string): Convert 8-bit raw bytes to octal form by
12322 string_escape_byte8.
12323 (print_object): Adjust for the new multibyte form. Print 8-bit
12324 raw bytes always in octal form. Handle sub char table correctly.
12325
12326 * process.c: Include "character.h" instead of "charset.h".
12327 (read_process_output, send_process): Adjust for the new
12328 code-conversion API.
12329
12330 * puresize.h (BASE_PURESIZE): Increase.
12331
12332 * regex.c: Include "character.h" instead of "charset.h".
12333 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
12334 (regex_compile): Accept a range whose starting and ending
12335 character have different leading bytes.
12336 (analyse_first): Adjust for the above change.
12337
12338 * search.c: Include "character.h" instead of "charset.h".
12339 (search_buffer, boyer_moore): Adjust for the new multibyte form.
12340 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
12341
12342 * syntax.c: Include "character.h" instead of "charset.h".
12343 (syntax_parent_lookup): Delete.
12344 (Fmodify_syntax_entry): Accept a cons as CHAR.
12345 (skip_chars): Adjust for the new multibyte form.
12346 (init_syntax_once): Call char_table_set_range instead of directly
12347 accessing the structure of a char table.
12348
12349 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
12350 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
12351 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
12352 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
12353
12354 * term.c: Include "buffer.h" and "character.h".
12355 (encode_terminal_code, write_glyphs): Adjust for the new
12356 code-conversion API.
12357 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
12358
12359 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
12360
12361 * xdisp.c: Include "character.h".
12362 (get_next_display_element): Adjust for the new multibyte form.
12363 (disp_char_vector): Adjust for the new char table structure.
12364 (decode_mode_spec_coding): Adjust for the new structure of
12365 coding system.
12366 (decode_mode_spec): Adjust for the new code-conversion API.
12367
12368 * xfaces.c: Include "character.h" instead of "charset.h".
12369 (load_face_font): Adjust for the change of choose_face_font and
12370 FS_LOAD_FONT.
12371 (generate_ascii_font): New function.
12372 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
12373 (set_font_frame_param): Adjust for the change of choose_face_font.
12374 (free_realized_face): Make it public.
12375 (free_realized_faces_for_fontset): Rename from
12376 free_realized_multibyte_face. Free also faces realized for ASCII.
12377 (choose_face_font): Change arguments. Adjust for the change of
12378 fontset_font_pattern and FS_LOAD_FONT.
12379
12380 * xfns.c: Include "character.h".
12381 (x_encode_text): Adjust for the new code-conversion API.
12382
12383 * xselect.c: Don't include "charset.h".
12384 (selection_data_to_lisp_data): Adjust for the new code conversion API.
12385
12386 * xterm.c: Include "character.h".
12387 (x_encode_char): New argument CHARSET. Change caller.
12388 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
12389 Call ENCODE_CHAR instead of SPLIT_CHAR.
12390 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
12391 CHAR_WIDTH instead of CHARSET_WIDTH.
12392 (XTread_socket): Adjust for the new code-conversion API.
12393 (x_new_font): Adjust for the change of FS_LOAD_FONT.
12394 (x_load_font): Adjust for the change of struct font.
12395
12396 2008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
12397
12398 * xfaces.c (face_at_buffer_position): Remove unused vars.
12399
12400 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12401
12402 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
12403 Fix overflow checking.
12404
12405 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
12406
12407 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
12408 Cancel previous change.
12409
12410 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12411
12412 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
12413 ccl->eight_bit_control. Fix check for buffer overflow.
12414 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
12415 (ccl_driver): Initialize extra_bytes to 0.
12416
12417 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
12418
12419 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
12420 return it ORed with ctrl_modifier.
12421
12422 2008-01-29 Miles Bader <miles@gnu.org>
12423
12424 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
12425
12426 2008-01-28 Jason Rumney <jasonr@gnu.org>
12427
12428 * w32.c (stat): Don't double check for networked drive.
12429
12430 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
12431
12432 * window.c (run_window_configuration_change_hook): New function.
12433 Code extracted from set_window_buffer. Set the selected frame.
12434 (set_window_buffer): Use it.
12435 * window.h (run_window_configuration_change_hook): Declare.
12436 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
12437
12438 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
12439
12440 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
12441
12442 * Makefile.in: Remove references to unused macros.
12443
12444 2008-01-26 Eli Zaretskii <eliz@gnu.org>
12445
12446 * w32.c (g_b_init_get_sid_sub_authority)
12447 (g_b_init_get_sid_sub_authority_count): New static variables.
12448 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
12449 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
12450 (init_user_info): Use them to retrieve uid and gid.
12451 Use 500/513, the Windows defaults, as Administrator's uid/gid.
12452 (fstat): Use pw_uid and pw_gid from the_passwd structure for
12453 st_uid and st_gid of the file.
12454
12455 2008-01-26 Jason Rumney <jasonr@gnu.org>
12456
12457 * w32.c (logon_network_drive): New function.
12458 (stat): Use it.
12459
12460 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
12461
12462 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
12463 invisible text covered with an ellipsis.
12464
12465 2008-01-25 Richard Stallman <rms@gnu.org>
12466
12467 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
12468 jump back to beginning. Move some other initializations after that.
12469 (Qwindow_text_change_functions, Vwindow_text_change_functions):
12470 New variables.
12471 (syms_of_xdisp): Init them.
12472
12473 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
12474
12475 * buffer.c (reset_buffer_local_variables):
12476 Implement `permanent-local-hook'.
12477 (Qpermanent_local_hook): New variable.
12478 (syms_of_buffer): Init and staticpro it.
12479
12480 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
12481
12482 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
12483
12484 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
12485
12486 * fns.c (Fclrhash): Return TABLE.
12487
12488 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12489
12490 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
12491 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12492 is set even without positional changes.
12493 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12494
12495 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12496
12497 2008-01-23 Jason Rumney <jasonr@gnu.org>
12498
12499 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12500
12501 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12502 the unicode range available in MULE by locale-coding-system.
12503 Improve dbcs lead byte detection. Set event timestamp and modifiers
12504 earlier.
12505
12506 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12507
12508 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12509 [MAC_OSX] (init_mac_osx_environment): Initialize it.
12510 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
12511 when used on child processes.
12512
12513 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
12514
12515 * dbusbind.c (Fdbus_method_return_internal): Rename from
12516 Fdbus_method_return.
12517 (Fdbus_unregister_object): Move to dbus.el.
12518 (Fdbus_call_method, Fdbus_method_return_internal)
12519 (Fdbus_send_signal): Improve debug messages.
12520
12521 2008-01-20 Martin Rudalics <rudalics@gmx.at>
12522
12523 * undo.c (undo_inhibit_record_point): New variable.
12524 (syms_of_undo): Initialize it.
12525 (record_point): Don't record point when undo_inhibit_record_point
12526 is set.
12527
12528 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12529
12530 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12531
12532 * xdisp.c (Qauto_hscroll_mode): New var.
12533 (syms_of_xdisp): Initialize it.
12534 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12535 window's buffer.
12536 (hscroll_windows): Don't check automatic_hscrolling_p here.
12537
12538 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12539 vscroll if we're setting window-buffer to the value it already has.
12540
12541 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12542
12543 * m/intel386.h: Remove references to XENIX.
12544
12545 2008-01-17 Andreas Schwab <schwab@suse.de>
12546
12547 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12548 instead of HAVE_X86_64_LIB64_DIR.
12549 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12550
12551 2008-01-17 Glenn Morris <rgm@gnu.org>
12552
12553 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12554 to HAVE_X86_64_LIB64_DIR.
12555
12556 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12557
12558 * s/irix3-3.h:
12559 * s/irix4-0.h:
12560 * s/386-ix.h:
12561 * s/domain.h:
12562 * s/hpux9-x11r4.h:
12563 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12564
12565 * sysdep.c: Remove code containing references to symbols defined
12566 by unsupported systems.
12567
12568 2008-01-16 Glenn Morris <rgm@gnu.org>
12569
12570 * coding.c (select-safe-coding-system-function): Doc fix.
12571
12572 2008-01-15 Glenn Morris <rgm@gnu.org>
12573
12574 * config.in: Revert 2008-01-13 change: this is a generated file.
12575
12576 2008-01-13 Tom Tromey <tromey@redhat.com>
12577
12578 * lisp.h: Fix typo.
12579
12580 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12581
12582 * m/sequent-ptx.h:
12583 * m/sequent.h:
12584 * s/ptx.h:
12585 * s/ptx4-2.h:
12586 * s/ptx4.h: Remove files for systems no longer supported.
12587
12588 * callproc.c (Fcall_process): Fix previous change.
12589
12590 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12591
12592 * unexsunos4.c: Remove file, system not supported anymore.
12593
12594 * m/mips.h:
12595 * m/intel386.h:
12596 * callproc.c:
12597 * config.in:
12598 * ecrt0.c:
12599 * emacs.c:
12600 * fileio.c:
12601 * frame.c:
12602 * getpagesize.h:
12603 * keyboard.c:
12604 * lread.c:
12605 * process.c:
12606 * puresize.h:
12607 * sysdep.c:
12608 * systty.h:
12609 * syswait.h:
12610 * unexec.c:
12611 * xdisp.c:
12612 * alloc.c: Remove code containing references to symbols defined by
12613 unsupported systems.
12614
12615 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12616
12617 * coding.c (detect_coding_mask): Fix previous change.
12618
12619 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12620
12621 * coding.c (detect_coding_iso2022): New arg
12622 latin_extra_code_state. Allow Latin extra codes only
12623 when *latin_extra_code_state is nonzero.
12624 (detect_coding_mask): If there is a NULL byte, detect the encoding
12625 as UTF-16 or binary. If Latin extra codes exist, detect the
12626 encoding as ISO-2022 only when there's no other proper encoding is
12627 found.
12628
12629 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12630
12631 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12632 #ifdef MAC_OS.
12633
12634 2008-01-08 Richard Stallman <rms@gnu.org>
12635
12636 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
12637
12638 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
12639
12640 * keyboard.c (parse_menu_item): Don't enclose key bindings on
12641 menu bar in parentheses.
12642
12643 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12644
12645 * m/7300.h:
12646 * m/acorn.h:
12647 * m/alliant-2800.h:
12648 * m/alliant.h:
12649 * m/alliant1.h:
12650 * m/alliant4.h:
12651 * m/altos.h:
12652 * m/amdahl.h:
12653 * m/apollo.h:
12654 * m/att3b.h:
12655 * m/aviion-intel.h:
12656 * m/aviion.h:
12657 * m/celerity.h:
12658 * m/clipper.h:
12659 * m/cnvrgnt.h:
12660 * m/convex.h:
12661 * m/cydra5.h:
12662 * m/delta88k.h:
12663 * m/dpx2.h:
12664 * m/dual.h:
12665 * m/elxsi.h:
12666 * m/f301.h:
12667 * m/gould-np1.h:
12668 * m/gould.h:
12669 * m/i860.h:
12670 * m/ibmps2-aix.h:
12671 * m/ibmrt-aix.h:
12672 * m/ibmrt.h:
12673 * m/irist.h:
12674 * m/is386.h:
12675 * m/isi-ov.h:
12676 * m/mega68.h:
12677 * m/mg1.h:
12678 * m/news-r6.h:
12679 * m/news-risc.h:
12680 * m/news.h:
12681 * m/nh3000.h:
12682 * m/nh4000.h:
12683 * m/ns16000.h:
12684 * m/ns32000.h:
12685 * m/nu.h:
12686 * m/orion.h:
12687 * m/orion105.h:
12688 * m/paragon.h:
12689 * m/pfa50.h:
12690 * m/plexus.h:
12691 * m/pyramid.h:
12692 * m/pyrmips.h:
12693 * m/sh3el.h:
12694 * m/sps7.h:
12695 * m/sr2k.h:
12696 * m/stride.h:
12697 * m/sun1.h:
12698 * m/sun2.h:
12699 * m/sun3-68881.h:
12700 * m/sun3-fpa.h:
12701 * m/sun3-soft.h:
12702 * m/sun3.h:
12703 * m/sun386.h:
12704 * m/symmetry.h:
12705 * m/tad68k.h:
12706 * m/tahoe.h:
12707 * m/targon31.h:
12708 * m/tek4300.h:
12709 * m/tekxd88.h:
12710 * m/tower32.h:
12711 * m/tower32v3.h:
12712 * m/ustation.h:
12713 * m/wicat.h:
12714 * m/xps100.h:
12715 * s/cxux.h:
12716 * s/cxux7.h:
12717 * s/dgux.h:
12718 * s/dgux4.h:
12719 * s/dgux5-4-3.h:
12720 * s/dgux5-4r2.h:
12721 * s/esix.h:
12722 * s/esix5r4.h:
12723 * s/hiuxmpp.h:
12724 * s/hiuxwe2.h:
12725 * s/iris3-5.h:
12726 * s/iris3-6.h:
12727 * s/isc2-2.h:
12728 * s/isc3-0.h:
12729 * s/isc4-0.h:
12730 * s/isc4-1.h:
12731 * s/newsos5.h:
12732 * s/newsos6.h:
12733 * s/osf1.h:
12734 * s/osf5-0.h:
12735 * s/riscix1-1.h:
12736 * s/riscix12.h:
12737 * s/sco4.h:
12738 * s/sco5.h:
12739 * s/sunos4-0.h:
12740 * s/sunos4-1.h:
12741 * s/sunos413.h:
12742 * s/sunos4shr.h:
12743 * s/umax.h:
12744 * s/unipl5-2.h:
12745 * s/xenix.h:
12746 * cxux-crt0.s:
12747 * unexapollo.c:
12748 * unexconvex.c:
12749 * unexenix.c:
12750 * unexsni.c: Remove files for systems no longer supported.
12751
12752 * m/intel386.h: Remove references to unsupported systems.
12753
12754 * w32.c (get_emacs_configuration): Remove reference to i860.
12755
12756 * sysdep.c: Remove dead code.
12757
12758 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12759
12760 * s/rtu.h:
12761 * m/masscomp.h: Remove files. Platform is obsolete.
12762
12763 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
12764
12765 * dbusbind.c (Fdbus_method_return): New function.
12766 (xd_read_message): Add the serial number to the event.
12767 (Fdbus_register_method): Activate the function.
12768
12769 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12770
12771 * keyboard.c (read_key_sequence): Fix typo.
12772
12773 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
12774
12775 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12776 (xd_signature, xd_append_arg): Handle element type detection for
12777 empty arrays.
12778 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12779 SDATA () calls; this must be solved more general.
12780 (Fdbus_register_signal): Use SBYTES instead of strlen.
12781
12782 2008-01-03 Magnus Henoch <magnus@zemdatav>
12783
12784 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12785 unsigned int for byte values (necessary for big-endian platform).
12786 (Fdbus_call_method): Handle the case of no returned arguments.
12787
12788 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
12789
12790 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12791
12792 2007-12-31 Magnus Henoch <mange@freemail.hu>
12793
12794 * dbusbind.c (xd_signature): Signature of variant is just "v".
12795
12796 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
12797
12798 * dbusbind.c: Fix several errors and compiler warnings.
12799 Reported by Tom Tromey <tromey@redhat.com>.
12800 (XD_ERROR, XD_DEBUG_MESSAGE)
12801 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
12802 (xd_append_arg): Part for basic D-Bus types rewritten.
12803 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12804 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12805 appropriate.
12806 (xd_read_message): Return Qnil. Don't signal an error; it is not
12807 useful during event reading.
12808 (Fdbus_register_signal): Signal an error if the check for
12809 FUNCTIONP fails.
12810 (Fdbus_register_method): New function. The implementation is not
12811 complete, the call of the function signals an error therefore.
12812 (Fdbus_unregister_object): New function, renamed from
12813 Fdbus_unregister_signal. The initial check signals an error, if
12814 the object is not well formed.
12815
12816 2007-12-30 Richard Stallman <rms@gnu.org>
12817
12818 * textprop.c (get_char_property_and_overlay):
12819 Signal error if POSITION is out of range in a buffer.
12820
12821 2007-12-29 Martin Rudalics <rudalics@gmx.at>
12822
12823 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12824 because the original parameters are in pure storage now.
12825
12826 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12827
12828 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12829
12830 2007-12-22 Eli Zaretskii <eliz@gnu.org>
12831
12832 * callint.c (syms_of_callint) <command-history>: Add reference to
12833 history-length in the doc string.
12834
12835 2007-12-17 Jason Rumney <jasonr@gnu.org>
12836
12837 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12838 before passing as wParam.
12839
12840 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
12841
12842 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12843 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12844 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12845 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12846 as number.
12847 (Fdbus_call_method): Fix docstring.
12848
12849 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
12850
12851 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12852 New macros.
12853 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
12854 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12855 Simplify.
12856 (xd_signature): New function.
12857 (xd_append_arg): Compute also signatures. Major rewrite.
12858 (xd_retrieve_arg): Make debug messages friendly.
12859 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12860 Check for signatures of arguments.
12861
12862 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
12863
12864 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12865 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12866 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12867 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12868 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
12869 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
12870 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12871 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
12872 (xd_retrieve_value): Remove. Functionality included in ...
12873 (xd_append_arg): New function.
12874 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12875
12876 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
12877
12878 * dbusbind.c (top): Include <stdio.h>.
12879 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12880 dbus_message_new_method_call and dbus_message_new_signal.
12881 (Fdbus_register_signal): Rename unique_name to uname.
12882 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
12883 non-existing unique name. Fix typos in matching rule. Return an
12884 object which is useful in Fdbus_unregister_signal.
12885 (Fdbus_unregister_signal): Reimplementation, in order to remove
12886 only the corresponding entry.
12887 (Vdbus_registered_functions_table): Change the order of entries.
12888 Apply these changes in xd_read_message and Fdbus_register_signal.
12889
12890 2007-12-16 Andreas Schwab <schwab@suse.de>
12891
12892 * fileio.c (Finsert_file_contents): Fix overflow check to not
12893 depend on undefined integer overflow.
12894
12895 2007-12-14 Jason Rumney <jasonr@gnu.org>
12896
12897 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12898 for characters above 127.
12899
12900 2007-12-13 Jason Rumney <jasonr@gnu.org>
12901
12902 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12903 before dereferencing array.
12904 (lookup_vk_code): Remove zero comparison.
12905
12906 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
12907
12908 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
12909 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12910 Use `unsigned int' instead of `uint'.
12911 (xd_read_message, Fdbus_register_signal): Split expressions into
12912 multiple lines before operators "&&" and "||", according to the
12913 GNU Coding Standards.
12914
12915 2007-12-14 Eli Zaretskii <eliz@gnu.org>
12916
12917 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12918
12919 2007-12-12 Juri Linkov <juri@jurta.org>
12920
12921 * buffer.c (Frename_buffer): In interactive spec replace
12922 `read-buffer' with `read-string' that uses `buffer-name-history'
12923 as history, and the current buffer's name as default.
12924
12925 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12926
12927 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12928 manipulating the backtrace manually.
12929 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12930 (struct backtrace, backtrace_list): Remove.
12931 (command_loop_1): Remove dead var `no_direct'.
12932
12933 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12934 preserve non-built-in buffer-local variables.
12935 (Fkill_all_local_variables): Don't re-create&re-set permanent
12936 buffer-local variables.
12937
12938 2007-12-09 Juri Linkov <juri@jurta.org>
12939
12940 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12941 Lisp code that uses `read-buffer' with current buffer as default.
12942
12943 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
12944
12945 * dbusbind.c (xd_read_message): Generate an event for every
12946 registered handler. There might be several handlers registered
12947 for the same signal.
12948 (Fdbus_register_signal): Don't overwrite a registration for the
12949 same signal. Add a new registration if handlers are different.
12950 (Vdbus_registered_functions_table): Rework doc string.
12951
12952 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
12953
12954 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12955 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12956 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12957 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12958 Unify argument lists.
12959 (xd_read_message, Fdbus_register_signal): Reorder and extend event
12960 arguments and hash table keys. Use unique name for service.
12961 (Fdbus_unregister_signal): Remove checks.
12962 (Vdbus_registered_functions_table): Fix doc string.
12963
12964 2007-12-05 Magnus Henoch <mange@freemail.hu>
12965
12966 * process.c (make_process): Initialize pty_flag to 0.
12967
12968 2007-12-05 Jason Rumney <jasonr@gnu.org>
12969
12970 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12971 specified XBMs.
12972
12973 2007-12-05 Richard Stallman <rms@gnu.org>
12974
12975 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
12976
12977 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12978
12979 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12980 New variable.
12981 (mac_try_close_socket) [MAC_OSX]: New function.
12982 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12983 Update cfsockets_for_select. Replace invalid CFRunLoop source.
12984
12985 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12986 Use mac_try_close_socket.
12987
12988 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12989
12990 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12991 reloc_base.
12992 (copy_dysymtab): Compute relocation base here.
12993 (rebase_reloc_address) [__ppc64__]: New function.
12994 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12995 changed.
12996
12997 2007-12-05 Jason Rumney <jasonr@gnu.org>
12998
12999 * w32proc.c (sys_spawnve): Quote args with wildcards.
13000
13001 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13002
13003 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
13004 __objc_* sections.
13005 (unrelocate) [_LP64]: Set relocation base to address of data segment.
13006
13007 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
13008
13009 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
13010 Move check for Vdbus_registered_functions_table to
13011 xd_read_queued_messages.
13012 (xd_read_queued_messages): Protect xd_read_message calls by
13013 internal_condition_case_1.
13014
13015 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
13016
13017 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
13018 Qdbus_system_bus and Qdbus_session_bus, respectively.
13019 (Vdbus_intern_symbols): Remove.
13020 (Vdbus_registered_functions_table): New hash table.
13021 (XD_SYMBOL_INTERN_SYMBOL): Remove.
13022 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
13023 Rewrite in order to manage registered functions by hash table
13024 Vdbus_registered_functions_table.
13025
13026 2007-12-03 Jan Djärv <jan.h.d@swipnet.se>
13027
13028 * xterm.c: Update URL to Window Manager Specification in comment.
13029
13030 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
13031
13032 * config.in (HAVE_DBUS): Add.
13033
13034 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
13035 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
13036 (obj): Add $(DBUS_OBJ).
13037 (LIBES): Add $(DBUS_LIBS).
13038 (dbusbind.o): New target.
13039
13040 * dbusbind.c: New file.
13041
13042 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
13043
13044 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
13045 (Qdbus_event): New Lisp symbol.
13046 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
13047 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
13048 (keys_of_keyboard ): Define dbus-event.
13049
13050 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
13051
13052 2007-12-01 Richard Stallman <rms@gnu.org>
13053
13054 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
13055
13056 2007-11-30 Jason Rumney <jasonr@gnu.org>
13057
13058 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
13059 (w32con_reset_terminal_modes): Clear screen buffer.
13060 (w32_face_attributes): Don't use color indexes that are out of range.
13061 Only reverse the default colors.
13062
13063 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
13064 WINDOWSNT.
13065
13066 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
13067
13068 2007-11-29 Jason Rumney <jasonr@gnu.org>
13069
13070 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
13071 (w32_face_attributes): Use Vtty_defined_color_alist to determine
13072 if the terminal colors are initialized.
13073 (unspecified_fg, unspecified_bg): Remove unused declarations.
13074
13075 2007-11-29 Andreas Schwab <schwab@suse.de>
13076
13077 * keyboard.c (apply_modifiers): Fix typo.
13078
13079 2007-11-29 Richard Stallman <rms@gnu.org>
13080
13081 * keymap.c (Fcurrent_local_map): Doc fix.
13082
13083 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
13084
13085 * s/gnu-kfreebsd.h: New file.
13086
13087 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
13088
13089 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
13090 Don't cast redundantly.
13091
13092 * keyboard.c (KEY_TO_CHAR): New macro.
13093 (parse_modifiers, apply_modifiers): Accept integer arguments.
13094 (read_key_sequence): Use them to unify the "shift->unshift" mapping
13095 for chars and symbol keys.
13096 After doing such remapping, apply function-key-map again.
13097
13098 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
13099
13100 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
13101 compiled anymore.
13102
13103 2007-11-26 Andreas Schwab <schwab@suse.de>
13104
13105 * process.c (list_processes_1): Fix indentation level of the
13106 command column.
13107
13108 2007-11-23 Andreas Schwab <schwab@suse.de>
13109
13110 * editfns.c (Fformat): Handle %c specially since it requires the
13111 argument to be of type int.
13112
13113 2007-11-23 Markus Triska <markus.triska@gmx.at>
13114
13115 * emacs.c (main): Call init_editfns before init_process, since
13116 init_process sets Vprocess_connection_type depending on OS release.
13117
13118 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
13119
13120 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
13121 (find_symbol_value): Use do_symval_forwarding.
13122
13123 * data.c (set_internal): Set the value in the `cons-cell' (for
13124 Buffer_Local_values) not only for frame-local variables.
13125
13126 2007-11-22 Andreas Schwab <schwab@suse.de>
13127
13128 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
13129 values to sprintf.
13130 * keymap.c (Fsingle_key_description): Likewise.
13131 * print.c (print_object): Likewise.
13132
13133 2007-11-22 Jan Djärv <jan.h.d@swipnet.se>
13134
13135 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
13136 file for image is nil.
13137
13138 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
13139
13140 * term.c: Include stdarg.h.
13141 (fatal): Implement using varargs.
13142 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
13143
13144 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13145
13146 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
13147 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
13148 Update call to buffer_slot_type_mismatch.
13149 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
13150 (buffer_slot_type_mismatch): Update.
13151 * buffer.c (buffer_local_types): Remove.
13152 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
13153 (defvar_per_buffer): Set the type in the buffer_objfwd.
13154
13155 2007-11-21 Jason Rumney <jasonr@gnu.org>
13156
13157 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
13158 CreateFileMapping returns NULL on failure.
13159
13160 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
13161
13162 * search.c (Fset_match_data): Remove the `evaporate' feature.
13163 (unwind_set_match_data): Don't use the `evaporate' feature.
13164
13165 2007-11-21 Jason Rumney <jasonr@gnu.org>
13166
13167 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
13168
13169 * w32console.c (w32con_write_glyphs): Remove unused variables.
13170
13171 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
13172
13173 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
13174
13175 * s/darwin.h (MULTI_KBOARD): Remove.
13176
13177 * macfns.c (x_create_tip_frame, Fx_create_frame)
13178 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
13179
13180 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
13181
13182 * buffer.c (Fbuffer_local_value): Remove redundant test.
13183 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
13184 than in `current-buffer' to match the comment.
13185 Do the swap using swap_in_global_binding.
13186
13187 * data.c (store_symval_forwarding, set_internal):
13188 * eval.c (specbind): Remove dead code.
13189
13190 * coding.c (detect_coding, Fupdate_coding_systems_internal):
13191 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
13192 Since we do not want to see internal Lisp_*fwd objects here.
13193
13194 2007-11-18 Jan Djärv <jan.h.d@swipnet.se>
13195
13196 * sysdep.c (init_system_name): Use getaddrinfo if available.
13197
13198 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
13199 (x_scroll_bar_note_movement): start, end, with, height in struct
13200 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
13201
13202 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
13203
13204 * puresize.h (BASE_PURESIZE): Increase to 1190000.
13205
13206 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
13207
13208 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
13209 This undoes Richard's change of 14-Oct-2002.
13210
13211 * alloc.c (allocate_other_vector):
13212 * lisp.h (allocate_other_vector): Remove.
13213
13214 * window.c (struct save_window_data): Move non-lisp data to the end
13215 and make it `int' rather than Lisp_Object.
13216 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
13217 Done wrap/unwrap integer values.
13218 (Fset_window_configuration, compare_window_configurations):
13219 Update use of fields to their new types.
13220
13221 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
13222 Turn integer fields into `int'. Merge x_window_low and x_window_high.
13223 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
13224 (SET_SCROLL_BAR_X_WINDOW): Remove.
13225 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
13226 Access the new x_window field directly.
13227 * xterm.c (x_scroll_bar_create): Use a pseudovector.
13228 Don't wrap/unwrap integers into Lisp_Objects.
13229 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
13230 (x_scroll_bar_report_motion):
13231 Don't wrap/unwrap integers into Lisp_Objects.
13232 (x_term_init): Use SDATA.
13233 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
13234 (x_scroll_bar_set_handle, x_scroll_bar_remove)
13235 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
13236 (x_scroll_bar_report_motion, x_scroll_bar_clear):
13237 * xfns.c (x_set_background_color):
13238 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
13239 Access the new x_window field directly.
13240
13241 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
13242 (allocate_pseudovector): Make non-static.
13243
13244 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
13245 (allocate_pseudovector): Declare.
13246 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
13247
13248 2007-11-15 Andreas Schwab <schwab@suse.de>
13249
13250 * editfns.c (Fformat): Correctly format EMACS_INT values.
13251 Also take precision into account when formatting an integer.
13252
13253 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
13254
13255 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
13256
13257 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
13258 (syms_of_keyboard): Defsubr it.
13259
13260 * data.c (swap_in_global_binding): Fix longstanding bug where
13261 store_symval_forwarding was not called with the right second argument,
13262 thus causing objfwd-ing from being dropped.
13263
13264 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
13265
13266 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
13267 (Fx_display_pixel_height, Fx_display_planes)
13268 (Fx_display_color_cells, Fx_server_max_request_size)
13269 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13270 (Fx_display_visual_class, Fx_display_save_under):
13271 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
13272 (Fx_display_pixel_height, Fx_display_planes)
13273 (Fx_display_color_cells, Fx_server_max_request_size)
13274 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
13275 (Fx_display_mm_height, Fx_display_mm_width)
13276 (Fx_display_backing_store, Fx_display_visual_class)
13277 (Fw32_select_font, Fx_display_save_under):
13278 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
13279 (Fx_display_pixel_height, Fx_display_planes)
13280 (Fx_display_color_cells, Fx_server_max_request_size)
13281 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
13282 (Fx_display_save_under): Fix typos in docstrings.
13283
13284 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
13285
13286 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
13287 corresponding to deleted entries; they are an implementation detail.
13288 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
13289 Remove variables.
13290 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
13291 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
13292 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
13293 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
13294 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
13295 (Fw32_define_rgb_color, Fw32_load_color_file)
13296 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
13297 Fix typos in docstrings.
13298 (Fx_server_version): Reflow docstring.
13299 (Fw32_shell_execute): Doc fixes.
13300
13301 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
13302
13303 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
13304 if w32_parse_hot_key returned nil.
13305
13306 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
13307
13308 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
13309
13310 2007-11-09 Jason Rumney <jasonr@gnu.org>
13311
13312 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
13313
13314 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
13315
13316 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
13317 Remove W32_SCROLL_BAR_CLICK_EVENT.
13318
13319 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
13320 Add MULTIMEDIA_KEY_EVENT.
13321
13322 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
13323 (lispy_multimedia_keys) [WINDOWSNT]: New array.
13324 (make_lispy_event) [WINDOWSNT]: Use it to translate
13325 MULTIMEDIA_KEY_EVENT.
13326
13327 * w32term.h (WM_APPCOMMAND): Define if not already.
13328 (GET_APPCOMMAND_LPARAM): Likewise.
13329
13330 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
13331 WM_APPCOMMAND.
13332
13333 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
13334 (syms_of_w32fns): Export and initialize it.
13335 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
13336
13337 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
13338
13339 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
13340 twice.
13341
13342 * xdisp.c (handle_face_prop): Fix last change.
13343
13344 2007-11-09 Richard Stallman <rms@gnu.org>
13345
13346 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
13347 not just for after-strings and before-strings.
13348 Call face_for_overlay_string and pass the overlay to it.
13349 (handle_display_prop): Determine whether property came from an overlay.
13350 Pass OVERLAY arg to handle_single_display_spec.
13351 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
13352 (load_overlay_strings): Fill in it->string_overlays.
13353 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
13354
13355 * xfaces.c (face_for_overlay_string): Function renamed from
13356 face_at_buffer_position_no_overlays, and add arg OVERLAY.
13357
13358 * dispextern.h (struct it): New elt string_overlays.
13359 New elt from_overlay, also in stack.
13360 Rearrange a few elements.
13361 (face_for_overlay_string): Decl renamed from
13362 face_at_buffer_position_no_overlays, and add argument.
13363
13364 2007-11-09 Richard Stallman <rms@gnu.org>
13365
13366 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
13367 to get the base face for an overlay string.
13368
13369 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
13370
13371 * xfaces.c (face_at_buffer_position_no_overlays): New function.
13372
13373 * xdisp.c (handle_stop): Move some code out of loop.
13374
13375 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13376
13377 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
13378 Fix conversion from Lisp object to ATSUFontID.
13379
13380 2007-11-09 Jason Rumney <jasonr@gnu.org>
13381
13382 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
13383
13384 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13385
13386 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
13387 Don't assume regions are aligned to page boundary.
13388 (print_load_command_name): Add LC_UUID if defined.
13389
13390 2007-11-09 Richard Stallman <rms@gnu.org>
13391
13392 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
13393
13394 2007-11-07 Jason Rumney <jasonr@gnu.org>
13395
13396 * s/windows95.h: Remove.
13397
13398 2007-11-06 Jan Djärv <jan.h.d@swipnet.se>
13399
13400 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
13401 abort with a message on unhandled store_type values.
13402
13403 2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
13404
13405 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
13406 Remove HAVE_X11R5 and HAVE_X11R4.
13407
13408 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13409
13410 * Makefile.in: Remove references to sunfns.c and sunfns.o.
13411
13412 2007-11-01 Johan Bockgård <bojohan@gnu.org>
13413
13414 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
13415 Don't set s->stippled_p here, since it has already been set by
13416 x_set_glyph_string_gc from x_draw_glyph_string.
13417
13418 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
13419
13420 * sunfns.c: Remove file.
13421
13422 * m/sun386.h:
13423 * m/sun2.h:
13424 * m/sparc.h: Remove Sun windows code.
13425
13426 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
13427
13428 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
13429 (init_keyboard): Set current_kboard's window-system to nil.
13430 (tty_read_avail_input): Typo.
13431 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
13432
13433 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
13434
13435 * s/usg5-4.h:
13436 * s/usg5-3.h:
13437 * s/ptx.h:
13438 * m/is386.h:
13439 * m/ibmps2-aix.h:
13440 * Makefile.in: Remove all mentions of X10.
13441
13442 * dispnew.c (syms_of_display): Don't mention version 10.
13443
13444 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
13445
13446 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
13447 ($(BLD)/abbrev.$(O)): Remove.
13448
13449 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
13450
13451 Rewrite abbrev.c in Elisp.
13452 * image.c (Qcount): Don't declare as extern.
13453 (syms_of_image): Initialize and staticpro `Qcount'.
13454 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
13455 * emacs.c (main): Don't call syms_of_abbrev.
13456 * Makefile.in (obj): Remove abbrev.o.
13457 (abbrev.o): Remove.
13458 * abbrev.c: Remove.
13459
13460 2007-10-26 Martin Rudalics <rudalics@gmx.at>
13461
13462 * window.c (window_min_size_2): Don't count header-line.
13463
13464 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
13465
13466 * frame.h (struct frame): Move all bit fields after the first bit
13467 field to take advantage of the available space. Group all the
13468 chars together to reduce wasted space due to padding.
13469
13470 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
13471
13472 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
13473
13474 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
13475 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
13476 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
13477 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
13478 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
13479 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
13480 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
13481 (last_marked, mark_object_loop_halt): Make static.
13482
13483 * frame.c (syms_of_frame) <delete-frame-functions>:
13484 Fix typo in docstring.
13485
13486 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
13487
13488 * w32.c (init_environment): Fix tiny memory leak.
13489 (w32_get_resource): Remove unused variable `ok'.
13490
13491 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13492
13493 Make `window-system' into a keyboard-local variable (rather than
13494 frame-local as done originally by multi-tty).
13495
13496 * keyboard.h (struct kboard): Add Vwindow_system.
13497 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13498 (mark_kboards): Mark Vwindow_system.
13499
13500 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13501 (init_display): Don't set the obsolete `window-system' frame-param.
13502
13503 * xterm.c (x_term_init):
13504 * w32term.c (w32_create_terminal):
13505 * term.c (init_tty): Set Vwindow_system.
13506 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13507 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13508
13509 * xfns.c (Fx_create_frame, x_create_tip_frame):
13510 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13511 * macfns.c (Fx_create_frame):
13512 Don't set the obsolete `window-system' frame-param.
13513
13514 * frame.h (Qwindow_system): Remove.
13515 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13516 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13517
13518 2007-10-24 Richard Stallman <rms@gnu.org>
13519
13520 * frame.c (x_figure_window_size): For fullscreen case,
13521 set USPosition | PPosition without clobbering rest of window_prompting.
13522
13523 * keyboard.c (Fcurrent_idle_time): Doc fix.
13524
13525 * print.c (Fwith_output_to_temp_buffer): Doc fix.
13526
13527 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13528
13529 * process.c (unwind_request_sigio): Only define if __ultrix__.
13530
13531 * callproc.c (child_setup): Remove spurious *.
13532
13533 * lisp.h (Fget_text_property): Declare.
13534 (have_menus_p): Declare it here rather than in sys-dep header files.
13535 * macterm.h (have_menus_p):
13536 * msdos.h (have_menus_p):
13537 * xterm.h (have_menus_p): Remove.
13538
13539 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13540 (Fmake_variable_frame_local): Just check the variable's const-ness
13541 rather than checking nil or t.
13542
13543 2007-10-22 Jason Rumney <jasonr@gnu.org>
13544
13545 * w32fns.c: Include math.h.
13546 (w32_abort): Declaration moved to nt/config.nt.
13547
13548 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13549 (abort): Redefinition moved to nt/config.nt.
13550
13551 * m/windowsnt.h: Remove.
13552
13553 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
13554
13555 * emacs.c (Fdump_emacs): Fix typo in message.
13556 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13557 <installation-directory>: Reflow docstring.
13558
13559 2007-10-22 Juri Linkov <juri@jurta.org>
13560
13561 * minibuf.c: Allow minibuffer default to be a list of default values.
13562 With empty input use the first element of this list as returned default.
13563 (string_to_object)
13564 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
13565 (read_minibuf): If defalt is cons, set histstring to its car.
13566 (Fread_string): If default_value is cons, set val to its car.
13567 (Fread_buffer): If def is cons, use its car.
13568 (Fcompleting_read): If defalt is cons, set val to its car.
13569
13570 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
13571
13572 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13573
13574 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
13575
13576 * doc.c (Fdocumentation): Check for advice in all cases.
13577
13578 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
13579
13580 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13581
13582 2007-10-19 Richard Stallman <rms@gnu.org>
13583
13584 * doc.c (Fdocumentation): Check for and handle an advised function.
13585
13586 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
13587
13588 * process.c (Fset_process_filter): Doc fix.
13589
13590 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13591
13592 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13593 which caused key-translation-map to applied repeatedly (thus breaking
13594 double-mode).
13595
13596 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13597
13598 * xselect.c (x_own_selection, x_handle_selection_clear)
13599 (x_clear_frame_selections):
13600 * w32menu.c (list_of_panes, list_of_items):
13601 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13602 * textprop.c (validate_plist, interval_has_all_properties)
13603 (interval_has_some_properties, interval_has_some_properties_list)
13604 (add_properties, text_property_list):
13605 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13606 * minibuf.c (Fassoc_string):
13607 * macselect.c (x_own_selection, x_clear_frame_selections)
13608 (Fx_disown_selection_internal):
13609 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13610 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13611
13612 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
13613
13614 * process.c: Link to libs for calling res_init() if available.
13615 (Fmake_network_process): Call res_init() before getaddrinfo or
13616 gethostbyname, if possible.
13617
13618 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13619
13620 * lread.c (read1): Set pvectype for char_tables.
13621
13622 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13623 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13624 Add type checks.
13625 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13626
13627 * alloc.c (free_misc): Use XMISCTYPE.
13628 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13629
13630 2007-10-17 Glenn Morris <rgm@gnu.org>
13631
13632 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13633 (syms_of_minibuf): Add Qcompletion_ignore_case.
13634 * dired.c (Qcompletion_ignore_case): Change to external.
13635 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13636 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13637 (Fread_file_name): Use it rather than intern'ing.
13638
13639 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13640 (Fread_coding_system): Ignore case of user input.
13641
13642 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13643
13644 * xdisp.c (handle_display_prop): Ignore display specs after
13645 replacing one when string text is being replaced.
13646 (handle_single_display_spec): Pretend as if characters with display
13647 property haven't been consumed only when buffer text is being replaced.
13648
13649 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13650
13651 * xfns.c (Fx_create_frame, Fx_display_list):
13652 * window.c (window_fixed_size_p, enlarge_window)
13653 (shrink_window_lowest_first):
13654 * macterm.c (init_font_name_table):
13655 * macfns.c (Fx_create_frame, Fx_display_list):
13656 * lread.c (close_load_descs):
13657 * keyboard.c (read_char_x_menu_prompt):
13658 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13659 * coding.c (code_convert_region_unwind): Test the type of an object
13660 rather than just !NILP before extracting data from it.
13661
13662 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13663
13664 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13665 (XMISCANY): New macro.
13666 (XMISCTYPE): Use it.
13667 (struct Lisp_Misc_Any): New type.
13668 (union Lisp_Misc): Use it.
13669 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13670 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13671 (find_symbol_value, set_internal, default_value, Fset_default)
13672 (Fmake_variable_buffer_local, Fmake_local_variable)
13673 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13674 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13675 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13676 * alloc.c (allocate_buffer): Set the size and tag.
13677 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13678 Use XMISCANY.
13679 (die): Follow the GNU convention for error messages.
13680 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13681 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13682 tag any more.
13683 (set_buffer_internal_1):
13684 * frame.c (store_frame_param):
13685 * eval.c (specbind):
13686 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13687
13688 * doc.c (Fsnarf_documentation): Simplify.
13689
13690 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
13691
13692 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13693 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13694
13695 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13696
13697 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13698
13699 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
13700
13701 * eval.c (do_autoload): Don't save autoloads.
13702
13703 * data.c (Ffset): Save autoload of the function being set.
13704
13705 2007-10-07 John Paul Wallington <jpw@pobox.com>
13706
13707 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13708 parameter before setting up faces.
13709
13710 2007-10-13 Eli Zaretskii <eliz@gnu.org>
13711
13712 * ccl.c (Fregister_code_conversion_map):
13713 * keyboard.c (append_tool_bar_item): Reformat last change.
13714
13715 * lisp.h (eabs): Rename from `abs'. All callers changed.
13716
13717 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
13718
13719 * buffer.c (add_overlay_mod_hooklist):
13720 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13721 * fontset.c (make_fontset):
13722 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13723 (append_tool_bar_item):
13724 * macmenu.c (grow_menu_items):
13725 * w32menu.c (grow_menu_items):
13726 * xmenu.c (grow_menu_items): Use larger_vector.
13727
13728 2007-10-13 Eli Zaretskii <eliz@gnu.org>
13729
13730 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13731 selected frame'' on MSDOS).
13732
13733 2007-10-12 Martin Rudalics <rudalics@gmx.at>
13734
13735 * frame.c (Qexplicit_name): New variable.
13736 (x_report_frame_params): Report it in parameter alist.
13737 (syms_of_frame): Intern and staticpro it.
13738
13739 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
13740
13741 * macfns.c (x_create_tip_frame): Set terminal for frame.
13742
13743 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13744
13745 * frame.c (Qenvironment): Remove.
13746 (syms_of_frame) <Qenvironment>: Don't initialize.
13747 (Fdelete_frame): Don't treat the `environment' param specially.
13748 * frame.h (Qenvironment): Don't declare.
13749 * callproc.c (set_initial_environment): Don't set unused frame param.
13750
13751 * frame.c (Fframe_with_environment): Remove.
13752 (syms_of_frame) <Sframe_with_environment>: Don't declare.
13753
13754 * lisp.h (Fframe_with_environment): Don't declare.
13755
13756 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
13757
13758 * indent.c (indent_tabs_mode, last_known_column)
13759 (last_known_column_modified): Make static.
13760 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13761
13762 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13763
13764 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13765
13766 2007-10-09 Jason Rumney <jasonr@gnu.org>
13767
13768 * w32term.c (x_set_window_size): Disable code that attempts to tell
13769 Lisp code about a size change before it actually happens.
13770
13771 2007-10-09 Richard Stallman <rms@gnu.org>
13772
13773 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13774 return HANDLED_RETURN.
13775
13776 2007-10-08 Martin Rudalics <rudalics@gmx.at>
13777
13778 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13779 when there's an unread command event.
13780
13781 * frame.c (focus_follows_mouse): Move here from frame.el to allow
13782 window autoselection act appropriately when leaving selected frame.
13783 (syms_of_frame): Initialize focus_follows_mouse.
13784 * frame.h (focus_follows_mouse): Extern it.
13785 * macterm.c (XTread_socket): When focus_follows_mouse is nil
13786 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
13787 * msdos.c (dos_rawgetc): Likewise.
13788 * w32term.c (w32_read_socket): Likewise.
13789 * xterm.c (handle_one_xevent): Likewise.
13790 * xdisp.c (syms_of_xdisp): In doc-string of
13791 mouse-autoselect-window mention focus-follows-mouse.
13792
13793 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13794
13795 * macterm.c (mac_load_query_font): Fix missing return value.
13796 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13797 Add BLOCK_INPUT.
13798
13799 2007-10-08 Richard Stallman <rms@gnu.org>
13800
13801 * xdisp.c (get_window_cursor_type): Implement documented behavior
13802 for cursor-in-non-selected-windows = t.
13803
13804 2007-10-08 Jason Rumney <jasonr@gnu.org>
13805
13806 * w32.c (w32_get_resource): Always close registry keys.
13807
13808 2007-10-08 Jason Rumney <jasonr@gnu.org>
13809
13810 * makefile.w32-in (LIBS): Add COMCTL32.
13811
13812 * w32fns.c (globals_of_w32fns): Init common controls.
13813
13814 2007-10-08 Richard Stallman <rms@gnu.org>
13815
13816 * image.c (our_memory_buffer): Rename from omfib_buffer.
13817
13818 2007-10-08 Richard Stallman <rms@gnu.org>
13819
13820 * buffer.c (Foverlays_at): Doc fix.
13821
13822 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
13823
13824 * fns.c (Fplist_put): Preserve uneven tail data.
13825
13826 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
13827
13828 * termhooks.h (enum event_kind): Remove trailing comma.
13829
13830 * frame.h (enum): Remove trailing comma.
13831
13832 2007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
13833
13834 * w32proc.c (delete_child): Don't terminate threads of zombies.
13835
13836 2007-10-08 Martin Rudalics <rudalics@gmx.at>
13837
13838 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
13839
13840 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13841 last-repeatable-command.
13842 (init_kboard): Initialize Vlast_repeatable_command.
13843 (command_loop_1): Set it to real_this_command unless that was
13844 bound to an input event.
13845 (mark_kboards): Mark it.
13846
13847 2007-10-08 Richard Stallman <rms@gnu.org>
13848
13849 * eval.c (condition-case): Doc fix.
13850
13851 2007-10-08 Masatake YAMATO <jet@gyve.org>
13852
13853 * xfaces.c (tty_supports_face_attributes_p): Fix code
13854 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13855 was copied and not edited.
13856
13857 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13858
13859 Add new `input-decode-map' keymap and use it for terminal
13860 escape sequences.
13861 * keyboard.h (struct kboard): Add Vinput_decode_map.
13862 Remove Vlocal_key_translation_map.
13863 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13864 (init_kboard): Init input-decode-map.
13865 Replace local-key-translation-map back with key-translation-map.
13866 (syms_of_keyboard): Declare input-decode-map.
13867 Remove local-key-translation-map. Update docstrings.
13868 (mark_kboards): Mark Vinput_decode_map.
13869 Don't mark Vlocal_key_translation_map.
13870 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13871 Replace local-key-translation-map back with key-translation-map.
13872 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13873 Bind in input-decode-map rather than function-key-map.
13874
13875 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13876 This was made redundant by the previous introduction of XSETPVECTYPE.
13877
13878 2007-10-09 Richard Stallman <rms@gnu.org>
13879
13880 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
13881
13882 2007-09-29 Richard Stallman <rms@gnu.org>
13883
13884 * eval.c (internal_condition_case_2, internal_condition_case_1)
13885 (internal_condition_case): Reenable abort if x_catching_errors ()
13886 to see if that really happens and why.
13887
13888 2007-10-06 Andreas Schwab <schwab@suse.de>
13889
13890 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13891
13892 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
13893
13894 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13895
13896 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13897
13898 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13899
13900 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13901
13902 * window.h (struct window):
13903 * window.c (struct save_window_data, struct saved_window):
13904 * termhooks.h (struct terminal):
13905 * process.h (struct Lisp_Process):
13906 * frame.h (struct frame):
13907 * buffer.h (struct buffer):
13908 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13909 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13910 The size field of (pseudo)vectors is now unsigned.
13911 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13912
13913 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13914 Turn `count' into an integer.
13915
13916 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13917 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13918 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13919 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13920 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13921
13922 * alloc.c (allocate_pseudovector): New fun.
13923 (ALLOCATE_PSEUDOVECTOR): New macro.
13924 (allocate_window, allocate_terminal, allocate_frame)
13925 (allocate_process): Use it.
13926 (mark_vectorlike): New function.
13927 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13928 (mark_terminals): Use it.
13929 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13930 (Fmake_byte_code): Use XSETPVECTYPE.
13931
13932 * frame.c (Fframe_parameters): Minor simplification.
13933
13934 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13935
13936 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13937
13938 * buffer.c (Fget_buffer_create, init_buffer_once):
13939 * lread.c (defsubr):
13940 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13941
13942 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13943 defined differently in the m/*.h files.
13944 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13945 (XSETPVECTYPE): New macro.
13946 (XSETPSEUDOVECTOR): Use it.
13947
13948 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13949 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
13950
13951 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13952 * lread.c (defvar_per_buffer):
13953 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13954
13955 * window.c (candidate_window_p): Only consider as visible frames that
13956 are on the same terminal.
13957
13958 * m/ibms390x.h (MARKBIT): Remove unused macro.
13959
13960 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
13961
13962 * lread.c (Fload): Fix typo in docstring.
13963
13964 2007-10-01 Michaël Cadilhac <michael@cadilhac.name>
13965
13966 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13967 of a non-zero value can't yield zero.
13968
13969 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13970
13971 * term.c (term_clear_mouse_face, term_mouse_highlight)
13972 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13973
13974 * print.c (safe_debug_print): Use XHASH.
13975
13976 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13977 Lisp elements such as tags.
13978 (XHASH): New macro.
13979 (EQ): Use it.
13980 (SREF, SSET, STRING_COPYIN): Use SDATA.
13981 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13982
13983 * alloc.c (mark_terminal): Remove left-over declaration.
13984 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13985 (allocate_vectorlike): Remove type argument. Adjust callers.
13986 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13987 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13988
13989 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13990 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13991 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13992 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13993 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13994 Use them.
13995
13996 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13997 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13998 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13999
14000 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
14001
14002 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
14003 loaded by default.
14004
14005 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
14006
14007 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
14008 on this tty.
14009 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
14010
14011 * term.c (mouse_face_window): Rename from Qmouse_face_window.
14012 Update all users.
14013 (handle_one_term_event): Use Gpm_DrawPointer.
14014 (Fgpm_mouse_start): Rename from Fterm_open_connection.
14015 Signal errors instead of returning nil. Always return nil.
14016 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
14017 Make it a noop if gpm-mouse was not activated.
14018 (syms_of_term): Update names.
14019
14020 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
14021
14022 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
14023 (init_sys_modes): Check that gpm_tty is the current tty.
14024
14025 * alloc.c (allocate_terminal): Set the vector size to only count the
14026 lisp fields. Initialize those to nil.
14027 (mark_object): Don't treat terminals specially.
14028 (mark_terminal): Remove.
14029 (mark_terminals): Use mark_object instead.
14030
14031 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
14032 the GC to the beginning.
14033
14034 * indent.h:
14035 * indent.c: Use EMACS_INT for ints coming from Elisp data.
14036
14037 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
14038
14039 2007-09-25 Jason Rumney <jasonr@gnu.org>
14040
14041 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
14042
14043 * w32console.c (create_w32cons_output): Remove.
14044
14045 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
14046
14047 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
14048 (reset_sys_modes): Use reset_terminal_modes_hook.
14049
14050 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
14051
14052 * eval.c (do_autoload): Don't output any message.
14053
14054 2007-09-24 Juri Linkov <juri@jurta.org>
14055
14056 * emacs.c (standard_args): Change priority of "--no-splash"
14057 from 40 to 3. Add "--no-desktop" with the same priority.
14058
14059 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
14060
14061 * alloc.c (gc_sweep): Check cons cell mark bits word by word
14062 and optimize the case where they are all 1.
14063
14064 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
14065
14066 * lisp.h (abs): Define if not defined.
14067 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
14068 Don't define `abs', since it's defined in lisp.h.
14069
14070 2007-09-22 Eli Zaretskii <eliz@gnu.org>
14071
14072 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
14073 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
14074 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
14075 (init_tty): Use DEV_TTY instead of "/dev/tty".
14076 [WINDOWSNT]: No need to protect from NAME arg being null.
14077
14078 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
14079
14080 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
14081 up the tty state.
14082
14083 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14084
14085 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
14086 (gpm_tty): Change its type.
14087 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
14088 (gpm_tty): Change its type and initialize it.
14089 (Fterm_open_connection): Check the frame is indeed a tty.
14090 Use the new gpm_tty.
14091 (Fterm_close_connection): Use the new gpm_tty.
14092 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
14093 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
14094
14095 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
14096
14097 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
14098 underline_color, to draw strike-through.
14099
14100 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
14101
14102 * lisp.h (allocate_terminal): Declare.
14103
14104 * window.c (candidate_window_p): Consider frames that are being placed
14105 by the user as somewhere between visible and iconified.
14106 (window_loop): Prefer windows on the current frame.
14107 (Fselect_window): Move the use of select-frame to the beginning so we
14108 can just delegate all the work (it'll call us back anyway).
14109
14110 * frame.c (Qdisplay_environment_variable):
14111 * frame.h (Qdisplay_environment_variable): Delete.
14112
14113 * .gdbinit (xbacktrace): Print the arg's address rather than the value
14114 of the first arg, since that value may be a union.
14115
14116 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
14117 parameter rather than Qdisplay_environment_variable. If all else
14118 fails, look for DISPLAY in initial-environment.
14119
14120 2007-09-21 Glenn Morris <rgm@gnu.org>
14121
14122 * Makefile.in (emacstool): Remove target.
14123 (lisp, shortlisp): Remove termdev.elc.
14124
14125 2007-09-21 Markus Triska <markus.triska@gmx.at>
14126
14127 * xterm.c (x_delete_display): Compile session management conditionally.
14128
14129 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
14130
14131 * callproc.c (getenv_internal_1): New function.
14132 (getenv_internal): Use it.
14133 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
14134
14135 * terminal.c (get_terminal): Don't accept ints to represent terminals.
14136 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
14137 (Fset_terminal_parameter): Work with dead terminals as well.
14138 (Fmodify_terminal_parameters): Remove.
14139
14140 * terminal.c (get_terminal): Handle terminals.
14141 Make sure the terminal returned is live.
14142 (create_terminal): Use allocate_terminal.
14143 (mark_terminals): Move to alloc.c.
14144 (delete_terminal): Use terminal->name as liveness status.
14145 NULL out fields after freeing their contents.
14146 Don't deallocate the object.
14147 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
14148 rather than an int.
14149 (Fterminal_live_p): Accept non-integer arguments.
14150 (Fterminal_list): Return terminal objects rather than an ints.
14151
14152 * alloc.c (enum mem_type): New member for `terminal' objects.
14153 (allocate_terminal): New function.
14154 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
14155 Handle terminals.
14156 (mark_terminal): New fun.
14157 (mark_terminals): Move from terminal.c.
14158
14159 * term.c (get_tty_terminal): Don't treat output_initial specially.
14160 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
14161 (delete_tty): Use terminal->name as liveness status.
14162
14163 * termhooks.h (struct terminal): Make it into a pseudovector.
14164 Remove `deleted' replaced by checking `name's nullness.
14165
14166 * print.c (print_object): Handle terminals.
14167
14168 * lisp.h (enum pvec_type): New `terminal' pseudovector.
14169 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
14170
14171 * frame.c (make_terminal_frame):
14172 * keyboard.c (tty_read_avail_input):
14173 * w32term.c (x_delete_terminal):
14174 * xfns.c (Fx_create_frame, x_create_tip_frame):
14175 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
14176
14177 2007-09-20 Glenn Morris <rgm@gnu.org>
14178
14179 * process.c (Fmake_network_process): Doc fix.
14180
14181 2007-09-19 Jason Rumney <jasonr@gnu.org>
14182
14183 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
14184
14185 2007-09-19 Michaël Cadilhac <michael@cadilhac.name>
14186
14187 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
14188 Fix a C warning regarding variable constness.
14189
14190 * xterm.c (handle_one_xevent): Fix a C warning.
14191
14192 2007-09-18 Jason Rumney <jasonr@gnu.org>
14193
14194 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
14195
14196 2007-09-17 Jan Djärv <jan.h.d@swipnet.se>
14197
14198 * gtkutil.c (gdpy_def): New variable.
14199 (xg_initialize): Initialize gdpy_def.
14200 (xg_display_close): If no other display exists, set gdpy_def to a
14201 new connection.
14202
14203 2007-09-16 Jan Djärv <jan.h.d@swipnet.se>
14204
14205 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
14206 when we have no file name for the icon.
14207 (xg_tool_bar_expose_callback): Remove.
14208 (xg_create_tool_bar): Don't connect expose signal to
14209 xg_tool_bar_expose_callback.
14210 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
14211
14212 2007-09-16 Andreas Schwab <schwab@suse.de>
14213
14214 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
14215 values instead of zapping them.
14216
14217 2007-09-14 Glenn Morris <rgm@gnu.org>
14218
14219 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
14220 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
14221 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
14222 scope and rename to omfib_buffer for clarity.
14223 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
14224
14225 2007-09-14 Kenichi Handa <handa@m17n.org>
14226
14227 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
14228
14229 2007-09-13 Jason Rumney <jasonr@gnu.org>
14230
14231 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
14232
14233 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
14234
14235 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
14236 (mac_term_init): Call here instead, passing rif.
14237
14238 2007-09-13 Glenn Morris <rgm@gnu.org>
14239
14240 * s/hpux.h: No longer define `static' as nothing.
14241
14242 2007-09-13 Johan Bockgård <bojohan@gnu.org>
14243
14244 * callint.c (Fcall_interactively): Remove unused var `fun'.
14245
14246 2007-09-12 Romain Francoise <romain@orebokech.com>
14247
14248 * window.c (prefer_window_split_horizontally, display_buffer):
14249 Revert 2007-09-08 change.
14250
14251 2007-09-12 Glenn Morris <rgm@gnu.org>
14252
14253 * alloca.c: Remove file.
14254 * Makefile.in (alloca): Do not undef.
14255 (allocaobj, alloca.o): Remove.
14256 (otherobj): Remove allocaobj.
14257 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
14258 * regex.c (C_ALLOCA): Remove all references and code that was only
14259 used when this was defined.
14260 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
14261 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
14262 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
14263
14264 * Makefile.in (SOURCES, unlock, relock): Delete.
14265
14266 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
14267 (menu_grab_callback): All uses changed.
14268
14269 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
14270 (x_reply_selection_request): All uses changed.
14271
14272 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
14273
14274 * lread.c (load_warn_old_style_backquotes): Change message to look
14275 better when it appears in the middle of byte-compiler messages.
14276
14277 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
14278
14279 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
14280
14281 * xterm.c (x_create_terminal): Add comment.
14282
14283 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
14284
14285 2007-09-10 Richard Stallman <rms@gnu.org>
14286
14287 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
14288
14289 2007-09-10 Michaël Cadilhac <michael@cadilhac.name>
14290
14291 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
14292 (DEFUN): Document `intspec', use it instead of `prompt'.
14293
14294 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
14295
14296 * data.c (Finteractive_form): If the interactive specification starts
14297 with a `(', use it as a Lisp form.
14298
14299 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
14300 name and file modes.
14301
14302 * callint.c (Fcall_interactively): Comment fixes.
14303
14304 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
14305
14306 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
14307 and compiled functions.
14308
14309 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
14310
14311 * window.c (prefer_window_split_horizontally): New variable.
14312 (display_buffer): Consider splitting window horizontally depending
14313 on prefer_window_split_horizontally.
14314
14315 2007-09-08 Eli Zaretskii <eliz@gnu.org>
14316
14317 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
14318
14319 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14320
14321 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
14322
14323 * frame.c (x_set_frame_parameters): Check number is positive before
14324 using XFASTINT.
14325
14326 * window.c (freeze_window_start): Don't presume selected_window holds
14327 a window object.
14328 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
14329
14330 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
14331
14332 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
14333
14334 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
14335
14336 * window.c (Vsplit_window_preferred_function): New var.
14337 (Fdisplay_buffer): Use it.
14338 (syms_of_window): Export, and initialize it.
14339
14340 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
14341
14342 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
14343
14344 2007-09-06 Glenn Morris <rgm@gnu.org>
14345
14346 * gtkutil.c (menu_grab_callback) <cnt>:
14347 * xselect.c (x_reply_selection_request) <cnt>: Move static
14348 variable to file scope.
14349
14350 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
14351
14352 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
14353 consistent values of selected_frame and selected_window.
14354
14355 2007-09-04 Jason Rumney <jasonr@gnu.org>
14356
14357 * w32console.c (initialize_w32_display): Zero unused hooks.
14358
14359 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14360
14361 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
14362 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
14363
14364 2007-09-04 Jason Rumney <jasonr@gnu.org>
14365
14366 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
14367 in w32console.c. Set up input. Remove XXX comments that have been
14368 confirmed as correct.
14369
14370 * s/ms-w32.h (MULTI_KBOARD): Define.
14371
14372 * w32console.c (one_and_only_w32cons): Remove.
14373 (initialize_w32_display): Take terminal argument.
14374
14375 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
14376 initialize_w32_display.
14377 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
14378
14379 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
14380
14381 * keyboard.c (discard_mouse_events): Discard it.
14382 (make_lispy_event): Translate it to a lisp event.
14383 (lispy_wheel_names): Add wheel-left and right events.
14384 (syms_of_keyboard): Enlarge wheel_syms.
14385
14386 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
14387 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
14388
14389 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
14390
14391 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
14392 from WM_MOUSEHWHEEL.
14393 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
14394
14395 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
14396 terminal.
14397
14398 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
14399 keyboard for the terminal.
14400
14401 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
14402
14403 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
14404 (Vresume_tty_hook): Rename from Vresume_tty_functions.
14405 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
14406 and resume-tty-function to resume-tty-hook.
14407 (Fsuspend_tty, Fresume_tty): Use new names.
14408
14409 2007-09-02 Jan Djärv <jan.h.d@swipnet.se>
14410
14411 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
14412 if it starts with "n:".
14413
14414 2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
14415
14416 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
14417
14418 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
14419
14420 * frame.h:
14421 * frame.c (Qterm_environment_variable): Remove.
14422 (syms_of_frame): Don't init and staticpro it.
14423
14424 * callproc.c (getenv_internal): Remove special case for $TERM.
14425
14426 * callproc.c (Vinitial_environment): New variable.
14427 (set_initial_environment): Initialize it.
14428 (syms_of_callproc): Declare it.
14429 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
14430 TERM under which a process runs is never related to the TERM in which
14431 Emacs is running.
14432
14433 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14434
14435 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
14436 * s/darwin.h: ... do it here.
14437
14438 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
14439
14440 * lisp.h (set_initial_environment): Rename from set_global_environment.
14441
14442 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
14443 removed by mistake on the multi-tty branch.
14444
14445 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
14446 (Fmodify_frame_parameters): Return a value.
14447
14448 * image.c (png_load): Comment-out var only used in commented-out code.
14449
14450 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
14451 before passing it to mark_object.
14452
14453 * xfaces.c (internal_resolve_face_name): Return a value.
14454 (internal_resolve_face_name, resolve_face_name_error): Comment out.
14455
14456 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
14457 (x_icon): Comment-out var only used in commented-out code.
14458
14459 2007-08-29 Romain Francoise <romain@orebokech.com>
14460
14461 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
14462 QUIT hasn't been provided.
14463
14464 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
14465
14466 * callproc.c (child_setup, getenv_internal): Use the
14467 display-environment-variable and term-environment-variable frame params.
14468 (set_initial_environment): Initialise Vprocess_environment.
14469
14470 * config.in: Disable multi-keyboard support on a mac.
14471
14472 * frame.c (Qterm_environment_variable)
14473 (Qdisplay_environment_variable): New variables.
14474 (syms_of_frame): Intern and staticpro them.
14475 (Fmake_terminal_frame): Disable output method test.
14476
14477 * frame.h: Declare them here.
14478
14479 * macfns.c (x_set_mouse_color): Get rif from the frame.
14480 (x_set_tool_bar_lines): Don't use updating_frame.
14481 (mac_window): Add 2 new parameters for consistency with other systems.
14482 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
14483 frame parameters following what is done in X11 and w32. Don't use
14484 FRAME_MAC_DISPLAY_INFO.
14485 (Fx_open_connection, start_hourglass): Remove window-system check.
14486 (x_create_tip_frame): Get the keyboard from the terminal.
14487
14488 * macmenu.c: Reorder includes.
14489 (Fx_popup_menu): Use terminal specific mouse_position_hook.
14490
14491 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14492 terminal parameter.
14493 (x_clear_frame): Add a frame parameter.
14494 (note_mouse_movement): Get rif from the frame.
14495 (mac_term_init): Initialize the terminal.
14496 (mac_initialize): Make static and move terminal initialization ...
14497 (mac_create_terminal): ... to this new function.
14498
14499 * macterm.h (struct mac_display_info): Add terminal.
14500 (mac_initialize): Delete declaration.
14501
14502 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
14503
14504 * sysdep.c: Comment out text after #endif.
14505
14506 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14507 is defined. Better initialize ttys in windows. Use terminal
14508 specific mouse_position_hook.
14509
14510 * termhooks.h (union display_info): Add mac_display_info.
14511
14512 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14513 Set the default minibuffer frame, window_system and the rest of the
14514 frame parameters following what is done in X11.
14515
14516 * w32term.c (w32_initialize): Make static.
14517
14518 * xselect.c (x_handle_selection_clear): Only access
14519 terminal->kboard when MULTI_KBOARD is defined.
14520
14521 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14522 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14523
14524 2007-08-29 Jason Rumney <jasonr@gnu.org>
14525
14526 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14527 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14528
14529 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14530 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14531
14532 * keyboard.c (restore_kboard_configuration): Only define when
14533 MULTI_KBOARD defined.
14534
14535 * makefile.w32-in: Update dependancies from Makefile.in.
14536 (OBJ1): Add terminal.$(O)
14537
14538 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14539 Don't define function body.
14540 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14541
14542 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14543
14544 * w32.c (request_sigio, unrequest_sigio): Remove.
14545
14546 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14547 (w32con_clear_frame, w32con_clear_end_of_line)
14548 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14549 (w32con_delete_glyphs, w32con_set_terminal_window)
14550 (scroll_line, w32_sys_ring_bell): Add frame arg.
14551 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14552 Add terminal arg.
14553 (PICK_FRAME): Remove.
14554 (w32con_write_glyphs): Use frame specific terminal coding.
14555 (one_and_only_w32cons): New global variable.
14556 (initialize_w32_display): Use it for storing hooks.
14557 (create_w32cons_output): New function.
14558
14559 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14560 arg a frame.
14561
14562 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14563 Set window_system.
14564 (x_set_tool_bar_lines): Don't use updating_frame.
14565 (Fx_create_frame): Set terminal and ref count.
14566 (Fx_open_connection): Remove window-system check.
14567
14568 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14569
14570 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14571 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14572 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14573 Add frame arg.
14574 (x_delete_terminal, w32_create_terminal): New functions.
14575 (w32_term_init): Create a terminal.
14576 (w32_initialize): Move terminal specific initialization to
14577 w32_create_terminal.
14578
14579 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
14580 (w32_clear_rect, w32_clear_area): Use background from frame.
14581 (w32_display_info): Add terminal.
14582 (w32_sys_ring_bell, x_delete_display): Declare here.
14583
14584 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14585
14586 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14587
14588 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14589
14590 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14591 Fix get_named_tty calls for the controlling tty.
14592
14593 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14594
14595 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14596
14597 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14598
14599 * term.c (tty_insert_glyphs): Add missing first parameter.
14600
14601 2007-08-29 Károly Lőrentey <karoly@lorentey.hu>
14602
14603 * buffer.c (Fbuffer_list, Fbury_buffer):
14604 Take frame->buried_buffer_list into account.
14605
14606 * cm.c (current_tty): New variable, for cmputc().
14607 (cmputc): Use it.
14608 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14609 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
14610 (cmgoto): Add tty parameter. Pass it on to calccost().
14611 Use emacs_tputs() instead of tputs().
14612
14613 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14614 tputs().
14615 (current_tty): New variable, for cmputc().
14616 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14617
14618 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14619 (internal_condition_case, internal_condition_case_1)
14620 (internal_condition_case_2): Don't abort when x_catching_errors.
14621
14622 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14623 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14624 prevent crashes caused by bogus longjmps in read_char.
14625
14626 * keymap.h (Fset_keymap_parent): Add EXFUN.
14627
14628 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14629 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14630 Remove redundant definition.
14631
14632 * macfns.c (x_set_mouse_color, x_make_gc):
14633 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14634
14635 * w32term.c (x_free_frame_resources):
14636 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14637 (w32_initialize): Use the accessor macros for terminal characteristics.
14638
14639 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14640 Use the accessor macros for terminal characteristics.
14641 * msdos.c (internal_terminal_init): Use the accessor macros for
14642 terminal characteristics.
14643 (ScreenVisualBell, internal_terminal_init):
14644 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14645
14646 * termopts.h (no_redraw_on_reenter): Declare.
14647
14648 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
14649 (mark_terminals, mark_ttys): Declare.
14650 (Fgarbage_collect): Call them.
14651 (mark_object): Mark buried_buffer_list.
14652
14653 * prefix-args.c: Include stdlib.h for exit.
14654
14655 * syssignal.h: Add comment.
14656
14657 * indent.c: Include stdio.h.
14658
14659 * window.h (Vinitial_window_system): Declare.
14660 (Vwindow_system): Delete declaration.
14661
14662 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14663
14664 * image.c (lookup_image): Don't initialize `c' until the xasserts
14665 have been run.
14666
14667 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14668 FRAME_FOREGROUND_PIXEL.
14669
14670 * print.c (print_preprocess): Don't lose print_depth levels while
14671 iterating.
14672
14673 * widget.c (update_from_various_frame_slots):
14674 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14675
14676 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14677 frames.
14678 (window_internal_height): Remove bogus make_number call.
14679 (init_window_once): Call make_terminal_frame with two zero parameters.
14680
14681 * fileio.c (Fread_file_name): Update comment.
14682
14683 * callint.c (Fcall_interactively):
14684 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
14685 Make sure it is correctly unwound.
14686
14687 * xsmfns.c (x_session_close): New function.
14688
14689 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
14690 Delete declarations.
14691
14692 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14693 (x_output): Remove background_pixel and foreground_pixel fields.
14694 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
14695 (x_delete_device, x_session_close): Declare.
14696
14697 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14698 (read_filtered_event): Call `read_char' with a local
14699 `wrong_kboard_jmpbuf'.
14700
14701 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14702 Don't call single_kboard_state. Use FRAME_RIF.
14703
14704 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14705 systems.
14706
14707 * lisp.h (set_process_environment): Rename to `set_global_environment'.
14708 (Fframe_with_environment, Fset_input_meta_mode)
14709 (Fset_quit_char): EXFUN.
14710 (x_create_device, tty_output, terminal, tty_display_info): Declare.
14711 (init_sys_modes, reset_sys_modes): Update prototypes.
14712 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14713
14714 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14715 Vlocal_key_translation_map, and Vkeyboard_translate_table.
14716 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
14717 Delete declarations.
14718 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14719 (temporarily_switch_to_single_kboard, tty_read_avail_input):
14720 New declarations.
14721
14722 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14723 already does that during init_display(). Call syms_of_keymap
14724 before syms_of_keyboard. Call `syms_of_terminal'.
14725 Call set_initial_environment, not set_process_environment.
14726 (shut_down_emacs): Call reset_all_sys_modes() instead of
14727 reset_sys_modes().
14728
14729 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
14730 (internal_resolve_face_name, resolve_face_name_error): New functions.
14731 (resolve_face_name): Protect against loops and errors thrown by Fget.
14732 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
14733 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14734
14735 * scroll.c: Replace CURTTY() with local variables throughout the
14736 file (where applicable).
14737 (calculate_scrolling, calculate_direct_scrolling)
14738 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14739 characteristics.
14740
14741 * keymap.c (Vfunction_key_map): Remove.
14742 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
14743 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14744 (Vkey_translation_map): Remove.
14745 (syms_of_keymap): Remove DEFVAR for key-translation-map.
14746 (Fdescribe_buffer_bindings)
14747 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14748 Update for terminal-local key-translation-map.
14749
14750 * Makefile.in (callproc.o): Update dependencies.
14751 (lisp, shortlisp): Add termdev.elc.
14752 (obj): Add terminal.o.
14753 (terminal.o): Add dependencies.
14754 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14755 (data.o, fns.o): Add termhooks.h dependency.
14756 (SOME_MACHINE_LISP): Add dnd.elc.
14757 (minibuf.o): Fix typo.
14758 Update dependencies.
14759
14760 * data.c (do_symval_forwarding, store_symval_forwarding)
14761 (find_symbol_value): Use the selected frame's keyboard, not
14762 current_kboard.
14763
14764 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14765 Vwindow_system.
14766
14767 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14768 Fmenu_bar_open.
14769 (syms_of_xmenu): Update defsubr.
14770 (mouse_position_for_popup, Fx_popup_menu)
14771 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14772 (set_frame_menubar, free_frame_menubar)
14773 (create_and_show_popup_menu, xmenu_show, )
14774 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14775 an X frame.
14776
14777 * xselect.c (x_own_selection): Abort if not an X frame.
14778 (some_frame_on_display): Check if it is an X frame.
14779 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14780
14781 * coding.c: Include frame.h and termhooks.h.
14782 (terminal_coding, keyboard_coding): Delete.
14783 (Fset_terminal_coding_system_internal)
14784 (Fset_keyboard_coding_system_internal)
14785 (Fkeyboard_coding_system)
14786 (Fterminal_coding_system): Add a terminal parameter.
14787 Get terminal_coding from the terminal.
14788 (init_coding_once): Don't call setup_coding_system here.
14789
14790 * dispextern.h (set_scroll_region, turn_off_insert)
14791 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14792 (tty_clear_end_of_line, tty_setup_colors)
14793 (delete_tty, updating_frame)
14794 (produce_special_glyphs, produce_glyphs, write_glyphs)
14795 (insert_glyphs): Remove.
14796 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
14797 (tty_turn_off_highlight, get_tty_size): Add declaration.
14798 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
14799
14800 * frame.h (enum output_method): Add output_initial.
14801 (struct x_output): Delete.
14802 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14803 Access foreground_pixel and background_pixel directly from the frame.
14804 (tty_display): Delete.
14805 (struct frame): Add buried_buffer_list, foreground_pixel,
14806 background_pixel and terminal. Delete kboard.
14807 (union output_data): Add tty.
14808 (FRAME_KBOARD): Get the kboard from the terminal.
14809 (FRAME_INITIAL_P): New macro.
14810 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14811 (Qterm_environment_variable, Qdisplay_environment_variable)
14812 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14813 New declarations.
14814
14815 * termchar.h (tty_output, tty_display_info): New structures.
14816 (tty_list): Declare.
14817 (FRAME_TTY, CURTTY): New macros.
14818 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14819 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14820 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14821 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14822
14823 * callproc.c: Include frame.h and termhooks.h, for terminal
14824 parameters.
14825 (add_env): New function.
14826 (child_setup): Use it.
14827 (child_setup, getenv_internal): Handle the new Vprocess_environment.
14828 (getenv_internal): Fix get_terminal_param call.
14829 (Fgetenv_internal, egetenv): Update doc.
14830 (syms_of_callproc): Initialize Vprocess_environment to nil.
14831 Register and initialize them. Remove obsolete defvars. Update doc
14832 strings.
14833 (child_setup): Handle Vlocal_environment_variables.
14834 (getenv_internal): Add terminal parameter.
14835 Handle Vlocal_environment_variables.
14836 (Fgetenv_internal): Add terminal parameter.
14837 (child_setup, getenv_internal, Fgetenv_internal): Store the local
14838 environment in a frame (not terminal) parameter. Update doc strings.
14839 (set_initial_environment): Rename from set_global_environment.
14840 Store Emacs environment in initial frame parameter.
14841
14842 * xdisp.c (redisplay_internal): Update references to
14843 `previous_terminal_frame'.
14844 (display_mode_line, Fformat_mode_line): Replace calls to
14845 `push_frame_kboard' with `push_kboard'.
14846 (get_glyph_string_clip_rects): Add extra parentheses and
14847 braces to prevent compiler warnings.
14848 (calc_pixel_width_or_height): Add xassert to check that the
14849 frame is alive. Don't call `lookup_image' on a termcap frame.
14850 (message2_nolog, message3_nolog, redisplay_internal)
14851 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14852 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14853 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14854 (Fx_display_pixel_width, Fx_display_pixel_height)
14855 (Fx_display_planes, Fx_display_color_cells)
14856 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14857 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14858 (Fx_display_backing_store, Fx_display_visual_class)
14859 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
14860 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
14861
14862 * xfns.c (x_set_foreground_color x_set_background_color)
14863 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14864 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14865 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14866 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14867 terminal that is being deleted.
14868 (Fx_create_frame): Use `store_frame_param' to set `window-system'
14869 frame parameter, and make sure it overrides any user-supplied setting.
14870 (Fx_close_connection, Fx_synchronize): Unify argument names with
14871 the rest of the DEFUNs.
14872
14873 * dispnew.c (Fsend_string_to_terminal): Update call to
14874 `get_tty_terminal'.
14875 (Fredraw_frame, Fsend_string_to_terminal)
14876 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
14877 FRAME_TERMCAP_P and FRAME_TTY.
14878 (window_change_signal): Don't believe width/height values that are
14879 impossibly small.
14880 (Vinitial_window_system): Rename from Vwindow_system.
14881 (termscript, Wcm, rif): Delete.
14882
14883 * termhooks.h (struct terminal): New struct containing the
14884 previously global text display hooks and new members NAME,
14885 DELETED and PARAM_ALIST.
14886 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14887 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14888 (FRAME_RIF): New macros.
14889 (get_terminal_param, get_device): New declarations.
14890 (termscript): Delete declaration.
14891
14892 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14893 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14894 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14895 FRAME_FOREGROUND_PIXEL.
14896 (x_fully_uncatch_errors): Disable definition.
14897 (x_scroll_bar_expose): Fix reference to foreground pixel.
14898 (XTread_socket): Disable loop on all X displays.
14899 (x_delete_terminal): Don't set terminal->deleted and let
14900 delete_terminal delete the frames on the terminal.
14901 (x_delete_display): Doc update to reflect changes in
14902 delete_terminal.
14903 (x_display_info) <terminal>: Move member earlier in the struct.
14904 (deleting_tty): Remove old variable.
14905 (Fsuspend_tty): Call clear_tty_hooks.
14906 (Fresume_tty, init_tty): Call set_tty_hooks.
14907 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14908 errors on X frames.
14909 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14910 (handle_one_xevent): Initialize `f' to NULL.
14911 (x_delete_terminal, x_create_terminal): New functions.
14912 (XTset_terminal_modes, XTreset_terminal_modes)
14913 (XTread_socket, x_connection_closed, x_term_init)
14914 (x_term_init, x_delete_display): Add terminal parameter.
14915 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14916 X connections.
14917
14918 * frame.c: Include termchar.h.
14919 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14920 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14921 (Qdisplay_environment_variable): New vars.
14922 (Fframep): Deal with output_initial.
14923 (Fframe-live-p): Doc fix.
14924 (Fwindow-system): New function.
14925 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14926 (make_terminal_frame): Don't create frames on a terminal that is
14927 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
14928 (store_frame_param): Check for found_for_frame before calling XFRAME.
14929 (Fmake_terminal_frame): Handle NULL tty names correctly.
14930 (syms_of_frame): Enhance doc string of `default-frame-alist'.
14931 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14932 frames to refer to a deleted frame in their 'environment parameter.
14933 (Fframe_with_environment): New function.
14934 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
14935 (get_future_frame_param): New function.
14936 (Fmake_terminal_frame): Use it.
14937 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
14938
14939 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14940 * sysdep.c (reset_sys_modes): Update for renames.
14941
14942 * keyboard.c (tty_read_avail_input): New function.
14943 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
14944 (syms_of_keyboard): Defsubr them.
14945 (Fset_input_meta_mode, Fset_quit_char): New functions.
14946 (Fset_input_mode): Split to above functions.
14947 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14948 parameter. Use it in call to `read_char'.
14949 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14950 Set wrong_kboard_jmpbuf correctly in recursive calls.
14951 Use current_kboard to access Vkeyboard_translate_table.
14952 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14953 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14954 Update longjmp invocations. Remember the original current_kboard,
14955 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14956 changes it. Comment out unnecessary calls to
14957 `record_single_kboard_state' and `any_kboard_state'.
14958 Update recursive calls.
14959 (wrong_kboard_jmpbuf): Remove global variable.
14960 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14961 Handle deleted interrupted_kboards correctly; that is a legal
14962 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
14963 and read_char calls. Abort if interrupted_kboard died in read_char.
14964 (any_kboard_state, single_kboard_state)
14965 (push_frame_kboard): Remove function.
14966 (pop_kboard): Switch out of single_kboard mode if the kboard has
14967 been deleted. Remove unused variable. Help debugging by not
14968 changing current_kboard unnecessarily. Set current_kboard to the
14969 kboard of the selected frame when the stored kboard object has
14970 been deleted before pop_kboard.
14971 (temporarily_switch_to_single_kboard): Change first parameter to a
14972 frame pointer. Throw an error when caller wants to change kboards
14973 while in single_kboard mode. Don't push_kboard if we weren't in
14974 single kboard state. Don't pop_kboard if we popped into any
14975 kboard state.
14976 (restore_kboard_configuration): Abort if pop_kboard changed the
14977 kboard in single_kboard mode. Call pop_kboard only after setting
14978 up single_kboard mode.
14979 (Frecursive_edit): Switch to single_kboard mode only in nested
14980 command loops.
14981 (cmd_error, command_loop, command_loop_1, timer_check):
14982 Comment out unnecessary call to `any_kboard_state' and
14983 `record_single_kboard_state'.
14984 (delete_kboard): Exit single_kboard mode if we have just deleted
14985 that kboard. Use FRAME_KBOARD.
14986 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14987 `fatal_error_signal'.
14988 (record_single_kboard_state): Don't push_kboard if we weren't in
14989 single kboard state. Don't pop_kboard if we popped into any
14990 kboard state.
14991 (push_frame_kboard): Rename to push_kboard.
14992 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14993 (read_avail_input): Read input from all terminals.
14994 (mark_kboards): Also mark Vkeyboard_translate_table.
14995 (kbd_buffer_store_event_hold): Simplify condition.
14996 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14997 (Vkeyboard_translate_table): Move to struct kboard.
14998 (init_kboard): Initialize Vkeyboard_translate_table.
14999 (syms_of_keyboard): Use DEFVAR_KBOARD to define
15000 Vkeyboard_translate_table. Update doc strings. Update docs of
15001 local-function-key-map and function-key-map.
15002
15003 * terminal.c: New file.
15004
15005 * term.c: Include errno.h.
15006 (Vring_bell_function, device_list, initial_device)
15007 (next_device_id, ring_bell, update_begin, update_end)
15008 (set_terminal_window, cursor_to, raw_cursor_to)
15009 (clear_to_end, clear_frame, clear_end_of_line)
15010 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
15011 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
15012 (syms_of_term): Move their initialization to terminal.c.
15013 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
15014 (Ftty_display_color_cells)
15015 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
15016 (clear_tty_hooks, set_tty_hooks)
15017 (init_tty, maybe_fatal): New functions.
15018 (Ftty_type): Return nil if terminal is not on a tty instead of
15019 throwing an error. Doc update.
15020 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
15021 Doc update. Initialize new subrs and variables.
15022 (delete_tty): Use terminal->deleted.
15023 (tty_set_terminal_modes): Rename from set_terminal_modes.
15024 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
15025 (set_scroll_region): Rename to `tty_set_scroll_region'.
15026 (turn_on_insert): Rename to `tty_turn_on_insert'.
15027 (turn_off_insert): Rename to `tty_turn_off_insert'.
15028 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
15029 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
15030 (toggle_highligh): Rename to `tty_toggle_highlight'.
15031 (background_highlight): Rename to `tty_background_highlight'.
15032 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
15033 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
15034 (tty_set_scroll_region, tty_background_highlight)
15035 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
15036 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
15037 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
15038 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
15039 Add static modifier.
15040 (tty_reset_terminal_modes, tty_set_terminal_window)
15041 (tty_set_scroll_region, tty_background_highlight)
15042 (tty_highlight_if_desired, tty_cursor_to)
15043 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
15044 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
15045 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
15046 renames.
15047
15048 2007-08-28 Jan Djärv <jan.h.d@swipnet.se>
15049
15050 * keyboard.c: Qrtl is new.
15051 (parse_tool_bar_item): Handle :rtl keyword.
15052 (syms_of_keyboard): Intern :rtl keyword.
15053
15054 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
15055
15056 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
15057 so no Lisp code is executed.
15058 (file_for_image, find_rtl_image): New functions.
15059 (xg_get_image_for_pixmap): Use file_for_image.
15060 (update_frame_tool_bar): If direction is RTL, use RTL image if
15061 defined. Use Gtk stock images if defined.
15062
15063 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15064
15065 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
15066 for nonexistent or zero-width glyph in composition glyph.
15067
15068 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
15069
15070 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
15071
15072 * xdisp.c (Finvisible_p): New function.
15073 (syms_of_xdisp): defsubr it.
15074
15075 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
15076
15077 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
15078 Doc fixes.
15079
15080 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15081
15082 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
15083
15084 2007-08-24 Martin Rudalics <rudalics@gmx.at>
15085
15086 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
15087 whether decoding has modified buffer contents.
15088
15089 2007-08-24 Jason Rumney <jasonr@gnu.org>
15090
15091 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
15092 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
15093 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
15094 (init_svg_functions) [HAVE_NTGUI]: New function.
15095 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
15096 (svg_load_image): Use them.
15097 (svg_load_image) [HAVE_NTGUI]: Implement background.
15098
15099 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15100
15101 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
15102 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
15103 (LIBX): Remove @RSVG_LIBS@.
15104 (LIBES): Add $(RSVG_LIBS).
15105
15106 * image.c (svg_load_image): Blend with specified background if exists.
15107 Use IMAGE_BACKGROUND. Add Mac OS Support.
15108
15109 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
15110 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
15111 Remove macros.
15112 [MAC_OSX] (socket_callback): Do nothing.
15113 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
15114 ReceiveNextEvent.
15115 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
15116 socket_callback.
15117 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
15118
15119 2007-08-22 Glenn Morris <rgm@gnu.org>
15120
15121 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
15122
15123 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
15124
15125 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
15126
15127 * image.c: Add support for SVG images. Some additional comments
15128 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
15129 (svg_image_p): New function to test for SVG image.
15130 (svg_load): New function to load SVG image.
15131 (svg_load_image): New function, helper for svg_load.
15132 (Qsvg): New Lisp_object.
15133 (svg_keyword_index): New enum.
15134 (svg_format): New static `image_keyword' struct.
15135 (svg_type): New static `image_type' struct.
15136 (librsvg/rsvg.h): Include it.
15137
15138 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
15139
15140 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
15141
15142 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
15143
15144 * lread.c (Qold_style_backquotes): New var.
15145 (syms_of_lread): Init and staticpro it.
15146 (load_warn_old_style_backquotes): New fun.
15147 (Fload): Use them to warn about old style backquotes.
15148 (end_of_file_error, Fload): Remove unused vars.
15149
15150 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
15151
15152 * lread.c (Vold_style_backquotes): New var.
15153 (syms_of_lread): Init and export it to Elisp.
15154 (read1): Set it when we find an old-style (back)quote.
15155
15156 2007-08-22 Jason Rumney <jasonr@gnu.org>
15157
15158 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
15159
15160 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
15161
15162 * puresize.h (BASE_PURESIZE): Increase to 1140000.
15163
15164 2007-08-19 Richard Stallman <rms@gnu.org>
15165
15166 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
15167
15168 2007-08-19 Andreas Schwab <schwab@suse.de>
15169
15170 * alloc.c (pure): Round PURESIZE up.
15171
15172 2007-08-17 Jan Djärv <jan.h.d@swipnet.se>
15173
15174 * xterm.c (handle_one_xevent): Remove check that mouse click is in
15175 active frame.
15176
15177 2007-08-16 Richard Stallman <rms@gnu.org>
15178
15179 * eval.c (Fcommandp): Add parens to clarify.
15180
15181 * minibuf.c (Fall_completions): Use enum for type of table.
15182
15183 * emacs.c (USAGE2): Improve text.
15184
15185 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
15186
15187 * term.c (tty_default_color_capabilities): Declare static
15188 variables in file scope, to avoid HPUX compiler problem.
15189
15190 2007-08-13 Jan Djärv <jan.h.d@swipnet.se>
15191
15192 * gtkutil.c (update_frame_tool_bar): Use -1 as index
15193 to gtk_toolbar_insert.
15194
15195 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
15196
15197 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
15198
15199 * insdel.c (reset_var_on_error): New fun.
15200 (signal_before_change, signal_after_change):
15201 Use it to reset (after|before)-change-functions to nil in case of error.
15202 Bind inhibit-modification-hooks to t.
15203 Don't bind (after|before)-change-functions to nil while they run.
15204
15205 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15206
15207 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
15208 filling pixmap with stippled background.
15209
15210 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15211
15212 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
15213 Don't use invisible frame as parent window for repositioning.
15214
15215 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
15216
15217 * print.c (new_backquote_output): Rename from old_backquote_output.
15218 (print): Inverse its logic (according to its name) so as to match the
15219 behavior of new_backquote_flag in lread.c.
15220
15221 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15222
15223 * gmalloc.c (posix_memalign): New function.
15224
15225 * macterm.c (frame_highlight, frame_unhighlight): Don't call
15226 ActivateControl/DeactivateControl here.
15227 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
15228 frame-notice-user-settings is non-nil.
15229 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
15230 for kEventParamFMFontStyle.
15231 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
15232 mac_pass_command_to_system and mac_pass_control_to_system here.
15233 (XTread_socket): Call ActivateControl/DeactivateControl here.
15234 (XTread_socket) [TARGET_API_MAC_CARBON]:
15235 Check mac_pass_command_to_system and mac_pass_control_to_system here.
15236 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
15237 for window repositioning.
15238
15239 2007-08-08 Glenn Morris <rgm@gnu.org>
15240
15241 * Replace `iff' in doc-strings and comments.
15242
15243 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
15244
15245 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
15246
15247 2007-08-07 Martin Rudalics <rudalics@gmx.at>
15248
15249 * fileio.c (Finsert_file_contents): Run format-decode and
15250 after_insert_file_functions on entire buffer when REPLACE is
15251 non-nil and inhibit modification_hooks and point_motion_hooks.
15252 For consistency, run after_insert_file_functions iff something
15253 got inserted. Move signal_after_change and update_compositions
15254 after code running after_insert_file_functions. Make sure that
15255 undo_list doesn't record intermediate steps of the decoding process.
15256
15257 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15258
15259 * emacs.c (main)
15260 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
15261 Call malloc_enable_thread on interactive startup.
15262
15263 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
15264 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
15265 [USE_PTHREAD]: Conditionalize with it.
15266 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
15267 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
15268 New functions.
15269
15270 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
15271
15272 * xdisp.c (redisplay_window): When restoring original buffer
15273 position, make sure it is still valid.
15274
15275 * image.c (png_load): Ignore png-supplied background color.
15276
15277 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15278
15279 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
15280 Use kCFAbsoluteTimeIntervalSince1970.
15281
15282 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
15283 New variable.
15284 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
15285 event loop should be quit.
15286 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
15287 Quit dialog event loop if quit_dialog_event_loop is set.
15288
15289 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
15290 (Selection): New typedef. Use instead of ScrapRef.
15291 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
15292 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
15293 (mac_clear_selection): Rename from clear_scrap.
15294 (get_flavor_type_from_symbol): New argument SEL and subsume function of
15295 scrap_has_target_type. All uses changed.
15296 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
15297 (mac_selection_has_target_p): New functions.
15298 (mac_put_selection_value): Rename from put_scrap_string.
15299 (mac_get_selection_value): Rename from get_scrap_string.
15300 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
15301 (put_scrap_private_timestamp, scrap_has_target_type)
15302 (get_scrap_private_timestamp): Remove functions.
15303 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
15304 (x_own_selection, x_get_local_selection):
15305 Use mac_valid_selection_value_p.
15306 (x_own_selection): Don't use put_scrap_private_timestamp.
15307 Record OWNERSHIP-INFO into Vselection_alist instead.
15308 (x_get_local_selection): Don't check type if request is local.
15309 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
15310 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
15311
15312 2007-08-04 Jan Djärv <jan.h.d@swipnet.se>
15313
15314 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
15315 add comment explaining why.
15316
15317 2007-08-03 Richard Stallman <rms@gnu.org>
15318
15319 * fileio.c (Fvisited_file_modtime): Use make_time.
15320
15321 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
15322
15323 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
15324 build.
15325
15326 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
15327
15328 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
15329
15330 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
15331
15332 * puresize.h (BASE_PURESIZE): Increase to 1130000.
15333
15334 2007-07-30 Richard Stallman <rms@gnu.org>
15335
15336 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
15337
15338 2007-07-29 Jan Djärv <jan.h.d@swipnet.se>
15339
15340 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
15341
15342 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
15343
15344 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
15345 remote default-directory.
15346
15347 * buffer.c (mode-line-format): Update doc string.
15348
15349 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15350
15351 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
15352 scroll bar gap.
15353 (x_scroll_bar_create): Set bar->fringe_extended_p.
15354 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
15355 on frame edge. Check fringe background extension. Don't clear
15356 extended fringe background area.
15357
15358 * w32term.h (struct scroll_bar): New member fringe_extended_p.
15359 (w32_fill_area): Enclose multiple statements with do ... while (0).
15360
15361 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
15362 Extend fringe background to scroll bar gap.
15363 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
15364 Set bar->fringe_extended_p.
15365 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15366 Put leftmost/rightmost scroll bars on frame edge. Check fringe
15367 background extension. Don't clear extended fringe background area.
15368
15369 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
15370 New member fringe_extended_p.
15371
15372 2007-07-25 Glenn Morris <rgm@gnu.org>
15373
15374 * Relicense all FSF files to GPLv3 or later.
15375
15376 * COPYING: Switch to GPLv3.
15377
15378 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
15379
15380 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
15381
15382 * data.c (Finteractive_form): Check for the presence of an
15383 `interactive-form' symbol property more thoroughly.
15384
15385 * data.c (Finteractive_form): Use an `interactive-form' property if
15386 present, analogous to the function-documentation property.
15387
15388 2007-07-24 Jason Rumney <jasonr@gnu.org>
15389
15390 * w32fns.c (x_real_positions): Get real position from OS instead of
15391 calculating it.
15392
15393 2007-07-23 Jason Rumney <jasonr@gnu.org>
15394
15395 * filelock.c (current_lock_owner): Allow for @ sign in username.
15396
15397 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
15398
15399 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
15400 remote default-directory.
15401
15402 * buffer.c (mode-line-format): Describe above case in doc string.
15403
15404 2007-07-20 Eli Zaretskii <eliz@gnu.org>
15405
15406 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
15407 Define if not defined.
15408
15409 2007-07-18 Jason Rumney <jasonr@gnu.org>
15410
15411 * w32proc.c (w32_executable_type): Handle 64 bit executables.
15412
15413 2007-07-18 Richard Stallman <rms@gnu.org>
15414
15415 * data.c (Fsetq_default): Doc fix.
15416
15417 * eval.c (Fsetq): Doc fix.
15418
15419 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
15420
15421 * coding.c (Ffind_operation_coding_system):
15422 * eval.c (For, Fand): Doc fixes.
15423 Reported by Johan Bockgård.
15424
15425 2007-07-18 Jan Djärv <jan.h.d@swipnet.se>
15426
15427 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
15428
15429 * xterm.h: Declare x_ewmh_activate_frame.
15430
15431 * xterm.c (x_ewmh_activate_frame): New function.
15432 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
15433
15434 2007-07-17 Martin Rudalics <rudalics@gmx.at>
15435
15436 * window.c (Fdisplay_buffer): If largest or LRU window is the
15437 only window, split it even if it is not eligible for splitting.
15438 This restores the original behavior broken by the 2007-07-15
15439 change.
15440
15441 2007-07-17 Glenn Morris <rgm@gnu.org>
15442
15443 * abbrev.c (abbrev_check_chars): New function.
15444 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15445 Call abbrev_check_chars to check abbrev characters are word
15446 constituents. Doc fix.
15447
15448 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
15449
15450 * process.c (Fstart_process, Fmake_network_process)
15451 (read_process_output): Fix up last changes.
15452
15453 2007-07-16 Eli Zaretskii <eliz@gnu.org>
15454
15455 * makefile.w32-in (clean): Don't delete *~.
15456
15457 2007-07-16 Andreas Schwab <schwab@suse.de>
15458
15459 * window.c (Fdisplay_buffer): Use NILP.
15460 (Fset_window_scroll_bars): Likewise.
15461
15462 2007-07-15 Martin Rudalics <rudalics@gmx.at>
15463
15464 * window.c (window_min_size_2): New function.
15465 (window_min_size_1, size_window, Fdisplay_buffer)
15466 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
15467 windows without mode- or header-lines when window-min-height is
15468 too small.
15469 (size_window): Reset nodelete_p after testing it, following an
15470 earlier note by Kim F. Storm.
15471 (display_buffer): Do not set split_height_threshold to twice the
15472 value of window_min_height to avoid changing the value of a
15473 customizable variable. Rather explicitly check whether the
15474 height of the window that shall be splitted is at least as large
15475 as split_height_threshold.
15476 (Fwindow_full_width_p): New defun.
15477 (syms_of_window): Defsubr it.
15478
15479 * window.h: Add EXFUN for Fwindow_full_width_p.
15480
15481 2007-07-14 Jason Rumney <jasonr@gnu.org>
15482
15483 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
15484
15485 2007-07-14 Richard Stallman <rms@gnu.org>
15486
15487 * eval.c (maybe_call_debugger): New function.
15488 (find_handler_clause): Use maybe_call_debugger.
15489 Call it when the handler says `debug'.
15490 Eliminate DEBUGGER_VALUE_PTR.
15491 (Fsignal): Eliminate debugger_value.
15492 (Qdebug): New variable.
15493 (syms_of_eval): Initialize it.
15494
15495 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
15496
15497 * eval.c (Fprogn):
15498 * keyboard.c (Ftrack_mouse):
15499 * print.c (Fwith_output_to_temp_buffer):
15500 * window.c (Fsave_window_excursion): Doc fix.
15501
15502 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15503
15504 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15505
15506 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15507
15508 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15509 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15510 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15511 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15512 Remove unused encoding_carryover.
15513 * process.c: Adjust all functions accordingly.
15514
15515 2007-07-12 Richard Stallman <rms@gnu.org>
15516
15517 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15518
15519 2007-07-11 Jason Rumney <jasonr@gnu.org>
15520
15521 * makefile.w32-in (LIBS): Include OLE32.
15522
15523 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15524 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15525
15526 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15527
15528 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15529 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15530 from a Lisp_Object into a bare pointer.
15531 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15532 Adjust the code correspondingly.
15533
15534 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15535
15536 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15537 (term_show_mouse_face): Remove unused var `j'.
15538 (handle_one_term_event): Remove unused vars `i' and `j'.
15539 Don't cast return value of ttyname since it's not necessary.
15540
15541 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15542
15543 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15544 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15545
15546 * fns.c (map_char_table): Use an array of int for `indices' rather than
15547 an array of Lisp_Objects (which are only ever integers anyway).
15548 (Fmap_char_table): Update caller.
15549 * lisp.h: Update prototype.
15550 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15551 * fontset.c (Ffontset_info):
15552 * casetab.c (set_case_table): Update callers.
15553
15554 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15555
15556 * keymap.c (struct accessible_keymaps_data)
15557 (struct where_is_internal_data): New structures.
15558 (accessible_keymaps_1, where_is_internal_1): Use them to change
15559 interface to adhere to the one used by map_keymap.
15560 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15561 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15562
15563 * keymap.h (map_keymap_function_t): More informative prototype.
15564
15565 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15566
15567 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15568 (looking_at_1): Don't change search_regs and last_thing_searched
15569 if `inhibit-changing-match-data' is non-nil.
15570 (string_match_1, search_buffer, set_search_regs): Likewise.
15571 (syms_of_search): Add Lisp level definition for
15572 `inhibit-changing-match-data' and set it to nil.
15573 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15574 start and end of the match, instead of using values in search_regs.
15575
15576 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15577
15578 * minibuf.c (Fcompleting_read): New value `confirm-only'
15579 for `require-match'.
15580
15581 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15582
15583 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15584 part of the 2007-06-27 change to syms_of_fileio.
15585
15586 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15587
15588 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15589 Check WINDOWP before using XWINDOW. Consolidate return statements.
15590
15591 2007-06-27 Richard Stallman <rms@gnu.org>
15592
15593 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15594
15595 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
15596
15597 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15598
15599 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15600
15601 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15602 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15603 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15604 (_free_internal, memalign): Use them.
15605 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15606 Initialize to PTHREAD_MUTEX_INITIALIZER.
15607 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15608 (morecore_nolock): Rename from morecore. All uses changed.
15609 Use only nolock versions of internal allocation functions.
15610 (_malloc_internal_nolock, _realloc_internal_nolock)
15611 (_free_internal_nolock): New functions created from
15612 _malloc_internal, _realloc_internal, and _free_internal.
15613 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15614 Copy hook value to automatic variable before its use.
15615 (memalign): Copy hook value to automatic variable before its use.
15616
15617 2007-06-26 Kenichi Handa <handa@m17n.org>
15618
15619 * coding.c (Ffind_operation_coding_system): Docstring improved.
15620 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15621
15622 2007-06-25 David Kastrup <dak@gnu.org>
15623
15624 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15625 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15626 cater for additional parameter.
15627
15628 * keymap.h: Adjust number of parameters to `current-active-maps'.
15629
15630 * doc.c (Fsubstitute_command_keys): Adjust call of
15631 `current-active-maps'.
15632
15633 2007-06-25 David Kastrup <dak@gnu.org>
15634
15635 * callint.c (Fcall_interactively): Make the parsing of interactive
15636 specs somewhat more readable.
15637
15638 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15639
15640 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15641 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15642 if extended background has already been filled.
15643
15644 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15645
15646 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15647 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15648
15649 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15650 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15651 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15652 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15653 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15654 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15655 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15656 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15657 Run timers during dialog popup.
15658 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15659
15660 2007-06-21 Jason Rumney <jasonr@gnu.org>
15661
15662 * image.c (convert_mono_to_color_image): Swap fore and background.
15663
15664 2007-06-20 Jason Rumney <jasonr@gnu.org>
15665
15666 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15667 (w32_free_bdf_font): Unmap memory not handle.
15668
15669 2007-06-20 Sam Steingold <sds@gnu.org>
15670
15671 * gmalloc.c (__morecore): Fix the declaration to comply with the
15672 definition.
15673
15674 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
15675
15676 * w32term.c (w32_delete_display): Remove leftover declaration.
15677 (w32_define_cursor, w32_initialize): Make static.
15678
15679 * w32.c (_wsa_errlist): Fix typo in error message.
15680 (init_environment): Ignore any environment variable from the
15681 registry having a null value.
15682
15683 2007-06-20 Glenn Morris <rgm@gnu.org>
15684
15685 * Makefile.in (LIBGIF): Default to -lgif.
15686
15687 2007-06-17 Jason Rumney <jasonr@gnu.org>
15688
15689 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15690 unicode strings.
15691
15692 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
15693
15694 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15695 Fix typo in docstring.
15696
15697 2007-06-16 Eli Zaretskii <eliz@gnu.org>
15698
15699 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15700 and their keybindings.
15701
15702 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
15703
15704 * composite.c (update_compositions): Fix last fix.
15705
15706 2007-06-14 Jason Rumney <jasonr@gnu.org>
15707
15708 * w32.c (get_process_times_fn): New function pointer.
15709 (globals_of_w32): Intialize it if present in kernel32.dll.
15710 (w32_get_internal_run_time): New function.
15711
15712 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15713
15714 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15715
15716 * composite.c (update_compositions): Check the validness of
15717 compositions.
15718
15719 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15720
15721 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15722 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15723
15724 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15725 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15726
15727 * macgui.h (USE_MAC_TOOLBAR): New define.
15728
15729 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15730 Return immediately unless popup is activated.
15731
15732 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15733 background to scroll bar gap.
15734 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15735 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15736 scroll bars on frame edge. Check fringe background extension.
15737 Don't clear extended fringe background area.
15738 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15739 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15740 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15741 [USE_MAC_TOOLBAR]: New macros.
15742 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15743 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15744 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15745 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15746 [USE_MAC_TOOLBAR]: New functions.
15747 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15748 manually if previous repositioning has failed.
15749 (mac_handle_keyboard_event): Use precomputed event kind.
15750 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15751 as tool bar item click. Handle mouse movement over tool bar items.
15752
15753 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15754 toolbar_win_gravity.
15755 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15756 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15757 Add externs.
15758
15759 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15760 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15761
15762 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
15763
15764 * image.c (search_image_cache): Remove unused variable.
15765
15766 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
15767
15768 * xfns.c, xmenu.c: Link to xaw3d if available.
15769
15770 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15771
15772 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15773 frame_foreground and frame_background.
15774
15775 * image.c (lookup_image): Save frame foreground and background colors.
15776 (search_image_cache): Check if saved and current frame colors match.
15777
15778 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15779
15780 * regex.c (regex_compile): Remove the `regnum' counter.
15781 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15782
15783 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15784
15785 * term.c: Include intervals.h to declare Fget_text_property.
15786
15787 2007-06-10 Jason Rumney <jasonr@gnu.org>
15788
15789 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15790
15791 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
15792
15793 * callint.c (Fcall_interactively):
15794 * editfns.c (Fdelete_and_extract_region):
15795 * fileio.c (Fread_file_name):
15796 * fns.c (Fmapconcat):
15797 * keyboard.c (cmd_error_internal):
15798 * keymap.c (Fkey_description):
15799 * lread.c (openp):
15800 * minibuf.c (read_minibuf):
15801 * search.c (wordify):
15802 * sunfns.c (sel_read):
15803 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15804 * xfns.c (x_default_scroll_bar_color_parameter):
15805 * xmenu.c (menu_help_callback):
15806 * xselect.c (Fx_get_atom_name):
15807 * xterm.c (x_term_init): Use empty_unibyte_string.
15808
15809 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
15810
15811 * alloc.c (init_strings): Initialize canonical empty strings.
15812 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15813 canonical empty string when the requested size is 0.
15814
15815 * emacs.c (empty_unibyte_string): Rename from empty_string.
15816 (empty_multibyte_string): New canonical empty string.
15817 (syms_of_emacs): Don't initialize empty_string.
15818
15819 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15820 string, if appropriate.
15821 (empty_unibyte_string, empty_multibyte_string): New externs.
15822 (empty_string): Remove extern.
15823
15824 * lread.c (syms_of_lread): Use empty_unibyte_string.
15825
15826 2007-06-07 Jason Rumney <jasonr@gnu.org>
15827
15828 * s/ms-w32.h: Don't define HAVE_TZNAME.
15829
15830 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15831
15832 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15833
15834 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15835
15836 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15837 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15838
15839 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15840 Don't call next handler.
15841 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15842 Remove argument. Install handler to application.
15843 (set_frame_menubar): Don't change deep_p.
15844 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
15845 FRAME_OUTER_TO_INNER_DIFF_Y.
15846 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15847 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15848 [HAVE_DIALOGS]: New macros.
15849 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15850 Use them.
15851 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15852
15853 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15854 init_service_handler. All callers changed. Return OSStatus value.
15855
15856 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15857 All callers changed so as not to call SetPortWindowPort.
15858 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15859 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15860 mac_draw_string_common.
15861 (mac_draw_image_string_qd): Likewise.
15862 (mac_draw_string_common): Use them. Add INLINE.
15863 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15864 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15865 GetGlobalMouse.
15866 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15867 and FRAME_OUTER_TO_INNER_DIFF_Y.
15868 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15869 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15870 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15871 repositioning window to mac_handle_window_event.
15872 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15873 saving window location to mac_handle_window_event
15874 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15875 (install_menu_target_item_handler): Remove argument in extern.
15876 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15877 Also accept command events.
15878 (do_keystroke): New function created from XTread_socket.
15879 (init_command_handler): Remove functions.
15880 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15881 and save window location by kEventWindowShowing and kEventWindowHiding
15882 handlers here. Don't call next handler for window state change and
15883 focus events.
15884 (mac_handle_application_event, mac_handle_keyboard_event)
15885 [TARGET_API_MAC_CARBON]: New functions.
15886 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15887 kEventWindowShowing and kEventWindowHiding events. Move installation
15888 of mouse, font, text input and menu target item handlers to
15889 install_application_handler.
15890 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15891 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15892 New function.
15893 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15894 Register it.
15895 (XTread_socket) [TARGET_API_MAC_CARBON]:
15896 Consolidate SendEventToEventTarget calls.
15897 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15898 Move application activation handler to mac_handle_application_event.
15899 Move keyboard handler to mac_handle_keyboard_event.
15900 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15901 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15902 init_command_handler. Call install_application_handler.
15903
15904 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15905 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15906
15907 2007-06-07 Glenn Morris <rgm@gnu.org>
15908
15909 * emacs.c (main): Use `emacs-copyright' in --version output.
15910
15911 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
15912
15913 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
15914
15915 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15916
15917 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
15918
15919 * macgui.h: Replace WindowPtr with WindowRef.
15920
15921 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15922 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15923 Replace ControlHandle with ControlRef.
15924 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15925
15926 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15927 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15928 Replace ControlHandle with ControlRef.
15929 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15930 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15931
15932 * macterm.h (struct scroll_bar): Rename member control_handle_low
15933 and control_handle_high to control_ref_low and control_ref_high.
15934 All uses changed.
15935 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15936 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15937 respectively. All uses changed.
15938 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15939 (install_window_handler, remove_window_handler): Replace WindowPtr
15940 with WindowRef in externs.
15941
15942 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
15943
15944 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15945
15946 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
15947
15948 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15949
15950 * frame.c (Fmouse_position, Fmouse_pixel_position):
15951 Condition on HAVE_GPM too.
15952
15953 * term.c (term_mouse_highlight): Remove unused variables.
15954 (Fterm_open_connection): Set gpm_zerobased to 1.
15955 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15956 Use zero based co-ordinates.
15957 (handle_one_term_event): Report a drag as mouse movement too.
15958
15959 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15960
15961 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
15962
15963 * image.c (search_image_cache): New function. Require background
15964 color match if background color is unspecified in the image spec.
15965 (uncache_image, lookup_image): Use it.
15966
15967 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
15968
15969 * window.c (Fshrink_window): Reflow docstring.
15970
15971 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
15972
15973 * Version 22.1 released.
15974
15975 2007-06-01 Richard Stallman <rms@gnu.org>
15976
15977 * xfns.c (x_encode_text): Add GCPRO.
15978
15979 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15980
15981 * xfns.c (x_set_name_internal): Save encoded name before
15982 x_encode_text in case string data is relocated.
15983
15984 2007-05-31 Richard Stallman <rms@gnu.org>
15985
15986 * buffer.c (syms_of_buffer): Doc fix.
15987
15988 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
15989
15990 * sysdep.c (init_sys_modes): Add rather than replace with
15991 O_NONBLOCK.
15992
15993 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15994 term_mouse_moveto.
15995
15996 * termhooks.h (term_mouse_moveto): New extern.
15997
15998 * term.c (mouse_face_window): Rename...
15999 (Qmouse_face_window): ...to this.
16000 (term_show_mouse_face, term_clear_mouse_face)
16001 (term_mouse_highlight): Use Qmouse_face_window.
16002 (term_mouse_moveto): New function.
16003 (term_mouse_position): Make it work.
16004 (syms_of_term): Uncomment assignment to mouse_position_hook.
16005 Staticpro Qmouse_face_window.
16006
16007 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16008
16009 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
16010 around current_column call.
16011
16012 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
16013
16014 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
16015 * xdisp.c (next_element_from_buffer):
16016 * window.c (delete_window):
16017 * term.c (term_mouse_highlight):
16018 * msdos.c (getdefdir):
16019 * macterm.c (mac_create_bitmap_from_bitmap_data)
16020 (init_font_name_table):
16021 * fns.c (Fsxhash):
16022 * data.c (Fmake_local_variable):
16023 * ccl.c (ccl_driver): Likewise.
16024
16025 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16026
16027 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
16028 Call mac_wakeup_from_rne on window size change.
16029
16030 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
16031
16032 * image.c (uncache_image): Fix typo.
16033
16034 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
16035
16036 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
16037
16038 2007-05-22 Richard Stallman <rms@gnu.org>
16039
16040 * xterm.c (x_connection_closed): Remove NO_RETURN.
16041
16042 2007-05-22 Martin Rudalics <rudalics@gmx.at>
16043
16044 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
16045
16046 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
16047
16048 * image.c (uncache_image): New function.
16049 (Fimage_refresh): New function.
16050
16051 2007-05-20 Jan Djärv <jan.h.d@swipnet.se>
16052
16053 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
16054
16055 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
16056
16057 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
16058 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
16059
16060 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
16061
16062 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
16063 conditional on [HAVE_GPM_H].
16064
16065 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
16066
16067 * syntax.c (skip_chars): Update syntax-table only after we checked that
16068 the new location is valid.
16069
16070 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16071
16072 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
16073 mac_get_window_bounds.
16074
16075 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
16076
16077 * Makefile.in (LIBGPM): Allow it to be set from configure.
16078 If set then link Emacs with it.
16079
16080 * config.in: Regenerate.
16081
16082 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
16083 New externs.
16084
16085 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
16086 Include gpm.h.
16087 (handle_one_term_event, term_gpm): New externs.
16088
16089 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
16090 and allow it to be interrupted by SIGIO.
16091
16092 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
16093 (wait_reading_process_output): Wait on gpm_fd too.
16094 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
16095 (add_gpm_wait_descriptor_called_flag): New variable.
16096 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
16097
16098 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
16099 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
16100 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
16101 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
16102 (make_lispy_event): Add case GPM_CLICK_EVENT.
16103 (read_avail_input): Handle mouse input.
16104
16105 * term.c (write_glyphs_with_face): New function.
16106 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
16107 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
16108 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
16109 (mouse_face_face_id, term_gpm, pos_x, pos_y)
16110 (last_mouse_x, last_mouse_y): New variables.
16111 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
16112 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
16113 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
16114 (Fterm_close_connection): New functions.
16115 (term_init): Initialise mouse_face_window.
16116
16117 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
16118
16119 * xdisp.c (redisplay_window): If first window line is a
16120 continuation line, recompute the new window start instead of
16121 recentering.
16122
16123 2007-05-18 Glenn Morris <rgm@gnu.org>
16124
16125 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
16126 Suggested by Alfred M. Szmidt <ams@gnu.org>.
16127
16128 2007-05-17 Glenn Morris <rgm@gnu.org>
16129
16130 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
16131
16132 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16133
16134 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
16135 dead key repeat and up events.
16136
16137 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
16138
16139 * image.c (pbm_load): Check image size for monochrome pbm.
16140
16141 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
16142
16143 * xterm.c (XTread_socket): Revert last change.
16144
16145 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
16146
16147 * image.c (pbm_load): Correctly check image size for greyscale pbm.
16148
16149 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
16150
16151 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16152
16153 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
16154 mixup (YAILOM).
16155
16156 2007-05-07 Andreas Schwab <schwab@suse.de>
16157
16158 * keymap.c (Flookup_key): Fix typo in last change.
16159
16160 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
16161
16162 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
16163 mapping for unibyte strings.
16164
16165 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16166
16167 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
16168 (Fx_popup_dialog) [MAC_OSX]: Likewise.
16169
16170 2007-04-29 Richard Stallman <rms@gnu.org>
16171
16172 * insdel.c (replace_range): For undo, record insertion first.
16173
16174 2007-04-29 Andreas Schwab <schwab@suse.de>
16175
16176 * lisp.h (VECSIZE): Use OFFSETOF.
16177
16178 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16179
16180 * xdisp.c (try_window_reusing_current_matrix): Fix number of
16181 disabled lines.
16182
16183 2007-04-28 Richard Stallman <rms@gnu.org>
16184
16185 * lread.c (read_escape): In a string, \s is always space.
16186
16187 2007-04-27 Jan Djärv <jan.h.d@swipnet.se>
16188
16189 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
16190
16191 * gtkutil.c (xg_update_menubar, create_menus): Create empty
16192 submenu for menu bar items.
16193
16194 See ChangeLog.10 for earlier changes.
16195
16196 ;; Local Variables:
16197 ;; coding: utf-8
16198 ;; add-log-time-zone-rule: t
16199 ;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
16200 ;; End:
16201
16202 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
16203
16204 This file is part of GNU Emacs.
16205
16206 GNU Emacs is free software: you can redistribute it and/or modify
16207 it under the terms of the GNU General Public License as published by
16208 the Free Software Foundation, either version 3 of the License, or
16209 (at your option) any later version.
16210
16211 GNU Emacs is distributed in the hope that it will be useful,
16212 but WITHOUT ANY WARRANTY; without even the implied warranty of
16213 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16214 GNU General Public License for more details.
16215
16216 You should have received a copy of the GNU General Public License
16217 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16218
16219 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40